/*--------------------------------------------------------------------
* Symbols referenced in this file:
* - parser_init
* - base_yyparse
* - SystemTypeName
* - SystemFuncName
* - yypact
* - yytranslate
* - yycheck
* - yytable
* - yydefact
* - yyr2
* - makeRawStmt
* - updateRawStmtEnd
* - makeParamRef
* - makeAConst
* - makeStringConstCast
* - makeIntConst
* - processCASbits
* - makeRangeVarFromAnyName
* - SplitColQualList
* - parsePartitionStrategy
* - doNegateFloat
* - makeRoleSpec
* - mergeTableFuncParameters
* - TableFuncTypeName
* - extractArgTypes
* - check_func_name
* - makeOrderedSetArgs
* - extractAggrArgTypes
* - preprocess_pubobj_list
* - makeRangeVarFromQualifiedName
* - check_qualified_name
* - makeRecursiveViewSelect
* - check_indirection
* - insertSelectOptions
* - makeSetOp
* - makeBoolAConst
* - makeNullAConst
* - doNegate
* - makeFloatConst
* - makeTypeCast
* - makeAndExpr
* - makeOrExpr
* - makeNotExpr
* - makeXmlExpr
* - makeSQLValueFunction
* - makeAArrayExpr
* - makeColumnRef
* - 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,
UIDENT = 259,
FCONST = 260,
SCONST = 261,
USCONST = 262,
BCONST = 263,
XCONST = 264,
Op = 265,
ICONST = 266,
PARAM = 267,
TYPECAST = 268,
DOT_DOT = 269,
COLON_EQUALS = 270,
EQUALS_GREATER = 271,
LESS_EQUALS = 272,
GREATER_EQUALS = 273,
NOT_EQUALS = 274,
SQL_COMMENT = 275,
C_COMMENT = 276,
ABORT_P = 277,
ABSENT = 278,
ABSOLUTE_P = 279,
ACCESS = 280,
ACTION = 281,
ADD_P = 282,
ADMIN = 283,
AFTER = 284,
AGGREGATE = 285,
ALL = 286,
ALSO = 287,
ALTER = 288,
ALWAYS = 289,
ANALYSE = 290,
ANALYZE = 291,
AND = 292,
ANY = 293,
ARRAY = 294,
AS = 295,
ASC = 296,
ASENSITIVE = 297,
ASSERTION = 298,
ASSIGNMENT = 299,
ASYMMETRIC = 300,
ATOMIC = 301,
AT = 302,
ATTACH = 303,
ATTRIBUTE = 304,
AUTHORIZATION = 305,
BACKWARD = 306,
BEFORE = 307,
BEGIN_P = 308,
BETWEEN = 309,
BIGINT = 310,
BINARY = 311,
BIT = 312,
BOOLEAN_P = 313,
BOTH = 314,
BREADTH = 315,
BY = 316,
CACHE = 317,
CALL = 318,
CALLED = 319,
CASCADE = 320,
CASCADED = 321,
CASE = 322,
CAST = 323,
CATALOG_P = 324,
CHAIN = 325,
CHAR_P = 326,
CHARACTER = 327,
CHARACTERISTICS = 328,
CHECK = 329,
CHECKPOINT = 330,
CLASS = 331,
CLOSE = 332,
CLUSTER = 333,
COALESCE = 334,
COLLATE = 335,
COLLATION = 336,
COLUMN = 337,
COLUMNS = 338,
COMMENT = 339,
COMMENTS = 340,
COMMIT = 341,
COMMITTED = 342,
COMPRESSION = 343,
CONCURRENTLY = 344,
CONDITIONAL = 345,
CONFIGURATION = 346,
CONFLICT = 347,
CONNECTION = 348,
CONSTRAINT = 349,
CONSTRAINTS = 350,
CONTENT_P = 351,
CONTINUE_P = 352,
CONVERSION_P = 353,
COPY = 354,
COST = 355,
CREATE = 356,
CROSS = 357,
CSV = 358,
CUBE = 359,
CURRENT_P = 360,
CURRENT_CATALOG = 361,
CURRENT_DATE = 362,
CURRENT_ROLE = 363,
CURRENT_SCHEMA = 364,
CURRENT_TIME = 365,
CURRENT_TIMESTAMP = 366,
CURRENT_USER = 367,
CURSOR = 368,
CYCLE = 369,
DATA_P = 370,
DATABASE = 371,
DAY_P = 372,
DEALLOCATE = 373,
DEC = 374,
DECIMAL_P = 375,
DECLARE = 376,
DEFAULT = 377,
DEFAULTS = 378,
DEFERRABLE = 379,
DEFERRED = 380,
DEFINER = 381,
DELETE_P = 382,
DELIMITER = 383,
DELIMITERS = 384,
DEPENDS = 385,
DEPTH = 386,
DESC = 387,
DETACH = 388,
DICTIONARY = 389,
DISABLE_P = 390,
DISCARD = 391,
DISTINCT = 392,
DO = 393,
DOCUMENT_P = 394,
DOMAIN_P = 395,
DOUBLE_P = 396,
DROP = 397,
EACH = 398,
ELSE = 399,
EMPTY_P = 400,
ENABLE_P = 401,
ENCODING = 402,
ENCRYPTED = 403,
END_P = 404,
ENFORCED = 405,
ENUM_P = 406,
ERROR_P = 407,
ESCAPE = 408,
EVENT = 409,
EXCEPT = 410,
EXCLUDE = 411,
EXCLUDING = 412,
EXCLUSIVE = 413,
EXECUTE = 414,
EXISTS = 415,
EXPLAIN = 416,
EXPRESSION = 417,
EXTENSION = 418,
EXTERNAL = 419,
EXTRACT = 420,
FALSE_P = 421,
FAMILY = 422,
FETCH = 423,
FILTER = 424,
FINALIZE = 425,
FIRST_P = 426,
FLOAT_P = 427,
FOLLOWING = 428,
FOR = 429,
FORCE = 430,
FOREIGN = 431,
FORMAT = 432,
FORWARD = 433,
FREEZE = 434,
FROM = 435,
FULL = 436,
FUNCTION = 437,
FUNCTIONS = 438,
GENERATED = 439,
GLOBAL = 440,
GRANT = 441,
GRANTED = 442,
GREATEST = 443,
GROUP_P = 444,
GROUPING = 445,
GROUPS = 446,
HANDLER = 447,
HAVING = 448,
HEADER_P = 449,
HOLD = 450,
HOUR_P = 451,
IDENTITY_P = 452,
IF_P = 453,
ILIKE = 454,
IMMEDIATE = 455,
IMMUTABLE = 456,
IMPLICIT_P = 457,
IMPORT_P = 458,
IN_P = 459,
INCLUDE = 460,
INCLUDING = 461,
INCREMENT = 462,
INDENT = 463,
INDEX = 464,
INDEXES = 465,
INHERIT = 466,
INHERITS = 467,
INITIALLY = 468,
INLINE_P = 469,
INNER_P = 470,
INOUT = 471,
INPUT_P = 472,
INSENSITIVE = 473,
INSERT = 474,
INSTEAD = 475,
INT_P = 476,
INTEGER = 477,
INTERSECT = 478,
INTERVAL = 479,
INTO = 480,
INVOKER = 481,
IS = 482,
ISNULL = 483,
ISOLATION = 484,
JOIN = 485,
JSON = 486,
JSON_ARRAY = 487,
JSON_ARRAYAGG = 488,
JSON_EXISTS = 489,
JSON_OBJECT = 490,
JSON_OBJECTAGG = 491,
JSON_QUERY = 492,
JSON_SCALAR = 493,
JSON_SERIALIZE = 494,
JSON_TABLE = 495,
JSON_VALUE = 496,
KEEP = 497,
KEY = 498,
KEYS = 499,
LABEL = 500,
LANGUAGE = 501,
LARGE_P = 502,
LAST_P = 503,
LATERAL_P = 504,
LEADING = 505,
LEAKPROOF = 506,
LEAST = 507,
LEFT = 508,
LEVEL = 509,
LIKE = 510,
LIMIT = 511,
LISTEN = 512,
LOAD = 513,
LOCAL = 514,
LOCALTIME = 515,
LOCALTIMESTAMP = 516,
LOCATION = 517,
LOCK_P = 518,
LOCKED = 519,
LOGGED = 520,
MAPPING = 521,
MATCH = 522,
MATCHED = 523,
MATERIALIZED = 524,
MAXVALUE = 525,
MERGE = 526,
MERGE_ACTION = 527,
METHOD = 528,
MINUTE_P = 529,
MINVALUE = 530,
MODE = 531,
MONTH_P = 532,
MOVE = 533,
NAME_P = 534,
NAMES = 535,
NATIONAL = 536,
NATURAL = 537,
NCHAR = 538,
NESTED = 539,
NEW = 540,
NEXT = 541,
NFC = 542,
NFD = 543,
NFKC = 544,
NFKD = 545,
NO = 546,
NONE = 547,
NORMALIZE = 548,
NORMALIZED = 549,
NOT = 550,
NOTHING = 551,
NOTIFY = 552,
NOTNULL = 553,
NOWAIT = 554,
NULL_P = 555,
NULLIF = 556,
NULLS_P = 557,
NUMERIC = 558,
OBJECT_P = 559,
OBJECTS_P = 560,
OF = 561,
OFF = 562,
OFFSET = 563,
OIDS = 564,
OLD = 565,
OMIT = 566,
ON = 567,
ONLY = 568,
OPERATOR = 569,
OPTION = 570,
OPTIONS = 571,
OR = 572,
ORDER = 573,
ORDINALITY = 574,
OTHERS = 575,
OUT_P = 576,
OUTER_P = 577,
OVER = 578,
OVERLAPS = 579,
OVERLAY = 580,
OVERRIDING = 581,
OWNED = 582,
OWNER = 583,
PARALLEL = 584,
PARAMETER = 585,
PARSER = 586,
PARTIAL = 587,
PARTITION = 588,
PASSING = 589,
PASSWORD = 590,
PATH = 591,
PERIOD = 592,
PLACING = 593,
PLAN = 594,
PLANS = 595,
POLICY = 596,
POSITION = 597,
PRECEDING = 598,
PRECISION = 599,
PRESERVE = 600,
PREPARE = 601,
PREPARED = 602,
PRIMARY = 603,
PRIOR = 604,
PRIVILEGES = 605,
PROCEDURAL = 606,
PROCEDURE = 607,
PROCEDURES = 608,
PROGRAM = 609,
PUBLICATION = 610,
QUOTE = 611,
QUOTES = 612,
RANGE = 613,
READ = 614,
REAL = 615,
REASSIGN = 616,
RECURSIVE = 617,
REF_P = 618,
REFERENCES = 619,
REFERENCING = 620,
REFRESH = 621,
REINDEX = 622,
RELATIVE_P = 623,
RELEASE = 624,
RENAME = 625,
REPEATABLE = 626,
REPLACE = 627,
REPLICA = 628,
RESET = 629,
RESTART = 630,
RESTRICT = 631,
RETURN = 632,
RETURNING = 633,
RETURNS = 634,
REVOKE = 635,
RIGHT = 636,
ROLE = 637,
ROLLBACK = 638,
ROLLUP = 639,
ROUTINE = 640,
ROUTINES = 641,
ROW = 642,
ROWS = 643,
RULE = 644,
SAVEPOINT = 645,
SCALAR = 646,
SCHEMA = 647,
SCHEMAS = 648,
SCROLL = 649,
SEARCH = 650,
SECOND_P = 651,
SECURITY = 652,
SELECT = 653,
SEQUENCE = 654,
SEQUENCES = 655,
SERIALIZABLE = 656,
SERVER = 657,
SESSION = 658,
SESSION_USER = 659,
SET = 660,
SETS = 661,
SETOF = 662,
SHARE = 663,
SHOW = 664,
SIMILAR = 665,
SIMPLE = 666,
SKIP = 667,
SMALLINT = 668,
SNAPSHOT = 669,
SOME = 670,
SOURCE = 671,
SQL_P = 672,
STABLE = 673,
STANDALONE_P = 674,
START = 675,
STATEMENT = 676,
STATISTICS = 677,
STDIN = 678,
STDOUT = 679,
STORAGE = 680,
STORED = 681,
STRICT_P = 682,
STRING_P = 683,
STRIP_P = 684,
SUBSCRIPTION = 685,
SUBSTRING = 686,
SUPPORT = 687,
SYMMETRIC = 688,
SYSID = 689,
SYSTEM_P = 690,
SYSTEM_USER = 691,
TABLE = 692,
TABLES = 693,
TABLESAMPLE = 694,
TABLESPACE = 695,
TARGET = 696,
TEMP = 697,
TEMPLATE = 698,
TEMPORARY = 699,
TEXT_P = 700,
THEN = 701,
TIES = 702,
TIME = 703,
TIMESTAMP = 704,
TO = 705,
TRAILING = 706,
TRANSACTION = 707,
TRANSFORM = 708,
TREAT = 709,
TRIGGER = 710,
TRIM = 711,
TRUE_P = 712,
TRUNCATE = 713,
TRUSTED = 714,
TYPE_P = 715,
TYPES_P = 716,
UESCAPE = 717,
UNBOUNDED = 718,
UNCONDITIONAL = 719,
UNCOMMITTED = 720,
UNENCRYPTED = 721,
UNION = 722,
UNIQUE = 723,
UNKNOWN = 724,
UNLISTEN = 725,
UNLOGGED = 726,
UNTIL = 727,
UPDATE = 728,
USER = 729,
USING = 730,
VACUUM = 731,
VALID = 732,
VALIDATE = 733,
VALIDATOR = 734,
VALUE_P = 735,
VALUES = 736,
VARCHAR = 737,
VARIADIC = 738,
VARYING = 739,
VERBOSE = 740,
VERSION_P = 741,
VIEW = 742,
VIEWS = 743,
VIRTUAL = 744,
VOLATILE = 745,
WHEN = 746,
WHERE = 747,
WHITESPACE_P = 748,
WINDOW = 749,
WITH = 750,
WITHIN = 751,
WITHOUT = 752,
WORK = 753,
WRAPPER = 754,
WRITE = 755,
XML_P = 756,
XMLATTRIBUTES = 757,
XMLCONCAT = 758,
XMLELEMENT = 759,
XMLEXISTS = 760,
XMLFOREST = 761,
XMLNAMESPACES = 762,
XMLPARSE = 763,
XMLPI = 764,
XMLROOT = 765,
XMLSERIALIZE = 766,
XMLTABLE = 767,
YEAR_P = 768,
YES_P = 769,
ZONE = 770,
FORMAT_LA = 771,
NOT_LA = 772,
NULLS_LA = 773,
WITH_LA = 774,
WITHOUT_LA = 775,
MODE_TYPE_NAME = 776,
MODE_PLPGSQL_EXPR = 777,
MODE_PLPGSQL_ASSIGN1 = 778,
MODE_PLPGSQL_ASSIGN2 = 779,
MODE_PLPGSQL_ASSIGN3 = 780,
UMINUS = 781
};
#endif
/* Tokens. */
#define IDENT 258
#define UIDENT 259
#define FCONST 260
#define SCONST 261
#define USCONST 262
#define BCONST 263
#define XCONST 264
#define Op 265
#define ICONST 266
#define PARAM 267
#define TYPECAST 268
#define DOT_DOT 269
#define COLON_EQUALS 270
#define EQUALS_GREATER 271
#define LESS_EQUALS 272
#define GREATER_EQUALS 273
#define NOT_EQUALS 274
#define SQL_COMMENT 275
#define C_COMMENT 276
#define ABORT_P 277
#define ABSENT 278
#define ABSOLUTE_P 279
#define ACCESS 280
#define ACTION 281
#define ADD_P 282
#define ADMIN 283
#define AFTER 284
#define AGGREGATE 285
#define ALL 286
#define ALSO 287
#define ALTER 288
#define ALWAYS 289
#define ANALYSE 290
#define ANALYZE 291
#define AND 292
#define ANY 293
#define ARRAY 294
#define AS 295
#define ASC 296
#define ASENSITIVE 297
#define ASSERTION 298
#define ASSIGNMENT 299
#define ASYMMETRIC 300
#define ATOMIC 301
#define AT 302
#define ATTACH 303
#define ATTRIBUTE 304
#define AUTHORIZATION 305
#define BACKWARD 306
#define BEFORE 307
#define BEGIN_P 308
#define BETWEEN 309
#define BIGINT 310
#define BINARY 311
#define BIT 312
#define BOOLEAN_P 313
#define BOTH 314
#define BREADTH 315
#define BY 316
#define CACHE 317
#define CALL 318
#define CALLED 319
#define CASCADE 320
#define CASCADED 321
#define CASE 322
#define CAST 323
#define CATALOG_P 324
#define CHAIN 325
#define CHAR_P 326
#define CHARACTER 327
#define CHARACTERISTICS 328
#define CHECK 329
#define CHECKPOINT 330
#define CLASS 331
#define CLOSE 332
#define CLUSTER 333
#define COALESCE 334
#define COLLATE 335
#define COLLATION 336
#define COLUMN 337
#define COLUMNS 338
#define COMMENT 339
#define COMMENTS 340
#define COMMIT 341
#define COMMITTED 342
#define COMPRESSION 343
#define CONCURRENTLY 344
#define CONDITIONAL 345
#define CONFIGURATION 346
#define CONFLICT 347
#define CONNECTION 348
#define CONSTRAINT 349
#define CONSTRAINTS 350
#define CONTENT_P 351
#define CONTINUE_P 352
#define CONVERSION_P 353
#define COPY 354
#define COST 355
#define CREATE 356
#define CROSS 357
#define CSV 358
#define CUBE 359
#define CURRENT_P 360
#define CURRENT_CATALOG 361
#define CURRENT_DATE 362
#define CURRENT_ROLE 363
#define CURRENT_SCHEMA 364
#define CURRENT_TIME 365
#define CURRENT_TIMESTAMP 366
#define CURRENT_USER 367
#define CURSOR 368
#define CYCLE 369
#define DATA_P 370
#define DATABASE 371
#define DAY_P 372
#define DEALLOCATE 373
#define DEC 374
#define DECIMAL_P 375
#define DECLARE 376
#define DEFAULT 377
#define DEFAULTS 378
#define DEFERRABLE 379
#define DEFERRED 380
#define DEFINER 381
#define DELETE_P 382
#define DELIMITER 383
#define DELIMITERS 384
#define DEPENDS 385
#define DEPTH 386
#define DESC 387
#define DETACH 388
#define DICTIONARY 389
#define DISABLE_P 390
#define DISCARD 391
#define DISTINCT 392
#define DO 393
#define DOCUMENT_P 394
#define DOMAIN_P 395
#define DOUBLE_P 396
#define DROP 397
#define EACH 398
#define ELSE 399
#define EMPTY_P 400
#define ENABLE_P 401
#define ENCODING 402
#define ENCRYPTED 403
#define END_P 404
#define ENFORCED 405
#define ENUM_P 406
#define ERROR_P 407
#define ESCAPE 408
#define EVENT 409
#define EXCEPT 410
#define EXCLUDE 411
#define EXCLUDING 412
#define EXCLUSIVE 413
#define EXECUTE 414
#define EXISTS 415
#define EXPLAIN 416
#define EXPRESSION 417
#define EXTENSION 418
#define EXTERNAL 419
#define EXTRACT 420
#define FALSE_P 421
#define FAMILY 422
#define FETCH 423
#define FILTER 424
#define FINALIZE 425
#define FIRST_P 426
#define FLOAT_P 427
#define FOLLOWING 428
#define FOR 429
#define FORCE 430
#define FOREIGN 431
#define FORMAT 432
#define FORWARD 433
#define FREEZE 434
#define FROM 435
#define FULL 436
#define FUNCTION 437
#define FUNCTIONS 438
#define GENERATED 439
#define GLOBAL 440
#define GRANT 441
#define GRANTED 442
#define GREATEST 443
#define GROUP_P 444
#define GROUPING 445
#define GROUPS 446
#define HANDLER 447
#define HAVING 448
#define HEADER_P 449
#define HOLD 450
#define HOUR_P 451
#define IDENTITY_P 452
#define IF_P 453
#define ILIKE 454
#define IMMEDIATE 455
#define IMMUTABLE 456
#define IMPLICIT_P 457
#define IMPORT_P 458
#define IN_P 459
#define INCLUDE 460
#define INCLUDING 461
#define INCREMENT 462
#define INDENT 463
#define INDEX 464
#define INDEXES 465
#define INHERIT 466
#define INHERITS 467
#define INITIALLY 468
#define INLINE_P 469
#define INNER_P 470
#define INOUT 471
#define INPUT_P 472
#define INSENSITIVE 473
#define INSERT 474
#define INSTEAD 475
#define INT_P 476
#define INTEGER 477
#define INTERSECT 478
#define INTERVAL 479
#define INTO 480
#define INVOKER 481
#define IS 482
#define ISNULL 483
#define ISOLATION 484
#define JOIN 485
#define JSON 486
#define JSON_ARRAY 487
#define JSON_ARRAYAGG 488
#define JSON_EXISTS 489
#define JSON_OBJECT 490
#define JSON_OBJECTAGG 491
#define JSON_QUERY 492
#define JSON_SCALAR 493
#define JSON_SERIALIZE 494
#define JSON_TABLE 495
#define JSON_VALUE 496
#define KEEP 497
#define KEY 498
#define KEYS 499
#define LABEL 500
#define LANGUAGE 501
#define LARGE_P 502
#define LAST_P 503
#define LATERAL_P 504
#define LEADING 505
#define LEAKPROOF 506
#define LEAST 507
#define LEFT 508
#define LEVEL 509
#define LIKE 510
#define LIMIT 511
#define LISTEN 512
#define LOAD 513
#define LOCAL 514
#define LOCALTIME 515
#define LOCALTIMESTAMP 516
#define LOCATION 517
#define LOCK_P 518
#define LOCKED 519
#define LOGGED 520
#define MAPPING 521
#define MATCH 522
#define MATCHED 523
#define MATERIALIZED 524
#define MAXVALUE 525
#define MERGE 526
#define MERGE_ACTION 527
#define METHOD 528
#define MINUTE_P 529
#define MINVALUE 530
#define MODE 531
#define MONTH_P 532
#define MOVE 533
#define NAME_P 534
#define NAMES 535
#define NATIONAL 536
#define NATURAL 537
#define NCHAR 538
#define NESTED 539
#define NEW 540
#define NEXT 541
#define NFC 542
#define NFD 543
#define NFKC 544
#define NFKD 545
#define NO 546
#define NONE 547
#define NORMALIZE 548
#define NORMALIZED 549
#define NOT 550
#define NOTHING 551
#define NOTIFY 552
#define NOTNULL 553
#define NOWAIT 554
#define NULL_P 555
#define NULLIF 556
#define NULLS_P 557
#define NUMERIC 558
#define OBJECT_P 559
#define OBJECTS_P 560
#define OF 561
#define OFF 562
#define OFFSET 563
#define OIDS 564
#define OLD 565
#define OMIT 566
#define ON 567
#define ONLY 568
#define OPERATOR 569
#define OPTION 570
#define OPTIONS 571
#define OR 572
#define ORDER 573
#define ORDINALITY 574
#define OTHERS 575
#define OUT_P 576
#define OUTER_P 577
#define OVER 578
#define OVERLAPS 579
#define OVERLAY 580
#define OVERRIDING 581
#define OWNED 582
#define OWNER 583
#define PARALLEL 584
#define PARAMETER 585
#define PARSER 586
#define PARTIAL 587
#define PARTITION 588
#define PASSING 589
#define PASSWORD 590
#define PATH 591
#define PERIOD 592
#define PLACING 593
#define PLAN 594
#define PLANS 595
#define POLICY 596
#define POSITION 597
#define PRECEDING 598
#define PRECISION 599
#define PRESERVE 600
#define PREPARE 601
#define PREPARED 602
#define PRIMARY 603
#define PRIOR 604
#define PRIVILEGES 605
#define PROCEDURAL 606
#define PROCEDURE 607
#define PROCEDURES 608
#define PROGRAM 609
#define PUBLICATION 610
#define QUOTE 611
#define QUOTES 612
#define RANGE 613
#define READ 614
#define REAL 615
#define REASSIGN 616
#define RECURSIVE 617
#define REF_P 618
#define REFERENCES 619
#define REFERENCING 620
#define REFRESH 621
#define REINDEX 622
#define RELATIVE_P 623
#define RELEASE 624
#define RENAME 625
#define REPEATABLE 626
#define REPLACE 627
#define REPLICA 628
#define RESET 629
#define RESTART 630
#define RESTRICT 631
#define RETURN 632
#define RETURNING 633
#define RETURNS 634
#define REVOKE 635
#define RIGHT 636
#define ROLE 637
#define ROLLBACK 638
#define ROLLUP 639
#define ROUTINE 640
#define ROUTINES 641
#define ROW 642
#define ROWS 643
#define RULE 644
#define SAVEPOINT 645
#define SCALAR 646
#define SCHEMA 647
#define SCHEMAS 648
#define SCROLL 649
#define SEARCH 650
#define SECOND_P 651
#define SECURITY 652
#define SELECT 653
#define SEQUENCE 654
#define SEQUENCES 655
#define SERIALIZABLE 656
#define SERVER 657
#define SESSION 658
#define SESSION_USER 659
#define SET 660
#define SETS 661
#define SETOF 662
#define SHARE 663
#define SHOW 664
#define SIMILAR 665
#define SIMPLE 666
#define SKIP 667
#define SMALLINT 668
#define SNAPSHOT 669
#define SOME 670
#define SOURCE 671
#define SQL_P 672
#define STABLE 673
#define STANDALONE_P 674
#define START 675
#define STATEMENT 676
#define STATISTICS 677
#define STDIN 678
#define STDOUT 679
#define STORAGE 680
#define STORED 681
#define STRICT_P 682
#define STRING_P 683
#define STRIP_P 684
#define SUBSCRIPTION 685
#define SUBSTRING 686
#define SUPPORT 687
#define SYMMETRIC 688
#define SYSID 689
#define SYSTEM_P 690
#define SYSTEM_USER 691
#define TABLE 692
#define TABLES 693
#define TABLESAMPLE 694
#define TABLESPACE 695
#define TARGET 696
#define TEMP 697
#define TEMPLATE 698
#define TEMPORARY 699
#define TEXT_P 700
#define THEN 701
#define TIES 702
#define TIME 703
#define TIMESTAMP 704
#define TO 705
#define TRAILING 706
#define TRANSACTION 707
#define TRANSFORM 708
#define TREAT 709
#define TRIGGER 710
#define TRIM 711
#define TRUE_P 712
#define TRUNCATE 713
#define TRUSTED 714
#define TYPE_P 715
#define TYPES_P 716
#define UESCAPE 717
#define UNBOUNDED 718
#define UNCONDITIONAL 719
#define UNCOMMITTED 720
#define UNENCRYPTED 721
#define UNION 722
#define UNIQUE 723
#define UNKNOWN 724
#define UNLISTEN 725
#define UNLOGGED 726
#define UNTIL 727
#define UPDATE 728
#define USER 729
#define USING 730
#define VACUUM 731
#define VALID 732
#define VALIDATE 733
#define VALIDATOR 734
#define VALUE_P 735
#define VALUES 736
#define VARCHAR 737
#define VARIADIC 738
#define VARYING 739
#define VERBOSE 740
#define VERSION_P 741
#define VIEW 742
#define VIEWS 743
#define VIRTUAL 744
#define VOLATILE 745
#define WHEN 746
#define WHERE 747
#define WHITESPACE_P 748
#define WINDOW 749
#define WITH 750
#define WITHIN 751
#define WITHOUT 752
#define WORK 753
#define WRAPPER 754
#define WRITE 755
#define XML_P 756
#define XMLATTRIBUTES 757
#define XMLCONCAT 758
#define XMLELEMENT 759
#define XMLEXISTS 760
#define XMLFOREST 761
#define XMLNAMESPACES 762
#define XMLPARSE 763
#define XMLPI 764
#define XMLROOT 765
#define XMLSERIALIZE 766
#define XMLTABLE 767
#define YEAR_P 768
#define YES_P 769
#define ZONE 770
#define FORMAT_LA 771
#define NOT_LA 772
#define NULLS_LA 773
#define WITH_LA 774
#define WITHOUT_LA 775
#define MODE_TYPE_NAME 776
#define MODE_PLPGSQL_EXPR 777
#define MODE_PLPGSQL_ASSIGN1 778
#define MODE_PLPGSQL_ASSIGN2 779
#define MODE_PLPGSQL_ASSIGN3 780
#define UMINUS 781
/* Copy the first part of user declarations. */
#line 1 "gram.y"
/*#define YYDEBUG 1*/
/*-------------------------------------------------------------------------
*
* gram.y
* POSTGRESQL BISON rules/actions
*
* Portions Copyright (c) 1996-2025, 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 constraint_exclusion 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.
*
* 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_am.h"
#include "catalog/pg_trigger.h"
#include "commands/defrem.h"
#include "commands/trigger.h"
#include "gramparse.h"
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "parser/parser.h"
#include "utils/datetime.h"
#include "utils/xml.h"
/*
* Location tracking support. Unlike bison's default, we only want
* to track the start position not the end position of each nonterminal.
* Nonterminals that reduce to empty receive position "-1". Since a
* production's leading RHS nonterminal(s) may have reduced to empty,
* we have to scan to find the first one that's not -1.
*/
#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
(Current) = (-1); \
for (int _i = 1; _i <= (N); _i++) \
{ \
if ((Rhs)[_i] >= 0) \
{ \
(Current) = (Rhs)[_i]; \
break; \
} \
} \
} while (0)
/*
* 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.
*/
#define YYMALLOC palloc
#define YYFREE pfree
/* Private struct for the result of privilege_target production */
typedef struct PrivTarget
{
GrantTargetType targtype;
ObjectType objtype;
List *objs;
} PrivTarget;
/* Private struct for the result of import_qualification production */
typedef struct ImportQual
{
ImportForeignSchemaType type;
List *table_names;
} ImportQual;
/* Private struct for the result of select_limit & limit_clause productions */
typedef struct SelectLimit
{
Node *limitOffset;
Node *limitCount;
LimitOption limitOption; /* indicates presence of WITH TIES */
ParseLoc offsetLoc; /* location of OFFSET token, if present */
ParseLoc countLoc; /* location of LIMIT/FETCH token, if present */
ParseLoc optionLoc; /* location of WITH TIES, if present */
} SelectLimit;
/* Private struct for the result of group_clause production */
typedef struct GroupClause
{
bool distinct;
List *list;
} GroupClause;
/* Private structs for the result of key_actions and key_action productions */
typedef struct KeyAction
{
char action;
List *cols;
} KeyAction;
typedef struct KeyActions
{
KeyAction *updateAction;
KeyAction *deleteAction;
} KeyActions;
/* 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 CAS_NOT_ENFORCED 0x40
#define CAS_ENFORCED 0x80
#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 RawStmt *makeRawStmt(Node *stmt, int stmt_location);
static void updateRawStmtEnd(RawStmt *rs, int end_location);
static Node *makeColumnRef(char *colname, List *indirection,
int location, core_yyscan_t yyscanner);
static Node *makeTypeCast(Node *arg, TypeName *typename, 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 *makeBoolAConst(bool state, int location);
static Node *makeBitStringConst(char *str, int location);
static Node *makeNullAConst(int location);
static Node *makeAConst(Node *v, int location);
static Node *makeParamRef(int number, int location);
static Node *makeParamRefCast(int number, int location, TypeName *typename);
static RoleSpec *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,
SelectLimit *limitClause,
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(Float *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, int end_location);
static Node *makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod,
int location);
static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
List *args, int location);
static List *mergeTableFuncParameters(List *func_args, List *columns, core_yyscan_t yyscanner);
static TypeName *TableFuncTypeName(List *columns);
static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
static RangeVar *makeRangeVarFromQualifiedName(char *name, List *namelist, int location,
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 *is_enforced,
bool *not_valid, bool *no_inherit, core_yyscan_t yyscanner);
static PartitionStrategy parsePartitionStrategy(char *strategy, int location,
core_yyscan_t yyscanner);
static void preprocess_pubobj_list(List *pubobjspec_list,
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 221 "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;
ObjectType objtype;
TypeName *typnam;
FunctionParameter *fun_param;
FunctionParameterMode fun_param_mode;
ObjectWithArgs *objwithargs;
DefElem *defelt;
SortBy *sortby;
WindowDef *windef;
JoinExpr *jexpr;
IndexElem *ielem;
StatsElem *selem;
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;
PartitionElem *partelem;
PartitionSpec *partspec;
PartitionBoundSpec *partboundspec;
RoleSpec *rolespec;
PublicationObjSpec *publicationobjectspec;
struct SelectLimit *selectlimit;
SetQuantifier setquantifier;
struct GroupClause *groupclause;
MergeMatchKind mergematch;
MergeWhenClause *mergewhen;
struct KeyActions *keyactions;
struct KeyAction *keyaction;
ReturningClause *retclause;
ReturningOptionKind retoptionkind;
}
/* Line 193 of yacc.c. */
#line 1421 "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 1446 "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 931
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 124602
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 544
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 734
/* YYNRULES -- Number of rules. */
#define YYNRULES 3448
/* YYNRULES -- Number of states. */
#define YYNSTATES 6518
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 781
#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, 533, 2, 2,
538, 539, 531, 529, 542, 530, 540, 532, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 543, 541,
526, 528, 527, 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, 536, 2, 537, 534, 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, 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, 535
};
#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, 8, 11, 14, 17, 20, 24,
26, 28, 30, 32, 34, 36, 38, 40, 42, 44,
46, 48, 50, 52, 54, 56, 58, 60, 62, 64,
66, 68, 70, 72, 74, 76, 78, 80, 82, 84,
86, 88, 90, 92, 94, 96, 98, 100, 102, 104,
106, 108, 110, 112, 114, 116, 118, 120, 122, 124,
126, 128, 130, 132, 134, 136, 138, 140, 142, 144,
146, 148, 150, 152, 154, 156, 158, 160, 162, 164,
166, 168, 170, 172, 174, 176, 178, 180, 182, 184,
186, 188, 190, 192, 194, 196, 198, 200, 202, 204,
206, 208, 210, 212, 214, 216, 218, 220, 222, 224,
226, 228, 230, 232, 234, 236, 238, 240, 242, 244,
246, 248, 250, 252, 254, 256, 258, 260, 262, 264,
266, 268, 270, 272, 274, 276, 278, 279, 281, 282,
284, 285, 287, 288, 290, 292, 293, 296, 302, 304,
306, 307, 310, 311, 314, 315, 318, 321, 324, 328,
332, 336, 338, 342, 346, 349, 351, 353, 356, 359,
362, 366, 370, 376, 382, 388, 389, 393, 399, 405,
411, 417, 421, 427, 431, 437, 441, 447, 453, 460,
462, 464, 471, 476, 486, 494, 497, 498, 500, 502,
504, 506, 508, 510, 513, 517, 521, 524, 530, 532,
536, 540, 544, 548, 550, 554, 558, 561, 564, 567,
570, 573, 576, 580, 584, 588, 592, 596, 598, 602,
604, 608, 610, 612, 614, 617, 620, 623, 625, 627,
629, 631, 633, 635, 637, 639, 643, 649, 651, 653,
655, 657, 659, 660, 662, 664, 667, 669, 672, 676,
679, 681, 683, 686, 688, 691, 693, 696, 700, 705,
709, 712, 717, 719, 721, 723, 725, 727, 730, 733,
736, 739, 742, 747, 754, 759, 766, 777, 791, 796,
803, 808, 819, 833, 838, 845, 850, 857, 863, 871,
883, 898, 904, 912, 914, 918, 923, 928, 933, 937,
940, 946, 950, 957, 962, 969, 976, 986, 992, 1000,
1007, 1014, 1020, 1026, 1032, 1038, 1048, 1053, 1059, 1067,
1074, 1079, 1088, 1093, 1096, 1101, 1106, 1110, 1117, 1122,
1126, 1130, 1134, 1137, 1140, 1144, 1149, 1154, 1158, 1162,
1166, 1170, 1174, 1178, 1183, 1188, 1192, 1195, 1199, 1202,
1205, 1209, 1214, 1218, 1221, 1224, 1228, 1233, 1238, 1243,
1249, 1251, 1255, 1258, 1261, 1262, 1265, 1266, 1268, 1270,
1272, 1276, 1280, 1283, 1284, 1286, 1290, 1294, 1296, 1302,
1306, 1308, 1311, 1313, 1317, 1320, 1324, 1326, 1328, 1330,
1332, 1339, 1346, 1357, 1359, 1362, 1364, 1368, 1373, 1375,
1379, 1384, 1391, 1396, 1405, 1408, 1411, 1423, 1433, 1435,
1437, 1439, 1440, 1442, 1444, 1446, 1448, 1452, 1455, 1456,
1458, 1460, 1464, 1468, 1470, 1472, 1476, 1480, 1484, 1488,
1493, 1498, 1502, 1506, 1509, 1511, 1512, 1516, 1517, 1519,
1520, 1522, 1526, 1529, 1531, 1533, 1535, 1537, 1541, 1542,
1544, 1548, 1550, 1564, 1581, 1594, 1610, 1625, 1643, 1645,
1647, 1650, 1653, 1656, 1659, 1661, 1662, 1664, 1665, 1669,
1670, 1672, 1676, 1678, 1682, 1684, 1686, 1688, 1690, 1692,
1699, 1702, 1707, 1710, 1713, 1715, 1716, 1719, 1722, 1724,
1725, 1728, 1729, 1733, 1735, 1737, 1740, 1744, 1746, 1751,
1756, 1762, 1765, 1771, 1779, 1785, 1788, 1792, 1793, 1795,
1798, 1800, 1802, 1803, 1805, 1808, 1811, 1814, 1816, 1819,
1823, 1827, 1831, 1832, 1834, 1836, 1838, 1840, 1842, 1844,
1846, 1848, 1850, 1852, 1856, 1858, 1864, 1869, 1880, 1884,
1895, 1900, 1911, 1924, 1928, 1930, 1936, 1940, 1943, 1944,
1947, 1948, 1952, 1953, 1955, 1959, 1963, 1964, 1969, 1970,
1972, 1977, 1978, 1981, 1984, 1987, 1988, 1990, 1994, 1998,
2005, 2010, 2011, 2013, 2015, 2018, 2021, 2022, 2026, 2030,
2033, 2035, 2037, 2041, 2045, 2050, 2051, 2053, 2054, 2061,
2063, 2067, 2071, 2075, 2081, 2084, 2085, 2088, 2091, 2092,
2096, 2101, 2106, 2107, 2110, 2111, 2116, 2117, 2121, 2130,
2142, 2144, 2148, 2150, 2152, 2156, 2163, 2172, 2180, 2191,
2198, 2201, 2205, 2206, 2215, 2227, 2233, 2235, 2236, 2243,
2249, 2258, 2263, 2270, 2272, 2273, 2277, 2278, 2280, 2283,
2286, 2289, 2291, 2294, 2298, 2300, 2303, 2306, 2309, 2312,
2316, 2320, 2324, 2326, 2330, 2332, 2334, 2335, 2337, 2340,
2343, 2345, 2347, 2351, 2358, 2369, 2371, 2372, 2374, 2377,
2380, 2381, 2384, 2387, 2389, 2390, 2392, 2393, 2401, 2404,
2405, 2409, 2415, 2421, 2430, 2433, 2434, 2437, 2440, 2443,
2445, 2451, 2454, 2455, 2458, 2465, 2472, 2479, 2490, 2497,
2504, 2511, 2521, 2531, 2538, 2545, 2555, 2562, 2570, 2573,
2576, 2579, 2582, 2584, 2587, 2589, 2590, 2598, 2605, 2610,
2611, 2613, 2617, 2622, 2624, 2628, 2630, 2633, 2636, 2639,
2642, 2644, 2646, 2657, 2671, 2674, 2675, 2678, 2681, 2683,
2684, 2690, 2695, 2700, 2712, 2727, 2740, 2756, 2768, 2771,
2773, 2778, 2779, 2788, 2800, 2802, 2804, 2812, 2822, 2831,
2842, 2851, 2856, 2857, 2863, 2864, 2867, 2868, 2871, 2872,
2875, 2876, 2879, 2880, 2882, 2884, 2886, 2888, 2890, 2899,
2901, 2903, 2921, 2943, 2945, 2947, 2950, 2952, 2956, 2958,
2960, 2962, 2966, 2968, 2971, 2972, 2974, 2977, 2982, 2984,
2986, 2988, 2990, 2992, 2996, 2997, 2999, 3000, 3002, 3004,
3009, 3010, 3012, 3014, 3016, 3020, 3021, 3023, 3025, 3027,
3029, 3032, 3033, 3034, 3037, 3040, 3042, 3045, 3048, 3051,
3054, 3057, 3059, 3071, 3085, 3087, 3091, 3097, 3099, 3103,
3109, 3111, 3114, 3117, 3119, 3128, 3135, 3141, 3146, 3151,
3155, 3163, 3172, 3179, 3186, 3193, 3200, 3207, 3212, 3220,
3226, 3235, 3239, 3241, 3245, 3249, 3251, 3253, 3255, 3257,
3259, 3261, 3263, 3267, 3269, 3273, 3277, 3279, 3280, 3282,
3286, 3294, 3304, 3314, 3323, 3330, 3334, 3335, 3349, 3351,
3355, 3360, 3365, 3369, 3376, 3379, 3381, 3382, 3385, 3386,
3389, 3394, 3395, 3402, 3411, 3420, 3422, 3426, 3432, 3438,
3446, 3456, 3464, 3474, 3480, 3487, 3494, 3499, 3506, 3511,
3518, 3527, 3532, 3539, 3544, 3551, 3557, 3565, 3567, 3569,
3571, 3574, 3576, 3579, 3581, 3583, 3585, 3589, 3593, 3597,
3601, 3603, 3605, 3607, 3609, 3611, 3614, 3617, 3619, 3623,
3626, 3628, 3630, 3632, 3634, 3636, 3638, 3640, 3644, 3646,
3649, 3652, 3656, 3658, 3662, 3668, 3671, 3674, 3675, 3682,
3689, 3696, 3703, 3710, 3717, 3724, 3731, 3740, 3750, 3759,
3766, 3773, 3783, 3793, 3803, 3811, 3822, 3824, 3826, 3835,
3844, 3853, 3862, 3871, 3880, 3889, 3899, 3908, 3917, 3920,
3921, 3923, 3925, 3928, 3931, 3933, 3936, 3940, 3944, 3948,
3952, 3957, 3962, 3966, 3970, 3974, 3979, 3984, 3988, 3993,
3998, 4000, 4002, 4004, 4005, 4014, 4023, 4035, 4037, 4039,
4042, 4047, 4053, 4055, 4059, 4062, 4065, 4068, 4071, 4074,
4076, 4080, 4082, 4086, 4088, 4091, 4094, 4099, 4103, 4106,
4109, 4112, 4115, 4118, 4121, 4125, 4128, 4131, 4134, 4137,
4143, 4149, 4155, 4161, 4167, 4169, 4173, 4175, 4178, 4182,
4183, 4189, 4197, 4204, 4214, 4218, 4220, 4223, 4225, 4227,
4229, 4233, 4234, 4240, 4243, 4244, 4248, 4252, 4256, 4264,
4272, 4283, 4285, 4287, 4289, 4291, 4293, 4295, 4298, 4315,
4335, 4337, 4338, 4341, 4342, 4344, 4348, 4353, 4359, 4362,
4365, 4370, 4375, 4376, 4378, 4382, 4385, 4386, 4388, 4390,
4391, 4394, 4397, 4398, 4408, 4421, 4429, 4437, 4440, 4441,
4445, 4448, 4450, 4454, 4456, 4460, 4463, 4465, 4467, 4470,
4474, 4477, 4479, 4483, 4487, 4491, 4494, 4497, 4499, 4501,
4503, 4505, 4508, 4510, 4512, 4514, 4516, 4521, 4527, 4529,
4533, 4537, 4539, 4543, 4547, 4553, 4560, 4562, 4566, 4569,
4571, 4575, 4577, 4578, 4580, 4583, 4588, 4594, 4596, 4598,
4600, 4602, 4606, 4610, 4613, 4616, 4618, 4621, 4624, 4627,
4630, 4632, 4635, 4638, 4641, 4644, 4646, 4648, 4650, 4654,
4657, 4659, 4664, 4665, 4669, 4670, 4672, 4674, 4678, 4684,
4687, 4688, 4691, 4693, 4697, 4703, 4709, 4715, 4717, 4720,
4722, 4723, 4728, 4735, 4740, 4747, 4752, 4759, 4764, 4771,
4776, 4783, 4787, 4793, 4799, 4805, 4807, 4811, 4813, 4817,
4820, 4823, 4825, 4828, 4830, 4833, 4845, 4856, 4867, 4870,
4873, 4874, 4884, 4887, 4888, 4899, 4911, 4923, 4929, 4935,
4944, 4950, 4956, 4962, 4964, 4966, 4968, 4970, 4974, 4975,
4981, 4987, 4994, 5001, 5008, 5015, 5022, 5031, 5040, 5047,
5054, 5062, 5072, 5082, 5091, 5102, 5109, 5116, 5123, 5130,
5137, 5144, 5151, 5160, 5167, 5176, 5183, 5192, 5200, 5210,
5217, 5226, 5234, 5244, 5253, 5264, 5273, 5284, 5294, 5306,
5315, 5326, 5336, 5348, 5357, 5366, 5374, 5381, 5388, 5395,
5402, 5411, 5420, 5429, 5438, 5445, 5455, 5457, 5458, 5461,
5462, 5471, 5480, 5489, 5500, 5510, 5519, 5521, 5522, 5529,
5536, 5543, 5550, 5557, 5564, 5571, 5581, 5591, 5598, 5605,
5612, 5621, 5628, 5637, 5646, 5655, 5664, 5671, 5680, 5687,
5696, 5704, 5714, 5722, 5732, 5739, 5747, 5749, 5753, 5757,
5761, 5763, 5765, 5767, 5769, 5771, 5773, 5781, 5788, 5795,
5802, 5809, 5816, 5823, 5831, 5839, 5846, 5856, 5866, 5873,
5880, 5887, 5894, 5901, 5908, 5917, 5926, 5935, 5942, 5950,
5957, 5964, 5969, 5977, 5984, 5989, 5994, 5999, 6003, 6008,
6012, 6014, 6016, 6020, 6026, 6032, 6038, 6044, 6053, 6059,
6065, 6072, 6080, 6088, 6096, 6101, 6106, 6112, 6117, 6124,
6138, 6140, 6142, 6146, 6150, 6152, 6154, 6156, 6158, 6160,
6162, 6164, 6165, 6167, 6169, 6171, 6173, 6175, 6177, 6178,
6182, 6185, 6186, 6189, 6192, 6195, 6199, 6203, 6207, 6211,
6214, 6218, 6221, 6227, 6232, 6236, 6240, 6244, 6248, 6252,
6254, 6256, 6257, 6261, 6264, 6267, 6269, 6272, 6274, 6278,
6281, 6283, 6284, 6287, 6291, 6292, 6302, 6314, 6327, 6342,
6346, 6351, 6356, 6357, 6360, 6366, 6368, 6369, 6371, 6374,
6378, 6382, 6386, 6388, 6391, 6393, 6395, 6397, 6399, 6401,
6403, 6404, 6410, 6415, 6422, 6429, 6434, 6438, 6444, 6452,
6462, 6464, 6468, 6470, 6476, 6481, 6486, 6493, 6498, 6505,
6512, 6518, 6526, 6536, 6543, 6545, 6546, 6553, 6565, 6577,
6589, 6603, 6613, 6625, 6627, 6629, 6640, 6647, 6652, 6657,
6660, 6666, 6669, 6670, 6677, 6683, 6687, 6693, 6695, 6699,
6701, 6703, 6706, 6708, 6710, 6712, 6714, 6716, 6717, 6719,
6720, 6722, 6723, 6725, 6726, 6728, 6729, 6733, 6734, 6737,
6739, 6743, 6745, 6746, 6749, 6754, 6758, 6764, 6766, 6768,
6770, 6772, 6774, 6776, 6778, 6780, 6782, 6784, 6790, 6794,
6795, 6797, 6799, 6801, 6803, 6805, 6809, 6819, 6832, 6836,
6837, 6840, 6844, 6847, 6851, 6859, 6861, 6865, 6867, 6872,
6877, 6885, 6888, 6890, 6892, 6894, 6898, 6901, 6910, 6916,
6917, 6922, 6926, 6927, 6931, 6932, 6937, 6938, 6940, 6944,
6948, 6950, 6952, 6960, 6963, 6964, 6970, 6974, 6975, 6978,
6981, 6984, 6988, 6990, 6994, 6996, 6999, 7001, 7002, 7004,
7007, 7008, 7017, 7019, 7023, 7027, 7033, 7036, 7038, 7042,
7053, 7055, 7058, 7063, 7068, 7073, 7079, 7085, 7088, 7094,
7098, 7104, 7107, 7108, 7112, 7114, 7117, 7123, 7129, 7138,
7142, 7147, 7155, 7157, 7158, 7162, 7165, 7168, 7171, 7174,
7175, 7178, 7181, 7183, 7185, 7189, 7193, 7195, 7198, 7203,
7208, 7211, 7215, 7221, 7227, 7229, 7231, 7241, 7251, 7253,
7256, 7261, 7266, 7271, 7274, 7277, 7281, 7283, 7287, 7297,
7299, 7302, 7303, 7311, 7319, 7320, 7331, 7338, 7339, 7341,
7342, 7345, 7346, 7350, 7354, 7359, 7364, 7369, 7374, 7378,
7381, 7383, 7385, 7386, 7388, 7390, 7391, 7393, 7399, 7401,
7402, 7404, 7406, 7408, 7409, 7413, 7415, 7419, 7424, 7428,
7431, 7434, 7436, 7438, 7440, 7441, 7444, 7449, 7455, 7462,
7467, 7473, 7476, 7480, 7482, 7484, 7486, 7488, 7491, 7494,
7496, 7498, 7500, 7502, 7504, 7506, 7511, 7512, 7514, 7518,
7520, 7522, 7524, 7526, 7528, 7531, 7536, 7541, 7547, 7550,
7551, 7553, 7557, 7559, 7560, 7562, 7565, 7569, 7572, 7577,
7580, 7584, 7587, 7588, 7593, 7599, 7602, 7603, 7605, 7609,
7612, 7616, 7619, 7623, 7626, 7630, 7633, 7637, 7639, 7644,
7647, 7651, 7655, 7660, 7666, 7671, 7677, 7682, 7688, 7691,
7696, 7698, 7700, 7701, 7704, 7705, 7707, 7712, 7718, 7723,
7724, 7727, 7730, 7733, 7735, 7737, 7738, 7744, 7747, 7749,
7751, 7754, 7757, 7762, 7764, 7768, 7770, 7773, 7777, 7784,
7789, 7790, 7793, 7800, 7803, 7805, 7809, 7814, 7815, 7818,
7819, 7822, 7823, 7826, 7831, 7832, 7834, 7835, 7837, 7841,
7845, 7853, 7866, 7868, 7872, 7875, 7879, 7883, 7885, 7888,
7891, 7894, 7897, 7899, 7902, 7904, 7908, 7912, 7915, 7929,
7932, 7933, 7935, 7939, 7943, 7950, 7958, 7964, 7972, 7982,
7984, 7985, 7988, 7989, 7992, 7996, 8002, 8009, 8012, 8016,
8020, 8025, 8026, 8028, 8030, 8032, 8034, 8036, 8039, 8044,
8046, 8048, 8050, 8052, 8054, 8056, 8059, 8063, 8067, 8068,
8070, 8072, 8074, 8076, 8078, 8081, 8084, 8087, 8090, 8093,
8095, 8099, 8100, 8102, 8104, 8106, 8108, 8114, 8117, 8119,
8121, 8123, 8125, 8130, 8132, 8135, 8138, 8140, 8144, 8148,
8151, 8153, 8154, 8160, 8163, 8169, 8172, 8174, 8178, 8182,
8183, 8185, 8187, 8189, 8191, 8193, 8195, 8199, 8203, 8207,
8211, 8215, 8219, 8223, 8224, 8226, 8231, 8233, 8235, 8239,
8243, 8249, 8253, 8256, 8259, 8263, 8267, 8271, 8275, 8279,
8283, 8287, 8291, 8295, 8299, 8303, 8307, 8311, 8314, 8318,
8322, 8325, 8328, 8332, 8338, 8343, 8350, 8354, 8360, 8365,
8372, 8377, 8384, 8390, 8398, 8402, 8405, 8410, 8413, 8417,
8421, 8426, 8430, 8435, 8439, 8444, 8450, 8457, 8464, 8472,
8479, 8487, 8491, 8497, 8502, 8509, 8514, 8521, 8525, 8529,
8534, 8538, 8543, 8548, 8554, 8559, 8565, 8567, 8569, 8573,
8576, 8579, 8583, 8587, 8591, 8595, 8599, 8603, 8607, 8611,
8615, 8619, 8623, 8627, 8631, 8634, 8640, 8647, 8651, 8656,
8658, 8660, 8663, 8668, 8670, 8672, 8674, 8677, 8680, 8683,
8686, 8688, 8690, 8695, 8699, 8705, 8712, 8721, 8728, 8735,
8740, 8745, 8749, 8751, 8753, 8755, 8757, 8763, 8765, 8767,
8772, 8774, 8779, 8781, 8786, 8788, 8793, 8795, 8797, 8799,
8801, 8803, 8805, 8807, 8814, 8819, 8824, 8831, 8836, 8841,
8846, 8851, 8856, 8863, 8869, 8875, 8881, 8886, 8893, 8898,
8903, 8908, 8913, 8919, 8927, 8935, 8945, 8951, 8956, 8963,
8969, 8977, 8985, 8994, 8999, 9007, 9012, 9019, 9026, 9031,
9037, 9042, 9048, 9052, 9064, 9073, 9083, 9086, 9090, 9094,
9098, 9103, 9104, 9109, 9111, 9115, 9119, 9121, 9123, 9125,
9127, 9130, 9131, 9134, 9137, 9138, 9141, 9145, 9149, 9154,
9157, 9160, 9166, 9167, 9173, 9174, 9177, 9178, 9180, 9184,
9188, 9191, 9194, 9195, 9202, 9204, 9205, 9209, 9210, 9214,
9218, 9222, 9223, 9225, 9230, 9233, 9236, 9239, 9242, 9245,
9249, 9252, 9255, 9259, 9260, 9265, 9269, 9275, 9280, 9284,
9290, 9292, 9294, 9296, 9298, 9300, 9302, 9304, 9306, 9308,
9310, 9312, 9314, 9316, 9318, 9320, 9322, 9324, 9326, 9331,
9333, 9338, 9340, 9345, 9347, 9350, 9352, 9355, 9357, 9361,
9363, 9367, 9369, 9373, 9377, 9379, 9380, 9382, 9386, 9390,
9394, 9397, 9399, 9403, 9407, 9411, 9413, 9415, 9417, 9419,
9421, 9423, 9425, 9427, 9429, 9431, 9433, 9435, 9443, 9449,
9453, 9459, 9465, 9469, 9473, 9479, 9483, 9486, 9488, 9494,
9496, 9499, 9504, 9507, 9508, 9510, 9511, 9513, 9516, 9519,
9522, 9526, 9532, 9534, 9535, 9537, 9540, 9541, 9544, 9546,
9547, 9550, 9551, 9553, 9557, 9561, 9564, 9568, 9571, 9575,
9580, 9585, 9589, 9593, 9594, 9597, 9599, 9601, 9603, 9605,
9607, 9609, 9612, 9615, 9617, 9621, 9625, 9632, 9633, 9637,
9638, 9641, 9646, 9649, 9651, 9652, 9658, 9661, 9667, 9670,
9671, 9675, 9676, 9678, 9681, 9684, 9687, 9690, 9694, 9697,
9701, 9704, 9705, 9707, 9711, 9715, 9719, 9723, 9727, 9728,
9732, 9736, 9737, 9739, 9743, 9751, 9759, 9763, 9764, 9766,
9767, 9769, 9773, 9777, 9780, 9782, 9784, 9786, 9790, 9792,
9795, 9797, 9801, 9803, 9805, 9807, 9809, 9812, 9814, 9816,
9818, 9820, 9822, 9825, 9832, 9835, 9842, 9845, 9849, 9855,
9858, 9862, 9868, 9870, 9872, 9874, 9876, 9878, 9880, 9883,
9886, 9888, 9890, 9892, 9894, 9896, 9898, 9902, 9913, 9918,
9920, 9922, 9924, 9926, 9928, 9930, 9932, 9934, 9936, 9938,
9940, 9942, 9944, 9946, 9948, 9950, 9952, 9954, 9956, 9958,
9960, 9962, 9964, 9966, 9968, 9970, 9972, 9974, 9976, 9978,
9980, 9982, 9984, 9986, 9988, 9990, 9992, 9994, 9996, 9998,
10000, 10002, 10004, 10006, 10008, 10010, 10012, 10014, 10016, 10018,
10020, 10022, 10024, 10026, 10028, 10030, 10032, 10034, 10036, 10038,
10040, 10042, 10044, 10046, 10048, 10050, 10052, 10054, 10056, 10058,
10060, 10062, 10064, 10066, 10068, 10070, 10072, 10074, 10076, 10078,
10080, 10082, 10084, 10086, 10088, 10090, 10092, 10094, 10096, 10098,
10100, 10102, 10104, 10106, 10108, 10110, 10112, 10114, 10116, 10118,
10120, 10122, 10124, 10126, 10128, 10130, 10132, 10134, 10136, 10138,
10140, 10142, 10144, 10146, 10148, 10150, 10152, 10154, 10156, 10158,
10160, 10162, 10164, 10166, 10168, 10170, 10172, 10174, 10176, 10178,
10180, 10182, 10184, 10186, 10188, 10190, 10192, 10194, 10196, 10198,
10200, 10202, 10204, 10206, 10208, 10210, 10212, 10214, 10216, 10218,
10220, 10222, 10224, 10226, 10228, 10230, 10232, 10234, 10236, 10238,
10240, 10242, 10244, 10246, 10248, 10250, 10252, 10254, 10256, 10258,
10260, 10262, 10264, 10266, 10268, 10270, 10272, 10274, 10276, 10278,
10280, 10282, 10284, 10286, 10288, 10290, 10292, 10294, 10296, 10298,
10300, 10302, 10304, 10306, 10308, 10310, 10312, 10314, 10316, 10318,
10320, 10322, 10324, 10326, 10328, 10330, 10332, 10334, 10336, 10338,
10340, 10342, 10344, 10346, 10348, 10350, 10352, 10354, 10356, 10358,
10360, 10362, 10364, 10366, 10368, 10370, 10372, 10374, 10376, 10378,
10380, 10382, 10384, 10386, 10388, 10390, 10392, 10394, 10396, 10398,
10400, 10402, 10404, 10406, 10408, 10410, 10412, 10414, 10416, 10418,
10420, 10422, 10424, 10426, 10428, 10430, 10432, 10434, 10436, 10438,
10440, 10442, 10444, 10446, 10448, 10450, 10452, 10454, 10456, 10458,
10460, 10462, 10464, 10466, 10468, 10470, 10472, 10474, 10476, 10478,
10480, 10482, 10484, 10486, 10488, 10490, 10492, 10494, 10496, 10498,
10500, 10502, 10504, 10506, 10508, 10510, 10512, 10514, 10516, 10518,
10520, 10522, 10524, 10526, 10528, 10530, 10532, 10534, 10536, 10538,
10540, 10542, 10544, 10546, 10548, 10550, 10552, 10554, 10556, 10558,
10560, 10562, 10564, 10566, 10568, 10570, 10572, 10574, 10576, 10578,
10580, 10582, 10584, 10586, 10588, 10590, 10592, 10594, 10596, 10598,
10600, 10602, 10604, 10606, 10608, 10610, 10612, 10614, 10616, 10618,
10620, 10622, 10624, 10626, 10628, 10630, 10632, 10634, 10636, 10638,
10640, 10642, 10644, 10646, 10648, 10650, 10652, 10654, 10656, 10658,
10660, 10662, 10664, 10666, 10668, 10670, 10672, 10674, 10676, 10678,
10680, 10682, 10684, 10686, 10688, 10690, 10692, 10694, 10696, 10698,
10700, 10702, 10704, 10706, 10708, 10710, 10712, 10714, 10716, 10718,
10720, 10722, 10724, 10726, 10728, 10730, 10732, 10734, 10736, 10738,
10740, 10742, 10744, 10746, 10748, 10750, 10752, 10754, 10756, 10758,
10760, 10762, 10764, 10766, 10768, 10770, 10772, 10774, 10776, 10778,
10780, 10782, 10784, 10786, 10788, 10790, 10792, 10794, 10796, 10798,
10800, 10802, 10804, 10806, 10808, 10810, 10812, 10814, 10816, 10818,
10820, 10822, 10824, 10826, 10828, 10830, 10832, 10834, 10836, 10838,
10840, 10842, 10844, 10846, 10848, 10850, 10852, 10854, 10856, 10858,
10860, 10862, 10864, 10866, 10868, 10870, 10872, 10874, 10876, 10878,
10880, 10882, 10884, 10886, 10888, 10890, 10892, 10894, 10896, 10898,
10900, 10902, 10904, 10906, 10908, 10910, 10912, 10914, 10916, 10918,
10920, 10922, 10924, 10926, 10928, 10930, 10932, 10934, 10936, 10938,
10940, 10942, 10944, 10946, 10948, 10950, 10952, 10954, 10956, 10958,
10960, 10962, 10964, 10966, 10968, 10970, 10972, 10974, 10976, 10978,
10980, 10982, 10984, 10986, 10988, 10990, 10992, 10994, 10996, 10998,
11000, 11002, 11004, 11006, 11008, 11010, 11012, 11014, 11016, 11018,
11020, 11022, 11024, 11026, 11028, 11030, 11032, 11034, 11036, 11038,
11040, 11042, 11044, 11046, 11048, 11050, 11052, 11054, 11056, 11058,
11060, 11062, 11064, 11066, 11068, 11070, 11072, 11074, 11076, 11078,
11080, 11082, 11084, 11086, 11088, 11090, 11092, 11094, 11096, 11098,
11100, 11102, 11104, 11106, 11108, 11110, 11112, 11114, 11116, 11118,
11120, 11122, 11124, 11126, 11128, 11130, 11132, 11134, 11136, 11138,
11140, 11142, 11144, 11146, 11148, 11150, 11152, 11154, 11156, 11158,
11160, 11162, 11164, 11166, 11168, 11170, 11172, 11174, 11176, 11178,
11180, 11182, 11184, 11186, 11188, 11190, 11192, 11194, 11196, 11198,
11200, 11202, 11204, 11206, 11208, 11210, 11212, 11214, 11216, 11218,
11220, 11222, 11224, 11226, 11228, 11230, 11232, 11234, 11236, 11238,
11240, 11242, 11244, 11246, 11248, 11250, 11252, 11254, 11256, 11258,
11260, 11262, 11264, 11266, 11268, 11270, 11272, 11274, 11276, 11278,
11280, 11282, 11284, 11286, 11288, 11290, 11292, 11294, 11296, 11298,
11300, 11302, 11304, 11306, 11308, 11310, 11312, 11314, 11316, 11318,
11320, 11322, 11324, 11326, 11328, 11330, 11332, 11334, 11336, 11338,
11340, 11342, 11344, 11346, 11348, 11350, 11352, 11354, 11356, 11358,
11360, 11362, 11364, 11366, 11368, 11370, 11372, 11374, 11376, 11378,
11380, 11382, 11384, 11386, 11388, 11390, 11392, 11394, 11396, 11398,
11400, 11402, 11404, 11406, 11408, 11410, 11412, 11414, 11416, 11418,
11420, 11422, 11424, 11426, 11428, 11430, 11432, 11434, 11436, 11438,
11440, 11442, 11444, 11446, 11448, 11450, 11452, 11454, 11456, 11458,
11460, 11462, 11464, 11466, 11468, 11470, 11472, 11474, 11476, 11478,
11480, 11482, 11484, 11486, 11488, 11490, 11492, 11494, 11496, 11498,
11500, 11502, 11504, 11506, 11508, 11510, 11512, 11514, 11516, 11518,
11520, 11522, 11524, 11526, 11528, 11530, 11532, 11534, 11536, 11538,
11540, 11542, 11544, 11546, 11548, 11550, 11552, 11554, 11556, 11558,
11560, 11562, 11564, 11566, 11568, 11570, 11572, 11574, 11576, 11578,
11580, 11582, 11584, 11586, 11588, 11590, 11592, 11594, 11596, 11598,
11600, 11602, 11604, 11606, 11608, 11610, 11612, 11614, 11616, 11618,
11620, 11622, 11624, 11626, 11628, 11630, 11632, 11634, 11636, 11638,
11640, 11642, 11644, 11646, 11648, 11650, 11652, 11654, 11656, 11658,
11660, 11662, 11664, 11666, 11668, 11670, 11672, 11674, 11676, 11678,
11680, 11682, 11684, 11686, 11688, 11690, 11692, 11694, 11696, 11698,
11700, 11702, 11704, 11706, 11708, 11710, 11712, 11714, 11716, 11718,
11720, 11722, 11724, 11726, 11728, 11730, 11732, 11734, 11736, 11738,
11740, 11742, 11744, 11746, 11748, 11750, 11752, 11754, 11756, 11758,
11760, 11762, 11764, 11766, 11768, 11770, 11772, 11774, 11776, 11778,
11780, 11782, 11784, 11786, 11788, 11790, 11792, 11794, 11796, 11798,
11800, 11802, 11804, 11806, 11808, 11810, 11812, 11814, 11816, 11818,
11820, 11822, 11824, 11826, 11828, 11830, 11832, 11834, 11836, 11838,
11840, 11842, 11844, 11846, 11848, 11850, 11852, 11854, 11856
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
545, 0, -1, 546, -1, 521, 1137, -1, 522, 1264,
-1, 523, 1265, -1, 524, 1265, -1, 525, 1265, -1,
546, 541, 547, -1, 547, -1, 548, -1, 956, -1,
786, -1, 976, -1, 971, -1, 972, -1, 852, -1,
979, -1, 799, -1, 721, -1, 724, -1, 729, -1,
742, -1, 900, -1, 566, -1, 928, -1, 930, -1,
936, -1, 931, -1, 935, -1, 752, -1, 700, -1,
977, -1, 594, -1, 924, -1, 614, -1, 940, -1,
563, -1, 561, -1, 942, -1, 691, -1, 982, -1,
981, -1, 750, -1, 988, -1, 553, -1, 592, -1,
617, -1, 985, -1, 826, -1, 589, -1, 618, -1,
760, -1, 692, -1, 788, -1, 913, -1, 984, -1,
978, -1, 718, -1, 725, -1, 738, -1, 743, -1,
868, -1, 565, -1, 695, -1, 801, -1, 807, -1,
937, -1, 808, -1, 751, -1, 708, -1, 568, -1,
699, -1, 633, -1, 941, -1, 688, -1, 715, -1,
917, -1, 762, -1, 782, -1, 554, -1, 560, -1,
747, -1, 965, -1, 1009, -1, 1045, -1, 789, -1,
1023, -1, 593, -1, 910, -1, 915, -1, 811, -1,
812, -1, 813, -1, 815, -1, 943, -1, 717, -1,
919, -1, 564, -1, 749, -1, 973, -1, 1007, -1,
1002, -1, 831, -1, 835, -1, 846, -1, 744, -1,
857, -1, 1010, -1, 953, -1, 698, -1, 964, -1,
1025, -1, 1035, -1, 951, -1, 1004, -1, 814, -1,
920, -1, 904, -1, 903, -1, 905, -1, 925, -1,
836, -1, 847, -1, 944, -1, 828, -1, 1049, -1,
955, -1, 824, -1, 954, -1, 1030, -1, 987, -1,
583, -1, 571, -1, 588, -1, 962, -1, -1, 1268,
-1, -1, 821, -1, -1, 89, -1, -1, 65, -1,
376, -1, -1, 63, 1164, -1, 101, 382, 1261, 555,
556, -1, 495, -1, 519, -1, -1, 556, 559, -1,
-1, 557, 558, -1, -1, 335, 1259, -1, 335, 12,
-1, 335, 300, -1, 148, 335, 1259, -1, 148, 335,
12, -1, 466, 335, 1259, -1, 211, -1, 93, 256,
1260, -1, 477, 472, 1259, -1, 474, 1263, -1, 3,
-1, 558, -1, 434, 1258, -1, 28, 1263, -1, 382,
1263, -1, 204, 382, 1263, -1, 204, 189, 1263, -1,
101, 474, 1261, 555, 556, -1, 33, 382, 1262, 555,
557, -1, 33, 474, 1262, 555, 557, -1, -1, 204,
116, 1253, -1, 33, 382, 1262, 562, 586, -1, 33,
382, 31, 562, 586, -1, 33, 474, 1262, 562, 586,
-1, 33, 474, 31, 562, 586, -1, 142, 382, 1263,
-1, 142, 382, 198, 160, 1263, -1, 142, 474, 1263,
-1, 142, 474, 198, 160, 1263, -1, 142, 189, 1263,
-1, 142, 189, 198, 160, 1263, -1, 101, 189, 1261,
555, 556, -1, 33, 189, 1262, 567, 474, 1263, -1,
27, -1, 142, -1, 101, 392, 549, 50, 1262, 569,
-1, 101, 392, 1268, 569, -1, 101, 392, 198, 295,
160, 549, 50, 1262, 569, -1, 101, 392, 198, 295,
160, 1268, 569, -1, 569, 570, -1, -1, 633, -1,
857, -1, 699, -1, 762, -1, 835, -1, 962, -1,
405, 572, -1, 405, 259, 572, -1, 405, 403, 572,
-1, 452, 959, -1, 403, 73, 40, 452, 959, -1,
574, -1, 575, 450, 576, -1, 575, 528, 576, -1,
575, 450, 122, -1, 575, 528, 122, -1, 573, -1,
575, 180, 105, -1, 448, 515, 580, -1, 69, 1259,
-1, 392, 1259, -1, 392, 12, -1, 280, 581, -1,
382, 582, -1, 382, 12, -1, 403, 50, 582, -1,
403, 50, 12, -1, 403, 50, 122, -1, 501, 315,
1173, -1, 452, 414, 1259, -1, 1268, -1, 575, 540,
1268, -1, 577, -1, 576, 542, 577, -1, 579, -1,
706, -1, 12, -1, 359, 465, -1, 359, 87, -1,
371, 359, -1, 401, -1, 457, -1, 166, -1, 312,
-1, 582, -1, 1259, -1, 12, -1, 3, -1, 1156,
1259, 1158, -1, 1156, 538, 1258, 539, 1259, -1, 706,
-1, 122, -1, 259, -1, 1259, -1, 122, -1, -1,
1270, -1, 1259, -1, 374, 584, -1, 585, -1, 448,
515, -1, 452, 229, 254, -1, 403, 50, -1, 575,
-1, 31, -1, 405, 572, -1, 583, -1, 405, 574,
-1, 583, -1, 409, 575, -1, 409, 448, 515, -1,
409, 452, 229, 254, -1, 409, 403, 50, -1, 409,
31, -1, 405, 95, 590, 591, -1, 31, -1, 1250,
-1, 125, -1, 200, -1, 75, -1, 136, 31, -1,
136, 442, -1, 136, 444, -1, 136, 340, -1, 136,
400, -1, 33, 437, 1108, 595, -1, 33, 437, 198,
160, 1108, 595, -1, 33, 437, 1108, 596, -1, 33,
437, 198, 160, 1108, 596, -1, 33, 437, 31, 204,
440, 1253, 405, 440, 1253, 1028, -1, 33, 437, 31,
204, 440, 1253, 327, 61, 1263, 405, 440, 1253, 1028,
-1, 33, 209, 1251, 595, -1, 33, 209, 198, 160,
1251, 595, -1, 33, 209, 1251, 597, -1, 33, 209,
31, 204, 440, 1253, 405, 440, 1253, 1028, -1, 33,
209, 31, 204, 440, 1253, 327, 61, 1263, 405, 440,
1253, 1028, -1, 33, 399, 1251, 595, -1, 33, 399,
198, 160, 1251, 595, -1, 33, 487, 1251, 595, -1,
33, 487, 198, 160, 1251, 595, -1, 33, 269, 487,
1251, 595, -1, 33, 269, 487, 198, 160, 1251, 595,
-1, 33, 269, 487, 31, 204, 440, 1253, 405, 440,
1253, 1028, -1, 33, 269, 487, 31, 204, 440, 1253,
327, 61, 1263, 405, 440, 1253, 1028, -1, 33, 176,
437, 1108, 595, -1, 33, 176, 437, 198, 160, 1108,
595, -1, 598, -1, 595, 542, 598, -1, 48, 333,
1251, 611, -1, 133, 333, 1251, 551, -1, 133, 333,
1251, 170, -1, 48, 333, 1251, -1, 27, 641, -1,
27, 198, 295, 160, 641, -1, 27, 82, 641, -1,
27, 82, 198, 295, 160, 641, -1, 33, 926, 1268,
599, -1, 33, 926, 1268, 142, 295, 300, -1, 33,
926, 1268, 405, 295, 300, -1, 33, 926, 1268, 405,
162, 40, 538, 1161, 539, -1, 33, 926, 1268, 142,
162, -1, 33, 926, 1268, 142, 162, 198, 160, -1,
33, 926, 1268, 405, 422, 609, -1, 33, 926, 1258,
405, 422, 609, -1, 33, 926, 1268, 405, 603, -1,
33, 926, 1268, 374, 603, -1, 33, 926, 1268, 405,
645, -1, 33, 926, 1268, 405, 643, -1, 33, 926,
1268, 27, 184, 651, 40, 197, 702, -1, 33, 926,
1268, 607, -1, 33, 926, 1268, 142, 197, -1, 33,
926, 1268, 142, 197, 198, 160, -1, 142, 926, 198,
160, 1268, 552, -1, 142, 926, 1268, 552, -1, 33,
926, 1268, 927, 460, 1137, 600, 601, -1, 33, 926,
1268, 732, -1, 27, 657, -1, 33, 94, 1253, 780,
-1, 33, 94, 1253, 211, -1, 478, 94, 1253, -1,
142, 94, 198, 160, 1253, 552, -1, 142, 94, 1253,
552, -1, 405, 497, 309, -1, 78, 312, 1253, -1,
405, 497, 78, -1, 405, 265, -1, 405, 471, -1,
146, 455, 1253, -1, 146, 34, 455, 1253, -1, 146,
373, 455, 1253, -1, 146, 455, 31, -1, 146, 455,
474, -1, 135, 455, 1253, -1, 135, 455, 31, -1,
135, 455, 474, -1, 146, 389, 1253, -1, 146, 34,
389, 1253, -1, 146, 373, 389, 1253, -1, 135, 389,
1253, -1, 211, 1251, -1, 291, 211, 1251, -1, 306,
821, -1, 295, 306, -1, 328, 450, 1262, -1, 405,
25, 273, 610, -1, 405, 440, 1253, -1, 405, 603,
-1, 374, 603, -1, 373, 197, 602, -1, 146, 387,
254, 397, -1, 135, 387, 254, 397, -1, 175, 387,
254, 397, -1, 291, 175, 387, 254, 397, -1, 732,
-1, 405, 122, 1161, -1, 142, 122, -1, 80, 821,
-1, -1, 475, 1161, -1, -1, 296, -1, 181, -1,
122, -1, 475, 209, 1253, -1, 538, 605, 539, -1,
495, 603, -1, -1, 606, -1, 605, 542, 606, -1,
1271, 528, 793, -1, 1271, -1, 1271, 540, 1271, 528,
793, -1, 1271, 540, 1271, -1, 608, -1, 607, 608,
-1, 375, -1, 375, 555, 706, -1, 405, 704, -1,
405, 184, 651, -1, 1260, -1, 122, -1, 1268, -1,
122, -1, 174, 481, 495, 538, 613, 539, -1, 174,
481, 204, 538, 1200, 539, -1, 174, 481, 180, 538,
1200, 539, 450, 538, 1200, 539, -1, 122, -1, 1270,
1258, -1, 612, -1, 613, 542, 612, -1, 33, 460,
821, 615, -1, 616, -1, 615, 542, 616, -1, 27,
49, 1123, 552, -1, 142, 49, 198, 160, 1268, 552,
-1, 142, 49, 1268, 552, -1, 33, 49, 1268, 927,
460, 1137, 600, 552, -1, 77, 1046, -1, 77, 31,
-1, 99, 625, 1251, 663, 619, 620, 621, 626, 555,
622, 1119, -1, 99, 538, 1006, 539, 450, 620, 621,
555, 622, -1, 180, -1, 450, -1, 354, -1, -1,
1259, -1, 423, -1, 424, -1, 623, -1, 538, 628,
539, -1, 623, 624, -1, -1, 56, -1, 179, -1,
128, 980, 1259, -1, 300, 980, 1259, -1, 103, -1,
194, -1, 356, 980, 1259, -1, 153, 980, 1259, -1,
175, 356, 664, -1, 175, 356, 531, -1, 175, 295,
300, 664, -1, 175, 295, 300, 531, -1, 175, 300,
664, -1, 175, 300, 531, -1, 147, 1259, -1, 56,
-1, -1, 627, 129, 1259, -1, -1, 475, -1, -1,
629, -1, 628, 542, 629, -1, 1271, 630, -1, 579,
-1, 706, -1, 531, -1, 122, -1, 538, 631, 539,
-1, -1, 632, -1, 631, 542, 632, -1, 579, -1,
101, 634, 437, 1251, 538, 635, 539, 677, 678, 682,
683, 684, 685, -1, 101, 634, 437, 198, 295, 160,
1251, 538, 635, 539, 677, 678, 682, 683, 684, 685,
-1, 101, 634, 437, 1251, 306, 821, 636, 678, 682,
683, 684, 685, -1, 101, 634, 437, 198, 295, 160,
1251, 306, 821, 636, 678, 682, 683, 684, 685, -1,
101, 634, 437, 1251, 333, 306, 1251, 636, 611, 678,
682, 683, 684, 685, -1, 101, 634, 437, 198, 295,
160, 1251, 333, 306, 1251, 636, 611, 678, 682, 683,
684, 685, -1, 444, -1, 442, -1, 259, 444, -1,
259, 442, -1, 185, 444, -1, 185, 442, -1, 471,
-1, -1, 637, -1, -1, 538, 638, 539, -1, -1,
639, -1, 637, 542, 639, -1, 640, -1, 638, 542,
640, -1, 641, -1, 654, -1, 657, -1, 642, -1,
657, -1, 1268, 1137, 646, 644, 730, 647, -1, 1268,
647, -1, 1268, 495, 316, 647, -1, 88, 1268, -1,
88, 122, -1, 643, -1, -1, 425, 1268, -1, 425,
122, -1, 645, -1, -1, 647, 648, -1, -1, 94,
1253, 649, -1, 649, -1, 653, -1, 80, 821, -1,
295, 300, 661, -1, 300, -1, 468, 650, 897, 686,
-1, 348, 243, 897, 686, -1, 74, 538, 1161, 539,
661, -1, 122, 1162, -1, 184, 651, 40, 197, 702,
-1, 184, 651, 40, 538, 1161, 539, 652, -1, 364,
1251, 663, 669, 673, -1, 302, 137, -1, 302, 295,
137, -1, -1, 34, -1, 61, 122, -1, 426, -1,
489, -1, -1, 124, -1, 295, 124, -1, 213, 125,
-1, 213, 200, -1, 150, -1, 295, 150, -1, 255,
1251, 655, -1, 655, 206, 656, -1, 655, 157, 656,
-1, -1, 85, -1, 88, -1, 95, -1, 123, -1,
197, -1, 184, -1, 210, -1, 422, -1, 425, -1,
31, -1, 94, 1253, 658, -1, 658, -1, 74, 538,
1161, 539, 780, -1, 295, 300, 1268, 780, -1, 468,
650, 538, 664, 662, 539, 668, 897, 686, 780, -1,
468, 687, 780, -1, 348, 243, 538, 664, 662, 539,
668, 897, 686, 780, -1, 348, 243, 687, 780, -1,
156, 859, 538, 670, 539, 668, 897, 686, 672, 780,
-1, 176, 243, 538, 664, 665, 539, 364, 1251, 666,
669, 673, 780, -1, 94, 1253, 660, -1, 660, -1,
74, 538, 1161, 539, 780, -1, 295, 300, 780, -1,
291, 211, -1, -1, 497, 324, -1, -1, 538, 664,
539, -1, -1, 667, -1, 664, 542, 667, -1, 542,
337, 667, -1, -1, 538, 664, 665, 539, -1, -1,
1268, -1, 205, 538, 664, 539, -1, -1, 267, 181,
-1, 267, 332, -1, 267, 411, -1, -1, 671, -1,
670, 542, 671, -1, 862, 495, 907, -1, 862, 495,
314, 538, 907, 539, -1, 492, 538, 1161, 539, -1,
-1, 674, -1, 675, -1, 674, 675, -1, 675, 674,
-1, -1, 312, 473, 676, -1, 312, 127, 676, -1,
291, 26, -1, 376, -1, 65, -1, 405, 300, 663,
-1, 405, 122, 663, -1, 212, 538, 1250, 539, -1,
-1, 679, -1, -1, 333, 61, 1268, 538, 680, 539,
-1, 681, -1, 680, 542, 681, -1, 1268, 865, 550,
-1, 1166, 865, 550, -1, 538, 1161, 539, 865, 550,
-1, 475, 1253, -1, -1, 495, 603, -1, 497, 309,
-1, -1, 312, 86, 142, -1, 312, 86, 127, 388,
-1, 312, 86, 345, 388, -1, -1, 440, 1253, -1,
-1, 475, 209, 440, 1253, -1, -1, 475, 209, 1253,
-1, 101, 422, 550, 998, 312, 689, 180, 1098, -1,
101, 422, 198, 295, 160, 821, 998, 312, 689, 180,
1098, -1, 690, -1, 689, 542, 690, -1, 1268, -1,
1166, -1, 538, 1161, 539, -1, 33, 422, 821, 405,
422, 609, -1, 33, 422, 198, 160, 821, 405, 422,
609, -1, 101, 634, 437, 693, 40, 1049, 694, -1,
101, 634, 437, 198, 295, 160, 693, 40, 1049, 694,
-1, 1251, 663, 682, 683, 684, 685, -1, 495, 115,
-1, 495, 291, 115, -1, -1, 101, 697, 269, 487,
696, 40, 1049, 694, -1, 101, 697, 269, 487, 198,
295, 160, 696, 40, 1049, 694, -1, 1251, 663, 682,
604, 685, -1, 471, -1, -1, 366, 269, 487, 551,
1251, 694, -1, 101, 634, 399, 1251, 701, -1, 101,
634, 399, 198, 295, 160, 1251, 701, -1, 33, 399,
1251, 703, -1, 33, 399, 198, 160, 1251, 703, -1,
703, -1, -1, 538, 703, 539, -1, -1, 704, -1,
703, 704, -1, 40, 1139, -1, 62, 706, -1, 114,
-1, 291, 114, -1, 207, 705, 706, -1, 265, -1,
270, 706, -1, 275, 706, -1, 291, 270, -1, 291,
275, -1, 327, 61, 821, -1, 399, 279, 821, -1,
420, 555, 706, -1, 375, -1, 375, 555, 706, -1,
471, -1, 61, -1, -1, 5, -1, 529, 5, -1,
530, 5, -1, 1260, -1, 706, -1, 707, 542, 706,
-1, 101, 869, 709, 714, 246, 1253, -1, 101, 869,
709, 714, 246, 1253, 192, 710, 711, 713, -1, 459,
-1, -1, 1253, -1, 1253, 822, -1, 214, 710, -1,
-1, 479, 710, -1, 291, 479, -1, 712, -1, -1,
351, -1, -1, 101, 440, 1253, 716, 262, 1259, 604,
-1, 328, 1262, -1, -1, 142, 440, 1253, -1, 142,
440, 198, 160, 1253, -1, 101, 163, 1253, 555, 719,
-1, 101, 163, 198, 295, 160, 1253, 555, 719, -1,
719, 720, -1, -1, 392, 1253, -1, 486, 582, -1,
180, 582, -1, 65, -1, 33, 163, 1253, 473, 722,
-1, 722, 723, -1, -1, 450, 582, -1, 33, 163,
1253, 567, 817, 1253, -1, 33, 163, 1253, 567, 816,
821, -1, 33, 163, 1253, 567, 30, 885, -1, 33,
163, 1253, 567, 68, 538, 1137, 40, 1137, 539, -1,
33, 163, 1253, 567, 140, 1137, -1, 33, 163, 1253,
567, 182, 873, -1, 33, 163, 1253, 567, 314, 909,
-1, 33, 163, 1253, 567, 314, 76, 821, 475, 1253,
-1, 33, 163, 1253, 567, 314, 167, 821, 475, 1253,
-1, 33, 163, 1253, 567, 352, 873, -1, 33, 163,
1253, 567, 385, 873, -1, 33, 163, 1253, 567, 453,
174, 1137, 246, 1253, -1, 33, 163, 1253, 567, 460,
1137, -1, 101, 176, 115, 499, 1253, 728, 730, -1,
192, 710, -1, 291, 192, -1, 479, 710, -1, 291,
479, -1, 726, -1, 727, 726, -1, 727, -1, -1,
33, 176, 115, 499, 1253, 728, 732, -1, 33, 176,
115, 499, 1253, 727, -1, 316, 538, 731, 539, -1,
-1, 735, -1, 731, 542, 735, -1, 316, 538, 733,
539, -1, 734, -1, 733, 542, 734, -1, 735, -1,
405, 735, -1, 27, 735, -1, 142, 736, -1, 736,
737, -1, 1271, -1, 1259, -1, 101, 402, 1253, 739,
741, 176, 115, 499, 1253, 730, -1, 101, 402, 198,
295, 160, 1253, 739, 741, 176, 115, 499, 1253, 730,
-1, 460, 1259, -1, -1, 486, 1259, -1, 486, 300,
-1, 740, -1, -1, 33, 402, 1253, 740, 732, -1,
33, 402, 1253, 740, -1, 33, 402, 1253, 732, -1,
101, 176, 437, 1251, 538, 635, 539, 677, 402, 1253,
730, -1, 101, 176, 437, 198, 295, 160, 1251, 538,
635, 539, 677, 402, 1253, 730, -1, 101, 176, 437,
1251, 333, 306, 1251, 636, 611, 402, 1253, 730, -1,
101, 176, 437, 198, 295, 160, 1251, 333, 306, 1251,
636, 611, 402, 1253, 730, -1, 203, 176, 392, 1253,
746, 180, 402, 1253, 225, 1253, 730, -1, 256, 450,
-1, 155, -1, 745, 538, 1110, 539, -1, -1, 101,
474, 266, 174, 748, 402, 1253, 730, -1, 101, 474,
266, 198, 295, 160, 174, 748, 402, 1253, 730, -1,
1262, -1, 474, -1, 142, 474, 266, 174, 748, 402,
1253, -1, 142, 474, 266, 198, 160, 174, 748, 402,
1253, -1, 33, 474, 266, 174, 748, 402, 1253, 732,
-1, 101, 341, 1253, 312, 1251, 757, 758, 755, 753,
754, -1, 33, 341, 1253, 312, 1251, 756, 753, 754,
-1, 475, 538, 1161, 539, -1, -1, 495, 74, 538,
1161, 539, -1, -1, 450, 1263, -1, -1, 450, 1263,
-1, -1, 40, 3, -1, -1, 174, 759, -1, -1,
31, -1, 398, -1, 219, -1, 473, -1, 127, -1,
101, 25, 273, 1253, 460, 761, 192, 710, -1, 209,
-1, 437, -1, 101, 869, 455, 1253, 763, 764, 312,
1251, 766, 772, 775, 159, 776, 1256, 538, 777, 539,
-1, 101, 869, 94, 455, 1253, 29, 764, 312, 1251,
779, 780, 174, 143, 387, 775, 159, 776, 1256, 538,
777, 539, -1, 52, -1, 29, -1, 220, 306, -1,
765, -1, 764, 317, 765, -1, 219, -1, 127, -1,
473, -1, 473, 306, 664, -1, 458, -1, 365, 767,
-1, -1, 768, -1, 767, 768, -1, 769, 770, 980,
771, -1, 285, -1, 310, -1, 437, -1, 387, -1,
1268, -1, 174, 773, 774, -1, -1, 143, -1, -1,
387, -1, 421, -1, 491, 538, 1161, 539, -1, -1,
182, -1, 352, -1, 778, -1, 777, 542, 778, -1,
-1, 1258, -1, 5, -1, 1259, -1, 1271, -1, 180,
1251, -1, -1, -1, 780, 781, -1, 295, 124, -1,
124, -1, 213, 200, -1, 213, 125, -1, 295, 477,
-1, 291, 211, -1, 295, 150, -1, 150, -1, 101,
154, 455, 1253, 312, 1271, 159, 776, 1256, 538, 539,
-1, 101, 154, 455, 1253, 312, 1271, 491, 783, 159,
776, 1256, 538, 539, -1, 784, -1, 783, 37, 784,
-1, 1268, 204, 538, 785, 539, -1, 6, -1, 785,
542, 6, -1, 33, 154, 455, 1253, 787, -1, 146,
-1, 146, 373, -1, 146, 34, -1, 135, -1, 101,
43, 821, 74, 538, 1161, 539, 780, -1, 101, 869,
30, 1256, 883, 790, -1, 101, 869, 30, 1256, 794,
-1, 101, 314, 907, 790, -1, 101, 460, 821, 790,
-1, 101, 460, 821, -1, 101, 460, 821, 40, 538,
1121, 539, -1, 101, 460, 821, 40, 151, 538, 797,
539, -1, 101, 460, 821, 40, 358, 790, -1, 101,
445, 395, 331, 821, 790, -1, 101, 445, 395, 134,
821, 790, -1, 101, 445, 395, 443, 821, 790, -1,
101, 445, 395, 91, 821, 790, -1, 101, 81, 821,
790, -1, 101, 81, 198, 295, 160, 821, 790, -1,
101, 81, 821, 180, 821, -1, 101, 81, 198, 295,
160, 821, 180, 821, -1, 538, 791, 539, -1, 792,
-1, 791, 542, 792, -1, 1271, 528, 793, -1, 1271,
-1, 880, -1, 1276, -1, 1198, -1, 706, -1, 1259,
-1, 292, -1, 538, 795, 539, -1, 796, -1, 795,
542, 796, -1, 3, 528, 793, -1, 798, -1, -1,
1259, -1, 798, 542, 1259, -1, 33, 460, 821, 27,
480, 800, 1259, -1, 33, 460, 821, 27, 480, 800,
1259, 52, 1259, -1, 33, 460, 821, 27, 480, 800,
1259, 29, 1259, -1, 33, 460, 821, 370, 480, 1259,
450, 1259, -1, 33, 460, 821, 142, 480, 1259, -1,
198, 295, 160, -1, -1, 101, 314, 76, 821, 804,
174, 460, 1137, 475, 1253, 805, 40, 802, -1, 803,
-1, 802, 542, 803, -1, 314, 1258, 907, 806, -1,
314, 1258, 909, 806, -1, 182, 1258, 873, -1, 182,
1258, 538, 1204, 539, 873, -1, 425, 1137, -1, 122,
-1, -1, 167, 821, -1, -1, 174, 395, -1, 174,
318, 61, 821, -1, -1, 101, 314, 167, 821, 475,
1253, -1, 33, 314, 167, 821, 475, 1253, 27, 802,
-1, 33, 314, 167, 821, 475, 1253, 142, 809, -1,
810, -1, 809, 542, 810, -1, 314, 1258, 538, 1204,
539, -1, 182, 1258, 538, 1204, 539, -1, 142, 314,
76, 821, 475, 1253, 552, -1, 142, 314, 76, 198,
160, 821, 475, 1253, 552, -1, 142, 314, 167, 821,
475, 1253, 552, -1, 142, 314, 167, 198, 160, 821,
475, 1253, 552, -1, 142, 327, 61, 1263, 552, -1,
361, 327, 61, 1263, 450, 1262, -1, 142, 816, 198,
160, 820, 552, -1, 142, 816, 820, 552, -1, 142,
818, 198, 160, 1252, 552, -1, 142, 818, 1252, 552,
-1, 142, 819, 1253, 312, 821, 552, -1, 142, 819,
198, 160, 1253, 312, 821, 552, -1, 142, 460, 823,
552, -1, 142, 460, 198, 160, 823, 552, -1, 142,
140, 823, 552, -1, 142, 140, 198, 160, 823, 552,
-1, 142, 209, 89, 820, 552, -1, 142, 209, 89,
198, 160, 820, 552, -1, 437, -1, 399, -1, 487,
-1, 269, 487, -1, 209, -1, 176, 437, -1, 81,
-1, 98, -1, 422, -1, 445, 395, 331, -1, 445,
395, 134, -1, 445, 395, 443, -1, 445, 395, 91,
-1, 818, -1, 116, -1, 382, -1, 430, -1, 440,
-1, 25, 273, -1, 154, 455, -1, 163, -1, 176,
115, 499, -1, 714, 246, -1, 355, -1, 392, -1,
402, -1, 341, -1, 389, -1, 455, -1, 821, -1,
820, 542, 821, -1, 1268, -1, 1268, 822, -1, 540,
1254, -1, 822, 540, 1254, -1, 1137, -1, 823, 542,
1137, -1, 458, 1063, 1110, 825, 552, -1, 97, 197,
-1, 375, 197, -1, -1, 84, 312, 816, 821, 227,
827, -1, 84, 312, 82, 821, 227, 827, -1, 84,
312, 817, 1253, 227, 827, -1, 84, 312, 460, 1137,
227, 827, -1, 84, 312, 140, 1137, 227, 827, -1,
84, 312, 30, 885, 227, 827, -1, 84, 312, 182,
873, 227, 827, -1, 84, 312, 314, 909, 227, 827,
-1, 84, 312, 94, 1253, 312, 821, 227, 827, -1,
84, 312, 94, 1253, 312, 140, 821, 227, 827, -1,
84, 312, 819, 1253, 312, 821, 227, 827, -1, 84,
312, 352, 873, 227, 827, -1, 84, 312, 385, 873,
227, 827, -1, 84, 312, 453, 174, 1137, 246, 1253,
227, 827, -1, 84, 312, 314, 76, 821, 475, 1253,
227, 827, -1, 84, 312, 314, 167, 821, 475, 1253,
227, 827, -1, 84, 312, 247, 304, 706, 227, 827,
-1, 84, 312, 68, 538, 1137, 40, 1137, 539, 227,
827, -1, 1259, -1, 300, -1, 397, 245, 829, 312,
816, 821, 227, 830, -1, 397, 245, 829, 312, 82,
821, 227, 830, -1, 397, 245, 829, 312, 817, 1253,
227, 830, -1, 397, 245, 829, 312, 460, 1137, 227,
830, -1, 397, 245, 829, 312, 140, 1137, 227, 830,
-1, 397, 245, 829, 312, 30, 885, 227, 830, -1,
397, 245, 829, 312, 182, 873, 227, 830, -1, 397,
245, 829, 312, 247, 304, 706, 227, 830, -1, 397,
245, 829, 312, 352, 873, 227, 830, -1, 397, 245,
829, 312, 385, 873, 227, 830, -1, 174, 582, -1,
-1, 1259, -1, 300, -1, 168, 832, -1, 278, 832,
-1, 1046, -1, 833, 1046, -1, 286, 834, 1046, -1,
349, 834, 1046, -1, 171, 834, 1046, -1, 248, 834,
1046, -1, 24, 1260, 834, 1046, -1, 368, 1260, 834,
1046, -1, 1260, 834, 1046, -1, 31, 834, 1046, -1,
178, 834, 1046, -1, 178, 1260, 834, 1046, -1, 178,
31, 834, 1046, -1, 51, 834, 1046, -1, 51, 1260,
834, 1046, -1, 51, 31, 834, 1046, -1, 180, -1,
204, -1, 833, -1, -1, 186, 837, 312, 842, 450,
843, 845, 851, -1, 380, 837, 312, 842, 180, 843,
851, 552, -1, 380, 186, 315, 174, 837, 312, 842,
180, 843, 851, 552, -1, 838, -1, 31, -1, 31,
350, -1, 31, 538, 664, 539, -1, 31, 350, 538,
664, 539, -1, 839, -1, 838, 542, 839, -1, 398,
663, -1, 364, 663, -1, 101, 663, -1, 33, 435,
-1, 1268, 663, -1, 841, -1, 840, 542, 841, -1,
1268, -1, 841, 540, 1268, -1, 1250, -1, 437, 1250,
-1, 399, 1250, -1, 176, 115, 499, 1252, -1, 176,
402, 1252, -1, 182, 872, -1, 352, 872, -1, 385,
872, -1, 116, 1252, -1, 140, 820, -1, 246, 1252,
-1, 247, 304, 707, -1, 330, 840, -1, 392, 1252,
-1, 440, 1252, -1, 460, 820, -1, 31, 438, 204,
392, 1252, -1, 31, 400, 204, 392, 1252, -1, 31,
183, 204, 392, 1252, -1, 31, 353, 204, 392, 1252,
-1, 31, 386, 204, 392, 1252, -1, 844, -1, 843,
542, 844, -1, 1262, -1, 189, 1262, -1, 495, 186,
315, -1, -1, 186, 838, 450, 1263, 851, -1, 186,
838, 450, 1263, 495, 848, 851, -1, 380, 838, 180,
1263, 851, 552, -1, 380, 1268, 315, 174, 838, 180,
1263, 851, 552, -1, 848, 542, 849, -1, 849, -1,
1271, 850, -1, 315, -1, 457, -1, 166, -1, 187,
61, 1262, -1, -1, 33, 122, 350, 853, 855, -1,
853, 854, -1, -1, 204, 392, 1252, -1, 174, 382,
1263, -1, 174, 474, 1263, -1, 186, 837, 312, 856,
450, 843, 845, -1, 380, 837, 312, 856, 180, 843,
552, -1, 380, 186, 315, 174, 837, 312, 856, 180,
843, 552, -1, 438, -1, 183, -1, 386, -1, 400,
-1, 461, -1, 393, -1, 247, 305, -1, 101, 858,
209, 551, 549, 312, 1108, 859, 538, 860, 539, 863,
650, 604, 685, 1119, -1, 101, 858, 209, 551, 198,
295, 160, 1253, 312, 1108, 859, 538, 860, 539, 863,
650, 604, 685, 1119, -1, 468, -1, -1, 475, 1253,
-1, -1, 862, -1, 860, 542, 862, -1, 865, 550,
866, 867, -1, 865, 821, 603, 866, 867, -1, 1268,
861, -1, 1166, 861, -1, 538, 1161, 539, 861, -1,
205, 538, 864, 539, -1, -1, 862, -1, 864, 542,
862, -1, 80, 821, -1, -1, 41, -1, 132, -1,
-1, 518, 171, -1, 518, 248, -1, -1, 101, 869,
182, 1256, 874, 379, 879, 887, 893, -1, 101, 869,
182, 1256, 874, 379, 437, 538, 899, 539, 887, 893,
-1, 101, 869, 182, 1256, 874, 887, 893, -1, 101,
869, 352, 1256, 874, 887, 893, -1, 317, 372, -1,
-1, 538, 871, 539, -1, 538, 539, -1, 876, -1,
871, 542, 876, -1, 873, -1, 872, 542, 873, -1,
1256, 870, -1, 1275, -1, 1268, -1, 1268, 1222, -1,
538, 875, 539, -1, 538, 539, -1, 881, -1, 875,
542, 881, -1, 877, 878, 880, -1, 878, 877, 880,
-1, 878, 880, -1, 877, 880, -1, 880, -1, 204,
-1, 321, -1, 216, -1, 204, 321, -1, 483, -1,
1269, -1, 880, -1, 1137, -1, 1269, 822, 533, 460,
-1, 407, 1269, 822, 533, 460, -1, 876, -1, 876,
122, 1161, -1, 876, 528, 1161, -1, 876, -1, 538,
531, 539, -1, 538, 884, 539, -1, 538, 318, 61,
884, 539, -1, 538, 884, 318, 61, 884, 539, -1,
882, -1, 884, 542, 882, -1, 1256, 883, -1, 885,
-1, 886, 542, 885, -1, 888, -1, -1, 890, -1,
888, 890, -1, 64, 312, 300, 217, -1, 379, 300,
312, 300, 217, -1, 427, -1, 201, -1, 418, -1,
490, -1, 164, 397, 126, -1, 164, 397, 226, -1,
397, 126, -1, 397, 226, -1, 251, -1, 295, 251,
-1, 100, 706, -1, 388, 706, -1, 432, 821, -1,
587, -1, 329, 1268, -1, 40, 891, -1, 246, 582,
-1, 453, 896, -1, 494, -1, 889, -1, 1259, -1,
1259, 542, 1259, -1, 377, 1161, -1, 892, -1, 53,
46, 894, 149, -1, -1, 894, 895, 541, -1, -1,
548, -1, 892, -1, 174, 460, 1137, -1, 896, 542,
174, 460, 1137, -1, 495, 790, -1, -1, 878, 880,
-1, 898, -1, 899, 542, 898, -1, 33, 182, 873,
901, 902, -1, 33, 352, 873, 901, 902, -1, 33,
385, 873, 901, 902, -1, 889, -1, 901, 889, -1,
376, -1, -1, 142, 182, 872, 552, -1, 142, 182,
198, 160, 872, 552, -1, 142, 352, 872, 552, -1,
142, 352, 198, 160, 872, 552, -1, 142, 385, 872,
552, -1, 142, 385, 198, 160, 872, 552, -1, 142,
30, 886, 552, -1, 142, 30, 198, 160, 886, 552,
-1, 142, 314, 908, 552, -1, 142, 314, 198, 160,
908, 552, -1, 538, 1137, 539, -1, 538, 1137, 542,
1137, 539, -1, 538, 292, 542, 1137, 539, -1, 538,
1137, 542, 292, 539, -1, 1195, -1, 1268, 540, 907,
-1, 909, -1, 908, 542, 909, -1, 907, 906, -1,
138, 911, -1, 912, -1, 911, 912, -1, 1259, -1,
246, 582, -1, 101, 68, 538, 1137, 40, 1137, 539,
495, 182, 873, 914, -1, 101, 68, 538, 1137, 40,
1137, 539, 497, 182, 914, -1, 101, 68, 538, 1137,
40, 1137, 539, 495, 216, 914, -1, 40, 202, -1,
40, 44, -1, -1, 142, 68, 916, 538, 1137, 40,
1137, 539, 552, -1, 198, 160, -1, -1, 101, 869,
453, 174, 1137, 246, 1253, 538, 918, 539, -1, 180,
417, 495, 182, 873, 542, 450, 417, 495, 182, 873,
-1, 450, 417, 495, 182, 873, 542, 180, 417, 495,
182, 873, -1, 180, 417, 495, 182, 873, -1, 450,
417, 495, 182, 873, -1, 142, 453, 916, 174, 1137,
246, 1253, 552, -1, 367, 923, 921, 551, 1251, -1,
367, 923, 392, 551, 1253, -1, 367, 923, 922, 551,
549, -1, 209, -1, 437, -1, 435, -1, 116, -1,
538, 989, 539, -1, -1, 33, 440, 1253, 405, 603,
-1, 33, 440, 1253, 374, 603, -1, 33, 30, 885,
370, 450, 1253, -1, 33, 81, 821, 370, 450, 1253,
-1, 33, 98, 821, 370, 450, 1253, -1, 33, 116,
1253, 370, 450, 1253, -1, 33, 140, 821, 370, 450,
1253, -1, 33, 140, 821, 370, 94, 1253, 450, 1253,
-1, 33, 176, 115, 499, 1253, 370, 450, 1253, -1,
33, 182, 873, 370, 450, 1253, -1, 33, 189, 1261,
370, 450, 1261, -1, 33, 714, 246, 1253, 370, 450,
1253, -1, 33, 314, 76, 821, 475, 1253, 370, 450,
1253, -1, 33, 314, 167, 821, 475, 1253, 370, 450,
1253, -1, 33, 341, 1253, 312, 1251, 370, 450, 1253,
-1, 33, 341, 198, 160, 1253, 312, 1251, 370, 450,
1253, -1, 33, 352, 873, 370, 450, 1253, -1, 33,
355, 1253, 370, 450, 1253, -1, 33, 385, 873, 370,
450, 1253, -1, 33, 392, 1253, 370, 450, 1253, -1,
33, 402, 1253, 370, 450, 1253, -1, 33, 430, 1253,
370, 450, 1253, -1, 33, 437, 1108, 370, 450, 1253,
-1, 33, 437, 198, 160, 1108, 370, 450, 1253, -1,
33, 399, 1251, 370, 450, 1253, -1, 33, 399, 198,
160, 1251, 370, 450, 1253, -1, 33, 487, 1251, 370,
450, 1253, -1, 33, 487, 198, 160, 1251, 370, 450,
1253, -1, 33, 269, 487, 1251, 370, 450, 1253, -1,
33, 269, 487, 198, 160, 1251, 370, 450, 1253, -1,
33, 209, 1251, 370, 450, 1253, -1, 33, 209, 198,
160, 1251, 370, 450, 1253, -1, 33, 176, 437, 1108,
370, 450, 1253, -1, 33, 176, 437, 198, 160, 1108,
370, 450, 1253, -1, 33, 437, 1108, 370, 926, 1253,
450, 1253, -1, 33, 437, 198, 160, 1108, 370, 926,
1253, 450, 1253, -1, 33, 487, 1251, 370, 926, 1253,
450, 1253, -1, 33, 487, 198, 160, 1251, 370, 926,
1253, 450, 1253, -1, 33, 269, 487, 1251, 370, 926,
1253, 450, 1253, -1, 33, 269, 487, 198, 160, 1251,
370, 926, 1253, 450, 1253, -1, 33, 437, 1108, 370,
94, 1253, 450, 1253, -1, 33, 437, 198, 160, 1108,
370, 94, 1253, 450, 1253, -1, 33, 176, 437, 1108,
370, 926, 1253, 450, 1253, -1, 33, 176, 437, 198,
160, 1108, 370, 926, 1253, 450, 1253, -1, 33, 389,
1253, 312, 1251, 370, 450, 1253, -1, 33, 455, 1253,
312, 1251, 370, 450, 1253, -1, 33, 154, 455, 1253,
370, 450, 1253, -1, 33, 382, 1261, 370, 450, 1261,
-1, 33, 474, 1261, 370, 450, 1261, -1, 33, 440,
1253, 370, 450, 1253, -1, 33, 422, 821, 370, 450,
1253, -1, 33, 445, 395, 331, 821, 370, 450, 1253,
-1, 33, 445, 395, 134, 821, 370, 450, 1253, -1,
33, 445, 395, 443, 821, 370, 450, 1253, -1, 33,
445, 395, 91, 821, 370, 450, 1253, -1, 33, 460,
821, 370, 450, 1253, -1, 33, 460, 821, 370, 49,
1253, 450, 1253, 552, -1, 82, -1, -1, 405, 115,
-1, -1, 33, 182, 873, 929, 130, 312, 163, 1253,
-1, 33, 352, 873, 929, 130, 312, 163, 1253, -1,
33, 385, 873, 929, 130, 312, 163, 1253, -1, 33,
455, 1253, 312, 1251, 929, 130, 312, 163, 1253, -1,
33, 269, 487, 1251, 929, 130, 312, 163, 1253, -1,
33, 209, 1251, 929, 130, 312, 163, 1253, -1, 291,
-1, -1, 33, 30, 885, 405, 392, 1253, -1, 33,
81, 821, 405, 392, 1253, -1, 33, 98, 821, 405,
392, 1253, -1, 33, 140, 821, 405, 392, 1253, -1,
33, 163, 1253, 405, 392, 1253, -1, 33, 182, 873,
405, 392, 1253, -1, 33, 314, 909, 405, 392, 1253,
-1, 33, 314, 76, 821, 475, 1253, 405, 392, 1253,
-1, 33, 314, 167, 821, 475, 1253, 405, 392, 1253,
-1, 33, 352, 873, 405, 392, 1253, -1, 33, 385,
873, 405, 392, 1253, -1, 33, 437, 1108, 405, 392,
1253, -1, 33, 437, 198, 160, 1108, 405, 392, 1253,
-1, 33, 422, 821, 405, 392, 1253, -1, 33, 445,
395, 331, 821, 405, 392, 1253, -1, 33, 445, 395,
134, 821, 405, 392, 1253, -1, 33, 445, 395, 443,
821, 405, 392, 1253, -1, 33, 445, 395, 91, 821,
405, 392, 1253, -1, 33, 399, 1251, 405, 392, 1253,
-1, 33, 399, 198, 160, 1251, 405, 392, 1253, -1,
33, 487, 1251, 405, 392, 1253, -1, 33, 487, 198,
160, 1251, 405, 392, 1253, -1, 33, 269, 487, 1251,
405, 392, 1253, -1, 33, 269, 487, 198, 160, 1251,
405, 392, 1253, -1, 33, 176, 437, 1108, 405, 392,
1253, -1, 33, 176, 437, 198, 160, 1108, 405, 392,
1253, -1, 33, 460, 821, 405, 392, 1253, -1, 33,
314, 909, 405, 538, 932, 539, -1, 933, -1, 932,
542, 933, -1, 1271, 528, 292, -1, 1271, 528, 934,
-1, 1271, -1, 880, -1, 1276, -1, 1198, -1, 706,
-1, 1259, -1, 33, 460, 821, 405, 538, 932, 539,
-1, 33, 30, 885, 328, 450, 1262, -1, 33, 81,
821, 328, 450, 1262, -1, 33, 98, 821, 328, 450,
1262, -1, 33, 116, 1253, 328, 450, 1262, -1, 33,
140, 821, 328, 450, 1262, -1, 33, 182, 873, 328,
450, 1262, -1, 33, 714, 246, 1253, 328, 450, 1262,
-1, 33, 247, 304, 706, 328, 450, 1262, -1, 33,
314, 909, 328, 450, 1262, -1, 33, 314, 76, 821,
475, 1253, 328, 450, 1262, -1, 33, 314, 167, 821,
475, 1253, 328, 450, 1262, -1, 33, 352, 873, 328,
450, 1262, -1, 33, 385, 873, 328, 450, 1262, -1,
33, 392, 1253, 328, 450, 1262, -1, 33, 460, 821,
328, 450, 1262, -1, 33, 440, 1253, 328, 450, 1262,
-1, 33, 422, 821, 328, 450, 1262, -1, 33, 445,
395, 134, 821, 328, 450, 1262, -1, 33, 445, 395,
91, 821, 328, 450, 1262, -1, 33, 176, 115, 499,
1253, 328, 450, 1262, -1, 33, 402, 1253, 328, 450,
1262, -1, 33, 154, 455, 1253, 328, 450, 1262, -1,
33, 355, 1253, 328, 450, 1262, -1, 33, 430, 1253,
328, 450, 1262, -1, 101, 355, 1253, 897, -1, 101,
355, 1253, 174, 31, 438, 897, -1, 101, 355, 1253,
174, 939, 897, -1, 437, 1108, 663, 672, -1, 438,
204, 392, 1268, -1, 438, 204, 392, 109, -1, 1268,
663, 672, -1, 1268, 1222, 663, 672, -1, 1109, 663,
672, -1, 109, -1, 938, -1, 939, 542, 938, -1,
33, 355, 1253, 405, 790, -1, 33, 355, 1253, 27,
939, -1, 33, 355, 1253, 405, 939, -1, 33, 355,
1253, 142, 939, -1, 101, 430, 1253, 93, 1259, 355,
1252, 897, -1, 33, 430, 1253, 405, 790, -1, 33,
430, 1253, 93, 1259, -1, 33, 430, 1253, 366, 355,
897, -1, 33, 430, 1253, 27, 355, 1252, 897, -1,
33, 430, 1253, 142, 355, 1252, 897, -1, 33, 430,
1253, 405, 355, 1252, 897, -1, 33, 430, 1253, 146,
-1, 33, 430, 1253, 135, -1, 33, 430, 1253, 412,
790, -1, 142, 430, 1253, 552, -1, 142, 430, 198,
160, 1253, 552, -1, 101, 869, 389, 1253, 40, 312,
949, 450, 1251, 1119, 138, 950, 945, -1, 296, -1,
947, -1, 538, 946, 539, -1, 946, 541, 948, -1,
948, -1, 1049, -1, 1010, -1, 1030, -1, 1023, -1,
951, -1, 947, -1, -1, 398, -1, 473, -1, 127,
-1, 219, -1, 220, -1, 32, -1, -1, 297, 1268,
952, -1, 542, 1259, -1, -1, 257, 1268, -1, 470,
1268, -1, 470, 531, -1, 22, 957, 961, -1, 420,
452, 960, -1, 86, 957, 961, -1, 383, 957, 961,
-1, 390, 1268, -1, 369, 390, 1268, -1, 369, 1268,
-1, 383, 957, 450, 390, 1268, -1, 383, 957, 450,
1268, -1, 346, 452, 1259, -1, 86, 347, 1259, -1,
383, 347, 1259, -1, 53, 957, 960, -1, 149, 957,
961, -1, 498, -1, 452, -1, -1, 229, 254, 578,
-1, 359, 313, -1, 359, 500, -1, 124, -1, 295,
124, -1, 958, -1, 959, 542, 958, -1, 959, 958,
-1, 959, -1, -1, 37, 70, -1, 37, 291, 70,
-1, -1, 101, 634, 487, 1251, 663, 604, 40, 1049,
963, -1, 101, 317, 372, 634, 487, 1251, 663, 604,
40, 1049, 963, -1, 101, 634, 362, 487, 1251, 538,
664, 539, 604, 40, 1049, 963, -1, 101, 317, 372,
634, 362, 487, 1251, 538, 664, 539, 604, 40, 1049,
963, -1, 495, 74, 315, -1, 495, 66, 74, 315,
-1, 495, 259, 74, 315, -1, -1, 258, 1255, -1,
101, 116, 1253, 555, 966, -1, 967, -1, -1, 968,
-1, 967, 968, -1, 969, 970, 706, -1, 969, 970,
579, -1, 969, 970, 122, -1, 3, -1, 93, 256,
-1, 147, -1, 262, -1, 328, -1, 440, -1, 443,
-1, 528, -1, -1, 33, 116, 1253, 495, 966, -1,
33, 116, 1253, 966, -1, 33, 116, 1253, 405, 440,
1253, -1, 33, 116, 1253, 366, 81, 486, -1, 33,
116, 1253, 586, -1, 142, 116, 1253, -1, 142, 116,
198, 160, 1253, -1, 142, 116, 1253, 555, 538, 974,
539, -1, 142, 116, 198, 160, 1253, 555, 538, 974,
539, -1, 975, -1, 974, 542, 975, -1, 175, -1,
33, 81, 821, 366, 486, -1, 33, 435, 405, 573,
-1, 33, 435, 374, 585, -1, 101, 140, 821, 980,
1137, 647, -1, 33, 140, 821, 599, -1, 33, 140,
821, 142, 295, 300, -1, 33, 140, 821, 405, 295,
300, -1, 33, 140, 821, 27, 659, -1, 33, 140,
821, 142, 94, 1253, 552, -1, 33, 140, 821, 142,
94, 198, 160, 1253, 552, -1, 33, 140, 821, 478,
94, 1253, -1, 40, -1, -1, 33, 445, 395, 134,
821, 790, -1, 33, 445, 395, 91, 821, 27, 266,
174, 1252, 983, 820, -1, 33, 445, 395, 91, 821,
33, 266, 174, 1252, 983, 820, -1, 33, 445, 395,
91, 821, 33, 266, 372, 821, 983, 821, -1, 33,
445, 395, 91, 821, 33, 266, 174, 1252, 372, 821,
983, 821, -1, 33, 445, 395, 91, 821, 142, 266,
174, 1252, -1, 33, 445, 395, 91, 821, 142, 266,
198, 160, 174, 1252, -1, 495, -1, 519, -1, 101,
804, 98, 821, 174, 1259, 450, 1259, 180, 821, -1,
78, 538, 989, 539, 1251, 986, -1, 78, 538, 989,
539, -1, 78, 995, 1251, 986, -1, 78, 995, -1,
78, 995, 1253, 312, 1251, -1, 475, 1253, -1, -1,
476, 996, 997, 995, 994, 1001, -1, 476, 538, 989,
539, 1001, -1, 990, 995, 1001, -1, 990, 538, 989,
539, 1001, -1, 991, -1, 989, 542, 991, -1, 36,
-1, 35, -1, 992, 993, -1, 1270, -1, 990, -1,
516, -1, 579, -1, 706, -1, -1, 990, -1, -1,
485, -1, -1, 181, -1, -1, 179, -1, -1, 538,
1252, 539, -1, -1, 1108, 998, -1, 999, -1, 1000,
542, 999, -1, 1000, -1, -1, 161, 1003, -1, 161,
990, 995, 1003, -1, 161, 485, 1003, -1, 161, 538,
989, 539, 1003, -1, 1049, -1, 1010, -1, 1030, -1,
1023, -1, 1035, -1, 1045, -1, 692, -1, 695, -1,
698, -1, 1007, -1, 346, 1253, 1005, 40, 1006, -1,
538, 1204, 539, -1, -1, 1049, -1, 1010, -1, 1030,
-1, 1023, -1, 1035, -1, 159, 1253, 1008, -1, 101,
634, 437, 693, 40, 159, 1253, 1008, 694, -1, 101,
634, 437, 198, 295, 160, 693, 40, 159, 1253, 1008,
694, -1, 538, 1200, 539, -1, -1, 118, 1253, -1,
118, 346, 1253, -1, 118, 31, -1, 118, 346, 31,
-1, 1060, 219, 225, 1011, 1012, 1016, 1018, -1, 1251,
-1, 1251, 40, 1268, -1, 1049, -1, 326, 1013, 480,
1049, -1, 538, 1014, 539, 1049, -1, 538, 1014, 539,
326, 1013, 480, 1049, -1, 122, 481, -1, 474, -1,
435, -1, 1015, -1, 1014, 542, 1015, -1, 1268, 1223,
-1, 312, 92, 1017, 138, 473, 405, 1031, 1119, -1,
312, 92, 1017, 138, 296, -1, -1, 538, 860, 539,
1119, -1, 312, 94, 1253, -1, -1, 378, 1019, 1248,
-1, -1, 495, 538, 1020, 539, -1, -1, 1021, -1,
1020, 542, 1021, -1, 1022, 40, 1268, -1, 310, -1,
285, -1, 1060, 127, 180, 1111, 1024, 1120, 1018, -1,
475, 1098, -1, -1, 263, 1063, 1110, 1026, 1028, -1,
204, 1027, 276, -1, -1, 25, 408, -1, 387, 408,
-1, 387, 158, -1, 408, 473, 158, -1, 408, -1,
408, 387, 158, -1, 158, -1, 25, 158, -1, 299,
-1, -1, 299, -1, 412, 264, -1, -1, 1060, 473,
1111, 405, 1031, 1097, 1120, 1018, -1, 1032, -1, 1031,
542, 1032, -1, 1033, 528, 1161, -1, 538, 1034, 539,
528, 1161, -1, 1268, 1223, -1, 1033, -1, 1034, 542,
1033, -1, 1060, 271, 225, 1111, 475, 1099, 312, 1161,
1036, 1018, -1, 1037, -1, 1036, 1037, -1, 1038, 1040,
446, 1041, -1, 1038, 1040, 446, 1042, -1, 1039, 1040,
446, 1043, -1, 1038, 1040, 446, 138, 296, -1, 1039,
1040, 446, 138, 296, -1, 491, 268, -1, 491, 295,
268, 61, 416, -1, 491, 295, 268, -1, 491, 295,
268, 61, 441, -1, 37, 1161, -1, -1, 473, 405,
1031, -1, 127, -1, 219, 1044, -1, 219, 326, 1013,
480, 1044, -1, 219, 538, 1014, 539, 1044, -1, 219,
538, 1014, 539, 326, 1013, 480, 1044, -1, 219, 122,
481, -1, 481, 538, 1200, 539, -1, 121, 1046, 1047,
113, 1048, 174, 1049, -1, 1253, -1, -1, 1047, 291,
394, -1, 1047, 394, -1, 1047, 56, -1, 1047, 42,
-1, 1047, 218, -1, -1, 495, 195, -1, 497, 195,
-1, 1051, -1, 1050, -1, 538, 1051, 539, -1, 538,
1050, 539, -1, 1053, -1, 1052, 1069, -1, 1052, 1068,
1090, 1073, -1, 1052, 1068, 1072, 1091, -1, 1054, 1052,
-1, 1054, 1052, 1069, -1, 1054, 1052, 1068, 1090, 1073,
-1, 1054, 1052, 1068, 1072, 1091, -1, 1053, -1, 1050,
-1, 398, 1066, 1247, 1061, 1097, 1119, 1082, 1089, 1180,
-1, 398, 1065, 1248, 1061, 1097, 1119, 1082, 1089, 1180,
-1, 1096, -1, 437, 1108, -1, 1052, 467, 1064, 1052,
-1, 1052, 223, 1064, 1052, -1, 1052, 155, 1064, 1052,
-1, 495, 1055, -1, 519, 1055, -1, 495, 362, 1055,
-1, 1056, -1, 1055, 542, 1056, -1, 1253, 998, 40,
1057, 538, 1006, 539, 1058, 1059, -1, 269, -1, 295,
269, -1, -1, 395, 131, 171, 61, 664, 405, 1268,
-1, 395, 60, 171, 61, 664, 405, 1268, -1, -1,
114, 664, 405, 1268, 450, 1257, 122, 1257, 475, 1268,
-1, 114, 664, 405, 1268, 475, 1268, -1, -1, 1054,
-1, -1, 225, 1062, -1, -1, 444, 1063, 1251, -1,
442, 1063, 1251, -1, 259, 444, 1063, 1251, -1, 259,
442, 1063, 1251, -1, 185, 444, 1063, 1251, -1, 185,
442, 1063, 1251, -1, 471, 1063, 1251, -1, 437, 1251,
-1, 1251, -1, 437, -1, -1, 31, -1, 137, -1,
-1, 137, -1, 137, 312, 538, 1200, 539, -1, 31,
-1, -1, 1065, -1, 1066, -1, 1069, -1, -1, 318,
61, 1070, -1, 1071, -1, 1070, 542, 1071, -1, 1161,
475, 1198, 867, -1, 1161, 866, 867, -1, 1074, 1075,
-1, 1075, 1074, -1, 1074, -1, 1075, -1, 1072, -1,
-1, 256, 1076, -1, 256, 1076, 542, 1077, -1, 168,
1081, 1078, 1080, 313, -1, 168, 1081, 1078, 1080, 495,
447, -1, 168, 1081, 1080, 313, -1, 168, 1081, 1080,
495, 447, -1, 308, 1077, -1, 308, 1078, 1080, -1,
1161, -1, 31, -1, 1161, -1, 1163, -1, 529, 1079,
-1, 530, 1079, -1, 1258, -1, 5, -1, 387, -1,
388, -1, 171, -1, 286, -1, 189, 61, 1064, 1083,
-1, -1, 1084, -1, 1083, 542, 1084, -1, 1161, -1,
1085, -1, 1087, -1, 1086, -1, 1088, -1, 538, 539,
-1, 384, 538, 1200, 539, -1, 104, 538, 1200, 539,
-1, 190, 406, 538, 1083, 539, -1, 193, 1161, -1,
-1, 1092, -1, 174, 359, 313, -1, 1090, -1, -1,
1093, -1, 1092, 1093, -1, 1094, 1095, 1029, -1, 174,
473, -1, 174, 291, 243, 473, -1, 174, 408, -1,
174, 243, 408, -1, 306, 1250, -1, -1, 481, 538,
1200, 539, -1, 1096, 542, 538, 1200, 539, -1, 180,
1098, -1, -1, 1099, -1, 1098, 542, 1099, -1, 1108,
1102, -1, 1108, 1102, 1112, -1, 1114, 1104, -1, 249,
1114, 1104, -1, 1124, 1102, -1, 249, 1124, 1102, -1,
1050, 1102, -1, 249, 1050, 1102, -1, 1100, -1, 538,
1100, 539, 1101, -1, 1131, 1102, -1, 249, 1131, 1102,
-1, 538, 1100, 539, -1, 1099, 102, 230, 1099, -1,
1099, 1105, 230, 1099, 1107, -1, 1099, 230, 1099, 1107,
-1, 1099, 282, 1105, 230, 1099, -1, 1099, 282, 230,
1099, -1, 40, 1268, 538, 1252, 539, -1, 40, 1268,
-1, 1268, 538, 1252, 539, -1, 1268, -1, 1101, -1,
-1, 40, 1268, -1, -1, 1101, -1, 40, 538, 1122,
539, -1, 40, 1268, 538, 1122, 539, -1, 1268, 538,
1122, 539, -1, -1, 181, 1106, -1, 253, 1106, -1,
381, 1106, -1, 215, -1, 322, -1, -1, 475, 538,
1252, 539, 1103, -1, 312, 1161, -1, 1251, -1, 1109,
-1, 1251, 531, -1, 313, 1251, -1, 313, 538, 1251,
539, -1, 1108, -1, 1110, 542, 1108, -1, 1108, -1,
1108, 1268, -1, 1108, 40, 1268, -1, 439, 1256, 538,
1200, 539, 1113, -1, 371, 538, 1161, 539, -1, -1,
1166, 1118, -1, 388, 180, 538, 1116, 539, 1118, -1,
1166, 1117, -1, 1115, -1, 1116, 542, 1115, -1, 40,
538, 1122, 539, -1, -1, 519, 319, -1, -1, 492,
1161, -1, -1, 492, 1161, -1, 492, 105, 306, 1046,
-1, -1, 1122, -1, -1, 1123, -1, 1122, 542, 1123,
-1, 1268, 1137, 600, -1, 512, 538, 1163, 1176, 83,
1125, 539, -1, 512, 538, 507, 538, 1129, 539, 542,
1163, 1176, 83, 1125, 539, -1, 1126, -1, 1125, 542,
1126, -1, 1268, 1137, -1, 1268, 1137, 1127, -1, 1268,
174, 319, -1, 1128, -1, 1127, 1128, -1, 3, 1162,
-1, 122, 1162, -1, 295, 300, -1, 300, -1, 336,
1162, -1, 1130, -1, 1129, 542, 1130, -1, 1162, 40,
1271, -1, 122, 1162, -1, 240, 538, 1233, 542, 1161,
1132, 1225, 83, 538, 1133, 539, 1232, 539, -1, 40,
1253, -1, -1, 1134, -1, 1133, 542, 1134, -1, 1268,
174, 319, -1, 1268, 1137, 1136, 1228, 1236, 1231, -1,
1268, 1137, 1234, 1136, 1228, 1236, 1231, -1, 1268, 1137,
160, 1136, 1232, -1, 284, 1135, 1259, 83, 538, 1133,
539, -1, 284, 1135, 1259, 40, 1253, 83, 538, 1133,
539, -1, 336, -1, -1, 336, 1259, -1, -1, 1139,
1138, -1, 407, 1139, 1138, -1, 1139, 39, 536, 1258,
537, -1, 407, 1139, 39, 536, 1258, 537, -1, 1139,
39, -1, 407, 1139, 39, -1, 1138, 536, 537, -1,
1138, 536, 1258, 537, -1, -1, 1141, -1, 1143, -1,
1145, -1, 1149, -1, 1155, -1, 1156, 1158, -1, 1156,
538, 1258, 539, -1, 1160, -1, 1143, -1, 1146, -1,
1150, -1, 1155, -1, 1160, -1, 1269, 1142, -1, 1269,
822, 1142, -1, 538, 1200, 539, -1, -1, 221, -1,
222, -1, 413, -1, 55, -1, 360, -1, 172, 1144,
-1, 141, 344, -1, 120, 1142, -1, 119, 1142, -1,
303, 1142, -1, 58, -1, 538, 1258, 539, -1, -1,
1147, -1, 1148, -1, 1147, -1, 1148, -1, 57, 1154,
538, 1200, 539, -1, 57, 1154, -1, 1151, -1, 1152,
-1, 1151, -1, 1152, -1, 1153, 538, 1258, 539, -1,
1153, -1, 72, 1154, -1, 71, 1154, -1, 482, -1,
281, 72, 1154, -1, 281, 71, 1154, -1, 283, 1154,
-1, 484, -1, -1, 449, 538, 1258, 539, 1157, -1,
449, 1157, -1, 448, 538, 1258, 539, 1157, -1, 448,
1157, -1, 224, -1, 519, 448, 515, -1, 520, 448,
515, -1, -1, 513, -1, 277, -1, 117, -1, 196,
-1, 274, -1, 1159, -1, 513, 450, 277, -1, 117,
450, 196, -1, 117, 450, 274, -1, 117, 450, 1159,
-1, 196, 450, 274, -1, 196, 450, 1159, -1, 274,
450, 1159, -1, -1, 396, -1, 396, 538, 1258, 539,
-1, 231, -1, 1163, -1, 1161, 13, 1137, -1, 1161,
80, 821, -1, 1161, 47, 448, 515, 1161, -1, 1161,
47, 259, -1, 529, 1161, -1, 530, 1161, -1, 1161,
529, 1161, -1, 1161, 530, 1161, -1, 1161, 531, 1161,
-1, 1161, 532, 1161, -1, 1161, 533, 1161, -1, 1161,
534, 1161, -1, 1161, 526, 1161, -1, 1161, 527, 1161,
-1, 1161, 528, 1161, -1, 1161, 17, 1161, -1, 1161,
18, 1161, -1, 1161, 19, 1161, -1, 1161, 1197, 1161,
-1, 1197, 1161, -1, 1161, 37, 1161, -1, 1161, 317,
1161, -1, 295, 1161, -1, 517, 1161, -1, 1161, 255,
1161, -1, 1161, 255, 1161, 153, 1161, -1, 1161, 517,
255, 1161, -1, 1161, 517, 255, 1161, 153, 1161, -1,
1161, 199, 1161, -1, 1161, 199, 1161, 153, 1161, -1,
1161, 517, 199, 1161, -1, 1161, 517, 199, 1161, 153,
1161, -1, 1161, 410, 450, 1161, -1, 1161, 410, 450,
1161, 153, 1161, -1, 1161, 517, 410, 450, 1161, -1,
1161, 517, 410, 450, 1161, 153, 1161, -1, 1161, 227,
300, -1, 1161, 228, -1, 1161, 227, 295, 300, -1,
1161, 298, -1, 1191, 324, 1191, -1, 1161, 227, 457,
-1, 1161, 227, 295, 457, -1, 1161, 227, 166, -1,
1161, 227, 295, 166, -1, 1161, 227, 469, -1, 1161,
227, 295, 469, -1, 1161, 227, 137, 180, 1161, -1,
1161, 227, 295, 137, 180, 1161, -1, 1161, 54, 1224,
1162, 37, 1161, -1, 1161, 517, 54, 1224, 1162, 37,
1161, -1, 1161, 54, 433, 1162, 37, 1161, -1, 1161,
517, 54, 433, 1162, 37, 1161, -1, 1161, 204, 1050,
-1, 1161, 204, 538, 1200, 539, -1, 1161, 517, 204,
1050, -1, 1161, 517, 204, 538, 1200, 539, -1, 1161,
1199, 1194, 1050, -1, 1161, 1199, 1194, 538, 1161, 539,
-1, 468, 650, 1050, -1, 1161, 227, 139, -1, 1161,
227, 295, 139, -1, 1161, 227, 294, -1, 1161, 227,
1209, 294, -1, 1161, 227, 295, 294, -1, 1161, 227,
295, 1209, 294, -1, 1161, 227, 1238, 1239, -1, 1161,
227, 295, 1238, 1239, -1, 122, -1, 1163, -1, 1162,
13, 1137, -1, 529, 1162, -1, 530, 1162, -1, 1162,
529, 1162, -1, 1162, 530, 1162, -1, 1162, 531, 1162,
-1, 1162, 532, 1162, -1, 1162, 533, 1162, -1, 1162,
534, 1162, -1, 1162, 526, 1162, -1, 1162, 527, 1162,
-1, 1162, 528, 1162, -1, 1162, 17, 1162, -1, 1162,
18, 1162, -1, 1162, 19, 1162, -1, 1162, 1197, 1162,
-1, 1197, 1162, -1, 1162, 227, 137, 180, 1162, -1,
1162, 227, 295, 137, 180, 1162, -1, 1162, 227, 139,
-1, 1162, 227, 295, 139, -1, 1219, -1, 1257, -1,
12, 1223, -1, 538, 1161, 539, 1223, -1, 1214, -1,
1165, -1, 1050, -1, 1050, 1222, -1, 160, 1050, -1,
39, 1050, -1, 39, 1205, -1, 1192, -1, 1193, -1,
190, 538, 1200, 539, -1, 1256, 538, 539, -1, 1256,
538, 1201, 1068, 539, -1, 1256, 538, 483, 1202, 1068,
539, -1, 1256, 538, 1201, 542, 483, 1202, 1068, 539,
-1, 1256, 538, 31, 1201, 1068, 539, -1, 1256, 538,
137, 1201, 1068, 539, -1, 1256, 538, 531, 539, -1,
1164, 1178, 1179, 1183, -1, 1245, 1179, 1183, -1, 1167,
-1, 1164, -1, 1167, -1, 1245, -1, 81, 174, 538,
1161, 539, -1, 107, -1, 110, -1, 110, 538, 1258,
539, -1, 111, -1, 111, 538, 1258, 539, -1, 260,
-1, 260, 538, 1258, 539, -1, 261, -1, 261, 538,
1258, 539, -1, 108, -1, 112, -1, 404, -1, 436,
-1, 474, -1, 106, -1, 109, -1, 68, 538, 1161,
40, 1137, 539, -1, 165, 538, 1207, 539, -1, 293,
538, 1161, 539, -1, 293, 538, 1161, 542, 1209, 539,
-1, 325, 538, 1210, 539, -1, 325, 538, 1203, 539,
-1, 342, 538, 1211, 539, -1, 431, 538, 1212, 539,
-1, 431, 538, 1203, 539, -1, 454, 538, 1161, 40,
1137, 539, -1, 456, 538, 59, 1213, 539, -1, 456,
538, 250, 1213, 539, -1, 456, 538, 451, 1213, 539,
-1, 456, 538, 1213, 539, -1, 301, 538, 1161, 542,
1161, 539, -1, 79, 538, 1200, 539, -1, 188, 538,
1200, 539, -1, 252, 538, 1200, 539, -1, 503, 538,
1200, 539, -1, 504, 538, 279, 1271, 539, -1, 504,
538, 279, 1271, 542, 1170, 539, -1, 504, 538, 279,
1271, 542, 1200, 539, -1, 504, 538, 279, 1271, 542,
1170, 542, 1200, 539, -1, 505, 538, 1163, 1176, 539,
-1, 506, 538, 1171, 539, -1, 508, 538, 1173, 1161,
1175, 539, -1, 509, 538, 279, 1271, 539, -1, 509,
538, 279, 1271, 542, 1161, 539, -1, 510, 538, 1161,
542, 1168, 1169, 539, -1, 511, 538, 1173, 1161, 40,
1139, 1174, 539, -1, 235, 538, 1201, 539, -1, 235,
538, 1240, 1242, 1239, 1237, 539, -1, 235, 538, 1237,
539, -1, 232, 538, 1244, 1243, 1237, 539, -1, 232,
538, 1051, 1235, 1237, 539, -1, 232, 538, 1237, 539,
-1, 231, 538, 1233, 1239, 539, -1, 238, 538, 1161,
539, -1, 239, 538, 1233, 1237, 539, -1, 272, 538,
539, -1, 237, 538, 1233, 542, 1161, 1225, 1237, 1228,
1236, 1231, 539, -1, 234, 538, 1233, 542, 1161, 1225,
1232, 539, -1, 241, 538, 1233, 542, 1161, 1225, 1237,
1231, 539, -1, 486, 1161, -1, 486, 291, 480, -1,
542, 419, 514, -1, 542, 419, 291, -1, 542, 419,
291, 480, -1, -1, 502, 538, 1171, 539, -1, 1172,
-1, 1171, 542, 1172, -1, 1161, 40, 1271, -1, 1161,
-1, 139, -1, 96, -1, 208, -1, 291, 208, -1,
-1, 345, 493, -1, 429, 493, -1, -1, 334, 1163,
-1, 334, 1163, 1177, -1, 334, 1177, 1163, -1, 334,
1177, 1163, 1177, -1, 61, 363, -1, 61, 480, -1,
496, 189, 538, 1069, 539, -1, -1, 169, 538, 492,
1161, 539, -1, -1, 494, 1181, -1, -1, 1182, -1,
1181, 542, 1182, -1, 1268, 40, 1184, -1, 323, 1184,
-1, 323, 1268, -1, -1, 538, 1185, 1186, 1068, 1187,
539, -1, 1268, -1, -1, 333, 61, 1200, -1, -1,
358, 1188, 1190, -1, 388, 1188, 1190, -1, 191, 1188,
1190, -1, -1, 1189, -1, 54, 1189, 37, 1189, -1,
463, 343, -1, 463, 173, -1, 105, 387, -1, 1161,
343, -1, 1161, 173, -1, 156, 105, 387, -1, 156,
189, -1, 156, 447, -1, 156, 291, 320, -1, -1,
387, 538, 1200, 539, -1, 387, 538, 539, -1, 538,
1200, 542, 1161, 539, -1, 387, 538, 1200, 539, -1,
387, 538, 539, -1, 538, 1200, 542, 1161, 539, -1,
38, -1, 415, -1, 31, -1, 10, -1, 1196, -1,
529, -1, 530, -1, 531, -1, 532, -1, 533, -1,
534, -1, 526, -1, 527, -1, 528, -1, 17, -1,
18, -1, 19, -1, 10, -1, 314, 538, 907, 539,
-1, 1195, -1, 314, 538, 907, 539, -1, 1195, -1,
314, 538, 907, 539, -1, 255, -1, 517, 255, -1,
199, -1, 517, 199, -1, 1161, -1, 1200, 542, 1161,
-1, 1202, -1, 1201, 542, 1202, -1, 1161, -1, 878,
15, 1161, -1, 878, 16, 1161, -1, 1201, -1, -1,
1137, -1, 1204, 542, 1137, -1, 536, 1200, 537, -1,
536, 1206, 537, -1, 536, 537, -1, 1205, -1, 1206,
542, 1205, -1, 1208, 180, 1161, -1, 12, 180, 1161,
-1, 3, -1, 513, -1, 277, -1, 117, -1, 196,
-1, 274, -1, 396, -1, 1259, -1, 287, -1, 288,
-1, 289, -1, 290, -1, 1161, 338, 1161, 180, 1161,
174, 1161, -1, 1161, 338, 1161, 180, 1161, -1, 1162,
204, 1162, -1, 1161, 180, 1161, 174, 1161, -1, 1161,
174, 1161, 180, 1161, -1, 1161, 180, 1161, -1, 1161,
174, 1161, -1, 1161, 410, 1161, 153, 1161, -1, 1161,
180, 1200, -1, 180, 1200, -1, 1200, -1, 67, 1218,
1215, 1217, 149, -1, 1216, -1, 1215, 1216, -1, 491,
1161, 446, 1161, -1, 144, 1161, -1, -1, 1161, -1,
-1, 1268, -1, 1268, 1222, -1, 540, 1254, -1, 540,
531, -1, 536, 1161, 537, -1, 536, 1221, 543, 1221,
537, -1, 1161, -1, -1, 1220, -1, 1222, 1220, -1,
-1, 1223, 1220, -1, 45, -1, -1, 334, 1226, -1,
-1, 1227, -1, 1226, 542, 1227, -1, 1233, 40, 1271,
-1, 497, 499, -1, 497, 39, 499, -1, 495, 499,
-1, 495, 39, 499, -1, 495, 90, 39, 499, -1,
495, 464, 39, 499, -1, 495, 90, 499, -1, 495,
464, 499, -1, -1, 122, 1161, -1, 1230, -1, 152,
-1, 300, -1, 457, -1, 166, -1, 469, -1, 145,
39, -1, 145, 304, -1, 145, -1, 1229, 312, 145,
-1, 1229, 312, 152, -1, 1229, 312, 145, 1229, 312,
152, -1, -1, 1229, 312, 152, -1, -1, 1161, 1235,
-1, 516, 231, 147, 1253, -1, 516, 231, -1, 1234,
-1, -1, 242, 357, 312, 391, 428, -1, 242, 357,
-1, 311, 357, 312, 391, 428, -1, 311, 357, -1,
-1, 378, 1137, 1235, -1, -1, 231, -1, 231, 480,
-1, 231, 39, -1, 231, 304, -1, 231, 391, -1,
495, 468, 244, -1, 495, 468, -1, 497, 468, 244,
-1, 497, 468, -1, -1, 1241, -1, 1240, 542, 1241,
-1, 1163, 480, 1233, -1, 1161, 543, 1233, -1, 300,
312, 300, -1, 23, 312, 300, -1, -1, 300, 312,
300, -1, 23, 312, 300, -1, -1, 1233, -1, 1244,
542, 1233, -1, 236, 538, 1241, 1242, 1239, 1237, 539,
-1, 233, 538, 1233, 1246, 1243, 1237, 539, -1, 318,
61, 1070, -1, -1, 1248, -1, -1, 1249, -1, 1248,
542, 1249, -1, 1161, 40, 1271, -1, 1161, 1272, -1,
1161, -1, 531, -1, 1251, -1, 1250, 542, 1251, -1,
1268, -1, 1268, 1222, -1, 1253, -1, 1252, 542, 1253,
-1, 1268, -1, 1271, -1, 1259, -1, 1269, -1, 1268,
1222, -1, 1258, -1, 5, -1, 1259, -1, 8, -1,
9, -1, 1256, 1259, -1, 1256, 538, 1201, 1068, 539,
1259, -1, 1256, 12, -1, 1256, 538, 1201, 1068, 539,
12, -1, 1140, 1259, -1, 1156, 1259, 1158, -1, 1156,
538, 1258, 539, 1259, -1, 1140, 12, -1, 1156, 12,
1158, -1, 1156, 538, 1258, 539, 12, -1, 457, -1,
166, -1, 300, -1, 11, -1, 6, -1, 1258, -1,
529, 1258, -1, 530, 1258, -1, 1262, -1, 1270, -1,
108, -1, 112, -1, 404, -1, 1262, -1, 1263, 542,
1262, -1, 1067, 1247, 1097, 1119, 1082, 1089, 1180, 1068,
1073, 1091, -1, 1266, 1223, 1267, 1264, -1, 1268, -1,
12, -1, 15, -1, 528, -1, 3, -1, 1273, -1,
1274, -1, 3, -1, 1273, -1, 1275, -1, 3, -1,
1273, -1, 1274, -1, 1275, -1, 3, -1, 1273, -1,
1274, -1, 1275, -1, 1276, -1, 3, -1, 1277, -1,
22, -1, 23, -1, 24, -1, 25, -1, 26, -1,
27, -1, 28, -1, 29, -1, 30, -1, 32, -1,
33, -1, 34, -1, 42, -1, 43, -1, 44, -1,
47, -1, 46, -1, 48, -1, 49, -1, 51, -1,
52, -1, 53, -1, 60, -1, 61, -1, 62, -1,
63, -1, 64, -1, 65, -1, 66, -1, 69, -1,
70, -1, 73, -1, 75, -1, 76, -1, 77, -1,
78, -1, 83, -1, 84, -1, 85, -1, 86, -1,
87, -1, 88, -1, 90, -1, 91, -1, 92, -1,
93, -1, 95, -1, 96, -1, 97, -1, 98, -1,
99, -1, 100, -1, 103, -1, 104, -1, 105, -1,
113, -1, 114, -1, 115, -1, 116, -1, 117, -1,
118, -1, 121, -1, 123, -1, 125, -1, 126, -1,
127, -1, 128, -1, 129, -1, 130, -1, 131, -1,
133, -1, 134, -1, 135, -1, 136, -1, 139, -1,
140, -1, 141, -1, 142, -1, 143, -1, 145, -1,
146, -1, 147, -1, 148, -1, 150, -1, 151, -1,
152, -1, 153, -1, 154, -1, 156, -1, 157, -1,
158, -1, 159, -1, 161, -1, 162, -1, 163, -1,
164, -1, 167, -1, 169, -1, 170, -1, 171, -1,
173, -1, 175, -1, 177, -1, 178, -1, 182, -1,
183, -1, 184, -1, 185, -1, 187, -1, 191, -1,
192, -1, 194, -1, 195, -1, 196, -1, 197, -1,
198, -1, 200, -1, 201, -1, 202, -1, 203, -1,
205, -1, 206, -1, 207, -1, 208, -1, 209, -1,
210, -1, 211, -1, 212, -1, 214, -1, 217, -1,
218, -1, 219, -1, 220, -1, 226, -1, 229, -1,
242, -1, 243, -1, 244, -1, 245, -1, 246, -1,
247, -1, 248, -1, 251, -1, 254, -1, 257, -1,
258, -1, 259, -1, 262, -1, 263, -1, 264, -1,
265, -1, 266, -1, 267, -1, 268, -1, 269, -1,
270, -1, 271, -1, 273, -1, 274, -1, 275, -1,
276, -1, 277, -1, 278, -1, 279, -1, 280, -1,
284, -1, 285, -1, 286, -1, 287, -1, 288, -1,
289, -1, 290, -1, 291, -1, 294, -1, 296, -1,
297, -1, 299, -1, 302, -1, 304, -1, 305, -1,
306, -1, 307, -1, 309, -1, 310, -1, 311, -1,
314, -1, 315, -1, 316, -1, 319, -1, 320, -1,
323, -1, 326, -1, 327, -1, 328, -1, 329, -1,
330, -1, 331, -1, 332, -1, 333, -1, 334, -1,
335, -1, 336, -1, 337, -1, 339, -1, 340, -1,
341, -1, 343, -1, 346, -1, 347, -1, 345, -1,
349, -1, 350, -1, 351, -1, 352, -1, 353, -1,
354, -1, 355, -1, 356, -1, 357, -1, 358, -1,
359, -1, 361, -1, 362, -1, 363, -1, 365, -1,
366, -1, 367, -1, 368, -1, 369, -1, 370, -1,
371, -1, 372, -1, 373, -1, 374, -1, 375, -1,
376, -1, 377, -1, 379, -1, 380, -1, 382, -1,
383, -1, 384, -1, 385, -1, 386, -1, 388, -1,
389, -1, 390, -1, 391, -1, 392, -1, 393, -1,
394, -1, 395, -1, 396, -1, 397, -1, 399, -1,
400, -1, 401, -1, 402, -1, 403, -1, 405, -1,
406, -1, 408, -1, 409, -1, 411, -1, 412, -1,
414, -1, 416, -1, 417, -1, 418, -1, 419, -1,
420, -1, 421, -1, 422, -1, 423, -1, 424, -1,
425, -1, 426, -1, 427, -1, 428, -1, 429, -1,
430, -1, 432, -1, 434, -1, 435, -1, 438, -1,
440, -1, 441, -1, 442, -1, 443, -1, 444, -1,
445, -1, 447, -1, 452, -1, 453, -1, 455, -1,
458, -1, 459, -1, 460, -1, 461, -1, 462, -1,
463, -1, 465, -1, 464, -1, 466, -1, 469, -1,
470, -1, 471, -1, 472, -1, 473, -1, 476, -1,
477, -1, 478, -1, 479, -1, 480, -1, 484, -1,
486, -1, 487, -1, 488, -1, 489, -1, 490, -1,
493, -1, 496, -1, 497, -1, 498, -1, 499, -1,
500, -1, 501, -1, 513, -1, 514, -1, 515, -1,
54, -1, 55, -1, 57, -1, 58, -1, 71, -1,
72, -1, 79, -1, 119, -1, 120, -1, 160, -1,
165, -1, 172, -1, 188, -1, 190, -1, 216, -1,
221, -1, 222, -1, 224, -1, 231, -1, 232, -1,
233, -1, 234, -1, 235, -1, 236, -1, 237, -1,
238, -1, 239, -1, 240, -1, 241, -1, 252, -1,
272, -1, 281, -1, 283, -1, 292, -1, 293, -1,
301, -1, 303, -1, 321, -1, 325, -1, 342, -1,
344, -1, 360, -1, 387, -1, 407, -1, 413, -1,
431, -1, 448, -1, 449, -1, 454, -1, 456, -1,
481, -1, 482, -1, 502, -1, 503, -1, 504, -1,
505, -1, 506, -1, 507, -1, 508, -1, 509, -1,
510, -1, 511, -1, 512, -1, 50, -1, 56, -1,
81, -1, 89, -1, 102, -1, 109, -1, 179, -1,
181, -1, 199, -1, 215, -1, 227, -1, 228, -1,
230, -1, 253, -1, 255, -1, 282, -1, 298, -1,
322, -1, 324, -1, 381, -1, 410, -1, 439, -1,
485, -1, 31, -1, 35, -1, 36, -1, 37, -1,
38, -1, 39, -1, 40, -1, 41, -1, 45, -1,
59, -1, 67, -1, 68, -1, 74, -1, 80, -1,
82, -1, 94, -1, 101, -1, 106, -1, 107, -1,
108, -1, 110, -1, 111, -1, 112, -1, 122, -1,
124, -1, 132, -1, 137, -1, 138, -1, 144, -1,
149, -1, 155, -1, 166, -1, 168, -1, 174, -1,
176, -1, 180, -1, 186, -1, 189, -1, 193, -1,
204, -1, 213, -1, 223, -1, 225, -1, 249, -1,
250, -1, 256, -1, 260, -1, 261, -1, 295, -1,
300, -1, 308, -1, 312, -1, 313, -1, 317, -1,
318, -1, 338, -1, 348, -1, 364, -1, 378, -1,
398, -1, 404, -1, 415, -1, 433, -1, 436, -1,
437, -1, 446, -1, 450, -1, 451, -1, 457, -1,
467, -1, 468, -1, 474, -1, 475, -1, 483, -1,
491, -1, 492, -1, 494, -1, 495, -1, 22, -1,
23, -1, 24, -1, 25, -1, 26, -1, 27, -1,
28, -1, 29, -1, 30, -1, 31, -1, 32, -1,
33, -1, 34, -1, 35, -1, 36, -1, 37, -1,
38, -1, 41, -1, 42, -1, 43, -1, 44, -1,
45, -1, 47, -1, 46, -1, 48, -1, 49, -1,
50, -1, 51, -1, 52, -1, 53, -1, 54, -1,
55, -1, 56, -1, 57, -1, 58, -1, 59, -1,
60, -1, 61, -1, 62, -1, 63, -1, 64, -1,
65, -1, 66, -1, 67, -1, 68, -1, 69, -1,
70, -1, 73, -1, 74, -1, 75, -1, 76, -1,
77, -1, 78, -1, 79, -1, 80, -1, 81, -1,
82, -1, 83, -1, 84, -1, 85, -1, 86, -1,
87, -1, 88, -1, 89, -1, 90, -1, 91, -1,
92, -1, 93, -1, 94, -1, 95, -1, 96, -1,
97, -1, 98, -1, 99, -1, 100, -1, 102, -1,
103, -1, 104, -1, 105, -1, 106, -1, 107, -1,
108, -1, 109, -1, 110, -1, 111, -1, 112, -1,
113, -1, 114, -1, 115, -1, 116, -1, 118, -1,
119, -1, 120, -1, 121, -1, 122, -1, 123, -1,
124, -1, 125, -1, 126, -1, 127, -1, 128, -1,
129, -1, 130, -1, 131, -1, 132, -1, 133, -1,
134, -1, 135, -1, 136, -1, 137, -1, 138, -1,
139, -1, 140, -1, 141, -1, 142, -1, 143, -1,
144, -1, 145, -1, 146, -1, 147, -1, 148, -1,
149, -1, 150, -1, 151, -1, 152, -1, 153, -1,
154, -1, 156, -1, 157, -1, 158, -1, 159, -1,
160, -1, 161, -1, 162, -1, 163, -1, 164, -1,
165, -1, 166, -1, 167, -1, 170, -1, 171, -1,
172, -1, 173, -1, 175, -1, 176, -1, 177, -1,
178, -1, 179, -1, 181, -1, 182, -1, 183, -1,
184, -1, 185, -1, 187, -1, 188, -1, 190, -1,
191, -1, 192, -1, 194, -1, 195, -1, 197, -1,
198, -1, 199, -1, 200, -1, 201, -1, 202, -1,
203, -1, 204, -1, 205, -1, 206, -1, 207, -1,
208, -1, 209, -1, 210, -1, 211, -1, 212, -1,
213, -1, 214, -1, 215, -1, 216, -1, 217, -1,
218, -1, 219, -1, 220, -1, 221, -1, 222, -1,
224, -1, 226, -1, 227, -1, 229, -1, 230, -1,
231, -1, 232, -1, 233, -1, 234, -1, 235, -1,
236, -1, 237, -1, 238, -1, 239, -1, 240, -1,
241, -1, 242, -1, 243, -1, 244, -1, 245, -1,
246, -1, 247, -1, 248, -1, 249, -1, 250, -1,
251, -1, 252, -1, 253, -1, 254, -1, 255, -1,
257, -1, 258, -1, 259, -1, 260, -1, 261, -1,
262, -1, 263, -1, 264, -1, 265, -1, 266, -1,
267, -1, 268, -1, 269, -1, 270, -1, 271, -1,
272, -1, 273, -1, 275, -1, 276, -1, 278, -1,
279, -1, 280, -1, 281, -1, 282, -1, 283, -1,
284, -1, 285, -1, 286, -1, 287, -1, 288, -1,
289, -1, 290, -1, 291, -1, 292, -1, 293, -1,
294, -1, 295, -1, 296, -1, 297, -1, 299, -1,
300, -1, 301, -1, 302, -1, 303, -1, 304, -1,
305, -1, 306, -1, 307, -1, 309, -1, 310, -1,
311, -1, 313, -1, 314, -1, 315, -1, 316, -1,
317, -1, 319, -1, 320, -1, 321, -1, 322, -1,
325, -1, 326, -1, 327, -1, 328, -1, 329, -1,
330, -1, 331, -1, 332, -1, 333, -1, 334, -1,
335, -1, 336, -1, 337, -1, 338, -1, 339, -1,
340, -1, 341, -1, 342, -1, 343, -1, 346, -1,
347, -1, 345, -1, 348, -1, 349, -1, 350, -1,
351, -1, 352, -1, 353, -1, 354, -1, 355, -1,
356, -1, 357, -1, 358, -1, 359, -1, 360, -1,
361, -1, 362, -1, 363, -1, 364, -1, 365, -1,
366, -1, 367, -1, 368, -1, 369, -1, 370, -1,
371, -1, 372, -1, 373, -1, 374, -1, 375, -1,
376, -1, 377, -1, 379, -1, 380, -1, 381, -1,
382, -1, 383, -1, 384, -1, 385, -1, 386, -1,
387, -1, 388, -1, 389, -1, 390, -1, 391, -1,
392, -1, 393, -1, 394, -1, 395, -1, 397, -1,
398, -1, 399, -1, 400, -1, 401, -1, 402, -1,
403, -1, 404, -1, 405, -1, 407, -1, 406, -1,
408, -1, 409, -1, 410, -1, 411, -1, 412, -1,
413, -1, 414, -1, 415, -1, 416, -1, 417, -1,
418, -1, 419, -1, 420, -1, 421, -1, 422, -1,
423, -1, 424, -1, 425, -1, 426, -1, 427, -1,
428, -1, 429, -1, 430, -1, 431, -1, 432, -1,
433, -1, 434, -1, 435, -1, 436, -1, 437, -1,
438, -1, 439, -1, 440, -1, 441, -1, 442, -1,
443, -1, 444, -1, 445, -1, 446, -1, 447, -1,
448, -1, 449, -1, 451, -1, 452, -1, 453, -1,
454, -1, 455, -1, 456, -1, 457, -1, 458, -1,
459, -1, 460, -1, 461, -1, 462, -1, 463, -1,
465, -1, 464, -1, 466, -1, 468, -1, 469, -1,
470, -1, 471, -1, 472, -1, 473, -1, 474, -1,
475, -1, 476, -1, 477, -1, 478, -1, 479, -1,
480, -1, 481, -1, 482, -1, 483, -1, 485, -1,
486, -1, 487, -1, 488, -1, 489, -1, 490, -1,
491, -1, 493, -1, 498, -1, 499, -1, 500, -1,
501, -1, 502, -1, 503, -1, 504, -1, 505, -1,
506, -1, 507, -1, 508, -1, 509, -1, 510, -1,
511, -1, 512, -1, 514, -1, 515, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 918, 918, 923, 927, 932, 940, 948, 964, 976,
990, 991, 995, 996, 997, 998, 999, 1000, 1001, 1002,
1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022,
1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032,
1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042,
1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052,
1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062,
1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072,
1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082,
1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092,
1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102,
1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112,
1113, 1114, 1115, 1116, 1117, 1118, 1120, 1127, 1128, 1132,
1133, 1137, 1138, 1142, 1143, 1144, 1153, 1169, 1181, 1182,
1183, 1192, 1193, 1197, 1198, 1202, 1207, 1212, 1216, 1226,
1236, 1244, 1248, 1252, 1257, 1261, 1309, 1311, 1315, 1319,
1323, 1327, 1341, 1360, 1369, 1381, 1382, 1386, 1395, 1404,
1413, 1435, 1443, 1451, 1459, 1467, 1475, 1493, 1512, 1524,
1525, 1536, 1547, 1558, 1574, 1593, 1598, 1606, 1607, 1608,
1609, 1610, 1611, 1625, 1632, 1639, 1649, 1660, 1671, 1675,
1685, 1695, 1704, 1716, 1717, 1727, 1741, 1749, 1759, 1767,
1780, 1790, 1798, 1808, 1816, 1825, 1837, 1849, 1850, 1854,
1855, 1858, 1860, 1862, 1866, 1867, 1868, 1869, 1873, 1874,
1875, 1881, 1893, 1897, 1901, 1905, 1922, 1930, 1931, 1932,
1936, 1937, 1938, 1942, 1943, 1947, 1951, 1952, 1961, 1970,
1982, 1991, 2003, 2004, 2009, 2010, 2015, 2022, 2029, 2036,
2043, 2054, 2065, 2066, 2070, 2071, 2079, 2095, 2102, 2109,
2116, 2123, 2143, 2153, 2163, 2173, 2183, 2195, 2207, 2217,
2227, 2237, 2249, 2261, 2271, 2281, 2291, 2301, 2311, 2321,
2333, 2345, 2355, 2368, 2369, 2374, 2388, 2401, 2417, 2434,
2444, 2454, 2464, 2474, 2484, 2493, 2502, 2512, 2521, 2531,
2541, 2557, 2567, 2577, 2587, 2597, 2614, 2624, 2634, 2644,
2655, 2669, 2685, 2695, 2704, 2735, 2749, 2758, 2769, 2780,
2788, 2797, 2806, 2814, 2822, 2831, 2840, 2849, 2857, 2865,
2874, 2882, 2890, 2899, 2908, 2917, 2926, 2935, 2944, 2955,
2963, 2972, 2981, 2990, 2999, 3008, 3017, 3025, 3033, 3041,
3048, 3059, 3060, 3064, 3073, 3077, 3078, 3082, 3090, 3098,
3106, 3117, 3120, 3121, 3125, 3126, 3131, 3135, 3139, 3144,
3151, 3153, 3158, 3162, 3166, 3177, 3184, 3185, 3189, 3190,
3195, 3250, 3263, 3277, 3289, 3296, 3300, 3314, 3327, 3328,
3333, 3343, 3354, 3365, 3392, 3399, 3433, 3469, 3492, 3493,
3497, 3498, 3507, 3508, 3509, 3512, 3513, 3518, 3519, 3523,
3527, 3531, 3535, 3539, 3543, 3547, 3551, 3555, 3559, 3563,
3567, 3571, 3575, 3579, 3588, 3592, 3596, 3600, 3604, 3605,
3610, 3614, 3621, 3628, 3629, 3630, 3631, 3632, 3633, 3637,
3641, 3649, 3660, 3680, 3700, 3721, 3742, 3763, 3797, 3798,
3799, 3800, 3801, 3808, 3815, 3816, 3820, 3821, 3825, 3826,
3830, 3834, 3841, 3845, 3852, 3853, 3854, 3858, 3859, 3862,
3886, 3905, 3927, 3928, 3932, 3933, 3937, 3938, 3942, 3943,
3947, 3948, 3952, 3960, 3961, 3962, 3994, 4006, 4014, 4027,
4039, 4053, 4063, 4073, 4098, 4119, 4120, 4121, 4125, 4126,
4130, 4131, 4132, 4151, 4159, 4167, 4175, 4183, 4191, 4203,
4215, 4216, 4217, 4221, 4222, 4223, 4224, 4225, 4226, 4227,
4228, 4229, 4230, 4239, 4247, 4251, 4265, 4278, 4297, 4313,
4331, 4347, 4367, 4412, 4420, 4424, 4439, 4455, 4456, 4460,
4461, 4465, 4466, 4470, 4471, 4475, 4476, 4480, 4481, 4484,
4490, 4491, 4494, 4498, 4506, 4511, 4517, 4518, 4522, 4527,
4534, 4535, 4539, 4549, 4559, 4567, 4576, 4589, 4601, 4608,
4616, 4624, 4632, 4640, 4650, 4651, 4655, 4656, 4659, 4671,
4672, 4675, 4686, 4697, 4711, 4712, 4717, 4718, 4719, 4722,
4723, 4724, 4725, 4728, 4729, 4732, 4733, 4736, 4756, 4769,
4791, 4792, 4795, 4801, 4807, 4824, 4833, 4855, 4869, 4886,
4902, 4903, 4904, 4916, 4930, 4947, 4961, 4962, 4974, 4995,
5006, 5020, 5029, 5041, 5042, 5045, 5046, 5049, 5050, 5053,
5057, 5061, 5065, 5069, 5073, 5077, 5081, 5085, 5089, 5093,
5097, 5101, 5105, 5109, 5113, 5119, 5120, 5124, 5125, 5126,
5133, 5136, 5137, 5149, 5165, 5181, 5182, 5190, 5191, 5195,
5196, 5200, 5201, 5205, 5206, 5210, 5211, 5221, 5233, 5234,
5247, 5255, 5273, 5282, 5294, 5297, 5301, 5305, 5309, 5316,
5328, 5339, 5342, 5346, 5359, 5369, 5379, 5389, 5399, 5409,
5419, 5429, 5439, 5449, 5459, 5469, 5479, 5498, 5510, 5511,
5512, 5513, 5517, 5518, 5522, 5523, 5533, 5542, 5555, 5556,
5560, 5564, 5572, 5576, 5580, 5587, 5591, 5596, 5601, 5608,
5615, 5620, 5630, 5643, 5659, 5660, 5665, 5666, 5670, 5671,
5681, 5691, 5700, 5718, 5739, 5760, 5782, 5816, 5832, 5833,
5837, 5846, 5861, 5871, 5884, 5885, 5897, 5906, 5924, 5949,
5967, 5982, 5983, 5987, 5988, 5992, 5993, 5997, 5998, 6002,
6016, 6020, 6021, 6025, 6026, 6027, 6028, 6029, 6039, 6051,
6052, 6063, 6086, 6119, 6120, 6121, 6125, 6127, 6149, 6151,
6153, 6155, 6157, 6162, 6163, 6167, 6168, 6172, 6184, 6185,
6189, 6198, 6202, 6206, 6211, 6221, 6222, 6226, 6227, 6231,
6232, 6236, 6237, 6241, 6242, 6243, 6247, 6251, 6252, 6253,
6257, 6258, 6263, 6264, 6292, 6293, 6294, 6295, 6296, 6297,
6298, 6299, 6312, 6323, 6338, 6340, 6345, 6350, 6352, 6357,
6368, 6369, 6370, 6371, 6382, 6402, 6414, 6427, 6438, 6449,
6461, 6470, 6478, 6486, 6496, 6506, 6516, 6526, 6536, 6547,
6557, 6570, 6573, 6574, 6577, 6581, 6588, 6589, 6590, 6591,
6592, 6593, 6596, 6599, 6600, 6608, 6615, 6616, 6619, 6621,
6632, 6644, 6656, 6668, 6680, 6709, 6710, 6726, 6742, 6743,
6747, 6760, 6770, 6779, 6789, 6799, 6800, 6803, 6804, 6807,
6808, 6809, 6814, 6825, 6835, 6848, 6849, 6853, 6862, 6875,
6886, 6900, 6911, 6934, 6945, 6964, 6975, 6986, 6997, 7008,
7019, 7030, 7041, 7052, 7063, 7074, 7085, 7100, 7101, 7102,
7103, 7104, 7105, 7106, 7107, 7108, 7109, 7110, 7111, 7112,
7122, 7123, 7124, 7125, 7126, 7130, 7131, 7132, 7133, 7134,
7135, 7136, 7137, 7142, 7143, 7144, 7148, 7149, 7152, 7153,
7156, 7158, 7163, 7164, 7175, 7187, 7188, 7189, 7199, 7208,
7217, 7226, 7235, 7244, 7253, 7262, 7271, 7280, 7294, 7303,
7312, 7321, 7330, 7339, 7348, 7357, 7369, 7370, 7384, 7395,
7406, 7417, 7428, 7439, 7450, 7461, 7472, 7483, 7496, 7497,
7500, 7501, 7511, 7518, 7527, 7536, 7545, 7554, 7563, 7572,
7581, 7590, 7599, 7608, 7617, 7626, 7635, 7644, 7653, 7662,
7673, 7674, 7677, 7678, 7688, 7706, 7722, 7750, 7752, 7754,
7756, 7764, 7774, 7775, 7778, 7786, 7794, 7802, 7809, 7820,
7824, 7831, 7835, 7846, 7855, 7864, 7873, 7882, 7891, 7900,
7909, 7918, 7927, 7936, 7945, 7954, 7962, 7971, 7980, 7989,
7998, 8007, 8016, 8025, 8038, 8039, 8043, 8044, 8049, 8050,
8060, 8071, 8085, 8097, 8115, 8116, 8120, 8127, 8128, 8129,
8132, 8133, 8143, 8154, 8155, 8159, 8163, 8167, 8178, 8192,
8207, 8225, 8226, 8227, 8228, 8229, 8230, 8231, 8243, 8275,
8310, 8311, 8315, 8316, 8319, 8320, 8325, 8337, 8356, 8361,
8366, 8373, 8374, 8377, 8378, 8381, 8382, 8386, 8387, 8388,
8391, 8392, 8393, 8409, 8423, 8438, 8452, 8469, 8470, 8473,
8474, 8478, 8479, 8483, 8484, 8489, 8503, 8511, 8519, 8535,
8536, 8540, 8541, 8556, 8567, 8578, 8589, 8600, 8614, 8615,
8616, 8617, 8618, 8624, 8628, 8643, 8644, 8650, 8660, 8664,
8669, 8677, 8719, 8723, 8727, 8731, 8739, 8740, 8744, 8756,
8757, 8762, 8763, 8768, 8769, 8776, 8780, 8784, 8788, 8792,
8796, 8800, 8804, 8808, 8812, 8816, 8820, 8824, 8828, 8832,
8836, 8841, 8848, 8852, 8856, 8860, 8864, 8870, 8871, 8877,
8887, 8891, 8902, 8908, 8917, 8923, 8924, 8928, 8929, 8933,
8934, 8937, 8951, 8955, 8970, 8979, 8988, 9001, 9002, 9007,
9008, 9025, 9036, 9047, 9058, 9069, 9080, 9094, 9105, 9119,
9130, 9144, 9152, 9154, 9156, 9161, 9163, 9168, 9169, 9174,
9193, 9203, 9204, 9208, 9212, 9224, 9236, 9248, 9262, 9263,
9264, 9268, 9281, 9282, 9292, 9305, 9309, 9313, 9317, 9324,
9346, 9359, 9372, 9387, 9388, 9391, 9392, 9395, 9396, 9406,
9416, 9434, 9444, 9454, 9464, 9474, 9484, 9494, 9504, 9514,
9524, 9534, 9544, 9554, 9565, 9576, 9586, 9596, 9606, 9616,
9626, 9636, 9647, 9658, 9669, 9680, 9691, 9702, 9713, 9724,
9735, 9746, 9757, 9768, 9780, 9792, 9804, 9816, 9828, 9840,
9851, 9862, 9874, 9886, 9897, 9908, 9917, 9927, 9937, 9947,
9957, 9967, 9977, 9987, 9997, 10007, 10022, 10023, 10026, 10027,
10037, 10047, 10057, 10067, 10078, 10088, 10100, 10101, 10111, 10121,
10131, 10141, 10151, 10161, 10171, 10181, 10191, 10201, 10211, 10221,
10231, 10241, 10251, 10261, 10271, 10281, 10291, 10301, 10311, 10321,
10331, 10341, 10351, 10361, 10371, 10390, 10400, 10401, 10404, 10406,
10408, 10414, 10415, 10416, 10417, 10418, 10430, 10446, 10455, 10464,
10473, 10482, 10491, 10500, 10509, 10518, 10527, 10536, 10545, 10554,
10563, 10572, 10581, 10590, 10599, 10608, 10617, 10626, 10635, 10644,
10653, 10681, 10689, 10698, 10724, 10733, 10740, 10746, 10773, 10784,
10793, 10801, 10803, 10825, 10833, 10843, 10853, 10872, 10891, 10901,
10911, 10921, 10932, 10943, 10954, 10965, 10976, 10994, 11003, 11020,
11038, 11039, 11040, 11045, 11051, 11060, 11061, 11062, 11063, 11064,
11068, 11069, 11072, 11073, 11074, 11075, 11079, 11080, 11081, 11093,
11104, 11105, 11108, 11118, 11125, 11145, 11155, 11164, 11174, 11184,
11193, 11202, 11211, 11220, 11229, 11238, 11247, 11259, 11268, 11280,
11281, 11282, 11286, 11289, 11292, 11295, 11298, 11305, 11307, 11309,
11314, 11316, 11320, 11321, 11322, 11334, 11348, 11362, 11381, 11403,
11404, 11405, 11406, 11416, 11433, 11444, 11445, 11449, 11450, 11454,
11458, 11462, 11480, 11481, 11482, 11483, 11484, 11485, 11486, 11493,
11494, 11505, 11513, 11521, 11530, 11540, 11558, 11567, 11576, 11585,
11597, 11601, 11612, 11624, 11642, 11649, 11666, 11680, 11690, 11699,
11708, 11718, 11730, 11742, 11753, 11754, 11765, 11776, 11788, 11800,
11812, 11824, 11834, 11847, 11848, 11862, 11886, 11895, 11905, 11917,
11929, 11943, 11944, 11956, 11977, 11988, 12000, 12012, 12016, 12023,
12024, 12028, 12035, 12036, 12037, 12041, 12042, 12043, 12047, 12048,
12052, 12053, 12056, 12057, 12060, 12061, 12065, 12066, 12070, 12077,
12079, 12084, 12085, 12098, 12106, 12117, 12125, 12136, 12137, 12138,
12139, 12140, 12141, 12142, 12143, 12144, 12145, 12155, 12166, 12167,
12171, 12172, 12173, 12174, 12175, 12185, 12193, 12211, 12231, 12232,
12242, 12251, 12260, 12269, 12288, 12306, 12310, 12318, 12324, 12331,
12337, 12344, 12353, 12354, 12358, 12360, 12365, 12376, 12386, 12396,
12402, 12411, 12420, 12426, 12435, 12441, 12442, 12446, 12447, 12451,
12463, 12464, 12475, 12490, 12491, 12502, 12513, 12514, 12517, 12518,
12519, 12520, 12521, 12522, 12523, 12524, 12527, 12528, 12532, 12533,
12534, 12545, 12564, 12565, 12569, 12574, 12598, 12609, 12610, 12622,
12642, 12643, 12653, 12660, 12667, 12674, 12684, 12697, 12698, 12702,
12703, 12707, 12708, 12712, 12725, 12738, 12747, 12756, 12765, 12774,
12786, 12798, 12810, 12813, 12814, 12815, 12816, 12817, 12818, 12821,
12822, 12823, 12871, 12872, 12876, 12877, 12892, 12893, 12900, 12908,
12916, 12924, 12932, 12940, 12951, 12952, 12984, 13000, 13017, 13018,
13037, 13041, 13045, 13060, 13067, 13074, 13084, 13085, 13088, 13104,
13105, 13106, 13110, 13120, 13131, 13137, 13149, 13162, 13168, 13169,
13173, 13185, 13193, 13198, 13203, 13208, 13213, 13221, 13229, 13234,
13239, 13246, 13247, 13251, 13252, 13253, 13260, 13261, 13265, 13266,
13270, 13271, 13275, 13276, 13280, 13284, 13285, 13288, 13297, 13310,
13316, 13322, 13326, 13341, 13342, 13346, 13358, 13374, 13386, 13398,
13410, 13425, 13428, 13433, 13434, 13442, 13462, 13463, 13465, 13470,
13471, 13475, 13476, 13479, 13480, 13505, 13514, 13524, 13525, 13529,
13530, 13531, 13532, 13533, 13537, 13550, 13557, 13564, 13571, 13572,
13576, 13577, 13581, 13582, 13586, 13587, 13591, 13603, 13604, 13605,
13606, 13610, 13611, 13621, 13628, 13647, 13648, 13652, 13653, 13659,
13664, 13673, 13681, 13690, 13697, 13705, 13714, 13723, 13727, 13732,
13739, 13768, 13772, 13786, 13807, 13829, 13842, 13859, 13865, 13870,
13876, 13883, 13884, 13894, 13900, 13908, 13912, 13916, 13923, 13931,
13936, 13937, 13938, 13939, 13943, 13944, 13959, 13963, 13971, 13978,
13985, 13992, 13999, 14010, 14011, 14024, 14028, 14036, 14050, 14064,
14065, 14080, 14091, 14104, 14109, 14110, 14113, 14114, 14117, 14118,
14123, 14124, 14129, 14130, 14139, 14144, 14145, 14149, 14153, 14159,
14184, 14195, 14209, 14210, 14214, 14228, 14285, 14299, 14301, 14306,
14315, 14317, 14319, 14321, 14326, 14328, 14333, 14341, 14352, 14380,
14381, 14385, 14387, 14392, 14401, 14421, 14441, 14459, 14471, 14486,
14487, 14491, 14494, 14507, 14512, 14519, 14524, 14530, 14535, 14544,
14546, 14549, 14553, 14554, 14555, 14556, 14557, 14558, 14563, 14569,
14584, 14585, 14586, 14587, 14588, 14599, 14605, 14613, 14614, 14620,
14625, 14630, 14635, 14640, 14645, 14650, 14655, 14661, 14667, 14673,
14680, 14702, 14711, 14715, 14723, 14727, 14735, 14747, 14768, 14772,
14778, 14782, 14795, 14803, 14813, 14815, 14817, 14819, 14821, 14823,
14828, 14829, 14836, 14845, 14853, 14862, 14873, 14881, 14882, 14883,
14887, 14889, 14891, 14893, 14895, 14897, 14899, 14904, 14909, 14915,
14923, 14928, 14935, 14942, 14946, 14950, 14958, 14993, 14994, 14996,
15005, 15012, 15028, 15030, 15032, 15034, 15036, 15038, 15040, 15042,
15044, 15046, 15048, 15050, 15052, 15054, 15057, 15059, 15062, 15064,
15066, 15068, 15071, 15076, 15085, 15090, 15099, 15104, 15113, 15118,
15128, 15137, 15146, 15155, 15174, 15183, 15192, 15201, 15210, 15227,
15236, 15245, 15254, 15263, 15272, 15281, 15285, 15289, 15297, 15305,
15313, 15321, 15334, 15343, 15357, 15366, 15378, 15385, 15401, 15406,
15412, 15419, 15426, 15434, 15442, 15459, 15478, 15504, 15506, 15508,
15510, 15512, 15514, 15516, 15518, 15520, 15522, 15524, 15526, 15528,
15530, 15532, 15534, 15536, 15538, 15540, 15544, 15548, 15553, 15569,
15570, 15571, 15588, 15601, 15603, 15605, 15617, 15642, 15654, 15666,
15674, 15685, 15696, 15706, 15712, 15721, 15731, 15741, 15754, 15764,
15795, 15831, 15841, 15852, 15853, 15854, 15861, 15868, 15872, 15876,
15880, 15884, 15888, 15892, 15896, 15900, 15904, 15908, 15912, 15916,
15923, 15927, 15931, 15935, 15937, 15944, 15951, 15958, 15965, 15976,
15990, 16000, 16011, 16027, 16037, 16044, 16051, 16058, 16062, 16070,
16079, 16088, 16092, 16096, 16100, 16104, 16108, 16117, 16121, 16131,
16135, 16139, 16144, 16155, 16161, 16175, 16186, 16200, 16216, 16228,
16238, 16247, 16256, 16264, 16286, 16302, 16326, 16328, 16332, 16334,
16336, 16339, 16342, 16345, 16346, 16349, 16357, 16367, 16368, 16371,
16372, 16373, 16376, 16377, 16378, 16383, 16387, 16391, 16395, 16402,
16403, 16411, 16412, 16416, 16417, 16425, 16426, 16430, 16431, 16436,
16445, 16447, 16462, 16465, 16493, 16494, 16497, 16498, 16506, 16514,
16522, 16531, 16541, 16559, 16605, 16614, 16623, 16632, 16641, 16653,
16654, 16655, 16656, 16657, 16671, 16672, 16673, 16676, 16677, 16680,
16683, 16684, 16685, 16688, 16689, 16692, 16693, 16694, 16695, 16696,
16697, 16698, 16699, 16700, 16701, 16702, 16703, 16706, 16708, 16713,
16715, 16720, 16722, 16724, 16726, 16728, 16730, 16742, 16746, 16753,
16757, 16763, 16767, 16777, 16789, 16790, 16793, 16794, 16797, 16801,
16805, 16811, 16812, 16817, 16821, 16831, 16832, 16833, 16834, 16835,
16836, 16837, 16838, 16842, 16843, 16844, 16845, 16850, 16855, 16864,
16885, 16889, 16894, 16905, 16922, 16928, 16929, 16930, 16940, 16955,
16956, 16960, 16972, 16973, 16976, 16977, 16980, 16984, 16991, 16995,
16999, 17008, 17020, 17021, 17025, 17026, 17030, 17031, 17034, 17035,
17040, 17041, 17045, 17046, 17050, 17062, 17063, 17064, 17065, 17066,
17067, 17068, 17069, 17070, 17074, 17076, 17081, 17082, 17083, 17084,
17085, 17086, 17087, 17089, 17093, 17095, 17097, 17100, 17104, 17107,
17111, 17120, 17138, 17145, 17150, 17156, 17157, 17158, 17159, 17160,
17164, 17173, 17187, 17188, 17189, 17190, 17191, 17200, 17201, 17202,
17203, 17204, 17208, 17210, 17220, 17223, 17229, 17230, 17231, 17235,
17236, 17237, 17241, 17242, 17246, 17264, 17284, 17285, 17294, 17295,
17299, 17300, 17303, 17311, 17319, 17327, 17350, 17351, 17362, 17366,
17372, 17374, 17379, 17381, 17383, 17393, 17395, 17406, 17410, 17414,
17418, 17422, 17431, 17439, 17471, 17478, 17510, 17514, 17521, 17529,
17533, 17539, 17546, 17550, 17554, 17560, 17561, 17563, 17564, 17565,
17569, 17610, 17638, 17642, 17646, 17652, 17654, 17668, 17705, 17718,
17719, 17722, 17723, 17740, 17741, 17742, 17747, 17748, 17749, 17754,
17755, 17756, 17757, 17763, 17764, 17765, 17766, 17767, 17773, 17774,
17794, 17795, 17796, 17797, 17798, 17799, 17800, 17801, 17802, 17803,
17804, 17805, 17806, 17807, 17808, 17809, 17810, 17811, 17812, 17813,
17814, 17815, 17816, 17817, 17818, 17819, 17820, 17821, 17822, 17823,
17824, 17825, 17826, 17827, 17828, 17829, 17830, 17831, 17832, 17833,
17834, 17835, 17836, 17837, 17838, 17839, 17840, 17841, 17842, 17843,
17844, 17845, 17846, 17847, 17848, 17849, 17850, 17851, 17852, 17853,
17854, 17855, 17856, 17857, 17858, 17859, 17860, 17861, 17862, 17863,
17864, 17865, 17866, 17867, 17868, 17869, 17870, 17871, 17872, 17873,
17874, 17875, 17876, 17877, 17878, 17879, 17880, 17881, 17882, 17883,
17884, 17885, 17886, 17887, 17888, 17889, 17890, 17891, 17892, 17893,
17894, 17895, 17896, 17897, 17898, 17899, 17900, 17901, 17902, 17903,
17904, 17905, 17906, 17907, 17908, 17909, 17910, 17911, 17912, 17913,
17914, 17915, 17916, 17917, 17918, 17919, 17920, 17921, 17922, 17923,
17924, 17925, 17926, 17927, 17928, 17929, 17930, 17931, 17932, 17933,
17934, 17935, 17936, 17937, 17938, 17939, 17940, 17941, 17942, 17943,
17944, 17945, 17946, 17947, 17948, 17949, 17950, 17951, 17952, 17953,
17954, 17955, 17956, 17957, 17958, 17959, 17960, 17961, 17962, 17963,
17964, 17965, 17966, 17967, 17968, 17969, 17970, 17971, 17972, 17973,
17974, 17975, 17976, 17977, 17978, 17979, 17980, 17981, 17982, 17983,
17984, 17985, 17986, 17987, 17988, 17989, 17990, 17991, 17992, 17993,
17994, 17995, 17996, 17997, 17998, 17999, 18000, 18001, 18002, 18003,
18004, 18005, 18006, 18007, 18008, 18009, 18010, 18011, 18012, 18013,
18014, 18015, 18016, 18017, 18018, 18019, 18020, 18021, 18022, 18023,
18024, 18025, 18026, 18027, 18028, 18029, 18030, 18031, 18032, 18033,
18034, 18035, 18036, 18037, 18038, 18039, 18040, 18041, 18042, 18043,
18044, 18045, 18046, 18047, 18048, 18049, 18050, 18051, 18052, 18053,
18054, 18055, 18056, 18057, 18058, 18059, 18060, 18061, 18062, 18063,
18064, 18065, 18066, 18067, 18068, 18069, 18070, 18071, 18072, 18073,
18074, 18075, 18076, 18077, 18078, 18079, 18080, 18081, 18082, 18083,
18084, 18085, 18086, 18087, 18088, 18089, 18090, 18091, 18092, 18093,
18094, 18095, 18096, 18097, 18098, 18099, 18100, 18101, 18102, 18103,
18104, 18105, 18106, 18107, 18108, 18109, 18110, 18111, 18112, 18113,
18114, 18115, 18116, 18117, 18118, 18119, 18120, 18121, 18122, 18123,
18137, 18138, 18139, 18140, 18141, 18142, 18143, 18144, 18145, 18146,
18147, 18148, 18149, 18150, 18151, 18152, 18153, 18154, 18155, 18156,
18157, 18158, 18159, 18160, 18161, 18162, 18163, 18164, 18165, 18166,
18167, 18168, 18169, 18170, 18171, 18172, 18173, 18174, 18175, 18176,
18177, 18178, 18179, 18180, 18181, 18182, 18183, 18184, 18185, 18186,
18187, 18188, 18189, 18190, 18191, 18192, 18193, 18194, 18195, 18196,
18197, 18198, 18199, 18213, 18214, 18215, 18216, 18217, 18218, 18219,
18220, 18221, 18222, 18223, 18224, 18225, 18226, 18227, 18228, 18229,
18230, 18231, 18232, 18233, 18234, 18235, 18245, 18246, 18247, 18248,
18249, 18250, 18251, 18252, 18253, 18254, 18255, 18256, 18257, 18258,
18259, 18260, 18261, 18262, 18263, 18264, 18265, 18266, 18267, 18268,
18269, 18270, 18271, 18272, 18273, 18274, 18275, 18276, 18277, 18278,
18279, 18280, 18281, 18282, 18283, 18284, 18285, 18286, 18287, 18288,
18289, 18290, 18291, 18292, 18293, 18294, 18295, 18296, 18297, 18298,
18299, 18300, 18301, 18302, 18303, 18304, 18305, 18306, 18307, 18308,
18309, 18310, 18311, 18312, 18313, 18314, 18315, 18316, 18317, 18318,
18319, 18320, 18321, 18322, 18335, 18336, 18337, 18338, 18339, 18340,
18341, 18342, 18343, 18344, 18345, 18346, 18347, 18348, 18349, 18350,
18351, 18352, 18353, 18354, 18355, 18356, 18357, 18358, 18359, 18360,
18361, 18362, 18363, 18364, 18365, 18366, 18367, 18368, 18369, 18370,
18371, 18372, 18373, 18374, 18375, 18376, 18377, 18378, 18379, 18380,
18381, 18382, 18383, 18384, 18385, 18386, 18387, 18388, 18389, 18390,
18391, 18392, 18393, 18394, 18395, 18396, 18397, 18398, 18399, 18400,
18401, 18402, 18403, 18404, 18405, 18406, 18407, 18408, 18409, 18410,
18411, 18412, 18413, 18414, 18415, 18416, 18417, 18418, 18419, 18420,
18421, 18422, 18423, 18424, 18425, 18426, 18427, 18428, 18429, 18430,
18431, 18432, 18433, 18434, 18435, 18436, 18437, 18438, 18439, 18440,
18441, 18442, 18443, 18444, 18445, 18446, 18447, 18448, 18449, 18450,
18451, 18452, 18453, 18454, 18455, 18456, 18457, 18458, 18459, 18460,
18461, 18462, 18463, 18464, 18465, 18466, 18467, 18468, 18469, 18470,
18471, 18472, 18473, 18474, 18475, 18476, 18477, 18478, 18479, 18480,
18481, 18482, 18483, 18484, 18485, 18486, 18487, 18488, 18489, 18490,
18491, 18492, 18493, 18494, 18495, 18496, 18497, 18498, 18499, 18500,
18501, 18502, 18503, 18504, 18505, 18506, 18507, 18508, 18509, 18510,
18511, 18512, 18513, 18514, 18515, 18516, 18517, 18518, 18519, 18520,
18521, 18522, 18523, 18524, 18525, 18526, 18527, 18528, 18529, 18530,
18531, 18532, 18533, 18534, 18535, 18536, 18537, 18538, 18539, 18540,
18541, 18542, 18543, 18544, 18545, 18546, 18547, 18548, 18549, 18550,
18551, 18552, 18553, 18554, 18555, 18556, 18557, 18558, 18559, 18560,
18561, 18562, 18563, 18564, 18565, 18566, 18567, 18568, 18569, 18570,
18571, 18572, 18573, 18574, 18575, 18576, 18577, 18578, 18579, 18580,
18581, 18582, 18583, 18584, 18585, 18586, 18587, 18588, 18589, 18590,
18591, 18592, 18593, 18594, 18595, 18596, 18597, 18598, 18599, 18600,
18601, 18602, 18603, 18604, 18605, 18606, 18607, 18608, 18609, 18610,
18611, 18612, 18613, 18614, 18615, 18616, 18617, 18618, 18619, 18620,
18621, 18622, 18623, 18624, 18625, 18626, 18627, 18628, 18629, 18630,
18631, 18632, 18633, 18634, 18635, 18636, 18637, 18638, 18639, 18640,
18641, 18642, 18643, 18644, 18645, 18646, 18647, 18648, 18649, 18650,
18651, 18652, 18653, 18654, 18655, 18656, 18657, 18658, 18659, 18660,
18661, 18662, 18663, 18664, 18665, 18666, 18667, 18668, 18669, 18670,
18671, 18672, 18673, 18674, 18675, 18676, 18677, 18678, 18679, 18680,
18681, 18682, 18683, 18684, 18685, 18686, 18687, 18688, 18689, 18690,
18691, 18692, 18693, 18694, 18695, 18696, 18697, 18698, 18699, 18700,
18701, 18702, 18703, 18704, 18705, 18706, 18707, 18708, 18709, 18710,
18711, 18712, 18713, 18714, 18715, 18716, 18717, 18718, 18719, 18720,
18721, 18722, 18723, 18724, 18725, 18726, 18727, 18728, 18729, 18730,
18731, 18732, 18733, 18734, 18735, 18736, 18737, 18738, 18739, 18740,
18741, 18742, 18743, 18744, 18745, 18746, 18747, 18748, 18749, 18750,
18751, 18752, 18753, 18754, 18755, 18756, 18757, 18758, 18759, 18760,
18761, 18762, 18763, 18764, 18765, 18766, 18767, 18768, 18769, 18770,
18771, 18772, 18773, 18774, 18775, 18776, 18777, 18778, 18779, 18780,
18781, 18782, 18783, 18784, 18785, 18786, 18787, 18788, 18789
};
#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", "UIDENT", "FCONST", "SCONST",
"USCONST", "BCONST", "XCONST", "Op", "ICONST", "PARAM", "TYPECAST",
"DOT_DOT", "COLON_EQUALS", "EQUALS_GREATER", "LESS_EQUALS",
"GREATER_EQUALS", "NOT_EQUALS", "SQL_COMMENT", "C_COMMENT", "ABORT_P",
"ABSENT", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER",
"AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE",
"AND", "ANY", "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION",
"ASSIGNMENT", "ASYMMETRIC", "ATOMIC", "AT", "ATTACH", "ATTRIBUTE",
"AUTHORIZATION", "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT",
"BINARY", "BIT", "BOOLEAN_P", "BOTH", "BREADTH", "BY", "CACHE", "CALL",
"CALLED", "CASCADE", "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN",
"CHAR_P", "CHARACTER", "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS",
"CLOSE", "CLUSTER", "COALESCE", "COLLATE", "COLLATION", "COLUMN",
"COLUMNS", "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", "COMPRESSION",
"CONCURRENTLY", "CONDITIONAL", "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", "DEPENDS", "DEPTH", "DESC",
"DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO",
"DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "EMPTY_P",
"ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENFORCED", "ENUM_P",
"ERROR_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING",
"EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION",
"EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER",
"FINALIZE", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN",
"FORMAT", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS",
"GENERATED", "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P",
"GROUPING", "GROUPS", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P",
"IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P",
"IMPORT_P", "IN_P", "INCLUDE", "INCLUDING", "INCREMENT", "INDENT",
"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", "JSON", "JSON_ARRAY", "JSON_ARRAYAGG",
"JSON_EXISTS", "JSON_OBJECT", "JSON_OBJECTAGG", "JSON_QUERY",
"JSON_SCALAR", "JSON_SERIALIZE", "JSON_TABLE", "JSON_VALUE", "KEEP",
"KEY", "KEYS", "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", "MATCHED",
"MATERIALIZED", "MAXVALUE", "MERGE", "MERGE_ACTION", "METHOD",
"MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES",
"NATIONAL", "NATURAL", "NCHAR", "NESTED", "NEW", "NEXT", "NFC", "NFD",
"NFKC", "NFKD", "NO", "NONE", "NORMALIZE", "NORMALIZED", "NOT",
"NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P",
"NUMERIC", "OBJECT_P", "OBJECTS_P", "OF", "OFF", "OFFSET", "OIDS", "OLD",
"OMIT", "ON", "ONLY", "OPERATOR", "OPTION", "OPTIONS", "OR", "ORDER",
"ORDINALITY", "OTHERS", "OUT_P", "OUTER_P", "OVER", "OVERLAPS",
"OVERLAY", "OVERRIDING", "OWNED", "OWNER", "PARALLEL", "PARAMETER",
"PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD", "PATH",
"PERIOD", "PLACING", "PLAN", "PLANS", "POLICY", "POSITION", "PRECEDING",
"PRECISION", "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR",
"PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROCEDURES", "PROGRAM",
"PUBLICATION", "QUOTE", "QUOTES", "RANGE", "READ", "REAL", "REASSIGN",
"RECURSIVE", "REF_P", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX",
"RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA",
"RESET", "RESTART", "RESTRICT", "RETURN", "RETURNING", "RETURNS",
"REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES",
"ROW", "ROWS", "RULE", "SAVEPOINT", "SCALAR", "SCHEMA", "SCHEMAS",
"SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE",
"SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET",
"SETS", "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP",
"SMALLINT", "SNAPSHOT", "SOME", "SOURCE", "SQL_P", "STABLE",
"STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT",
"STORAGE", "STORED", "STRICT_P", "STRING_P", "STRIP_P", "SUBSCRIPTION",
"SUBSTRING", "SUPPORT", "SYMMETRIC", "SYSID", "SYSTEM_P", "SYSTEM_USER",
"TABLE", "TABLES", "TABLESAMPLE", "TABLESPACE", "TARGET", "TEMP",
"TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", "TIES", "TIME", "TIMESTAMP",
"TO", "TRAILING", "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM",
"TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UESCAPE",
"UNBOUNDED", "UNCONDITIONAL", "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", "VIRTUAL", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P",
"WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE",
"XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS",
"XMLFOREST", "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT",
"XMLSERIALIZE", "XMLTABLE", "YEAR_P", "YES_P", "ZONE", "FORMAT_LA",
"NOT_LA", "NULLS_LA", "WITH_LA", "WITHOUT_LA", "MODE_TYPE_NAME",
"MODE_PLPGSQL_EXPR", "MODE_PLPGSQL_ASSIGN1", "MODE_PLPGSQL_ASSIGN2",
"MODE_PLPGSQL_ASSIGN3", "'<'", "'>'", "'='", "'+'", "'-'", "'*'", "'/'",
"'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','",
"':'", "$accept", "parse_toplevel", "stmtmulti", "toplevel_stmt", "stmt",
"opt_single_name", "opt_qualified_name", "opt_concurrently",
"opt_drop_behavior", "CallStmt", "CreateRoleStmt", "opt_with",
"OptRoleList", "AlterOptRoleList", "AlterOptRoleElem",
"CreateOptRoleElem", "CreateUserStmt", "AlterRoleStmt",
"opt_in_database", "AlterRoleSetStmt", "DropRoleStmt", "CreateGroupStmt",
"AlterGroupStmt", "add_drop", "CreateSchemaStmt", "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", "partition_cmd",
"index_partition_cmd", "alter_table_cmd", "alter_column_default",
"opt_collate_clause", "alter_using", "replica_identity", "reloptions",
"opt_reloptions", "reloption_list", "reloption_elem",
"alter_identity_column_option_list", "alter_identity_column_option",
"set_statistics_value", "set_access_method_name", "PartitionBoundSpec",
"hash_partbound_elem", "hash_partbound", "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", "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", "column_compression",
"opt_column_compression", "column_storage", "opt_column_storage",
"ColQualList", "ColConstraint", "ColConstraintElem",
"opt_unique_null_treatment", "generated_when", "opt_virtual_or_stored",
"ConstraintAttr", "TableLikeClause", "TableLikeOptionList",
"TableLikeOption", "TableConstraint", "ConstraintElem",
"DomainConstraint", "DomainConstraintElem", "opt_no_inherit",
"opt_without_overlaps", "opt_column_list", "columnList",
"optionalPeriodName", "opt_column_and_period_list", "columnElem",
"opt_c_include", "key_match", "ExclusionConstraintList",
"ExclusionConstraintElem", "OptWhereClause", "key_actions", "key_update",
"key_delete", "key_action", "OptInherit", "OptPartitionSpec",
"PartitionSpec", "part_params", "part_elem",
"table_access_method_clause", "OptWith", "OnCommitOption",
"OptTableSpace", "OptConsTableSpace", "ExistingIndex", "CreateStatsStmt",
"stats_params", "stats_param", "AlterStatsStmt", "CreateAsStmt",
"create_as_target", "opt_with_data", "CreateMatViewStmt",
"create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
"AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList",
"SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list",
"CreatePLangStmt", "opt_trusted", "handler_name", "opt_inline_handler",
"validator_clause", "opt_validator", "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", "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", "AlterForeignServerStmt",
"CreateForeignTableStmt", "ImportForeignSchemaStmt",
"import_qualification_type", "import_qualification",
"CreateUserMappingStmt", "auth_ident", "DropUserMappingStmt",
"AlterUserMappingStmt", "CreatePolicyStmt", "AlterPolicyStmt",
"RowSecurityOptionalExpr", "RowSecurityOptionalWithCheck",
"RowSecurityDefaultToRole", "RowSecurityOptionalToRole",
"RowSecurityDefaultPermissive", "RowSecurityDefaultForCmd",
"row_security_cmd", "CreateAmStmt", "am_type", "CreateTrigStmt",
"TriggerActionTime", "TriggerEvents", "TriggerOneEvent",
"TriggerReferencing", "TriggerTransitions", "TriggerTransition",
"TransitionOldOrNew", "TransitionRowOrTable", "TransitionRelName",
"TriggerForSpec", "TriggerForOptEach", "TriggerForType", "TriggerWhen",
"FUNCTION_or_PROCEDURE", "TriggerFuncArgs", "TriggerFuncArg",
"OptConstrFromTable", "ConstraintAttributeSpec",
"ConstraintAttributeElem", "CreateEventTrigStmt",
"event_trigger_when_list", "event_trigger_when_item",
"event_trigger_value_list", "AlterEventTrigStmt", "enable_trigger",
"CreateAssertionStmt", "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",
"CreateOpFamilyStmt", "AlterOpFamilyStmt", "opclass_drop_list",
"opclass_drop", "DropOpClassStmt", "DropOpFamilyStmt", "DropOwnedStmt",
"ReassignOwnedStmt", "DropStmt", "object_type_any_name",
"object_type_name", "drop_type_name", "object_type_name_on_any_name",
"any_name_list", "any_name", "attrs", "type_name_list", "TruncateStmt",
"opt_restart_seqs", "CommentStmt", "comment_text", "SecLabelStmt",
"opt_provider", "security_label", "FetchStmt", "fetch_args", "from_in",
"opt_from_in", "GrantStmt", "RevokeStmt", "privileges", "privilege_list",
"privilege", "parameter_name_list", "parameter_name", "privilege_target",
"grantee_list", "grantee", "opt_grant_grant_option", "GrantRoleStmt",
"RevokeRoleStmt", "grant_role_opt_list", "grant_role_opt",
"grant_role_opt_value", "opt_granted_by", "AlterDefaultPrivilegesStmt",
"DefACLOptionList", "DefACLOption", "DefACLAction",
"defacl_privilege_target", "IndexStmt", "opt_unique",
"access_method_clause", "index_params", "index_elem_options",
"index_elem", "opt_include", "index_including_params", "opt_collate",
"opt_asc_desc", "opt_nulls_order", "CreateFunctionStmt",
"opt_or_replace", "func_args", "func_args_list",
"function_with_argtypes_list", "function_with_argtypes",
"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",
"aggregate_with_argtypes", "aggregate_with_argtypes_list",
"opt_createfunc_opt_list", "createfunc_opt_list", "common_func_opt_item",
"createfunc_opt_item", "func_as", "ReturnStmt", "opt_routine_body",
"routine_body_stmt_list", "routine_body_stmt", "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", "operator_with_argtypes_list", "operator_with_argtypes",
"DoStmt", "dostmt_opt_list", "dostmt_opt_item", "CreateCastStmt",
"cast_context", "DropCastStmt", "opt_if_exists", "CreateTransformStmt",
"transform_element_list", "DropTransformStmt", "ReindexStmt",
"reindex_target_relation", "reindex_target_all",
"opt_reindex_option_list", "AlterTblSpcStmt", "RenameStmt", "opt_column",
"opt_set_data", "AlterObjectDependsStmt", "opt_no",
"AlterObjectSchemaStmt", "AlterOperatorStmt", "operator_def_list",
"operator_def_elem", "operator_def_arg", "AlterTypeStmt",
"AlterOwnerStmt", "CreatePublicationStmt", "PublicationObjSpec",
"pub_obj_list", "AlterPublicationStmt", "CreateSubscriptionStmt",
"AlterSubscriptionStmt", "DropSubscriptionStmt", "RuleStmt",
"RuleActionList", "RuleActionMulti", "RuleActionStmt",
"RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
"notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
"TransactionStmtLegacy", "opt_transaction", "transaction_mode_item",
"transaction_mode_list", "transaction_mode_list_or_empty",
"opt_transaction_chain", "ViewStmt", "opt_check_option", "LoadStmt",
"CreatedbStmt", "createdb_opt_list", "createdb_opt_items",
"createdb_opt_item", "createdb_opt_name", "opt_equal",
"AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
"drop_option_list", "drop_option", "AlterCollationStmt",
"AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
"AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with",
"CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
"VacuumStmt", "AnalyzeStmt", "utility_option_list", "analyze_keyword",
"utility_option_elem", "utility_option_name", "utility_option_arg",
"opt_analyze", "opt_verbose", "opt_full", "opt_freeze", "opt_name_list",
"vacuum_relation", "vacuum_relation_list", "opt_vacuum_relation_list",
"ExplainStmt", "ExplainableStmt", "PrepareStmt", "prep_type_clause",
"PreparableStmt", "ExecuteStmt", "execute_param_clause",
"DeallocateStmt", "InsertStmt", "insert_target", "insert_rest",
"override_kind", "insert_column_list", "insert_column_item",
"opt_on_conflict", "opt_conf_expr", "returning_clause",
"returning_with_clause", "returning_options", "returning_option",
"returning_option_kind", "DeleteStmt", "using_clause", "LockStmt",
"opt_lock", "lock_type", "opt_nowait", "opt_nowait_or_skip",
"UpdateStmt", "set_clause_list", "set_clause", "set_target",
"set_target_list", "MergeStmt", "merge_when_list", "merge_when_clause",
"merge_when_tgt_matched", "merge_when_tgt_not_matched",
"opt_merge_when_condition", "merge_update", "merge_delete",
"merge_insert", "merge_values_clause", "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_materialized", "opt_search_clause", "opt_cycle_clause",
"opt_with_clause", "into_clause", "OptTempTableName", "opt_table",
"set_quantifier", "distinct_clause", "opt_all_clause",
"opt_distinct_clause", "opt_sort_clause", "sort_clause", "sortby_list",
"sortby", "select_limit", "opt_select_limit", "limit_clause",
"offset_clause", "select_limit_value", "select_offset_value",
"select_fetch_first_value", "I_or_F_const", "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", "opt_alias_clause_for_join_using",
"func_alias_clause", "join_type", "opt_outer", "join_qual",
"relation_expr", "extended_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",
"xmltable", "xmltable_column_list", "xmltable_column_el",
"xmltable_column_option_list", "xmltable_column_option_el",
"xml_namespace_list", "xml_namespace_el", "json_table",
"json_table_path_name_opt", "json_table_column_definition_list",
"json_table_column_definition", "path_opt",
"json_table_column_path_clause_opt", "Typename", "opt_array_bounds",
"SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers",
"Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength",
"BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength",
"CharacterWithoutLength", "character", "opt_varying", "ConstDatetime",
"ConstInterval", "opt_timezone", "opt_interval", "interval_second",
"JsonType", "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_indent_option", "xml_whitespace_option", "xmlexists_argument",
"xml_passing_mech", "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", "opt_window_exclusion_clause", "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",
"func_arg_list_opt", "type_list", "array_expr", "array_expr_list",
"extract_list", "extract_arg", "unicode_normal_form", "overlay_list",
"position_list", "substr_list", "trim_list", "case_expr",
"when_clause_list", "when_clause", "case_default", "case_arg",
"columnref", "indirection_el", "opt_slice_bound", "indirection",
"opt_indirection", "opt_asymmetric", "json_passing_clause_opt",
"json_arguments", "json_argument", "json_wrapper_behavior",
"json_behavior", "json_behavior_type", "json_behavior_clause_opt",
"json_on_error_clause_opt", "json_value_expr", "json_format_clause",
"json_format_clause_opt", "json_quotes_clause_opt",
"json_returning_clause_opt", "json_predicate_type_constraint",
"json_key_uniqueness_constraint_opt", "json_name_and_value_list",
"json_name_and_value", "json_object_constructor_null_clause_opt",
"json_array_constructor_null_clause_opt", "json_value_expr_list",
"json_aggregate_func", "json_array_aggregate_order_by_clause_opt",
"opt_target_list", "target_list", "target_el", "qualified_name_list",
"qualified_name", "name_list", "name", "attr_name", "file_name",
"func_name", "AexprConst", "Iconst", "Sconst", "SignedIconst", "RoleId",
"RoleSpec", "role_list", "PLpgSQL_Expr", "PLAssignStmt",
"plassign_target", "plassign_equals", "ColId", "type_function_name",
"NonReservedWord", "ColLabel", "BareColLabel", "unreserved_keyword",
"col_name_keyword", "type_func_name_keyword", "reserved_keyword",
"bare_label_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, 692, 693, 694,
695, 696, 697, 698, 699, 700, 701, 702, 703, 704,
705, 706, 707, 708, 709, 710, 711, 712, 713, 714,
715, 716, 717, 718, 719, 720, 721, 722, 723, 724,
725, 726, 727, 728, 729, 730, 731, 732, 733, 734,
735, 736, 737, 738, 739, 740, 741, 742, 743, 744,
745, 746, 747, 748, 749, 750, 751, 752, 753, 754,
755, 756, 757, 758, 759, 760, 761, 762, 763, 764,
765, 766, 767, 768, 769, 770, 771, 772, 773, 774,
775, 776, 777, 778, 779, 780, 60, 62, 61, 43,
45, 42, 47, 37, 94, 781, 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, 544, 545, 545, 545, 545, 545, 545, 546, 546,
547, 547, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 548, 548, 548,
548, 548, 548, 548, 548, 548, 548, 549, 549, 550,
550, 551, 551, 552, 552, 552, 553, 554, 555, 555,
555, 556, 556, 557, 557, 558, 558, 558, 558, 558,
558, 558, 558, 558, 558, 558, 559, 559, 559, 559,
559, 559, 560, 561, 561, 562, 562, 563, 563, 563,
563, 564, 564, 564, 564, 564, 564, 565, 566, 567,
567, 568, 568, 568, 568, 569, 569, 570, 570, 570,
570, 570, 570, 571, 571, 571, 572, 572, 572, 573,
573, 573, 573, 574, 574, 574, 574, 574, 574, 574,
574, 574, 574, 574, 574, 574, 574, 575, 575, 576,
576, 577, 577, 577, 578, 578, 578, 578, 579, 579,
579, 579, 580, 580, 580, 580, 580, 580, 580, 580,
581, 581, 581, 582, 582, 583, 584, 584, 584, 584,
585, 585, 586, 586, 587, 587, 588, 588, 588, 588,
588, 589, 590, 590, 591, 591, 592, 593, 593, 593,
593, 593, 594, 594, 594, 594, 594, 594, 594, 594,
594, 594, 594, 594, 594, 594, 594, 594, 594, 594,
594, 594, 594, 595, 595, 596, 596, 596, 597, 598,
598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
598, 598, 598, 598, 598, 598, 598, 598, 598, 598,
598, 599, 599, 600, 600, 601, 601, 602, 602, 602,
602, 603, 604, 604, 605, 605, 606, 606, 606, 606,
607, 607, 608, 608, 608, 608, 609, 609, 610, 610,
611, 611, 611, 611, 612, 613, 613, 614, 615, 615,
616, 616, 616, 616, 617, 617, 618, 618, 619, 619,
620, 620, 621, 621, 621, 622, 622, 623, 623, 624,
624, 624, 624, 624, 624, 624, 624, 624, 624, 624,
624, 624, 624, 624, 625, 625, 626, 626, 627, 627,
628, 628, 629, 630, 630, 630, 630, 630, 630, 631,
631, 632, 633, 633, 633, 633, 633, 633, 634, 634,
634, 634, 634, 634, 634, 634, 635, 635, 636, 636,
637, 637, 638, 638, 639, 639, 639, 640, 640, 641,
642, 642, 643, 643, 644, 644, 645, 645, 646, 646,
647, 647, 648, 648, 648, 648, 649, 649, 649, 649,
649, 649, 649, 649, 649, 650, 650, 650, 651, 651,
652, 652, 652, 653, 653, 653, 653, 653, 653, 654,
655, 655, 655, 656, 656, 656, 656, 656, 656, 656,
656, 656, 656, 657, 657, 658, 658, 658, 658, 658,
658, 658, 658, 659, 659, 660, 660, 661, 661, 662,
662, 663, 663, 664, 664, 665, 665, 666, 666, 667,
668, 668, 669, 669, 669, 669, 670, 670, 671, 671,
672, 672, 673, 673, 673, 673, 673, 674, 675, 676,
676, 676, 676, 676, 677, 677, 678, 678, 679, 680,
680, 681, 681, 681, 682, 682, 683, 683, 683, 684,
684, 684, 684, 685, 685, 686, 686, 687, 688, 688,
689, 689, 690, 690, 690, 691, 691, 692, 692, 693,
694, 694, 694, 695, 695, 696, 697, 697, 698, 699,
699, 700, 700, 701, 701, 702, 702, 703, 703, 704,
704, 704, 704, 704, 704, 704, 704, 704, 704, 704,
704, 704, 704, 704, 704, 705, 705, 706, 706, 706,
706, 707, 707, 708, 708, 709, 709, 710, 710, 711,
711, 712, 712, 713, 713, 714, 714, 715, 716, 716,
717, 717, 718, 718, 719, 719, 720, 720, 720, 720,
721, 722, 722, 723, 724, 724, 724, 724, 724, 724,
724, 724, 724, 724, 724, 724, 724, 725, 726, 726,
726, 726, 727, 727, 728, 728, 729, 729, 730, 730,
731, 731, 732, 733, 733, 734, 734, 734, 734, 735,
736, 737, 738, 738, 739, 739, 740, 740, 741, 741,
742, 742, 742, 743, 743, 743, 743, 744, 745, 745,
746, 746, 747, 747, 748, 748, 749, 749, 750, 751,
752, 753, 753, 754, 754, 755, 755, 756, 756, 757,
757, 758, 758, 759, 759, 759, 759, 759, 760, 761,
761, 762, 762, 763, 763, 763, 764, 764, 765, 765,
765, 765, 765, 766, 766, 767, 767, 768, 769, 769,
770, 770, 771, 772, 772, 773, 773, 774, 774, 775,
775, 776, 776, 777, 777, 777, 778, 778, 778, 778,
779, 779, 780, 780, 781, 781, 781, 781, 781, 781,
781, 781, 782, 782, 783, 783, 784, 785, 785, 786,
787, 787, 787, 787, 788, 789, 789, 789, 789, 789,
789, 789, 789, 789, 789, 789, 789, 789, 789, 789,
789, 790, 791, 791, 792, 792, 793, 793, 793, 793,
793, 793, 794, 795, 795, 796, 797, 797, 798, 798,
799, 799, 799, 799, 799, 800, 800, 801, 802, 802,
803, 803, 803, 803, 803, 804, 804, 805, 805, 806,
806, 806, 807, 808, 808, 809, 809, 810, 810, 811,
811, 812, 812, 813, 814, 815, 815, 815, 815, 815,
815, 815, 815, 815, 815, 815, 815, 816, 816, 816,
816, 816, 816, 816, 816, 816, 816, 816, 816, 816,
817, 817, 817, 817, 817, 818, 818, 818, 818, 818,
818, 818, 818, 819, 819, 819, 820, 820, 821, 821,
822, 822, 823, 823, 824, 825, 825, 825, 826, 826,
826, 826, 826, 826, 826, 826, 826, 826, 826, 826,
826, 826, 826, 826, 826, 826, 827, 827, 828, 828,
828, 828, 828, 828, 828, 828, 828, 828, 829, 829,
830, 830, 831, 831, 832, 832, 832, 832, 832, 832,
832, 832, 832, 832, 832, 832, 832, 832, 832, 832,
833, 833, 834, 834, 835, 836, 836, 837, 837, 837,
837, 837, 838, 838, 839, 839, 839, 839, 839, 840,
840, 841, 841, 842, 842, 842, 842, 842, 842, 842,
842, 842, 842, 842, 842, 842, 842, 842, 842, 842,
842, 842, 842, 842, 843, 843, 844, 844, 845, 845,
846, 846, 847, 847, 848, 848, 849, 850, 850, 850,
851, 851, 852, 853, 853, 854, 854, 854, 855, 855,
855, 856, 856, 856, 856, 856, 856, 856, 857, 857,
858, 858, 859, 859, 860, 860, 861, 861, 862, 862,
862, 863, 863, 864, 864, 865, 865, 866, 866, 866,
867, 867, 867, 868, 868, 868, 868, 869, 869, 870,
870, 871, 871, 872, 872, 873, 873, 873, 873, 874,
874, 875, 875, 876, 876, 876, 876, 876, 877, 877,
877, 877, 877, 878, 879, 880, 880, 880, 881, 881,
881, 882, 883, 883, 883, 883, 884, 884, 885, 886,
886, 887, 887, 888, 888, 889, 889, 889, 889, 889,
889, 889, 889, 889, 889, 889, 889, 889, 889, 889,
889, 889, 890, 890, 890, 890, 890, 891, 891, 892,
893, 893, 893, 894, 894, 895, 895, 896, 896, 897,
897, 898, 899, 899, 900, 900, 900, 901, 901, 902,
902, 903, 903, 903, 903, 903, 903, 904, 904, 905,
905, 906, 906, 906, 906, 907, 907, 908, 908, 909,
910, 911, 911, 912, 912, 913, 913, 913, 914, 914,
914, 915, 916, 916, 917, 918, 918, 918, 918, 919,
920, 920, 920, 921, 921, 922, 922, 923, 923, 924,
924, 925, 925, 925, 925, 925, 925, 925, 925, 925,
925, 925, 925, 925, 925, 925, 925, 925, 925, 925,
925, 925, 925, 925, 925, 925, 925, 925, 925, 925,
925, 925, 925, 925, 925, 925, 925, 925, 925, 925,
925, 925, 925, 925, 925, 925, 925, 925, 925, 925,
925, 925, 925, 925, 925, 925, 926, 926, 927, 927,
928, 928, 928, 928, 928, 928, 929, 929, 930, 930,
930, 930, 930, 930, 930, 930, 930, 930, 930, 930,
930, 930, 930, 930, 930, 930, 930, 930, 930, 930,
930, 930, 930, 930, 930, 931, 932, 932, 933, 933,
933, 934, 934, 934, 934, 934, 935, 936, 936, 936,
936, 936, 936, 936, 936, 936, 936, 936, 936, 936,
936, 936, 936, 936, 936, 936, 936, 936, 936, 936,
936, 937, 937, 937, 938, 938, 938, 938, 938, 938,
938, 939, 939, 940, 940, 940, 940, 941, 942, 942,
942, 942, 942, 942, 942, 942, 942, 943, 943, 944,
945, 945, 945, 946, 946, 947, 947, 947, 947, 947,
948, 948, 949, 949, 949, 949, 950, 950, 950, 951,
952, 952, 953, 954, 954, 955, 955, 955, 955, 955,
955, 955, 955, 955, 955, 955, 955, 956, 956, 957,
957, 957, 958, 958, 958, 958, 958, 959, 959, 959,
960, 960, 961, 961, 961, 962, 962, 962, 962, 963,
963, 963, 963, 964, 965, 966, 966, 967, 967, 968,
968, 968, 969, 969, 969, 969, 969, 969, 969, 970,
970, 971, 971, 971, 971, 972, 973, 973, 973, 973,
974, 974, 975, 976, 977, 977, 978, 979, 979, 979,
979, 979, 979, 979, 980, 980, 981, 982, 982, 982,
982, 982, 982, 983, 983, 984, 985, 985, 985, 985,
985, 986, 986, 987, 987, 988, 988, 989, 989, 990,
990, 991, 992, 992, 992, 993, 993, 993, 994, 994,
995, 995, 996, 996, 997, 997, 998, 998, 999, 1000,
1000, 1001, 1001, 1002, 1002, 1002, 1002, 1003, 1003, 1003,
1003, 1003, 1003, 1003, 1003, 1003, 1003, 1004, 1005, 1005,
1006, 1006, 1006, 1006, 1006, 1007, 1007, 1007, 1008, 1008,
1009, 1009, 1009, 1009, 1010, 1011, 1011, 1012, 1012, 1012,
1012, 1012, 1013, 1013, 1014, 1014, 1015, 1016, 1016, 1016,
1017, 1017, 1017, 1018, 1018, 1019, 1019, 1020, 1020, 1021,
1022, 1022, 1023, 1024, 1024, 1025, 1026, 1026, 1027, 1027,
1027, 1027, 1027, 1027, 1027, 1027, 1028, 1028, 1029, 1029,
1029, 1030, 1031, 1031, 1032, 1032, 1033, 1034, 1034, 1035,
1036, 1036, 1037, 1037, 1037, 1037, 1037, 1038, 1038, 1039,
1039, 1040, 1040, 1041, 1042, 1043, 1043, 1043, 1043, 1043,
1044, 1045, 1046, 1047, 1047, 1047, 1047, 1047, 1047, 1048,
1048, 1048, 1049, 1049, 1050, 1050, 1051, 1051, 1051, 1051,
1051, 1051, 1051, 1051, 1052, 1052, 1053, 1053, 1053, 1053,
1053, 1053, 1053, 1054, 1054, 1054, 1055, 1055, 1056, 1057,
1057, 1057, 1058, 1058, 1058, 1059, 1059, 1059, 1060, 1060,
1061, 1061, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
1062, 1063, 1063, 1064, 1064, 1064, 1065, 1065, 1066, 1066,
1067, 1067, 1068, 1068, 1069, 1070, 1070, 1071, 1071, 1072,
1072, 1072, 1072, 1073, 1073, 1074, 1074, 1074, 1074, 1074,
1074, 1075, 1075, 1076, 1076, 1077, 1078, 1078, 1078, 1079,
1079, 1080, 1080, 1081, 1081, 1082, 1082, 1083, 1083, 1084,
1084, 1084, 1084, 1084, 1085, 1086, 1087, 1088, 1089, 1089,
1090, 1090, 1091, 1091, 1092, 1092, 1093, 1094, 1094, 1094,
1094, 1095, 1095, 1096, 1096, 1097, 1097, 1098, 1098, 1099,
1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
1099, 1100, 1100, 1100, 1100, 1100, 1100, 1101, 1101, 1101,
1101, 1102, 1102, 1103, 1103, 1104, 1104, 1104, 1104, 1104,
1105, 1105, 1105, 1105, 1106, 1106, 1107, 1107, 1108, 1108,
1109, 1109, 1109, 1110, 1110, 1111, 1111, 1111, 1112, 1113,
1113, 1114, 1114, 1115, 1116, 1116, 1117, 1117, 1118, 1118,
1119, 1119, 1120, 1120, 1120, 1121, 1121, 1122, 1122, 1123,
1124, 1124, 1125, 1125, 1126, 1126, 1126, 1127, 1127, 1128,
1128, 1128, 1128, 1128, 1129, 1129, 1130, 1130, 1131, 1132,
1132, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1135,
1135, 1136, 1136, 1137, 1137, 1137, 1137, 1137, 1137, 1138,
1138, 1138, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139,
1140, 1140, 1140, 1140, 1140, 1141, 1141, 1142, 1142, 1143,
1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143,
1144, 1144, 1145, 1145, 1146, 1146, 1147, 1148, 1149, 1149,
1150, 1150, 1151, 1152, 1153, 1153, 1153, 1153, 1153, 1153,
1154, 1154, 1155, 1155, 1155, 1155, 1156, 1157, 1157, 1157,
1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
1158, 1158, 1158, 1158, 1159, 1159, 1160, 1161, 1161, 1161,
1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
1161, 1161, 1161, 1161, 1161, 1161, 1161, 1162, 1162, 1162,
1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1163,
1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
1163, 1163, 1163, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1165, 1165, 1165, 1166, 1166, 1166, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1168, 1168, 1169, 1169,
1169, 1169, 1170, 1171, 1171, 1172, 1172, 1173, 1173, 1174,
1174, 1174, 1175, 1175, 1175, 1176, 1176, 1176, 1176, 1177,
1177, 1178, 1178, 1179, 1179, 1180, 1180, 1181, 1181, 1182,
1183, 1183, 1183, 1184, 1185, 1185, 1186, 1186, 1187, 1187,
1187, 1187, 1188, 1188, 1189, 1189, 1189, 1189, 1189, 1190,
1190, 1190, 1190, 1190, 1191, 1191, 1191, 1192, 1192, 1193,
1194, 1194, 1194, 1195, 1195, 1196, 1196, 1196, 1196, 1196,
1196, 1196, 1196, 1196, 1196, 1196, 1196, 1197, 1197, 1198,
1198, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1201,
1201, 1202, 1202, 1202, 1203, 1203, 1204, 1204, 1205, 1205,
1205, 1206, 1206, 1207, 1207, 1208, 1208, 1208, 1208, 1208,
1208, 1208, 1208, 1209, 1209, 1209, 1209, 1210, 1210, 1211,
1212, 1212, 1212, 1212, 1212, 1213, 1213, 1213, 1214, 1215,
1215, 1216, 1217, 1217, 1218, 1218, 1219, 1219, 1220, 1220,
1220, 1220, 1221, 1221, 1222, 1222, 1223, 1223, 1224, 1224,
1225, 1225, 1226, 1226, 1227, 1228, 1228, 1228, 1228, 1228,
1228, 1228, 1228, 1228, 1229, 1229, 1230, 1230, 1230, 1230,
1230, 1230, 1230, 1230, 1231, 1231, 1231, 1231, 1232, 1232,
1233, 1234, 1234, 1235, 1235, 1236, 1236, 1236, 1236, 1236,
1237, 1237, 1238, 1238, 1238, 1238, 1238, 1239, 1239, 1239,
1239, 1239, 1240, 1240, 1241, 1241, 1242, 1242, 1242, 1243,
1243, 1243, 1244, 1244, 1245, 1245, 1246, 1246, 1247, 1247,
1248, 1248, 1249, 1249, 1249, 1249, 1250, 1250, 1251, 1251,
1252, 1252, 1253, 1254, 1255, 1256, 1256, 1257, 1257, 1257,
1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
1257, 1257, 1257, 1257, 1257, 1258, 1259, 1260, 1260, 1260,
1261, 1262, 1262, 1262, 1262, 1263, 1263, 1264, 1265, 1266,
1266, 1267, 1267, 1268, 1268, 1268, 1269, 1269, 1269, 1270,
1270, 1270, 1270, 1271, 1271, 1271, 1271, 1271, 1272, 1272,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273,
1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274,
1274, 1274, 1274, 1275, 1275, 1275, 1275, 1275, 1275, 1275,
1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275, 1275,
1275, 1275, 1275, 1275, 1275, 1275, 1276, 1276, 1276, 1276,
1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276,
1276, 1276, 1276, 1276, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277,
1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
0, 2, 1, 2, 2, 2, 2, 2, 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, 0, 1, 0, 1,
0, 1, 0, 1, 1, 0, 2, 5, 1, 1,
0, 2, 0, 2, 0, 2, 2, 2, 3, 3,
3, 1, 3, 3, 2, 1, 1, 2, 2, 2,
3, 3, 5, 5, 5, 0, 3, 5, 5, 5,
5, 3, 5, 3, 5, 3, 5, 5, 6, 1,
1, 6, 4, 9, 7, 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,
2, 2, 3, 3, 3, 3, 3, 1, 3, 1,
3, 1, 1, 1, 2, 2, 2, 1, 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, 4, 6, 10, 13, 4, 6,
4, 10, 13, 4, 6, 4, 6, 5, 7, 11,
14, 5, 7, 1, 3, 4, 4, 4, 3, 2,
5, 3, 6, 4, 6, 6, 9, 5, 7, 6,
6, 5, 5, 5, 5, 9, 4, 5, 7, 6,
4, 8, 4, 2, 4, 4, 3, 6, 4, 3,
3, 3, 2, 2, 3, 4, 4, 3, 3, 3,
3, 3, 3, 4, 4, 3, 2, 3, 2, 2,
3, 4, 3, 2, 2, 3, 4, 4, 4, 5,
1, 3, 2, 2, 0, 2, 0, 1, 1, 1,
3, 3, 2, 0, 1, 3, 3, 1, 5, 3,
1, 2, 1, 3, 2, 3, 1, 1, 1, 1,
6, 6, 10, 1, 2, 1, 3, 4, 1, 3,
4, 6, 4, 8, 2, 2, 11, 9, 1, 1,
1, 0, 1, 1, 1, 1, 3, 2, 0, 1,
1, 3, 3, 1, 1, 3, 3, 3, 3, 4,
4, 3, 3, 2, 1, 0, 3, 0, 1, 0,
1, 3, 2, 1, 1, 1, 1, 3, 0, 1,
3, 1, 13, 16, 12, 15, 14, 17, 1, 1,
2, 2, 2, 2, 1, 0, 1, 0, 3, 0,
1, 3, 1, 3, 1, 1, 1, 1, 1, 6,
2, 4, 2, 2, 1, 0, 2, 2, 1, 0,
2, 0, 3, 1, 1, 2, 3, 1, 4, 4,
5, 2, 5, 7, 5, 2, 3, 0, 1, 2,
1, 1, 0, 1, 2, 2, 2, 1, 2, 3,
3, 3, 0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 3, 1, 5, 4, 10, 3, 10,
4, 10, 12, 3, 1, 5, 3, 2, 0, 2,
0, 3, 0, 1, 3, 3, 0, 4, 0, 1,
4, 0, 2, 2, 2, 0, 1, 3, 3, 6,
4, 0, 1, 1, 2, 2, 0, 3, 3, 2,
1, 1, 3, 3, 4, 0, 1, 0, 6, 1,
3, 3, 3, 5, 2, 0, 2, 2, 0, 3,
4, 4, 0, 2, 0, 4, 0, 3, 8, 11,
1, 3, 1, 1, 3, 6, 8, 7, 10, 6,
2, 3, 0, 8, 11, 5, 1, 0, 6, 5,
8, 4, 6, 1, 0, 3, 0, 1, 2, 2,
2, 1, 2, 3, 1, 2, 2, 2, 2, 3,
3, 3, 1, 3, 1, 1, 0, 1, 2, 2,
1, 1, 3, 6, 10, 1, 0, 1, 2, 2,
0, 2, 2, 1, 0, 1, 0, 7, 2, 0,
3, 5, 5, 8, 2, 0, 2, 2, 2, 1,
5, 2, 0, 2, 6, 6, 6, 10, 6, 6,
6, 9, 9, 6, 6, 9, 6, 7, 2, 2,
2, 2, 1, 2, 1, 0, 7, 6, 4, 0,
1, 3, 4, 1, 3, 1, 2, 2, 2, 2,
1, 1, 10, 13, 2, 0, 2, 2, 1, 0,
5, 4, 4, 11, 14, 12, 15, 11, 2, 1,
4, 0, 8, 11, 1, 1, 7, 9, 8, 10,
8, 4, 0, 5, 0, 2, 0, 2, 0, 2,
0, 2, 0, 1, 1, 1, 1, 1, 8, 1,
1, 17, 21, 1, 1, 2, 1, 3, 1, 1,
1, 3, 1, 2, 0, 1, 2, 4, 1, 1,
1, 1, 1, 3, 0, 1, 0, 1, 1, 4,
0, 1, 1, 1, 3, 0, 1, 1, 1, 1,
2, 0, 0, 2, 2, 1, 2, 2, 2, 2,
2, 1, 11, 13, 1, 3, 5, 1, 3, 5,
1, 2, 2, 1, 8, 6, 5, 4, 4, 3,
7, 8, 6, 6, 6, 6, 6, 4, 7, 5,
8, 3, 1, 3, 3, 1, 1, 1, 1, 1,
1, 1, 3, 1, 3, 3, 1, 0, 1, 3,
7, 9, 9, 8, 6, 3, 0, 13, 1, 3,
4, 4, 3, 6, 2, 1, 0, 2, 0, 2,
4, 0, 6, 8, 8, 1, 3, 5, 5, 7,
9, 7, 9, 5, 6, 6, 4, 6, 4, 6,
8, 4, 6, 4, 6, 5, 7, 1, 1, 1,
2, 1, 2, 1, 1, 1, 3, 3, 3, 3,
1, 1, 1, 1, 1, 2, 2, 1, 3, 2,
1, 1, 1, 1, 1, 1, 1, 3, 1, 2,
2, 3, 1, 3, 5, 2, 2, 0, 6, 6,
6, 6, 6, 6, 6, 6, 8, 9, 8, 6,
6, 9, 9, 9, 7, 10, 1, 1, 8, 8,
8, 8, 8, 8, 8, 9, 8, 8, 2, 0,
1, 1, 2, 2, 1, 2, 3, 3, 3, 3,
4, 4, 3, 3, 3, 4, 4, 3, 4, 4,
1, 1, 1, 0, 8, 8, 11, 1, 1, 2,
4, 5, 1, 3, 2, 2, 2, 2, 2, 1,
3, 1, 3, 1, 2, 2, 4, 3, 2, 2,
2, 2, 2, 2, 3, 2, 2, 2, 2, 5,
5, 5, 5, 5, 1, 3, 1, 2, 3, 0,
5, 7, 6, 9, 3, 1, 2, 1, 1, 1,
3, 0, 5, 2, 0, 3, 3, 3, 7, 7,
10, 1, 1, 1, 1, 1, 1, 2, 16, 19,
1, 0, 2, 0, 1, 3, 4, 5, 2, 2,
4, 4, 0, 1, 3, 2, 0, 1, 1, 0,
2, 2, 0, 9, 12, 7, 7, 2, 0, 3,
2, 1, 3, 1, 3, 2, 1, 1, 2, 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, 2, 1,
3, 1, 0, 1, 2, 4, 5, 1, 1, 1,
1, 3, 3, 2, 2, 1, 2, 2, 2, 2,
1, 2, 2, 2, 2, 1, 1, 1, 3, 2,
1, 4, 0, 3, 0, 1, 1, 3, 5, 2,
0, 2, 1, 3, 5, 5, 5, 1, 2, 1,
0, 4, 6, 4, 6, 4, 6, 4, 6, 4,
6, 3, 5, 5, 5, 1, 3, 1, 3, 2,
2, 1, 2, 1, 2, 11, 10, 10, 2, 2,
0, 9, 2, 0, 10, 11, 11, 5, 5, 8,
5, 5, 5, 1, 1, 1, 1, 3, 0, 5,
5, 6, 6, 6, 6, 6, 8, 8, 6, 6,
7, 9, 9, 8, 10, 6, 6, 6, 6, 6,
6, 6, 8, 6, 8, 6, 8, 7, 9, 6,
8, 7, 9, 8, 10, 8, 10, 9, 11, 8,
10, 9, 11, 8, 8, 7, 6, 6, 6, 6,
8, 8, 8, 8, 6, 9, 1, 0, 2, 0,
8, 8, 8, 10, 9, 8, 1, 0, 6, 6,
6, 6, 6, 6, 6, 9, 9, 6, 6, 6,
8, 6, 8, 8, 8, 8, 6, 8, 6, 8,
7, 9, 7, 9, 6, 7, 1, 3, 3, 3,
1, 1, 1, 1, 1, 1, 7, 6, 6, 6,
6, 6, 6, 7, 7, 6, 9, 9, 6, 6,
6, 6, 6, 6, 8, 8, 8, 6, 7, 6,
6, 4, 7, 6, 4, 4, 4, 3, 4, 3,
1, 1, 3, 5, 5, 5, 5, 8, 5, 5,
6, 7, 7, 7, 4, 4, 5, 4, 6, 13,
1, 1, 3, 3, 1, 1, 1, 1, 1, 1,
1, 0, 1, 1, 1, 1, 1, 1, 0, 3,
2, 0, 2, 2, 2, 3, 3, 3, 3, 2,
3, 2, 5, 4, 3, 3, 3, 3, 3, 1,
1, 0, 3, 2, 2, 1, 2, 1, 3, 2,
1, 0, 2, 3, 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, 6, 4, 3, 5, 7, 9,
1, 3, 1, 5, 4, 4, 6, 4, 6, 6,
5, 7, 9, 6, 1, 0, 6, 11, 11, 11,
13, 9, 11, 1, 1, 10, 6, 4, 4, 2,
5, 2, 0, 6, 5, 3, 5, 1, 3, 1,
1, 2, 1, 1, 1, 1, 1, 0, 1, 0,
1, 0, 1, 0, 1, 0, 3, 0, 2, 1,
3, 1, 0, 2, 4, 3, 5, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 5, 3, 0,
1, 1, 1, 1, 1, 3, 9, 12, 3, 0,
2, 3, 2, 3, 7, 1, 3, 1, 4, 4,
7, 2, 1, 1, 1, 3, 2, 8, 5, 0,
4, 3, 0, 3, 0, 4, 0, 1, 3, 3,
1, 1, 7, 2, 0, 5, 3, 0, 2, 2,
2, 3, 1, 3, 1, 2, 1, 0, 1, 2,
0, 8, 1, 3, 3, 5, 2, 1, 3, 10,
1, 2, 4, 4, 4, 5, 5, 2, 5, 3,
5, 2, 0, 3, 1, 2, 5, 5, 8, 3,
4, 7, 1, 0, 3, 2, 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, 9, 1,
2, 0, 7, 7, 0, 10, 6, 0, 1, 0,
2, 0, 3, 3, 4, 4, 4, 4, 3, 2,
1, 1, 0, 1, 1, 0, 1, 5, 1, 0,
1, 1, 1, 0, 3, 1, 3, 4, 3, 2,
2, 1, 1, 1, 0, 2, 4, 5, 6, 4,
5, 2, 3, 1, 1, 1, 1, 2, 2, 1,
1, 1, 1, 1, 1, 4, 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, 4, 5, 2, 0, 1, 3, 2,
3, 2, 3, 2, 3, 2, 3, 1, 4, 2,
3, 3, 4, 5, 4, 5, 4, 5, 2, 4,
1, 1, 0, 2, 0, 1, 4, 5, 4, 0,
2, 2, 2, 1, 1, 0, 5, 2, 1, 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,
7, 12, 1, 3, 2, 3, 3, 1, 2, 2,
2, 2, 1, 2, 1, 3, 3, 2, 13, 2,
0, 1, 3, 3, 6, 7, 5, 7, 9, 1,
0, 2, 0, 2, 3, 5, 6, 2, 3, 3,
4, 0, 1, 1, 1, 1, 1, 2, 4, 1,
1, 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, 4, 1, 2, 2, 1, 3, 3, 2,
1, 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, 1, 3, 3,
5, 3, 2, 2, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 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, 3, 5, 4, 6, 4, 6, 3, 3, 4,
3, 4, 4, 5, 4, 5, 1, 1, 3, 2,
2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 2, 5, 6, 3, 4, 1,
1, 2, 4, 1, 1, 1, 2, 2, 2, 2,
1, 1, 4, 3, 5, 6, 8, 6, 6, 4,
4, 3, 1, 1, 1, 1, 5, 1, 1, 4,
1, 4, 1, 4, 1, 4, 1, 1, 1, 1,
1, 1, 1, 6, 4, 4, 6, 4, 4, 4,
4, 4, 6, 5, 5, 5, 4, 6, 4, 4,
4, 4, 5, 7, 7, 9, 5, 4, 6, 5,
7, 7, 8, 4, 7, 4, 6, 6, 4, 5,
4, 5, 3, 11, 8, 9, 2, 3, 3, 3,
4, 0, 4, 1, 3, 3, 1, 1, 1, 1,
2, 0, 2, 2, 0, 2, 3, 3, 4, 2,
2, 5, 0, 5, 0, 2, 0, 1, 3, 3,
2, 2, 0, 6, 1, 0, 3, 0, 3, 3,
3, 0, 1, 4, 2, 2, 2, 2, 2, 3,
2, 2, 3, 0, 4, 3, 5, 4, 3, 5,
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, 0, 1, 3, 3, 3,
2, 1, 3, 3, 3, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 7, 5, 3,
5, 5, 3, 3, 5, 3, 2, 1, 5, 1,
2, 4, 2, 0, 1, 0, 1, 2, 2, 2,
3, 5, 1, 0, 1, 2, 0, 2, 1, 0,
2, 0, 1, 3, 3, 2, 3, 2, 3, 4,
4, 3, 3, 0, 2, 1, 1, 1, 1, 1,
1, 2, 2, 1, 3, 3, 6, 0, 3, 0,
2, 4, 2, 1, 0, 5, 2, 5, 2, 0,
3, 0, 1, 2, 2, 2, 2, 3, 2, 3,
2, 0, 1, 3, 3, 3, 3, 3, 0, 3,
3, 0, 1, 3, 7, 7, 3, 0, 1, 0,
1, 3, 3, 2, 1, 1, 1, 3, 1, 2,
1, 3, 1, 1, 1, 1, 2, 1, 1, 1,
1, 1, 2, 6, 2, 6, 2, 3, 5, 2,
3, 5, 1, 1, 1, 1, 1, 1, 2, 2,
1, 1, 1, 1, 1, 1, 3, 10, 4, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 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[] =
{
1749, 1481, 686, 1570, 1569, 1481, 0, 276, 0, 1581,
0, 1481, 445, 1138, 0, 0, 0, 0, 686, 1481,
0, 1749, 0, 0, 0, 0, 0, 1762, 0, 0,
0, 0, 0, 1278, 0, 0, 0, 1481, 0, 0,
1769, 0, 0, 0, 0, 1762, 0, 1583, 0, 0,
0, 0, 1769, 0, 0, 0, 0, 0, 2, 9,
10, 45, 80, 81, 38, 37, 98, 63, 24, 71,
133, 132, 134, 50, 46, 88, 33, 35, 47, 51,
73, 75, 40, 53, 64, 110, 72, 31, 70, 76,
96, 58, 19, 20, 59, 21, 60, 22, 61, 106,
82, 99, 43, 69, 30, 52, 78, 79, 12, 54,
86, 18, 65, 66, 68, 91, 92, 93, 116, 94,
128, 49, 125, 103, 104, 122, 105, 123, 16, 107,
62, 23, 119, 118, 120, 89, 55, 90, 77, 97,
117, 34, 121, 25, 26, 28, 29, 27, 67, 36,
74, 39, 95, 124, 114, 109, 129, 127, 11, 135,
111, 83, 14, 15, 100, 13, 32, 57, 17, 42,
41, 56, 48, 131, 44, 1581, 102, 115, 101, 84,
108, 87, 112, 130, 113, 85, 126, 1713, 1712, 1773,
1716, 1748, 0, 1728, 1480, 1479, 1494, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 685, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1491, 2483, 2500, 2501, 2502, 2503, 2504,
2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514,
2516, 2515, 2517, 2518, 2893, 2519, 2520, 2521, 2830, 2831,
2894, 2832, 2833, 2522, 2523, 2524, 2525, 2526, 2527, 2528,
2529, 2530, 2834, 2835, 2531, 2532, 2533, 2534, 2535, 2836,
2895, 2536, 2537, 2538, 2539, 2540, 2541, 2896, 2542, 2543,
2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2897, 2552,
2553, 2554, 2898, 2555, 2556, 2557, 2558, 2559, 2560, 2837,
2838, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569,
2570, 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579,
2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589,
2590, 2591, 2839, 2592, 2593, 2594, 2595, 2840, 2596, 2597,
2598, 2599, 2841, 2600, 2601, 2602, 2603, 2899, 2900, 2604,
2605, 2606, 2607, 2608, 2842, 2843, 2609, 2610, 2611, 2612,
2613, 2614, 2615, 2901, 2616, 2617, 2618, 2619, 2620, 2621,
2622, 2623, 2624, 2625, 2626, 2627, 2628, 2902, 2844, 2629,
2630, 2631, 2632, 2845, 2846, 2847, 2633, 2903, 2904, 2634,
2905, 2848, 2849, 2850, 2851, 2852, 2853, 2854, 2855, 2856,
2857, 2858, 2635, 2636, 2637, 2638, 2639, 2640, 2641, 2642,
2859, 2906, 2643, 2907, 2644, 2645, 2646, 2647, 2648, 2649,
2650, 2651, 2652, 2653, 2654, 2655, 2656, 2860, 2657, 2658,
2659, 2660, 2661, 2662, 2663, 2664, 2861, 2908, 2862, 2665,
2666, 2667, 2668, 2669, 2670, 2671, 2672, 2863, 2864, 2673,
2674, 2675, 2909, 2676, 2865, 2677, 2866, 2678, 2679, 2680,
2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2689, 2867,
2910, 2690, 2911, 2868, 2691, 2692, 2693, 2694, 2695, 2696,
2697, 2698, 2699, 2700, 2701, 2702, 2703, 2704, 2705, 2869,
2706, 2870, 2709, 2707, 2708, 2710, 2711, 2712, 2713, 2714,
2715, 2716, 2717, 2718, 2719, 2720, 2871, 2721, 2722, 2723,
2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733,
2734, 2735, 2736, 2737, 2738, 2912, 2739, 2740, 2741, 2742,
2743, 2872, 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751,
2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2873,
2761, 2762, 2913, 2763, 2764, 2874, 2765, 2766, 2767, 2768,
2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, 2778,
2779, 2780, 2875, 2781, 2782, 2783, 2784, 2914, 2785, 2786,
2787, 2788, 2789, 2790, 2791, 2876, 2877, 2792, 2793, 2878,
2794, 2879, 2795, 2796, 2797, 2798, 2799, 2800, 2802, 2801,
2803, 2804, 2805, 2806, 2807, 2808, 2809, 2810, 2811, 2812,
2813, 2880, 2881, 2814, 2915, 2815, 2816, 2817, 2818, 2819,
2820, 2821, 2822, 2823, 2824, 2825, 2826, 2882, 2883, 2884,
2885, 2886, 2887, 2888, 2889, 2890, 2891, 2892, 2827, 2828,
2829, 146, 0, 0, 2445, 2484, 2485, 2488, 2483, 415,
414, 1702, 2442, 2484, 1580, 0, 1559, 686, 0, 1494,
444, 1749, 0, 0, 0, 0, 0, 0, 905, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 138, 0, 140, 0, 0, 469, 468, 0, 0,
1110, 474, 0, 0, 0, 0, 0, 676, 1622, 2707,
1620, 1703, 277, 280, 281, 278, 279, 2466, 0, 1250,
1251, 1253, 0, 0, 1263, 943, 944, 0, 0, 0,
957, 0, 0, 0, 941, 0, 0, 0, 963, 0,
960, 0, 0, 964, 961, 938, 962, 945, 0, 937,
0, 0, 1263, 965, 0, 0, 939, 0, 0, 0,
0, 1494, 1619, 475, 1749, 0, 1603, 1604, 1605, 1581,
1593, 1606, 1598, 1600, 1599, 1601, 1602, 1597, 2465, 2502,
1033, 1033, 1033, 1033, 1030, 1031, 1033, 1033, 1033, 2727,
0, 0, 1012, 0, 1014, 2467, 1033, 1038, 2510, 562,
562, 562, 0, 1037, 1042, 562, 0, 1462, 1503, 2444,
1761, 0, 1013, 1461, 2792, 1609, 0, 0, 0, 0,
2746, 1471, 261, 2758, 2876, 2792, 260, 255, 256, 227,
0, 0, 1037, 562, 0, 1494, 1469, 1009, 1768, 1766,
0, 2429, 2529, 2546, 2646, 252, 2739, 2748, 2758, 2876,
2792, 2826, 203, 213, 208, 0, 270, 2758, 2876, 2792,
266, 1491, 0, 1729, 1879, 1878, 2438, 0, 1464, 1463,
1582, 0, 1585, 0, 2722, 1733, 1736, 1587, 1734, 2486,
1972, 2001, 1979, 2001, 2001, 1968, 1968, 2576, 1981, 1969,
1970, 2006, 2026, 0, 2001, 1968, 1973, 0, 1971, 2009,
2009, 1996, 3, 1951, 1952, 1953, 1954, 1982, 1983, 1955,
1988, 1989, 1993, 1956, 2023, 1959, 1968, 2487, 1770, 1771,
2429, 4, 2480, 5, 2356, 2479, 6, 7, 1725, 0,
0, 1, 1749, 0, 1592, 1765, 1765, 0, 1765, 0,
1717, 1725, 1720, 1724, 0, 0, 0, 0, 0, 0,
1465, 0, 0, 0, 968, 0, 1506, 1094, 0, 0,
0, 0, 0, 1347, 0, 1147, 1146, 2489, 2472, 2473,
2474, 0, 2470, 2471, 2490, 2491, 2492, 0, 2615, 1347,
0, 0, 2273, 2284, 2285, 2286, 2533, 2596, 2281, 2282,
2283, 2275, 2276, 2277, 2278, 2279, 2280, 0, 0, 1245,
2274, 0, 2615, 0, 1347, 0, 175, 0, 150, 1347,
0, 0, 2615, 0, 0, 2615, 0, 0, 0, 0,
0, 2615, 0, 0, 0, 0, 0, 175, 2651, 0,
150, 2615, 0, 0, 1485, 0, 0, 0, 1487, 1490,
1477, 0, 2353, 0, 2354, 2446, 1574, 0, 1573, 1567,
1577, 1572, 1562, 0, 2438, 0, 0, 0, 0, 951,
0, 0, 941, 0, 0, 0, 952, 0, 953, 954,
0, 0, 0, 0, 950, 0, 1475, 1467, 0, 1611,
1613, 1612, 1614, 1610, 562, 0, 0, 0, 2615, 0,
150, 1545, 0, 2615, 150, 0, 0, 473, 472, 150,
2470, 471, 470, 2533, 2596, 0, 1137, 0, 1220, 150,
2615, 0, 196, 2615, 745, 2615, 1587, 139, 0, 689,
0, 859, 2651, 150, 0, 0, 0, 0, 0, 0,
142, 0, 0, 0, 0, 0, 0, 0, 675, 686,
1623, 1621, 0, 1254, 254, 253, 1252, 955, 2615, 1179,
145, 0, 0, 2615, 1526, 2615, 145, 972, 956, 0,
942, 2615, 145, 1143, 2615, 2475, 185, 0, 940, 2533,
2596, 2615, 145, 1247, 0, 2615, 145, 2615, 181, 2615,
145, 2615, 145, 2615, 690, 0, 0, 2615, 145, 2615,
2651, 183, 959, 2615, 145, 966, 2615, 145, 2440, 2615,
0, 1478, 0, 1615, 0, 1595, 2880, 0, 1749, 1033,
1032, 0, 1033, 0, 1033, 0, 1033, 0, 1033, 0,
0, 0, 1033, 2468, 2469, 1015, 0, 1039, 0, 1047,
0, 1046, 1045, 1044, 0, 0, 0, 1048, 0, 1883,
1657, 0, 1459, 1474, 0, 0, 0, 142, 0, 1276,
1273, 142, 1275, 1274, 142, 142, 1470, 259, 257, 0,
0, 0, 0, 0, 0, 1476, 0, 1468, 0, 0,
0, 2448, 2450, 2451, 2287, 2356, 0, 2831, 2832, 2833,
2345, 0, 2834, 2835, 2836, 2895, 2161, 2147, 2156, 2162,
2148, 2150, 2157, 2837, 2838, 2096, 2839, 2840, 2463, 2841,
2842, 2843, 2845, 2846, 2847, 2848, 2849, 2850, 2851, 2852,
2853, 2854, 2855, 2856, 2858, 2859, 2152, 2154, 2860, 2861,
2862, 2864, 0, 2464, 2865, 2866, 2685, 2868, 2869, 2871,
2872, 2158, 2874, 2875, 2159, 2876, 2877, 2878, 2879, 2462,
517, 2160, 2881, 2883, 2884, 2885, 2886, 2888, 2889, 2890,
2891, 0, 0, 0, 2435, 0, 2125, 0, 1960, 1961,
1984, 1985, 1962, 1990, 1991, 1963, 0, 1964, 2434, 2027,
2232, 2124, 2142, 0, 2130, 2131, 0, 2123, 2119, 2234,
1751, 2430, 0, 2120, 2447, 2449, 2346, 1751, 2428, 216,
272, 0, 273, 2436, 2758, 204, 251, 219, 250, 221,
220, 218, 217, 0, 2531, 205, 0, 0, 206, 0,
0, 0, 0, 269, 267, 0, 1466, 0, 1881, 1880,
2439, 977, 0, 1584, 1581, 2297, 0, 1735, 0, 0,
0, 2000, 1987, 1995, 1994, 0, 1977, 1976, 1975, 0,
1974, 2001, 2001, 1999, 1978, 1951, 0, 0, 0, 2005,
0, 2003, 1947, 1943, 0, 2012, 2013, 2014, 2011, 2024,
2010, 0, 1957, 2015, 0, 1968, 1965, 1836, 0, 1715,
1714, 8, 0, 1589, 1591, 1565, 1587, 1763, 1764, 0,
0, 0, 0, 0, 0, 0, 0, 1823, 1781, 1782,
1784, 1820, 1824, 1832, 0, 1721, 0, 0, 0, 1885,
0, 0, 1492, 0, 0, 0, 0, 0, 1178, 0,
0, 0, 0, 969, 0, 0, 0, 1512, 0, 1514,
1515, 1516, 0, 0, 0, 1517, 1518, 1506, 263, 1525,
1522, 1505, 1507, 1520, 0, 0, 0, 0, 0, 0,
0, 1537, 0, 189, 190, 0, 702, 686, 0, 2615,
0, 0, 0, 0, 1188, 1195, 1346, 0, 0, 0,
0, 0, 0, 0, 0, 1189, 1187, 0, 1190, 265,
1200, 1227, 1230, 0, 0, 1145, 1148, 0, 0, 0,
0, 0, 1337, 0, 0, 0, 1337, 0, 0, 0,
1346, 0, 0, 0, 0, 0, 0, 0, 0, 0,
288, 290, 303, 370, 0, 667, 0, 0, 0, 670,
0, 2615, 1347, 0, 0, 0, 1249, 0, 0, 0,
0, 0, 0, 0, 0, 1230, 0, 0, 0, 0,
0, 0, 0, 0, 0, 148, 149, 154, 0, 0,
0, 0, 1230, 0, 0, 0, 0, 0, 0, 0,
651, 666, 654, 0, 0, 0, 0, 0, 662, 0,
0, 150, 664, 293, 641, 647, 0, 0, 0, 752,
751, 0, 0, 0, 0, 0, 0, 1435, 0, 1434,
0, 0, 0, 0, 0, 1535, 1534, 0, 0, 0,
0, 0, 0, 1337, 0, 282, 284, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 407, 408, 0, 0, 0, 154, 0, 0,
1337, 0, 295, 0, 0, 1486, 1483, 1484, 0, 1489,
0, 0, 0, 0, 2133, 0, 2301, 1773, 2299, 2445,
2352, 0, 2493, 2916, 2917, 2918, 2919, 2920, 2921, 2922,
2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932,
2933, 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941, 2942,
2943, 2944, 2945, 2946, 2947, 2948, 2949, 2950, 2951, 2952,
2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 2962,
2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971, 2972,
2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982,
2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992,
2993, 2349, 2348, 2443, 2494, 2495, 2496, 2497, 2355, 1557,
0, 239, 240, 238, 1575, 241, 1576, 1571, 0, 1558,
0, 0, 0, 0, 0, 0, 0, 0, 2533, 2596,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 867, 1506, 1544, 0,
0, 0, 695, 0, 2615, 0, 152, 906, 0, 857,
474, 0, 0, 0, 0, 1411, 152, 0, 0, 192,
0, 0, 749, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 858, 0, 0, 152, 0, 2615, 644,
2615, 0, 562, 562, 0, 0, 141, 138, 0, 0,
0, 0, 0, 0, 0, 0, 1707, 1706, 1709, 1708,
0, 1705, 0, 143, 144, 0, 1237, 1262, 0, 0,
0, 0, 0, 933, 958, 0, 0, 1231, 0, 0,
2615, 145, 2615, 0, 2615, 0, 0, 0, 1239, 145,
0, 1233, 0, 0, 1235, 0, 1437, 0, 949, 947,
946, 948, 0, 0, 931, 0, 0, 0, 0, 0,
926, 0, 0, 928, 0, 0, 0, 0, 1749, 1594,
0, 1023, 0, 1027, 0, 1018, 0, 1024, 0, 1019,
1016, 1017, 0, 1022, 0, 0, 563, 569, 0, 0,
2558, 2575, 0, 2604, 2639, 2640, 2695, 2713, 2742, 2748,
2754, 0, 2785, 2797, 0, 1053, 1091, 1043, 761, 0,
0, 1667, 1460, 2306, 0, 1749, 0, 0, 1277, 0,
0, 138, 258, 228, 0, 0, 1091, 0, 2746, 1473,
1008, 686, 0, 2121, 0, 2128, 2129, 2344, 0, 0,
0, 0, 0, 0, 2127, 0, 0, 0, 0, 2401,
0, 0, 2401, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2050, 0, 0, 2305, 0, 0, 2305,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2051, 2032, 2033, 2125, 2297, 0, 2126, 2459,
2456, 2023, 0, 2023, 2498, 2287, 0, 2284, 2285, 2286,
2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003,
3004, 3005, 3006, 3007, 3008, 3009, 3010, 0, 3011, 3012,
3013, 3014, 3015, 3017, 3016, 3018, 3019, 3020, 3021, 3022,
3023, 2359, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032,
3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042,
3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052,
3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062,
3063, 3064, 3065, 3066, 3067, 3068, 3069, 3070, 3071, 3072,
3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082,
3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092,
3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102,
3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112,
3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122,
3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3132,
3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142,
3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152,
3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162,
3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172,
3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182,
2065, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191,
3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3200, 3201,
3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211,
3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221,
3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231,
3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241,
3242, 3243, 3244, 3245, 3246, 3247, 3248, 2067, 3249, 3250,
3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260,
3261, 3262, 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270,
3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280,
3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3291, 3289,
3290, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3299, 3300,
3301, 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309, 3310,
3311, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320,
3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330,
3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340,
3341, 3342, 3343, 3344, 3345, 3346, 3347, 3349, 3348, 3350,
3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360,
3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370,
3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380,
3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390,
3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400,
3401, 3402, 3403, 3404, 3406, 3405, 3407, 3408, 3409, 3410,
3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420,
3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430,
3431, 3432, 3433, 3434, 3435, 3436, 3437, 3438, 3439, 3440,
3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 0, 2281,
2282, 2283, 2275, 2276, 2277, 2278, 2279, 2280, 2291, 0,
0, 2433, 2499, 0, 2234, 0, 2047, 0, 2242, 0,
0, 1836, 2454, 0, 2452, 2347, 1836, 274, 275, 271,
0, 0, 223, 224, 222, 0, 244, 243, 248, 249,
215, 247, 0, 242, 226, 2218, 2217, 225, 214, 233,
211, 209, 229, 231, 232, 212, 210, 268, 0, 0,
0, 145, 1592, 1579, 0, 0, 2359, 0, 2295, 0,
0, 2293, 0, 0, 0, 1833, 0, 1737, 0, 1741,
0, 0, 0, 1998, 1997, 1948, 1944, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
970, 0, 1966, 0, 1901, 2481, 2482, 2357, 1769, 1592,
0, 1588, 1732, 1731, 1774, 1775, 1129, 1730, 1803, 1804,
0, 0, 0, 0, 1829, 1827, 1794, 1785, 1793, 0,
0, 1791, 0, 1795, 2027, 1822, 1719, 1779, 1780, 1783,
1718, 0, 1825, 0, 1670, 1823, 1784, 1654, 0, 1625,
0, 0, 1886, 0, 0, 1493, 0, 0, 0, 1158,
1160, 0, 1159, 0, 1162, 0, 1171, 0, 0, 1157,
1176, 0, 1165, 1163, 0, 1533, 0, 0, 0, 0,
0, 1513, 0, 0, 0, 2785, 262, 1516, 1521, 1508,
1519, 0, 0, 0, 0, 0, 1093, 1092, 0, 0,
0, 1540, 554, 0, 372, 0, 0, 0, 0, 0,
0, 0, 0, 853, 850, 0, 0, 849, 0, 700,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 725, 0, 1337, 0, 301, 0, 1197, 0, 1196,
0, 1201, 0, 0, 1198, 1193, 1194, 2748, 2758, 2792,
264, 1199, 1229, 0, 1228, 1224, 0, 1140, 0, 1141,
0, 0, 0, 0, 0, 0, 0, 2588, 0, 2615,
0, 0, 517, 309, 333, 544, 0, 1336, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 356, 0, 0, 359, 358, 0, 0,
0, 0, 0, 364, 0, 342, 0, 343, 0, 363,
0, 0, 0, 668, 669, 0, 0, 0, 1337, 0,
297, 0, 0, 0, 0, 0, 0, 0, 0, 1246,
0, 778, 0, 0, 2748, 1225, 0, 1420, 0, 2784,
1421, 1424, 562, 0, 562, 1426, 0, 0, 1423, 1425,
0, 0, 178, 0, 173, 177, 0, 0, 2748, 1226,
0, 0, 0, 0, 0, 649, 650, 665, 0, 655,
656, 652, 657, 658, 0, 0, 0, 0, 0, 0,
0, 648, 0, 0, 747, 746, 750, 0, 0, 0,
0, 0, 0, 1429, 0, 0, 1220, 0, 0, 1428,
1436, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1280, 1279, 0, 0, 0, 0, 1347, 0, 896,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
180, 765, 0, 764, 0, 174, 179, 0, 0, 0,
0, 0, 0, 0, 0, 237, 1482, 1488, 1773, 1773,
1773, 2139, 0, 0, 0, 0, 1772, 2350, 2353, 1562,
1568, 1561, 1560, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421, 418, 419, 421, 0, 0, 0, 0, 869, 0,
872, 875, 1504, 501, 0, 0, 692, 725, 0, 0,
477, 187, 0, 0, 0, 0, 780, 0, 1220, 1219,
147, 138, 196, 475, 0, 195, 197, 199, 200, 201,
198, 202, 0, 744, 748, 0, 0, 0, 0, 688,
0, 0, 0, 0, 0, 0, 0, 1906, 0, 0,
172, 0, 0, 639, 643, 0, 0, 0, 0, 477,
605, 383, 2615, 0, 562, 0, 2615, 0, 137, 0,
856, 0, 0, 0, 1182, 1182, 0, 0, 794, 793,
0, 0, 0, 0, 0, 0, 1704, 145, 1180, 0,
1527, 0, 145, 973, 145, 1144, 186, 2476, 0, 935,
0, 0, 0, 0, 145, 1248, 923, 145, 182, 145,
145, 691, 0, 145, 184, 0, 0, 145, 967, 145,
2441, 0, 145, 1618, 2615, 562, 1596, 1020, 1029, 1028,
1026, 1025, 1021, 0, 1040, 0, 561, 0, 0, 0,
0, 0, 1061, 1062, 0, 0, 1058, 1063, 0, 1065,
1049, 1051, 1059, 1060, 1066, 1055, 1054, 1067, 1068, 0,
0, 0, 1080, 759, 0, 0, 0, 0, 1664, 0,
1662, 0, 1884, 1666, 1655, 1608, 0, 1607, 0, 632,
1271, 1270, 1272, 0, 1037, 0, 145, 0, 1472, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2310, 0, 2311, 0, 0, 2343, 2339, 0, 0, 0,
0, 0, 2315, 0, 2318, 2319, 2320, 2317, 2321, 2316,
0, 0, 2322, 0, 0, 2394, 2411, 0, 2125, 2394,
2422, 0, 2421, 2427, 0, 2301, 2027, 0, 0, 2418,
2412, 0, 2418, 0, 0, 2401, 0, 0, 0, 0,
2202, 0, 0, 0, 2301, 2304, 0, 0, 2872, 0,
0, 0, 0, 2097, 0, 0, 2268, 0, 2301, 0,
0, 0, 0, 0, 0, 0, 2297, 2337, 0, 515,
0, 2087, 0, 0, 0, 2216, 0, 2213, 0, 0,
0, 0, 2356, 0, 2460, 0, 2457, 2028, 2043, 2044,
2045, 2048, 2432, 2031, 0, 2358, 0, 0, 2029, 2056,
0, 2081, 0, 2088, 2071, 2402, 2323, 2324, 2325, 2326,
2090, 0, 2064, 2069, 2073, 0, 2411, 2052, 0, 2049,
0, 2359, 2296, 0, 2294, 0, 2040, 2041, 2042, 2034,
2035, 2036, 2037, 2038, 2039, 2046, 2272, 2270, 2271, 0,
0, 2242, 0, 0, 2068, 0, 0, 2141, 2607, 2646,
0, 1762, 1762, 1762, 1750, 1760, 2431, 1901, 1773, 1901,
2437, 0, 0, 2023, 0, 1882, 975, 976, 974, 1564,
1578, 1592, 2298, 1586, 1739, 0, 0, 0, 1967, 1980,
0, 2007, 2008, 2009, 2009, 0, 1949, 0, 1992, 2017,
2018, 2019, 2020, 2021, 2022, 0, 2016, 1958, 971, 2848,
2857, 0, 2744, 2892, 0, 1862, 1835, 1837, 1847, 1862,
1869, 1862, 1862, 2143, 1899, 2144, 2145, 2438, 0, 1806,
2478, 1566, 1590, 0, 1127, 1128, 0, 1132, 2872, 2744,
0, 0, 0, 0, 1796, 1830, 0, 1821, 0, 2448,
1797, 2447, 1798, 1801, 1802, 1792, 1831, 1668, 0, 1826,
1723, 1722, 0, 1904, 0, 0, 0, 1639, 1627, 0,
0, 1887, 0, 1836, 1672, 0, 2356, 1834, 1387, 1281,
1348, 1161, 0, 1968, 1172, 0, 1156, 0, 1155, 1968,
0, 1173, 0, 1968, 1388, 1282, 1349, 1389, 1283, 1350,
1390, 1524, 1284, 1523, 1511, 1510, 1509, 0, 0, 0,
0, 0, 0, 0, 0, 832, 2615, 145, 1538, 1391,
0, 1285, 371, 1539, 1351, 1543, 852, 851, 0, 0,
1352, 0, 701, 706, 0, 708, 709, 2533, 2596, 710,
713, 714, 0, 716, 705, 704, 0, 0, 0, 0,
0, 722, 727, 0, 0, 0, 0, 0, 0, 1191,
1192, 1392, 1288, 0, 1353, 0, 1139, 0, 1289, 188,
0, 0, 289, 0, 2615, 311, 0, 0, 0, 0,
0, 0, 0, 0, 0, 832, 499, 832, 0, 1339,
308, 340, 0, 355, 350, 351, 349, 2615, 145, 2615,
145, 0, 0, 0, 0, 0, 352, 347, 348, 344,
0, 0, 357, 2505, 2577, 2759, 0, 733, 735, 0,
740, 360, 1309, 379, 378, 377, 0, 365, 0, 384,
387, 0, 362, 341, 339, 336, 304, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1241, 0,
1395, 1354, 0, 1376, 1380, 0, 0, 0, 772, 1398,
1295, 1357, 0, 562, 0, 0, 581, 581, 562, 1409,
1296, 176, 1326, 165, 0, 0, 161, 0, 0, 0,
0, 153, 1399, 1297, 1358, 0, 0, 1400, 1298, 0,
0, 294, 642, 653, 659, 1303, 663, 660, 1366, 661,
1407, 1299, 0, 1403, 1329, 1361, 397, 625, 396, 1220,
1220, 1410, 1430, 1300, 1220, 0, 1337, 0, 283, 285,
0, 142, 0, 1301, 0, 1359, 1402, 1328, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1546, 0, 0,
0, 0, 0, 0, 145, 0, 0, 0, 1339, 2615,
145, 894, 1401, 0, 1334, 0, 1374, 0, 0, 0,
409, 0, 1327, 1337, 0, 296, 1305, 0, 1368, 0,
0, 235, 234, 236, 0, 0, 0, 0, 2302, 2303,
0, 2300, 2134, 2352, 0, 1556, 997, 983, 996, 0,
979, 2575, 0, 982, 984, 0, 0, 0, 985, 989,
990, 0, 981, 978, 980, 0, 420, 0, 0, 789,
790, 0, 0, 0, 0, 871, 0, 0, 1536, 0,
150, 699, 0, 0, 0, 694, 724, 729, 0, 0,
0, 0, 476, 480, 484, 485, 486, 0, 0, 0,
0, 166, 151, 0, 912, 0, 562, 0, 782, 1220,
1413, 0, 196, 191, 0, 0, 745, 0, 1587, 0,
0, 620, 623, 622, 0, 383, 866, 864, 863, 865,
887, 862, 0, 1905, 1907, 0, 0, 0, 0, 0,
0, 632, 479, 0, 0, 569, 0, 608, 0, 0,
0, 0, 605, 0, 0, 0, 2486, 0, 883, 855,
0, 1150, 0, 1168, 1151, 0, 0, 0, 0, 1205,
1212, 1181, 1206, 1183, 1212, 0, 0, 795, 799, 798,
802, 800, 0, 796, 673, 1710, 1711, 0, 1238, 0,
0, 1532, 0, 1530, 934, 1232, 145, 0, 145, 0,
145, 1240, 1234, 1236, 1438, 0, 932, 0, 0, 925,
927, 0, 929, 0, 1041, 564, 0, 0, 0, 0,
0, 0, 1057, 671, 1064, 0, 0, 0, 1079, 1074,
1076, 0, 1091, 1085, 0, 758, 0, 0, 1665, 1658,
1660, 1659, 0, 0, 1656, 2307, 924, 0, 638, 0,
1091, 1082, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1767, 2308, 2309, 0, 0, 0, 2340,
0, 0, 2178, 0, 2149, 2151, 0, 2164, 0, 2179,
2132, 0, 2393, 2390, 0, 0, 0, 2394, 2401, 2198,
0, 0, 0, 2401, 0, 2421, 0, 0, 0, 2193,
2195, 0, 0, 0, 2411, 2411, 0, 2200, 0, 0,
2180, 2153, 2155, 2165, 0, 0, 2288, 0, 2168, 2167,
0, 2099, 2100, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2114, 2169, 2267, 0, 0, 0, 2171, 2170, 0,
0, 2336, 0, 0, 0, 2176, 516, 2181, 0, 0,
0, 0, 2187, 0, 2224, 0, 0, 0, 2122, 2298,
0, 0, 0, 0, 0, 0, 0, 2404, 2405, 2406,
2403, 0, 2089, 2072, 2092, 2066, 2070, 2074, 0, 2411,
2091, 2094, 0, 0, 2060, 0, 0, 2058, 0, 2083,
2054, 0, 0, 2085, 0, 2140, 0, 0, 0, 2245,
2240, 2241, 1762, 1762, 1762, 1762, 1759, 0, 0, 0,
1806, 0, 1806, 207, 0, 245, 230, 1563, 1740, 1749,
1986, 0, 2004, 2002, 1945, 1950, 2025, 0, 1862, 1869,
1862, 1862, 0, 0, 1725, 0, 1847, 0, 1861, 1845,
1860, 0, 0, 1875, 1873, 0, 1875, 0, 1875, 0,
1839, 0, 1865, 1841, 1860, 1843, 1849, 0, 1891, 2439,
1900, 0, 1819, 1776, 0, 2289, 1132, 0, 1778, 1800,
1799, 0, 1789, 0, 1828, 1786, 1669, 1653, 0, 1644,
1631, 1633, 1632, 0, 0, 1634, 2356, 0, 1644, 1626,
0, 1677, 0, 0, 1904, 0, 1676, 0, 1968, 1153,
1154, 0, 1177, 0, 1096, 1097, 0, 1095, 0, 0,
0, 553, 556, 0, 1541, 0, 1408, 1325, 703, 0,
0, 0, 0, 718, 677, 719, 721, 0, 0, 720,
723, 726, 1337, 0, 302, 1311, 0, 1372, 1185, 0,
0, 1142, 0, 0, 0, 0, 0, 1113, 543, 1112,
0, 0, 0, 832, 0, 832, 0, 0, 548, 0,
498, 495, 335, 334, 0, 0, 0, 0, 392, 0,
313, 326, 390, 332, 0, 367, 0, 338, 0, 330,
353, 345, 354, 346, 366, 368, 0, 737, 738, 736,
732, 0, 739, 741, 0, 381, 0, 0, 0, 399,
361, 398, 0, 1394, 0, 1337, 0, 298, 1307, 0,
1370, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1375, 0, 0, 0, 0, 777, 0,
774, 0, 581, 0, 1422, 0, 1419, 1417, 581, 0,
0, 156, 157, 155, 0, 164, 0, 0, 0, 0,
0, 0, 1431, 1432, 1433, 0, 0, 0, 0, 0,
0, 403, 0, 305, 307, 306, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 410, 374, 0, 890, 0, 0, 0,
412, 0, 0, 1386, 0, 0, 0, 0, 0, 1393,
1290, 2137, 2138, 2135, 1773, 2351, 0, 0, 0, 994,
0, 0, 0, 0, 423, 424, 150, 422, 447, 0,
832, 0, 0, 868, 873, 881, 2685, 2275, 2276, 879,
874, 876, 878, 880, 877, 0, 0, 0, 0, 523,
527, 0, 0, 0, 507, 0, 0, 517, 500, 503,
504, 0, 0, 695, 698, 696, 697, 0, 717, 0,
479, 532, 595, 0, 168, 0, 0, 169, 167, 0,
0, 383, 779, 0, 776, 1412, 0, 194, 0, 749,
0, 0, 0, 0, 0, 1220, 687, 0, 886, 888,
860, 0, 729, 0, 0, 644, 0, 562, 1619, 627,
0, 597, 479, 595, 604, 0, 0, 612, 382, 0,
0, 632, 383, 0, 0, 1113, 0, 882, 0, 0,
1149, 0, 0, 0, 1202, 1207, 1203, 0, 1182, 1164,
0, 1204, 0, 0, 1210, 1135, 1184, 1136, 1454, 1455,
1452, 1453, 0, 0, 0, 0, 0, 0, 1701, 0,
0, 1528, 0, 936, 0, 919, 0, 921, 145, 766,
0, 145, 0, 0, 0, 0, 0, 0, 1056, 0,
1050, 1052, 1077, 0, 0, 1091, 1090, 0, 1081, 1089,
1087, 1088, 1086, 0, 0, 1663, 1661, 630, 0, 0,
145, 1091, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2312, 0, 2342, 2338, 0, 2146, 2314, 2313,
2392, 2408, 2410, 2199, 2400, 0, 0, 0, 2423, 0,
0, 2401, 2361, 2415, 2414, 0, 0, 2413, 2401, 2401,
2361, 2201, 2361, 0, 0, 0, 2268, 0, 0, 2098,
2110, 2111, 2112, 2329, 0, 2117, 0, 2107, 2108, 2109,
2101, 2102, 2103, 2104, 2105, 2106, 2113, 2333, 2332, 0,
0, 2173, 2174, 2175, 2335, 2182, 0, 2523, 2225, 0,
2186, 2215, 2214, 0, 0, 0, 2189, 0, 0, 2211,
0, 2269, 2461, 2458, 2030, 0, 0, 2057, 2082, 2075,
0, 2093, 2095, 2053, 2288, 0, 0, 0, 0, 0,
0, 2062, 0, 0, 2265, 0, 0, 0, 2247, 2244,
0, 0, 0, 0, 1753, 1752, 1758, 1819, 2134, 1819,
0, 0, 1946, 0, 1846, 1842, 1844, 1850, 0, 2887,
0, 1851, 1858, 0, 1838, 0, 1874, 1870, 0, 1871,
0, 0, 1872, 0, 0, 1840, 0, 1858, 0, 1898,
1765, 0, 2236, 0, 1777, 1130, 1131, 1787, 0, 1790,
2554, 1902, 1646, 1652, 0, 0, 0, 1636, 1642, 1624,
0, 0, 0, 1673, 1644, 1674, 1174, 0, 0, 1166,
1102, 0, 1103, 1106, 1104, 1101, 1105, 0, 0, 0,
832, 835, 841, 0, 0, 0, 833, 145, 1286, 0,
0, 0, 0, 678, 1406, 1287, 0, 0, 0, 0,
1186, 1340, 0, 0, 1310, 832, 0, 0, 0, 576,
0, 1126, 1126, 566, 310, 546, 560, 550, 617, 560,
497, 496, 0, 494, 729, 0, 0, 317, 327, 0,
322, 0, 1338, 0, 0, 0, 0, 321, 324, 323,
394, 0, 391, 0, 145, 145, 369, 734, 380, 385,
386, 389, 1345, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 913, 898, 0, 0,
914, 915, 0, 0, 0, 1243, 1244, 1242, 1377, 1378,
1384, 1381, 1379, 1383, 1385, 1382, 0, 1293, 0, 0,
770, 1341, 1414, 1416, 1415, 0, 1418, 162, 159, 158,
160, 163, 1342, 1323, 1304, 1367, 626, 0, 0, 0,
1302, 0, 1360, 0, 1319, 1313, 0, 0, 0, 0,
0, 1405, 1333, 1365, 1404, 1331, 1363, 1330, 1362, 1332,
1364, 1324, 0, 0, 1909, 895, 0, 0, 0, 145,
145, 893, 768, 1306, 0, 1369, 1315, 0, 0, 0,
986, 0, 0, 0, 988, 428, 448, 150, 0, 788,
854, 0, 0, 870, 0, 505, 0, 511, 518, 0,
0, 525, 526, 524, 528, 558, 1220, 562, 1220, 821,
822, 0, 0, 844, 0, 693, 0, 0, 477, 0,
529, 0, 0, 481, 171, 170, 0, 0, 0, 783,
787, 785, 784, 786, 781, 0, 772, 196, 2615, 0,
0, 0, 0, 624, 618, 621, 1427, 861, 0, 1908,
762, 0, 383, 640, 0, 0, 0, 477, 632, 0,
482, 487, 488, 501, 0, 605, 596, 0, 597, 606,
607, 0, 614, 1502, 0, 633, 614, 0, 0, 0,
885, 0, 884, 0, 1152, 1169, 1170, 0, 0, 1212,
0, 0, 1214, 1209, 0, 0, 801, 804, 797, 680,
145, 0, 1531, 145, 145, 1269, 0, 930, 1071, 1072,
1073, 1070, 1069, 672, 0, 1075, 1034, 1084, 760, 0,
631, 0, 1035, 145, 1011, 1003, 1010, 999, 1002, 1004,
0, 1006, 1007, 1001, 998, 1000, 2341, 2163, 0, 2407,
2409, 2197, 2420, 2419, 2196, 2426, 0, 0, 2389, 2417,
2416, 0, 0, 2401, 2401, 2166, 2177, 0, 2267, 2298,
0, 0, 2118, 0, 0, 0, 2172, 2882, 0, 0,
2229, 2230, 0, 2226, 2227, 2222, 2223, 2188, 0, 2672,
2206, 0, 0, 2221, 2079, 2077, 2076, 2061, 0, 0,
2059, 2084, 2055, 0, 2086, 2231, 2264, 2298, 2233, 0,
1773, 1757, 1756, 1755, 1754, 2236, 2455, 2453, 2236, 246,
1744, 0, 1894, 0, 1897, 0, 0, 1848, 0, 0,
1852, 0, 0, 1854, 1856, 0, 0, 0, 0, 0,
0, 2442, 0, 1818, 0, 1773, 0, 1788, 0, 0,
0, 1628, 0, 1629, 1635, 0, 0, 0, 0, 0,
1678, 1671, 1167, 1175, 1107, 0, 0, 0, 555, 837,
836, 839, 834, 840, 838, 1542, 0, 711, 712, 715,
1312, 0, 1373, 1321, 0, 1667, 545, 312, 0, 571,
0, 0, 0, 1119, 140, 1118, 0, 0, 0, 0,
0, 493, 492, 501, 320, 0, 0, 0, 314, 393,
0, 395, 315, 319, 374, 337, 329, 0, 0, 0,
1308, 0, 1371, 1317, 1344, 1396, 1291, 1355, 0, 0,
904, 0, 0, 0, 0, 1397, 1292, 1356, 0, 0,
0, 0, 0, 1667, 0, 0, 0, 0, 0, 0,
0, 0, 1551, 0, 0, 373, 892, 891, 374, 411,
1335, 0, 2136, 0, 987, 992, 993, 991, 0, 417,
425, 428, 0, 0, 1260, 1260, 0, 0, 502, 519,
0, 0, 506, 616, 575, 616, 0, 0, 0, 0,
0, 730, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 775, 774, 193, 0, 477, 0, 729, 0,
889, 0, 0, 0, 632, 479, 0, 0, 1616, 478,
0, 0, 490, 0, 608, 597, 605, 0, 0, 629,
0, 1495, 0, 635, 0, 0, 0, 831, 1208, 0,
1222, 0, 1163, 1133, 1217, 0, 1749, 1901, 0, 0,
0, 0, 814, 0, 684, 1261, 1529, 920, 922, 767,
1078, 0, 1091, 1083, 1005, 2391, 2425, 2360, 2362, 0,
0, 2383, 2376, 2379, 2377, 2378, 2380, 0, 2375, 0,
2194, 2424, 2373, 2387, 2328, 2269, 2115, 0, 2331, 2330,
2334, 0, 2183, 0, 2184, 2228, 2190, 2207, 0, 2191,
2219, 0, 0, 2080, 2078, 2063, 2266, 0, 2251, 1727,
1726, 0, 1747, 1930, 1899, 0, 0, 1893, 0, 0,
1924, 0, 0, 0, 1859, 1877, 0, 1855, 1853, 0,
1866, 0, 1868, 2553, 2843, 2741, 0, 1805, 1807, 1810,
1812, 1811, 1813, 1809, 2235, 2237, 0, 1784, 2290, 1903,
0, 1643, 0, 0, 0, 1114, 0, 0, 1644, 1680,
1692, 1692, 1675, 1079, 0, 145, 707, 0, 0, 291,
1126, 0, 1220, 577, 2685, 578, 1125, 1129, 139, 2702,
0, 559, 571, 571, 489, 0, 318, 328, 0, 376,
388, 0, 1667, 0, 0, 902, 911, 911, 899, 0,
0, 916, 1294, 771, 0, 580, 0, 286, 1320, 1314,
0, 0, 0, 1553, 1554, 0, 0, 0, 0, 0,
1343, 145, 1316, 995, 0, 450, 458, 429, 433, 1545,
0, 1545, 0, 430, 434, 1545, 1545, 427, 1901, 446,
1260, 0, 1257, 1256, 558, 646, 0, 557, 0, 509,
0, 586, 508, 0, 845, 0, 0, 728, 0, 479,
595, 0, 542, 533, 534, 535, 536, 538, 537, 539,
540, 541, 531, 530, 0, 729, 908, 383, 1502, 769,
0, 0, 742, 0, 729, 0, 1619, 628, 597, 479,
595, 483, 501, 0, 612, 605, 608, 0, 609, 0,
613, 0, 0, 0, 632, 1555, 1113, 0, 0, 832,
1221, 1182, 0, 0, 1211, 1215, 1216, 0, 0, 0,
0, 1264, 808, 809, 803, 805, 0, 816, 820, 679,
0, 0, 683, 674, 729, 145, 0, 0, 2374, 2381,
2382, 0, 2204, 0, 0, 2399, 0, 0, 0, 2116,
0, 0, 2209, 2208, 2220, 2192, 2246, 0, 0, 0,
0, 0, 0, 0, 1738, 0, 2361, 1892, 1895, 0,
1927, 0, 0, 0, 0, 1912, 0, 1857, 0, 0,
1867, 0, 0, 0, 1814, 0, 0, 0, 1823, 1651,
1650, 0, 1647, 0, 0, 1641, 1901, 0, 1638, 0,
1687, 0, 1679, 1681, 0, 0, 0, 1098, 0, 1099,
1322, 0, 1120, 0, 616, 0, 1132, 1129, 565, 0,
1220, 1220, 646, 0, 0, 331, 0, 299, 1318, 0,
0, 900, 901, 0, 0, 0, 0, 0, 0, 405,
0, 0, 1547, 0, 1548, 1549, 1552, 413, 426, 0,
456, 455, 0, 453, 452, 454, 0, 443, 0, 0,
0, 0, 0, 0, 416, 1255, 1259, 1258, 510, 0,
512, 0, 0, 572, 573, 574, 0, 514, 582, 583,
842, 0, 847, 0, 731, 0, 0, 729, 594, 753,
0, 0, 0, 1496, 0, 0, 619, 763, 1502, 632,
605, 0, 597, 491, 0, 614, 608, 612, 610, 611,
0, 1499, 0, 634, 0, 1122, 830, 0, 1212, 1223,
1218, 1213, 1458, 0, 0, 806, 811, 810, 1545, 815,
0, 0, 0, 682, 681, 757, 1036, 2363, 2364, 2388,
0, 0, 0, 2367, 0, 2365, 0, 0, 2387, 0,
2205, 2327, 2212, 2185, 2210, 2830, 2554, 2800, 0, 2263,
2252, 2263, 2263, 2243, 0, 0, 0, 1929, 0, 0,
0, 1925, 1926, 1910, 0, 0, 1914, 1864, 1890, 0,
0, 0, 1808, 2238, 2239, 2477, 1645, 0, 0, 1630,
1640, 1115, 0, 1689, 1691, 0, 0, 0, 1667, 0,
581, 0, 1116, 1132, 568, 616, 616, 325, 316, 375,
0, 0, 0, 909, 918, 917, 773, 1667, 0, 401,
400, 0, 404, 0, 451, 461, 0, 459, 431, 436,
0, 442, 441, 438, 437, 432, 435, 0, 522, 0,
0, 0, 0, 584, 0, 585, 0, 846, 0, 0,
0, 755, 907, 0, 0, 477, 729, 1497, 1617, 608,
597, 605, 0, 0, 599, 1126, 1126, 464, 612, 614,
1500, 1501, 0, 0, 517, 0, 1134, 1457, 1456, 1749,
0, 0, 0, 817, 818, 813, 0, 0, 2368, 0,
2371, 0, 2372, 2366, 2396, 2398, 0, 2384, 2385, 0,
2256, 2255, 2254, 2258, 2257, 0, 2250, 2248, 2249, 0,
0, 0, 0, 1896, 0, 1913, 1916, 0, 0, 0,
1922, 0, 1915, 1917, 0, 1876, 0, 1888, 1816, 0,
1815, 1648, 1649, 1901, 0, 1694, 0, 0, 1682, 1683,
0, 0, 1684, 145, 292, 570, 832, 579, 1117, 0,
575, 832, 832, 1667, 903, 0, 287, 0, 406, 1550,
457, 0, 440, 439, 645, 520, 521, 513, 615, 591,
0, 590, 0, 588, 587, 843, 848, 0, 729, 897,
1502, 743, 612, 605, 608, 0, 598, 0, 140, 140,
614, 462, 0, 0, 383, 0, 1440, 1749, 1439, 1441,
1449, 1446, 1448, 1447, 1445, 0, 1267, 1268, 807, 812,
0, 0, 2369, 2370, 0, 0, 2203, 0, 0, 0,
2260, 0, 2261, 0, 0, 0, 0, 0, 1919, 1920,
1921, 1923, 1918, 1863, 0, 1817, 1637, 1688, 1690, 1685,
0, 1686, 0, 0, 0, 0, 1695, 1100, 551, 566,
586, 549, 547, 300, 910, 0, 460, 589, 562, 562,
729, 754, 1498, 614, 608, 612, 1126, 600, 602, 601,
466, 1122, 1123, 0, 614, 820, 0, 1450, 1444, 1725,
1712, 0, 0, 819, 0, 0, 0, 0, 2253, 2259,
2262, 0, 0, 0, 0, 2665, 0, 1931, 0, 0,
0, 1693, 1699, 0, 0, 0, 0, 832, 0, 593,
592, 756, 465, 612, 614, 140, 517, 1121, 0, 1901,
0, 1442, 1749, 0, 0, 825, 2395, 2397, 2386, 1743,
1742, 2026, 0, 0, 1746, 1939, 0, 2389, 0, 0,
1942, 0, 1889, 0, 0, 0, 567, 552, 402, 614,
463, 603, 383, 1124, 1108, 0, 1443, 0, 0, 827,
0, 823, 826, 828, 829, 0, 0, 0, 0, 1932,
1933, 1942, 0, 2373, 1942, 1911, 1696, 1700, 0, 1697,
467, 614, 0, 0, 0, 791, 0, 1773, 0, 0,
0, 1928, 2389, 1941, 2399, 2373, 0, 1901, 0, 0,
0, 824, 0, 0, 0, 0, 1936, 2387, 2399, 0,
1109, 825, 1265, 1266, 0, 1745, 0, 0, 1934, 2387,
1698, 0, 0, 1937, 1935, 792, 0, 1938
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 57, 58, 59, 60, 1111, 1116, 1917, 1936, 61,
62, 1637, 3081, 2934, 3911, 3912, 63, 64, 1633, 65,
66, 67, 68, 1547, 69, 1889, 3095, 70, 2766, 853,
854, 855, 2631, 2632, 3026, 2633, 2620, 1397, 1835, 1569,
827, 828, 1529, 1570, 72, 73, 1391, 2609, 74, 75,
76, 1600, 1696, 1601, 1602, 1541, 5064, 5915, 3697, 2889,
3959, 3698, 3699, 4391, 4392, 3777, 4420, 4483, 5929, 5930,
77, 1712, 1713, 78, 79, 3063, 3877, 4536, 5459, 5460,
5727, 672, 5087, 5088, 5714, 5715, 5944, 6116, 6117, 3096,
703, 3954, 4621, 3902, 5159, 3903, 5160, 3904, 5161, 4953,
4954, 4380, 4381, 3888, 4568, 4569, 2093, 5100, 6257, 4570,
3905, 5120, 5762, 3906, 2855, 2781, 2782, 5472, 5389, 3130,
2008, 5387, 6240, 2006, 5662, 5741, 4938, 4939, 4456, 5967,
5968, 5969, 6263, 5122, 5165, 5166, 6153, 6154, 3957, 4627,
5172, 5519, 5739, 3655, 81, 3930, 3931, 82, 766, 1911,
4058, 767, 3133, 704, 768, 3097, 87, 3123, 5960, 3124,
1665, 2948, 4549, 4034, 88, 1139, 4343, 5544, 5822, 5823,
757, 89, 1897, 90, 91, 3076, 3895, 92, 2799, 3602,
93, 94, 3621, 3622, 3623, 95, 4578, 5480, 1603, 3686,
3687, 3688, 3689, 4412, 96, 1892, 3104, 3105, 97, 98,
99, 3235, 3236, 100, 3012, 101, 102, 103, 104, 4450,
5020, 5136, 3728, 3918, 4594, 5134, 105, 3881, 3098, 3151,
3992, 3993, 5542, 5814, 5815, 5816, 6018, 6298, 5818, 6020,
6175, 6022, 5111, 6450, 6451, 5799, 4332, 4916, 107, 5112,
5113, 5973, 108, 2797, 109, 110, 1866, 3069, 3070, 4550,
3140, 3967, 3968, 4607, 4608, 111, 3817, 112, 4996, 4997,
705, 5981, 5921, 113, 114, 5000, 5001, 115, 116, 117,
118, 119, 758, 1073, 1074, 760, 1194, 1195, 3563, 1156,
120, 2641, 121, 3857, 122, 1269, 5225, 123, 792, 1210,
1211, 3099, 125, 802, 3254, 804, 3219, 3220, 2024, 4038,
4039, 4695, 126, 127, 4042, 4043, 4702, 3232, 128, 1534,
2776, 2777, 4907, 3100, 706, 3648, 5644, 5383, 5645, 6164,
6363, 5384, 3507, 4288, 130, 707, 1575, 2838, 1162, 1163,
3144, 3972, 2746, 2747, 1735, 4648, 2749, 3974, 2750, 1508,
2751, 1149, 1150, 3980, 3981, 3982, 3983, 4644, 4654, 4655,
5536, 5807, 4651, 1885, 5530, 5531, 131, 1572, 2835, 132,
133, 134, 1616, 997, 1172, 1173, 135, 719, 720, 136,
5732, 137, 1152, 138, 5540, 139, 140, 1254, 1255, 819,
141, 142, 2859, 4394, 143, 1573, 144, 145, 3722, 3723,
5012, 146, 147, 148, 2920, 2921, 149, 150, 151, 152,
153, 6288, 6366, 6367, 6368, 4662, 6169, 154, 1242, 155,
156, 157, 158, 196, 1038, 1039, 1040, 950, 3101, 5521,
160, 161, 1530, 1531, 1532, 1533, 2771, 162, 163, 164,
4002, 4003, 165, 166, 167, 168, 1869, 169, 170, 5705,
171, 172, 1839, 173, 174, 1047, 1048, 1049, 1050, 1837,
3451, 666, 872, 1424, 1430, 1473, 1474, 1475, 176, 770,
177, 1245, 1078, 771, 1203, 179, 772, 2728, 3537, 4303,
4304, 4305, 4308, 5347, 4883, 5340, 5881, 5882, 5883, 773,
3533, 182, 2031, 3241, 3244, 3529, 774, 3543, 3544, 3545,
4312, 775, 5648, 5649, 5650, 5651, 5895, 6228, 6229, 6232,
6336, 776, 794, 1142, 3155, 777, 1356, 188, 189, 190,
930, 875, 876, 3456, 5602, 5854, 192, 2601, 3434, 811,
1479, 918, 919, 920, 939, 3036, 2694, 2695, 2719, 2720,
1488, 1489, 2707, 2711, 2712, 3520, 3513, 2700, 4282, 5627,
5628, 5629, 5630, 5631, 5632, 4872, 2715, 2716, 1491, 1492,
1493, 2724, 193, 2684, 3486, 3487, 3488, 4258, 4259, 6215,
4273, 4269, 4857, 5323, 3489, 864, 1240, 1500, 4865, 6217,
3490, 5312, 5313, 5607, 4278, 3499, 4299, 3942, 3943, 3944,
3491, 5864, 5865, 6212, 6213, 5609, 5610, 3492, 5856, 6386,
6387, 6426, 6463, 2752, 1453, 903, 1357, 904, 1466, 1358,
1440, 906, 1359, 1360, 1361, 909, 1362, 1363, 1364, 912,
1432, 1365, 1366, 1449, 1462, 1463, 1367, 1425, 5611, 1369,
1370, 1371, 3494, 1372, 4799, 5282, 5268, 3356, 3357, 2627,
5592, 4795, 4170, 4789, 2594, 2598, 5335, 5634, 5635, 3427,
4220, 4828, 5300, 5850, 6049, 6050, 6196, 1373, 1374, 1375,
3419, 2588, 1000, 1376, 4552, 2590, 3347, 3325, 1738, 3326,
2034, 2056, 3273, 3290, 3291, 3395, 3327, 3335, 3340, 3348,
1377, 3275, 3276, 4080, 2058, 1378, 1044, 1741, 1045, 1468,
3377, 5248, 5557, 5558, 5835, 5836, 5568, 5837, 5569, 5559,
4092, 4093, 6038, 3301, 3396, 4096, 3309, 3310, 4114, 4103,
3302, 1379, 4105, 1387, 1388, 1381, 2025, 865, 5319, 1198,
1822, 808, 1382, 1383, 1384, 1385, 1609, 971, 1165, 1166,
921, 923, 924, 2688, 662, 654, 973, 3690, 2591, 663,
656, 657, 1827, 2592
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -5915
static const int yypact[] =
{
6919, 1539, 22594, -5915, -5915, 1539, 73454, -5915, 83714, 37,
925, 1322, 342, 12612, 84227, 94487, 746, 421, 10519, 1539,
94487, 1874, 63193, 79097, 1431, 94487, 1806, 1224, 63193, 94487,
95000, 1534, 1643, 1741, 95513, 84740, 78071, 1420, 94487, 2047,
1800, 96026, 85253, 1902, 85766, 1224, 57576, 177, 1977, 96539,
94487,121592, 1800, 86279, 86279, 86279, 2412, 2403, 1911, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, 40, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, 1875, -5915, 933,
2079, 75, 941, 1944, -5915, -5915, 2525, 73454, 94487, 94487,
94487, 2192, 94487, 2129, 94487, 994, 73454, 69350, 86792, 2284,
2109, 53358, 97052, -5915, 73454, 94487, 66785, 73454, 94487, 94487,
97565, 94487, 98078, 94487, 162, 81662, 94487, 2249, 94487, 94487,
67298, 98591, 2422, 323, 314, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, 2152, 1689, -5915, 322, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, 63706, 94487, 22073, 1806, 2525,
-5915, 2412, 94487, 2453, 94487, 2160, 99104, 94487, -5915, 94487,
2287, 99617, 1047, 806, 69350, 1701, 53890, 2408, 94487, 94487,
69350,100130,100643,101156, 94487, 94487, -5915, -5915, 2351, 94487,
-5915, 2532, 69863, 1979, 2540, 2698, 2633, 1369, -5915, 87305,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, 72941, 421,
-5915, -5915, 2579, 73967, 2703, -5915, -5915,101669,122091, 2406,
-5915, 1077, 74480, 70376, 2777, 2386, 54422, 2856, -5915, 74993,
-5915, 70889, 75506, -5915, -5915, -5915, -5915, -5915,102182, -5915,
102695, 2533, 2703, -5915,122590, 71402, -5915, 2690,103208,103721,
104234, 2525, 2402, 2053, 1365, 47626, -5915, -5915, -5915, 2462,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, 316,
1950, 283, 261, 302, -5915, -5915, 284, 289, 295, 316,
2944, 2944, -5915, 94487, -5915, -5915, 1950, 1184, 2530, 2436,
2436, 2436, 2713, 46, -5915, 2436, 2610, -5915, -5915, -5915,
-5915, 85766, -5915, 2491, 1806, 2519, 2976, 2558, 63706, 1010,
94487, -5915, -5915, 3015, 2609, 2875, 2578, -5915, -5915, -5915,
2822, 2836, 192, 892, 1806, 397, -5915, 2980, -5915, 2849,
32373, 32373, 1806, 87818,104747, 259, 72428, 2212, 88331, 2656,
1564, 2843, -5915, -5915, -5915, 812, -5915, 3117, 2660, 2952,
2578, 323, 49694, -5915, -5915, 2655, 1689, 85766, -5915, -5915,
-5915, 63706, 3014, 35559, 94487, 2664, -5915, 2684, 2664, -5915,
-5915, 2753, -5915, 2753, 2753, 2714, 2714, 2921, 2745, -5915,
-5915, -5915, -5915, 474, 2753, 2714, -5915,123588, -5915, 2072,
2097, -5915, -5915, 3238, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, 2763, -5915, 1393, -5915, 2138, -5915, -5915, -5915,
32373, -5915, -5915, -5915, -5915, -5915, -5915, -5915, 2752, 2771,
75, -5915, 8660, 63706, 85766, 1852, 1852, 3254, 1852, 2054,
2058, -5915, 2251, -5915, 3140, 3108, 3131, 85766, 2826, 1067,
-5915, 1831, 2830, 1929, 2837, 1948, 1853, -5915, 1159, 94487,
542, 2900, 88844, 5023, 2863, 1689, 2865, -5915, -5915, -5915,
-5915, 3037, 1520, -5915, -5915, -5915, -5915, 3209, 3256, 7201,
392, 89357, -5915, -5915, -5915, -5915, 94487, 94487, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, 2876, 188, -5915,
-5915, 2878, 3259, 3109, 7574, 1037, 3219, 3055, 1338, 7669,
3114, 1244, 3267, 8977, 1655, 3268, 2052, 2194, 89870, 94487,
3225, 3270, 6464, 2071, 1082, 3119, 1266, 3219, 3261, 3063,
1338, 3277, 7841, 94487, -5915, 3185, 3316, 934, -5915, 220,
-5915, 25000, 35559, 57063, -5915, 1689, -5915, 2082, -5915, -5915,
62680, -5915, 2967, 3132, 1170, 73454, 2905, 94487, 94487, -5915,
121592, 73454, -5915, 3142, 54954, 73454, -5915, 73454, -5915, -5915,
3273,121592, 94487, 94487, -5915, 94487, -5915, -5915, 2909, -5915,
-5915, -5915, -5915, -5915, 2436, 94487, 3376,121592, 3156, 444,
2021, 3414, 94487, 3163, 2021, 2960,105260, -5915, -5915, 2021,
-5915, -5915, -5915, 94487, 94487, 2922, 1923, 3150, 233, 2021,
3168, 3415, 3416, 3172, 3009, 3181, 2684, -5915, 3384, 3153,
1109, 246, 2369, 2021, 2995,105773,106286, 94487, 3000, 94487,
3402, 73454, 3040, 73454, 73454, 94487, 3322, 94487, -5915, 3147,
-5915, -5915, 1783, -5915, -5915, -5915, -5915, -5915, 3339, -5915,
234, 3344, 2969, 3345, 1854, 3349, 277, -5915, -5915, 3012,
-5915, 3355, 315, -5915, 3356, -5915, 2975,106799, -5915,107312,
107825, 3363, 324, -5915, 69350, 3364, 315, 3365, 2975, 3369,
315, 3371, 959, 3372, -5915, 1362, 3346, 3377, 277, 3378,
2373, 2975, -5915, 3379, 340, -5915, 3380, 370, -5915, 3382,
3215, -5915, 35559, -5915, 3106, -5915, 1977, 2158, 1365, 1950,
-5915, 94487, 1950, 94487, 1950, 94487, 1950, 94487, 1950, 94487,
94487, 94487, 1950, -5915, -5915, -5915, 94487, 3007, 94487, -5915,
94487, -5915, -5915, -5915, 80123, 69350, 80636, -5915, 94487, -5915,
479, 1806, -5915, -5915,121592, 3506, 69350, 3402, 2280, -5915,
-5915, 3402, -5915, -5915, 3402, 3402, -5915, -5915, -5915, 3295,
94487, 3374, 80123, 69350, 3381, -5915,108338, -5915, 72941, 3239,
3021, -5915, -5915, -5915, -5915, -5915, 2254, 2589, 306, 2606,
35559, 3023, 306, 306, 3025, 3391, -5915, -5915, -5915, 333,
3030, 3032, -5915, 310, 310, -5915, 3034, 3035, -5915, 334,
3036, 3042, 2616, 2619, 341, 349, 3043, 3044, 3047, 3049,
3050, 3051, 3056, 3057, 3058, 3059, 3061, 3062, 3065, 474,
306, 3066, 35559, -5915, 3067, 310, 3068, 3069, 3071, 2627,
3072, -5915, 2649, 3073, -5915, 303, 373, 3074, 3078, -5915,
3276, -5915, 351, 3079, 3080, 3081, 3082, 3083, 3084, 3088,
3089, 35559, 35559, 35559, -5915, 29713, 1689, 2650, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, 353, -5915, 51762, -5915,
3135, -5915, -5915, 3251, -5915, -5915, 35559, -5915, -5915, 3463,
485, -5915, 356, -5915, -5915, -5915, 1689, 3408, 3094, -5915,
-5915, 1799, 3097, -5915, 488, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, 71915, 3600, -5915, 372, 1806, 220, 434,
3536, 60628, 61141, -5915, -5915, 3389, -5915, 94487, -5915, -5915,
1689, 195, 2304, -5915, 2462, 21062, 2329, 2664, 94487, 94487,
3604, -5915, 3110, -5915, -5915, 35559, -5915, -5915, -5915, 2944,
-5915, 2753, 2753, -5915, -5915, 3607, 3199, 3201, 2944, -5915,
2944, -5915, 3116, 3120, 2944, 3200, 3203, 3205, -5915, 3121,
3207, 2944, -5915, -5915, 64733, 2310, -5915, 3478, 387, -5915,
-5915, -5915, 2333, -5915, 3118, -5915, 2684, -5915, -5915, 75,
75, 35559, 75, 1577, 1971, 32904, 36090, 3487, 3354, 330,
1711, 3489, -5915, 3358, 2054, 2058, 85766, 94487, 85766,108851,
3262, 35559, -5915, 3601, 3220, 3227, 3286, 59628, -5915, 3230,
3195, 3232, 3291, 3144, 3236, 3240, 3297, -5915, 3432, -5915,
-5915, 3241, 3611, 3243,109364, -5915, -5915, 1445, -5915, -5915,
-5915, 1445, -5915, 3166, 1542, 1526, 1825, 3246, 541, 903,
3605, -5915, 1657, -5915, -5915, 3306, -5915, 12563, 94487, 3541,
8176, 3390, 392, 3307, -5915, -5915, -5915, 3452, 3264, 94487,
3266, 3417, 392, 1430,109877, -5915, -5915, 94487, -5915, -5915,
-5915, -5915, 4804, 3588, 28184, -5915, 2173, 3272, 3249, 3280,
94487, 76532, 2281, 3392, 3412, 2059, 2290, 274, 3340, 94487,
2075, 3422, 94487, 3192, 3282, 3283, 3537, 3198, 742, 3643,
3197, -5915, -5915, -5915, 3612, -5915, 2675, 2694, 3413, -5915,
3540, 3586, 8352, 3275, 3278,119596, -5915, 3302, 78, 55486,
94487, 94487, 3305, 3310,110390, 4804, 3617, 81149, 81149, 3311,
3312, 49177, 3635, 1512, 3313, -5915, -5915, -5915, 1512, 3314,
3315,110903, 4804, 3626, 94487, 3317, 3318, 94487,123588, 392,
-5915, 3696, -5915, 392, 392, 2086, 3709, 3321, 431, 3494,
677, 2021, -5915, 3197, 3301, -5915, 3324, 3326, 394, -5915,
3461, 94487, 3328, 3329, 1731, 3427, 1806, -5915, 3429, -5915,
3335, 3431, 3337, 1151, 2922, -5915, -5915, 1415, 3348, 85766,
3456, 3457, 2075, 409, 743, 3197, -5915, 3341, 3342, 3198,
3198, 94487, 94487, 94487, 94487, 94487, 359, 3744, 478, 3347,
262, 91, 3252, -5915, 1512, 67811, 3350, -5915, 1512, 94487,
270, 749, 3197, 1606, 2088, -5915, -5915, -5915, 323, -5915,
35559, 35559, 35559, 3257, -5915, 2537, 21062, 114, -5915, 2643,
16621, 3255, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, 94487,
63706, -5915, -5915, -5915, -5915, -5915, -5915, -5915, 94487, -5915,
94487, 3568,121592, 3574, 3490, 3576, 3587, 392, 94487, 94487,
3590, 3591, 3602,121592, 3603, 3606, 3608, 3503, 3386, 861,
3383, 3303, 3792, 3680, 94487, 64733, -5915, 1445, -5915,121592,
3530, 3685, -5915, 94487, 3551, 780, -5915, 3725, 3373, -5915,
-5915, 122, 94487, 79610, 2922, -5915, -5915, 3689, 69350, 1096,
3690, 1806, 3366, 3691, 3542, 1806, 69350, 3594, 94487, 94487,
94487, 94487, 222, -5915, 67811, 3558, -5915, 94487, 3562, 3301,
3565, 3823, 1273, 2436,111416, 3694, -5915,111929, 3327, 94487,
3331, 3331, 3824,121592, 1650, 3624, -5915, -5915, 2112, -5915,
3479, -5915, 73454, -5915, -5915, 73454, -5915, -5915,121592, 94487,
3334,121592,121592, -5915, -5915, 73454, 73454, -5915, 69350, 69350,
3714, 340, 3716, 3403, 3717, 3404, 55486, 55486, -5915, 383,
73454, -5915, 69350, 73454, -5915, 94487, -5915, 94487, -5915, -5915,
-5915, -5915,121592,121592, -5915, 69350, 67811, 3720, 94487, 94487,
-5915, 94487, 94487, -5915, 94487, 94487, 2335,112442, 1365, -5915,
94487, -5915, 94487, -5915, 94487, -5915, 94487, -5915, 94487, -5915,
-5915, -5915, 94487, -5915, 94487, 2339, -5915, -5915, 2353, 1521,
94487, 94487, 911, 73454, 94487, 3577, 94487, 73454, 73454, 94487,
94487, 94487, 94487, 94487, 3434, 3097, 508, -5915, 1773, 1017,
85766, 3589, -5915, -5915, 2361, 2412, 50, 94487, -5915, 94487,
94487, 94487, -5915, -5915, 79097, 3705, 457, 80636, 94487, -5915,
-5915, 21230, 35559, 1689, 31837, -5915, -5915, 21062, 3395, 35559,
35559, 3351, 2944, 2944, -5915, 1495, 35559, 35559, 35559, 29182,
35559, 35559, 33435, 35559, 35559, 35559, 35559, 35559, 35559, 2944,
2944, 3352, 35559, 16187, 35559, 55486, 35559, 41400, 26074, 35559,
35559, 30244, 1496, 3034, 35559, 3616, 42456, 35559, 434, 3618,
35559, 434, 16187, 3877, 3877, 2184, 7668, 3357, 1689, -5915,
-5915, 1106, 2944, 1106, -5915, 386,121592, 35559, 35559, 35559,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, 35559, -5915, 64733, -5915, -5915,
-5915, -5915, -5915, -5915, 191, -5915, -5915, -5915, -5915, -5915,
-5915, 5608, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, 94487, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, 30775, -5915, -5915, -5915, -5915, 3362, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, 3700,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, 31306, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, 3375, -5915, -5915, 35559, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, 3446, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, 1277, 35559,
35559, 35559, 35559, 35559, 35559, 35559, 35559, 35559, -5915, 35559,
470, -5915, -5915, 3712, 3463, 85, 550, 3387, 3579, 90383,
32373, 3478, -5915, 25000, -5915, 313, 3478, -5915, -5915, -5915,
94487, 3600, -5915, -5915, -5915, 3453, -5915, -5915, -5915, -5915,
-5915, -5915, 242, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, 3368, -5915, -5915, -5915, -5915, 3368, -5915, 3388, 3707,
3719, 959, 85766, 2737, 35559, 191, 278, 94487, 35559, 3362,
3700, 35559, 3375, 35559, 3446, -5915, 35559, -5915, 2372, 2069,
35559, 2380, 3393, -5915, -5915, 3385, 3120, 3396, 3399, 3394,
3397, 2944, 245, 3398, 880, 186, 3521, 2944, 3641, 3400,
-5915, 64733, -5915, 44524, 3428, -5915, -5915, -5915, 1800, 85766,
85766, -5915, 3703, -5915, 3406, -5915, 17305, 3703, -5915, -5915,
41928, 3511, 3686, 3621, -5915, -5915, -5915, 3407, 21062, 36621,
36621, -5915, 2450, 21062, 2521, -5915, -5915, -5915, -5915, -5915,
-5915, 1545, -5915, 94487, 193, 3487, 1711, 3460, 1349, 3898,
3465, 94487, -5915, 50211, 2385, -5915, 69350, 94487, 94487, 3625,
-5915, 3884, -5915,123588, -5915, 3411, -5915,123089,118598, -5915,
-5915, 1218, -5915, 1259, 69350, -5915, 94487, 94487, 69350, 94487,
94487, -5915, 69350, 3466, 94487, 94487, -5915, -5915, -5915, -5915,
-5915, 61654, 127, 79097, 3559, 78584, -5915, -5915, 3418, 94487,
3653, -5915, -5915,112955, -5915, 3657, 69350, 94487, 94487, 35559,
3658, 94487, 94487, -5915, 614, 3510, 3512, -5915, 94487, 3513,
73454, 3423,121592, 73454, 56018, 73454, 73454, 3793,121592, 94487,
94487, 1624, 85766, 285, 1006, 3197, 3666, -5915, 1437, -5915,
69350, -5915, 94487, 3656, -5915, -5915, -5915, 82175, 3921, 3560,
-5915, -5915, -5915,113468, -5915, -5915, 3660, -5915, 2387, -5915,
69350, 69350, 94487, 9138, 3435,113981, 94487, 49, 3732, 3681,
3677, 3735, 1202, -5915, -5915, -5915,121592, -5915, 94487, 90896,
94487, 94487, 3726, 94487, 82688,114494,115007, 1865, 1882, 3727,
94487, 83201, 3728, -5915, 3592, 94487, -5915, -5915, 65246, 69350,
94487, 949, 64733, -5915, 3710, -5915, 94487, -5915, 348, -5915,
94487, 9887, 3672, -5915, -5915, 3535, 3546, 94487, 449, 1049,
3197, 3862, 94487, 94487, 3451, 2391, 69350, 94487, 64733, -5915,
3684, 141, 69350, 94487, 82175, -5915, 3687, -5915, 85766, 3797,
-5915, 3455, 2436, 2655, 2134, 3455, 69350, 94487, -5915, 3455,
94487,104747, -5915, 69350, 1516, -5915, 69350, 94487, 82175, -5915,
3692, 3633, 69350, 94487, 14814, -5915, -5915, -5915, 392, -5915,
-5915, -5915, -5915, -5915, 94487, 94487, 392, 94487, 94487, 392,
1727, -5915, 69350, 94487, -5915, -5915, -5915, 3609, 69350, 94487,
94487, 299, 94487, -5915, 94487, 69350, 3514, 94487, 94487, -5915,
-5915, 94487, 6715, 94487, 94487, 94487, 94487, 94487, 94487, 69350,
94487, -5915, -5915, 1543, 1275, 1751, 1893, 918, 94487, 3807,
94487,115520, 1806, 69350, 94487, 94487, 1806, 94487, 64733, 462,
-5915, -5915, 3610, -5915, 69350, 1516, -5915, 10088, 94487, 94487,
94487, 3556, 3557, 307, 3651, -5915, -5915, -5915, 832, 832,
3693, -5915, 35559, 35559, 33966, 3480, -5915, -5915, 35559, 2967,
-5915, -5915, -5915, 1112, 3977, 1112,116033, 1112, 1112, 3791,
3547, 3548, 1112, 1112, 1112, 3775, 1112, 1112, 1112, 94487,
3670, -5915, -5915, 3670, 836, 35559,121592, 94487, -5915, 2393,
-5915, 3497, -5915, -5915, 64733, 94487, 571, 1131, 3866, 3721,
77045, 2357, 3854, 94487, 3545, 94487, 3991, 3596, 24, -5915,
2357, 94487, -5915, 1364, 79097, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, 94487, -5915, -5915, 3860, 94487, 45041, 3683, -5915,
1806, 2922, 2922, 2922, 2922, 3501, 2922, 94487, 3639, 3882,
2357, 3505, 3885, -5915, 3301, 3886, 1934, 94487, 3738, 77045,
3572, 3553, 3754, 4010, 2436, 1806, 3756, 3740, -5915, 60128,
-5915, 2922, 4025, 28683, 5042, 6712, 3743, 3810, -5915, -5915,
3751, 1075, 94487, 3864, 3865, 3889, -5915, 234, -5915, 4024,
1854, 3890, 277, -5915, 315, -5915, 2975, -5915, 94487, -5915,
94487, 94487, 94487, 94487, 324, -5915, -5915, 315, 2975, 315,
959, -5915, 3820, 277, 2975, 3665, 3895, 340, -5915, 370,
-5915, 3758, 959, -5915, 3776, 2436, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, 2395, -5915, 94487, -5915, 3875, 3880, 3881,
3883, 3887, 3539, 3550, 3595, 94487, 3555, 3539, 392, 3563,
3566, -5915, 3555, 3555, 3539, 3097, 3097, 3539, 3550, 68324,
4027, 64733, -5915, -5915, 3636, 3561, 3910, 909, -5915, 1007,
1463, 3817, -5915, -5915, -5915, -5915,121592, -5915, 69350, 3613,
-5915, -5915, -5915, 3783, 3567, 68324, 959, 206, -5915, 73454,
94487,121592, 73454, 3794, 73454, 73454,121592, 94487, 94487, 2420,
-5915, 1918, -5915, 2237, 35559, 230, -5915, 18003, 2421, 35559,
3573, 3575, -5915, 3931, -5915, -5915, -5915, -5915, -5915, -5915,
3578, 3935, -5915, 2425, 2427, 18168, 2323,121592, 2913, 3629,
-5915, 3581, 241, 3798, 3580, 5492, 3638, 2429, 3584, 258,
-5915, 5492, 389, 3585, 9289, 3748, 3614, 2433, 3615, 3620,
-5915, 6619, 7250, 3622, 18200, 3623, 3632, 3634, 3630, 41400,
41400, 29713, 1251, -5915, 41400, 3637, 3804, 2434, 17350, 3640,
3652, 18580, 34497, 35559, 34497, 34497, 18750, 3648, 3654, -5915,
3997, -5915, 2441, 64733, 3813, 18888, 2448, -5915, 35559, 64733,
7502, 35559, -5915, 35559, -5915, 3659, -5915, -5915, 5912, 5912,
5912, 16187, -5915, -5915, 3645, -5915, 41400, 41400, -5915, 2683,
29713, -5915, 3972, -5915, -5915, 593, -5915, -5915, -5915, -5915,
-5915, 4176, -5915, -5915, -5915, 3859, 2323, 3544, 55486, 7863,
35559, 305, 35559, 3663, 35559, 3724, 5912, 5912, 5912, 561,
561, 382, 382, 382, 2426, 550, -5915, -5915, -5915, 3669,
3673, 3579, 3676, 35559, -5915, 3702, 50728, -5915, 2446, 2452,
94487, 2916, 3367, 4217, -5915, -5915, -5915, 3428, 114, 3428,
-5915, 323, 2944, 1106, 62167, -5915, -5915, -5915, -5915, -5915,
-5915, 85766, 21062, -5915, -5915, 3923, 3678, 2457, -5915, -5915,
2944, -5915, -5915, 2309, 2309, 3627, -5915, 3667, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, 3664, -5915, -5915, -5915, 3688,
3695, 45558, 3975, 3697, 44007, 91409, 3682, 290, -5915, 91409,
91922, 91409, 91409, -5915, 3699, -5915, -5915, 1689, 35559, 4006,
-5915, -5915, -5915, 35559, -5915, -5915, 1208, 3679, 105, 801,
2711, 2711, 2450, 809, -5915, -5915, 3742, -5915, 35559, 2594,
-5915, 2601, -5915, -5915, -5915, -5915, 3097, -5915, 3955, -5915,
-5915, -5915, 44524, 3733, 3746, 97, 48660, 3916, -5915, 94487,
44524, -5915, 94487, 422, -5915, 3701, -5915, -5915, -5915, -5915,
-5915, -5915,118598, 2138, -5915,123089, -5915,123089, -5915, 2138,
4169, -5915,118598, 2094, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, 69350, 69350, 3919,
94487, 3917, 3922, 35559, 1449, -5915, 4076, 959, -5915, -5915,
3787, -5915, 21062, -5915, -5915, -5915, -5915, -5915, 69350, 94487,
-5915, 72941, -5915, -5915,121592, -5915, -5915, 94487, 94487, -5915,
-5915, -5915,121592, -5915, -5915, -5915, 94487, 855, 3788, 3789,
94487, -5915, 1009, 3461, 10372, 94487, 94487, 94487, 4023, -5915,
-5915, -5915, -5915, 3946, -5915, 4086, -5915,118598, -5915, 2975,
1705, 3800, 3197, 35559, 3957, -5915, 996, 94487, 3715, 3718,
4094, 94487, 1070, 4048, 3736, -5915, 3833, 4060, 3871, 339,
-5915, -5915, 3888, -5915, -5915, -5915, -5915, 4117, 959, 4118,
959, 94487, 94487, 94487, 94487, 3891, -5915, -5915, -5915, -5915,
3892, 4026, -5915, 64733, 64733, 64733, 2459, -5915, -5915, 1806,
-5915, -5915, -5915, -5915, -5915, -5915, 4070, -5915, 2464, -5915,
1914, 92435, -5915, -5915, -5915, -5915, -5915, 4119, 69350, 94487,
10756, 94487, 94487, 94487, 3969, 2105, 1424,121592, -5915,120095,
-5915, -5915, 2480, -5915, 3755, 94487, 3836, 69350, 3812, -5915,
-5915, -5915, 4132, 2436, 3905, 81149, 3809, 3809, 2216, -5915,
-5915, -5915, -5915, -5915, 4043, 3967, -5915, 1230, 3970, 69350,
3834, -5915, -5915, -5915, -5915, 4147, 3869, -5915, -5915, 3870,
1119, 3197, 3301, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, 3894, -5915, -5915, -5915, -5915, -5915, -5915, 1653,
1653, -5915, -5915, -5915, 1653, 1779, 420, 1120, 3197, -5915,
407, 428, 3872, -5915, 3873, -5915, -5915, -5915, 4046, 4055,
4058, 3876, 3878, 3933, 3879, 3893, 3938, -5915, 3897, 3939,
3899, 3941, 3900, 4184, 959,121592, 4032, 1806, 3929, 4175,
959, -5915, -5915, 3901, -5915, 3902, -5915, 2492, 4287, 4288,
-5915, 94487, -5915, 512, 1232, 3197, -5915, 3903, -5915, 69350,
94487, -5915, -5915, -5915, 35559, 3799, 3801, 3802, 21062, 21062,
35559, -5915, -5915, 21062, 3811, -5915, -5915, -5915, -5915,121592,
-5915, 94487, 4112, -5915, -5915, 1112, 94487, 94487, -5915, -5915,
-5915, 94487, -5915, -5915, -5915, 4127, -5915, 549, 549, -5915,
-5915, 4152, 9452, 3816, 458, -5915, 64733, 52294, 2476, 217,
2021, -5915, 72941, 94487, 72941, -5915, 1131, 4040, 94487, 94487,
94487, 3818, 3819, -5915, -5915, -5915, -5915, 69350, 1046, 69350,
2944, -5915, -5915, 3909, -5915, 94487, 2436, 4357, 4188, 3514,
-5915, 4320, 3416, 1096, 2033, 534, 3009, 4260, 2684, 35559,
446, -5915, -5915, 1689, 94487, 3553, -5915, -5915, -5915, -5915,
1806, -5915, 3837, 3835, -5915, 94487, 4209, 94487, 94487, 94487,
94487, 3613, 3846, 94487, 3847,121592, 94487, 2418, 3198, 4347,
4228, 2412, 3572, 3940, 4233, 85766, 3867, 2499, -5915, -5915,
1075, -5915, 2500, 219, -5915, 1806, 72941,119097, 4220, -5915,
346, 6712, -5915, -5915, 346, 1156, 94487, -5915, -5915, -5915,
-5915, 4090, 2200, -5915, 4206, -5915, -5915, 2412, -5915,121592,
3863, -5915, 2505, -5915, -5915, -5915, 340, 3925, 959, 3927,
959, -5915, -5915, -5915, -5915, 94487, -5915, 94487, 67811, -5915,
-5915, 94487, -5915, 4244, -5915, -5915, 4013, 4016, 4017, 4019,
4020, 94487, 3539, -5915, 3904, 94487, 94487, 69350, 1747, -5915,
-5915, 69350, 475, -5915, 970, -5915, 85766, 4011, -5915, -5915,
-5915, -5915, 4256, 4257, -5915, -5915, -5915, 328, -5915, 80123,
477, -5915, 69350, 4190, 4191, 4192, 4193, 392, 4194, 4195,
4196, 4198, 4199, -5915, -5915, -5915, 3896, 18928, 35559, -5915,
4278,121592, -5915, 9543, -5915, -5915, 35559, -5915, 35559, -5915,
-5915, 4197, -5915, -5915, 3961, 3962, 3906, 3629, 3748, -5915,
4121, 4123, 35559, 3748, 4370, 396, 35559, 35559, 35559, -5915,
-5915, 4124, 4129, 35559, 2323, 2323, 35559, -5915, 3911, 35559,
-5915, -5915, -5915, -5915, 2527, 35559, -5915, 35559, -5915, -5915,
26611, 4426, 4426, 3907,121592, 41400, 41400, 41400, 41400, 1458,
3068, 41400, 41400, 41400, 41400, 41400, 41400, 41400, 41400, 41400,
41400, 572, -5915, 4120, 35559, 35559, 35028, -5915, -5915,121592,
3912, 3648, 3914, 3915, 35559, -5915, -5915, -5915, 2507, 42973,
3920, 64733, -5915, 35559, 17597, 2513, 3956, 19283, 1689, 9957,
2728, 35559, 1951, 2003, 35559, 2536, 35559, -5915, -5915, -5915,
-5915, 4263, -5915, -5915, -5915, -5915, -5915, -5915, 4154, 2323,
-5915, -5915, 35559, 3928, 4499, 41400, 41400, 4640, 29713, -5915,
5874, 35559, 29713, -5915, 3693, -5915, 27148, 3913, 35559,118085,
-5915, -5915, 1224, 1224, 1224, 1224, -5915, 94487, 94487, 94487,
4006, 3930, 4006, 220, 3932, -5915, -5915, -5915, -5915, 2412,
-5915, 3924, -5915, -5915, -5915, -5915, -5915, 35559, 91409, 91922,
91409, 91409, 3918, 43490, 27666, 290, 3936, 94487, -5915, -5915,
3942, 44524, 4230, 4136, -5915, 44524, 4136, 2205, 4136, 4232,
4029, 51245, -5915, -5915, 3943, -5915, -5915, 4159, -5915, 2173,
21062, 4418, 4289, -5915, 3945, -5915, 3679, 1696, -5915, -5915,
-5915, 1269, -5915, 4037, -5915, -5915, -5915, 3682, 37152, 4107,
-5915, -5915, -5915, 4007, 2550, -5915, -5915, 4396, 4107, -5915,
2449, -5915, 2552, 50211, 3733, 35559, 1689, 2556, 2181, -5915,
-5915,118598, -5915, 4030, 2975, 2975, 2343, 3539, 4317, 2343,
10239, -5915, 2250, 94487, -5915, 94487, -5915, -5915, -5915, 4452,
4018, 4021, 4248, -5915, 2837, -5915, -5915, 69350, 94487, -5915,
-5915, -5915, 521, 1252, 3197, -5915, 4045, -5915, -5915, 4280,
94487, -5915, 4437, 4059, 94487, 11132, 4340, 4031, -5915, -5915,
46075, 94487, 94487, -5915, 94487, -5915, 94487, 94487, 2250, 92948,
-5915, 4413, -5915, 2250, 4080, 4321, 345, 3198, 431, 6440,
-5915, 1919, -5915, -5915, 4044, -5915, 94487, -5915, 94487, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, 4110, -5915, -5915, -5915,
-5915, 65246, -5915, -5915, 94487, -5915, 64733, 52294, 64733, -5915,
-5915, -5915, 94487, -5915, 1780, 529, 1367, 3197, -5915, 4063,
-5915, 4345, 4065, 4067, 4128, 1346, 298, 4069, 4071, 4130,
3971, 3985, 3988, -5915, 64733, 52826, 4158, 94487, 2975, 3992,
4036, 94487, 3809, 93461, -5915, 3994, -5915, -5915, 3809, 316,
2729, -5915, -5915, -5915, 1806, 2975, 1806, 94487, 94487, 94487,
94487, 299, -5915, -5915, -5915, 4472, 4097, 94487, 94487, 94487,
94487, -5915, 4053, -5915, -5915, -5915, 94487, 94487, 4364, 287,
2374, 69350, 94487, 94487, 69350, 94487, 94487, 94487, 94487, 94487,
94487, 94487, 4229, -5915, 4460, 4384, 2098, 4430, 4088, 94487,
-5915, 94487, 1806, -5915, 3461, 94487, 94487, 94487, 94487, -5915,
-5915, -5915, -5915, -5915, 3693, -5915, 4012, 4322, 1112, -5915,
4327, 4328, 4329, 1112, -5915, -5915, 2021, -5915, 264, 94487,
-5915, 2561, 94487, -5915, -5915, -5915, 3945, 2675, 2694, -5915,
-5915, -5915, -5915, -5915, -5915, 4033, 94487, 94487, 41400, -5915,
-5915, 501, 1925, 1775, -5915, 4314, 94487, 3276, -5915, -5915,
-5915, 1368, 94487, -5915, -5915, -5915, -5915, 4034, -5915, 988,
3846, -5915, 4346, 77045, 2975, 69350, 69350, 2975, -5915,121592,
4035, 3553, -5915, 989, 4109, -5915, 69350, 1096,116546, 3366,
4062, 4250, 11264, 44524, 45041, 1653, -5915, 4028, 4022, -5915,
-5915, 94487, 4040, 67811, 2573, 3301, 4523, 1378, 2402, -5915,
77558, 4235, 3846, 4346, -5915, 3198, 4261, 4253, -5915, 2412,
94487, 3613, 3553, 1806, 94487, 4031, 52294, -5915, 4566, 2472,
-5915,118598, 35559, 35559, -5915, 4038, -5915, 4047, 6712, -5915,
4115, 4039, 4530, 35559, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, 4133, 4049, 94487, 94487, 1075, 94487, -5915, 4050,
3890, -5915, 3890, -5915, 94487, -5915, 94487, -5915, 959, -5915,
4186, 959, 94487, 94487, 94487, 94487, 94487, 94487, 3539, 392,
3566, -5915, -5915, 4392, 68324, 4399, -5915, 64733, -5915, -5915,
-5915, -5915, -5915, 2575, 94487, -5915, -5915, -5915, 4475, 4411,
959, 457, 1126, 1126, 1126, 1126, 4366, 1126, 1126, 1126,
1126, 1126, -5915, 35559, 21062, -5915, 4072, -5915, 21062, 21062,
4447, 4355, 4358, -5915, -5915, 4073, 4301, 4304, -5915, 4077,
35559, 3748, 19510, -5915, -5915, 4306, 4308, -5915, 3748, 3748,
19510, -5915, 19510, 4081, 11546, 19638, -5915, 2577, 35559, -5915,
1121, 1121, 1121, 3279, 4429, -5915, 2927, 1121, 1121, 1121,
398, 398, 272, 272, 272, 4426, 572, 19715, 20059, 20307,
4082, -5915, -5915, -5915, 3648, -5915, 37683, 792, 4561, 42456,
-5915, -5915, -5915, 4134, 4135, 4084, -5915, 35559, 38214, 4083,
123588, 4302, -5915, -5915, 1178, 35559, 35559, 6376, -5915, 16714,
35559, -5915, -5915, 6376, 552, 35559, 2481, 3294, 35559, 2583,
35559, 6162, 11882, 4091, -5915, 2590, 35559, 11930, 4296, -5915,
94487, 94487, 94487, 94487, -5915, -5915, -5915, 4289, 2747, 4289,
1806, 4092, -5915, 4093, -5915, -5915, -5915, -5915, 65759, 4096,
3813, 91409, 4100, 94487, 290, 44524, -5915, -5915, 1674, -5915,
44524, 4402, -5915, 44524, 73454, -5915, 94487, 4101, 94487, -5915,
1852, 35559, 4146, 55486, -5915, -5915, -5915, -5915, 4204, -5915,
4335, 21062, 4148, -5915, 2412, 2632, 94487, 1689, 725, -5915,
35559, 4114, 94487, -5915, 4107, 21062, -5915, 4200, 2591, -5915,
-5915, 4339, -5915, -5915, -5915, -5915, -5915, 4205, 79097, 4466,
-5915, -5915, -5915, 1975, 4445, 280, -5915, 959, -5915,121592,
94487, 94487, 94487, 3144, -5915, -5915, 94487, 94487, 94487, 94487,
-5915, -5915, 69350, 94487, -5915, -5915, 94487, 35559, 2592, -5915,
4162, 4581, 218, 4122, -5915, 2250, 1695, 2250, -5915, 1695,
-5915, -5915, 93974, -5915, 4040, 299, 501, 4464, 4467, 4367,
-5915, 392, -5915, 4626, 501, 4368, 299, -5915, -5915, -5915,
-5915, 3360, -5915,121592, 959, 959, -5915, -5915, -5915, -5915,
-5915, 4141, -5915, 4609, 4231, 94487, 94487, 94487, 94487, 94487,
69350, 94487, 94487, 2944, 2944,121592, 4131, -5915, 2944, 2944,
4137, -5915, 69350, 94487, 94487, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, 4224, -5915, 35559, 4601,
-5915, -5915, -5915, -5915, -5915, 35559, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, -5915, 69350, 94487, 4227,
-5915, 4238, -5915, 229, -5915, -5915, 94487, 94487, 94487, 94487,
4518, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, 4517, 94487, -5915, -5915, 1806, 1806,121592, 959,
959, -5915, -5915, -5915, 4239, -5915, -5915, 4142, 4455, 1112,
-5915, 1112, 1112, 1112, -5915, 4153, -5915, 2021, 4563, -5915,
2250, 2035, 4511, -5915, 35559, -5915, 2161, 3279, -5915, 4573,
4656, -5915, -5915, -5915, -5915, 4406, 3514, 2436, 3514, -5915,
-5915, 73454, 1500, -5915, 4496, 571, 64733, 4395, 77045, 407,
1053, 4164, 4305, -5915, 2975, 2975, 4240, 94487, 4664, -5915,
-5915, -5915, -5915, -5915, -5915, 69350, 3812, -5915, 4415, 1781,
4532, 94487, 45041, -5915, 3682, -5915, -5915, -5915, 1806, -5915,
-5915, 4311, 3553, -5915, 2168, 94487, 4408, 77045, 3613, 2596,
-5915, -5915, -5915, 4221, 4657, 3572, -5915, 407, 4235, -5915,
-5915, 4633, 4281, 4236, 4682, -5915, 4281, 4543, 4412, 4187,
-5915, 3867, -5915, 94487, -5915, 21062, 21062, 1806,124087, 346,
121592, 4553, -5915, 21062, 94487, 967, 4201, 4365, -5915, 4521,
959, 2603, -5915, 959, 959, -5915, 94487, -5915, 3539, 3539,
3539, 3539, 3539, -5915, 4417, -5915, -5915, -5915, -5915, 4512,
-5915, 68324, -5915, 959, -5915, -5915, -5915, -5915, -5915, -5915,
1126, -5915, -5915, -5915, -5915, -5915, 21062, -5915, 94487, -5915,
-5915, -5915, -5915, -5915, -5915, 3406, 4207, 35559, 1433, -5915,
-5915, 4208, 4210, 3748, 3748, -5915, -5915, 35559, -5915, 12277,
41400, 4558, -5915, 35559, 35559, 35559, -5915, 4202, 2607, 2613,
-5915, -5915, 792, -5915, 4561, -5915, -5915, -5915, 12586, 4265,
21062, 4331, 4212, 962, 6376, 6376, 16714, 6376, 35559, 35559,
6376, -5915, 6376, 35559, -5915, -5915, -5915, 12903, -5915, 4687,
3693, -5915, -5915, -5915, -5915, 4146, -5915, -5915, 4146, -5915,
4360, 35559, -5915, 2614, 4719, 40338, 4677, -5915, 94487, 2621,
-5915, 35559, 4223, -5915, -5915, 44524, 1674, 4225, 2626, 94487,
2634,121592, 38745, 21062, 94487, 3693, 4226, -5915, 94487, 4234,
32373, -5915, 97, -5915, -5915, 4668, 46075, 4629, 20080, 35559,
-5915, -5915, -5915, -5915, -5915, 68324, 4456, 68324, 2250, -5915,
-5915, -5915, -5915, -5915, -5915, -5915, 4237, -5915, -5915, -5915,
-5915, 4319, -5915, -5915, 1399, 3589, 2250, -5915, 13306, 4559,
46075, 56550, 94487, -5915, 94487, -5915,117059, 4242, 4446, 4243,
4245, -5915, -5915, -5915, -5915, 4731, 4613, 4614, -5915, -5915,
4241, -5915, -5915, -5915, 4460, -5915, -5915, 52294, 69350, 94487,
-5915, 4325, -5915, -5915, -5915, -5915, -5915, -5915, 48143, 55486,
-5915, 1346, 4247, 4252, 298, -5915, -5915, -5915, 94487, 13465,
4258, 13510, 1432, 3589, 94487, 94487, 4259, 4264, 4268, 1969,
1509, 2070, 3539, 4603, 94487, -5915, -5915, -5915, 4460, -5915,
-5915, 94487, -5915, 1112, -5915, -5915, -5915, -5915, 64733, -5915,
2704, 4153, 1806, 73454, 4738, 4738, 14101, 4486, -5915, -5915,
472, 4577, -5915, 4323, 4527, 4323, 4269, 94487, 1368, 4270,
2638, -5915, 94487, 4262, 4393, 2221, 2221, 94487, 94487, 94487,
2640, 2412, 2975, 4036, 1096, 4643, 77045, 4695, 4040, 453,
-5915, 94487, 4771, 94487, 3613, 3846, 94487, 4276, -5915, -5915,
77558, 4500, 2476, 94487, 2418, 4235, 3572, 1107, 94487, -5915,
1129, -5915, 2412, -5915, 94487, 85766, 46075, 4637, -5915,123089,
-5915, 2646, -5915, -5915, -5915, 4359, 21941, 3428, 4401, 4404,
4283, 2066, 4649, 94487, 1339, -5915, -5915, -5915, -5915, -5915,
-5915, 94487, 477, -5915, -5915, -5915, -5915, 4286, -5915, 4789,
35559, 999, -5915, -5915, -5915, -5915, -5915, 4519, -5915, 4291,
-5915, -5915, 2602, 1433, 20624, -5915, 3655, 41400, 21062, 21062,
21062, 35559, -5915, 35559, -5915, -5915, -5915, -5915, 1132, -5915,
-5915, 4624, 4294, 6376, 6376, 6376, -5915, 35559, 249, -5915,
-5915, 1497, 4720, 20933, 3699, 65759, 4297, -5915, 41400, 2648,
-5915, 3179, 94487, 2652, -5915, 21062, 94487, -5915, -5915, 35559,
-5915, 2662, -5915, 4300, 84, 4303, 25537, 4298, -5915, -5915,
-5915, -5915, -5915, 21062, 4309, -5915, 4803, 1711, -5915, -5915,
2211, 3094, 4372, 94487, 2663, -5915, 819, 269, 798, -5915,
4809, 4809, 21062, 1747, 2343, 412, -5915, 94487, 4407, -5915,
4581, 4310, 3514, -5915, 4312, -5915, -5915, 463, 3198, 94487,
4489, -5915, 4559, 4559, 2476, 4659, -5915, -5915, 35559, 4386,
-5915, 1461, 3589, 94487,121592, -5915, 150, 4685, -5915,121592,
121592, -5915, -5915, -5915, 35559, -5915, 4423, -5915, -5915, -5915,
35559, 35559, 76019, -5915, -5915, 94487, 94487, 94487, 94487, 94487,
-5915, 959, -5915, -5915, 2668, -5915, 47109, -5915, -5915, 3414,
1806, 3414, 228, -5915, -5915, 3414, 3414, -5915, 3428, -5915,
4738, 432, -5915, -5915, 4406, 4326, 35559, -5915, 4661, -5915,
1050, 4554, -5915, 4332, -5915, 73454, 4866, -5915, 64733, 3846,
4346, 94487, -5915, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -5915, 2669, 4040, 4706, 3553, 4236, -5915,
94487, 4375, -5915, 44524, 4040, 2412, 2402, -5915, 4235, 3846,
4346, -5915, -5915, 4337, 4253, 3572, 2418, 4488, -5915, 4491,
-5915, 4807, 4562, 4808, 3613, -5915, 4031, 2681, 94487, -5915,
-5915, 6712,124087,121592, -5915, -5915, -5915, 4342, 4747, 4397,
4398, -5915, -5915, -5915, 2066, -5915, 1493, 4744, 4403, -5915,
4409, 94487, -5915, -5915, 4040, 959, 35559, 64733, 21062, -5915,
-5915, 4748, -5915, 292, 254, 975, 4584, 4362, 35559, 3655,
2687, 2696, 4419, -5915, -5915, -5915, 3648, 39276, 39276, 39276,
4369, 4732, 4734, 94487, -5915, 94487, 4572, -5915, -5915, 94487,
3279, 4371, 40338, 64733, 2706, -5915,120594, -5915, 2707, 2708,
-5915, 35559, 4374, 35559, -5915, 38745, 94487, 4376, 3487, -5915,
-5915, 2725, -5915, 4870, 2412, -5915, 3428, 46075, -5915, 4510,
-5915, 4650, -5915, -5915, 35559, 4471, 4473, -5915, 4740, -5915,
-5915, 94487, -5915, 94487, 4323, 55486, 3679, 463, -5915, 94487,
3514, 3514, 4326, 14633, 35559, -5915, 4481, -5915, -5915, 2727,
1582, -5915, -5915, 2739, 2751, 14730, 94487, 2760, 2761, -5915,
2766, 2944, 3550, 2070, 3550, -5915, 3539, -5915, -5915, 64733,
-5915, -5915, 68837, -5915, -5915, -5915, 1806, -5915, 1806, 4622,
58089, 58602, 1806, 1806, -5915, -5915, -5915, -5915, -5915, 3301,
-5915, 15412, 4483, -5915, -5915, -5915, 524, -5915, 4612, 4615,
-5915, 4388, -5915, 2767, -5915, 407, 4526, 4040, -5915, -5915,
94487, 4889, 4892, -5915, 1795, 94487, 3682, -5915, 4236, 3613,
3572, 407, 4235, 2476, 46592, 4281, 2418, 4253, -5915, -5915,
4618, -5915, 4620, -5915, 4405, 4735, -5915, 2176, 346, -5915,
-5915, -5915, 1536, 4754, 4755, -5915, -5915, -5915, 3414, -5915,
1981, 4410, 4780, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
4442, 293, 321, -5915, 4443, -5915, 4587, 4592, 1433, 399,
-5915, 21062, -5915, -5915, -5915, 40869, 4564, 1358, 17433, 4796,
-5915, 4796, 4796, -5915, 4894, 4895, 1464, -5915, 4875, 2780,
42456, -5915, -5915, -5915, 94487, 4634, 1578, 4919, 4589, 2787,
38745, 2788, -5915, -5915, -5915, -5915, -5915, 2211, 94487, -5915,
-5915, -5915, 50211, 4900, 21062, 527, 1820, 68324, 3589, 2793,
3809, 4424, -5915, 3679, 4428, 4323, 4323, -5915, -5915, 21062,
94487, 73454, 4906, -5915, -5915, -5915, -5915, 3589, 4524, -5915,
-5915, 76019, -5915, 94487, -5915, -5915, 2801, -5915, -5915, -5915,
59115, -5915, 4201, -5915, 4201, -5915, -5915, 1045, 1471, 94487,
1078, 1078, 4842, -5915, 4498, -5915, 4436, -5915, 4970, 4575,
94487, -5915, -5915, 1346, 2412, 77045, 4040, -5915, -5915, 2418,
4235, 3572, 35559, 2803, -5915, 4581, 218, -5915, 4253, 4281,
-5915, -5915, 46075, 4440, 3276, 4836, -5915, -5915, -5915, 2548,
73454, 73454, 94487, -5915, -5915, -5915, 35559, 1368, -5915, 4484,
-5915, 4485, -5915, -5915, 4670, 4673, 4448, 1433, -5915, 4949,
-5915, -5915, -5915, -5915, -5915, 361, -5915, -5915, -5915, 94487,
94487, 94487, 4451, -5915, 3813, -5915, -5915, 41400, 41400, 4690,
-5915, 41400, 1578, -5915, 94487, -5915, 4457, -5915, -5915, 2805,
-5915, -5915, -5915, 1630, 2087, -5915, 4697, 4591, -5915, -5915,
4698, 438, -5915, 412, -5915, -5915, -5915, -5915, -5915, 94487,
4527, -5915, -5915, 3589, -5915, 94487, -5915, 4459, -5915, -5915,
-5915, 68837, -5915, 4201, -5915, -5915, -5915, -5915, -5915, -5915,
4972, -5915, 1418, -5915, -5915, -5915, -5915, 94487, 4040, 4131,
4236, -5915, 4253, 3572, 2418, 15546, -5915, 46592, 94487, 94487,
4281, -5915, 2807, 46075, 3553, 4616, -5915, 2404, -5915, -5915,
-5915, -5915, -5915, -5915, -5915, 948, 4458, 4462, -5915, -5915,
15940, 73454, -5915, -5915, 4608, 4610, -5915, 4696, 39807, 4623,
-5915, 4691, -5915, 1515, 1557, 2063,117572, 4924, 3279, 3279,
-5915, 3279, -5915, -5915, 35559, -5915, -5915, -5915, -5915, -5915,
50211, -5915, 4533, 97, 4477, 94487, -5915, -5915, 2250, 4122,
4554, 2250, 2250, -5915, -5915, 35559, -5915, -5915, 2436, 2436,
4040, -5915, -5915, 4281, 2418, 4253, 4581, -5915, -5915, -5915,
-5915, 4735, -5915, 2819, 4281, 4403, 2569, -5915, -5915, 2686,
2771, 4552, 4837, -5915, 4480, 4594, 4597, 4868, -5915, -5915,
-5915, 94487, 94487, 66272, 94487, 666, 2823, -5915,121093, 94487,
16572, 4492, -5915, 4546, 35559, 2827, 4497, -5915, 2834, -5915,
-5915, -5915, -5915, 4253, 4281, 94487, 3276, -5915, 46075, 3428,
4876, -5915, 2404, 4621, 4627, 64220, -5915, -5915, -5915, -5915,
-5915, 1968, 358, 4905, -5915, -5915, 1806, 1433,117572, 4718,
211, 2839, -5915, 4560, 2840, 118, -5915, 2250, -5915, 4281,
-5915, -5915, 3553, -5915, -5915, 1368, -5915, 4544, 4551, -5915,
2846, -5915, -5915, -5915, -5915, 35559, 66272, 1201, 4508, -5915,
-5915, 4712, 1806, 2602, 4712, -5915, -5915, -5915, 97, -5915,
-5915, 4281, 73454, 4867, 4869, -5915, 64220, 832, 4578, 94487,
4514, -5915, 1433, -5915, 975, 2602, 4576, 3428, 4520, 73454,
73454, -5915, 4522, 94487, 4977,117572, -5915, 1433, 975, 4560,
-5915, 64220, -5915, -5915, 2747, -5915, 4525, 2847, -5915, 1433,
-5915, 2848,117572, -5915, -5915, -5915, 2870, -5915
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-5915, -5915, -5915, 4138, -474, -1720, -5201, -1125, -766, -5915,
-5915, -984, 563, 3359, -971, -5915, -5915, -5915, 1555, -5915,
-5915, -5915, -5915, 4095, -5915, -2971, -5915, -5915, 185, 4052,
-1397, 187, 3661, 1620, -5915, -1026, -5915, -5915, -622, 1,
-5915, 4051, -439, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -847, 2083, -5915, 2175, 1409, -3302, -5915, -5915, -1522,
-3822, -5915, 656, -5915, 683, -4180, -5915, -4879, -1036, -5915,
-5915, -5915, 2068, -5915, -5915, -5915, 2015, 1203, -382, -5915,
-5915, -5915, -5915, -5915, -5915, -856, -5915, -5915, -1167, 2,
-669, -3002, -4376, -5915, -5915, 506, -420, -1502, -5915, 702,
-5915, 703, -5915, -4908, -5915, -3, -2792, -2574, -5915, -5915,
-5915, -5915, -392, -1540, 1451, -5915, 1511, -638, 149, -733,
-1114, -1239, -5915, -3112, -2622, -1138, -5915, -277, -3625, -1236,
-862, -860, -1021, -4443, -4981, -5915, -5915, -1166, -3843, -5265,
-5479, -4904, -5218, 1462, -5915, -27, 513, -5915, 4, -3704,
-3810, 6, 486, -5915, 7, 8, -5915, 503, -793, -979,
-1611, -5915, -791, -5915, -5915, -5915, -3496, -5915, -5915, -5915,
180, -5915, -5915, -5915, -5915, 547, -5915, -5915, -5915, -5915,
-5915, -5915, -3199, 2045, 2049, -5915, -4468, -5915, -952, -5915,
713, -3536, 1443, -5915, -5915, 1204, 4125, 530, -5915, -5915,
-5915, -5915, -5915, -5915, -1802, -5915, -5915, -5915, -5915, -8,
-362, -5915, -5915, -5915, -5915, -5915, -5915, -5915, 11, -5915,
1162, 468, -5915, -5915, -674, -5915, -5915, -5915, -5915, -5915,
-5915, -1228, -5279, -1363, -1335, -5915, -3492, -5915, -5915, -5915,
-333, -5915, -5915, -5915, -5915, -5915, -868, -5915, 1260, -4223,
-5915, -5915, 509, -5915, -5915, -5915, -5915, -5915, -995, -268,
3281, -5915, -531, -5915, -5915, -5915, -262, -5915, -5915, -5915,
-5915, -5915, -524, -1281, 5148, 4501, -1123, 15292, -843, -564,
-5915, -5915, -5915, -2778, -5915, -5915, -4262, -5915, 5139, 2740,
1066, 12, -5915, -18, 117, 3948, -5915, 1140, -1173, -3169,
482, -472, -5915, -5915, -5915, 489, -5915, -1983, -5915, -5915,
-5915, -5915, -4169, 13, -5915, -4454, -5276, -4695, -4247, -1182,
-5915, -4529, -4602, -4144, -5915, 2089, -5915, -5915, -544, -192,
3284, -5915, -1500, 2437, -1457, -5915, -2649, 553, 1629, 3285,
-3317, -109, 3265, -3050, -5915, -722, 1212, -5915, -340, -3856,
-5915, -5915, -5915, -2875, -603, -5915, -5915, 1784, -1085, -5915,
-5915, -5915, -5915, -653, 3244, -196, -5915, -5915, 4493, -5915,
-5040, -5915, 4450, -5915, -5915, -5915, -5915, -5915, -5915, -5915,
-5915, -5915, -1505, 1386, -5915, -803, -5915, -5915, 2199, 764,
-5915, -5915, -5915, -5915, 1475, -450, -5915, -5915, -5915, -5915,
-5915, -5915, -5915, -958, -1198, -5915, -5915, -5754, -5915, -5915,
-5915, -5915, -5915, 2482, -962, -753, 4352, 1005, 16, -5491,
-5915, -5915, -849, -5915, 3698, -5915, -5915, -5915, -5915, -5915,
545, 544, -5915, -5915, -5915, -5915, -4568, -5915, -5915, -5144,
-5915, -5915, 2179, -5915, -5915, 1450, 5, 3405, -5915, -5915,
-5915, -14, -5915, -5915, -1031, 2531, -5915, -2399, -5915, -591,
-5915, -5915, -1926, 20, -4447, -5915, 51, -5915, -5915, -5156,
-1108, 344, -5915, -5915, -4149, -5915, -5915, -844, -5915, 61,
-5915, -5915, -5915, -5915, -5133, -5915, 69, -5681, 915, -3384,
-5915, 54, -5915, -416, -5915, -5915, -413, -5915, -5915, -5915,
-4831, 27, 142, -5915, -5915, 107, 335, -46, -23, -12,
21, 160, 3821, -5915, -5915, -5915, -4891, 3852, -5915, 39,
-879, 5200, 5205, -5915, -911, -131, 507, 1743, -677, -2644,
3759, 3762, -5915, 1735, 2555, -2489, -2484, -5915, -989, -814,
-613, -5915, -5915, -5915, -5915, -1555, -676, -2660, -5915, 3772,
-5915, -5915, -5915, -2394, -3416, -3267, 1782, -3336, -3188, -5915,
1015, 998, -875, -59, 43, -1496, -784, 1899, -5915, -5915,
1788, -335, -5915, -5915, -331, -3347, 961, -5915, -4648, -2860,
1796, -1111, -785, -5915, -928, -5915, -576, 1804, -5915, -4044,
-1139, -5915, -3824, 318, 3845, -845, -5915, -5915, -815, 10585,
-5915, -5915, -5915, 10597, 11117, -5915, -5915, 12482, 12618, -5915,
-577, 13093, 9463, -782, -1949, 90, 13445, 18713, -1939, 2576,
102, -5915, -3003, -337, -5915, -5915, -5915, -289, 1122, 922,
-5915, -5915, -4699, -4434, -5915, 2702, -2284, -5915, -579, 1877,
-578, -5915, -5915, -5915, -2772, -5607, -2969, 2705, -5915, -5915,
-5915, -147, -5915, 18516, -3303, -5915, -728, -1032, -1595, 3212,
-3135, -1902, -5915, -5915, -5915, -3139, -5915, -5915, -5915, -486,
-5915, -5915, 2027, -5915, -5915, -5915, -1000, 2265, -711, -1199,
1903, -4492, -5915, -520, -5219, -5076, -5915, -5702, -5914, -1838,
-1122, -3065, -3940, -1936, 1916, -3145, -5915, -1940, 1998, 1207,
-5915, -245, -5915, 4400, -801, 2716, -788, 16069, -305, 10404,
-1295, -5915, 3552, -4814, 6292, 2107, 15, -125, 5522, -621,
2629, 3296, -5915, -5915, -6, 8269, -662, -916, -5915, 5527,
16607, 15810, -3741, -5915
};
/* 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 -3025
static const yytype_int16 yytable[] =
{
653, 71, 80, 1051, 83, 175, 84, 85, 86, 1737,
929, 106, 124, 129, 963, 998, 159, 805, 831, 807,
178, 191, 1004, 813, 1834, 1009, 769, 185, 821, 829,
833, 1494, 836, 1105, 1664, 829, 829, 796, 866, 1380,
869, 2854, 191, 796, 1951, 1828, 1717, 925, 925, 925,
2748, 180, 1445, 2961, 184, 1392, 1145, 1480, 940, 1482,
3654, 181, 1669, 3256, 999, 3530, 1231, 1232, 1233, 183,
1436, 1437, 1237, 1465, 2839, 2883, 2053, 1729, 3901, 2853,
1444, 2866, 3531, 1421, 867, 1894, 4060, 863, 951, 2045,
4230, 1007, 4232, 4025, 1204, 3984, 1143, 1408, 3556, 3558,
1237, 3782, 3118, 1051, 3932, 1029, 1867, 186, 651, 3247,
1872, 1513, 4457, 4606, 2005, 1876, 4297, 2748, 1451, 4632,
1178, 3923, 2037, 4940, 4349, 1886, 2039, 1823, 4657, 2040,
2041, 2922, 2922, 3312, 1191, 2922, 3308, 3030, 3814, 1906,
803, 4619, 4874, 1072, 5150, 1426, 4554, 4407, 3332, 4409,
660, 5316, 3272, 832, 4272, 1420, 1051, 711, 4311, 4889,
4909, 934, 3364, 4378, 3366, 4383, 1663, 2830, 942, 2680,
1940, 5158, 5567, 1205, 3185, 1695, 1604, 2991, 2992, 943,
5168, 5179, 232, 5667, 1145, 1722, 5642, 5516, 2987, 1608,
1188, 653, 954, 954, 4980, 1176, 954, 3137, 1180, 5745,
965, 1626, 866, 4286, 5119, 1001, 1643, 3437, 965, 1051,
878, 965, 3439, 3920, 866, 3019, 954, 4255, 5328, 866,
5330, 3522, 826, 954, 1400, 866, 852, 2830, 3525, 860,
3296, 3300, 3303, 3304, 4098, 4317, 3313, 1879, 3315, 3316,
5484, 1571, 5659, 3449, 2830, 4616, 5167, 5385, 717, 5784,
5797, 4201, 4198, 1903, 1576, 5512, 778, 5742, 5253, 1836,
5254, -2599, 1487, 1490, 4100, 717, 2810, 3860, 1022, 3863,
3864, 1051, 5523, 4310, 3868, 3869, 3870, 5983, 3872, 3873,
3874, 4111, 1571, -2519, -2641, 4134, 1902, 1571, 5515, -2667,
3501, 5036, 2639, 6034, 778, -2710, 5707, 5708, 5382, 1933,
5697, 4270, -2603, 4275, 4276, 5995, 1433, 1434, 2867, -2009,
778, 3004, -2001, 778, 1212, -2009, -1968, 1443, -2001, -2446,
-2486, 3252, -1968, 3375, 5920, -2446, -2486, 778, -2487, -2486,
-2486, 6030, 6179, 1216, -2487, 187, 6186, -2487, -2487, -2898,
-1981, 4642, 1933, 1420, 1034, -2898, -1981, -2006, -2898, -2898,
3375, 1859, 2857, -2006, 5273, -2026, 187, -1996, 870, 717,
6181, -2026, 717, -1996, 717, 2111, 4385, 2857, 2602, 902,
2602, 6461, 1263, 3115, 4078, 2616, 4571, 1605, 717, -2009,
1933, 1396, 6031, 778, 2617, -2009, 4062, 2922, 1145, 1933,
1943, 928, 4262, -449, 3841, 2116, 1947, 1605, 670, 4652,
717, 6223, 2685, 778, 5362, 1933, 1958, 1883, 2998, 5436,
1961, 4134, 4111, 5180, 1964, 6290, 1966, -2273, -1801, 4100,
1828, 3776, 1974, 4350, -2273, 5733, 3703, 717, 1980, 2645,
5363, 1983, 937, 5437, 949, 1933, -150, 1881, 6189, -2664,
5847, 784, -150, 4707, 6468, 2691, 1729, 1034, 1933, 1035,
3373, 5227, 5228, 5229, 1197, 5231, 5232, 5233, 5234, 5235,
3472, 5047, 2647, 784, 784, 785, 6309, 2784, 2687, 784,
2907, 4263, 3422, 40, 1986, 784, 5956, 1933, 1436, 1437,
4998, 4386, 784, 3007, 3084, 5674, 5393, 785, 785, 3828,
5872, 2857, 3527, 785, 2618, 1707, 1235, 6147, 1483, 785,
3248, 3416, 2857, 2985, 3504, 4264, 785, 4957, 3417, 3577,
1444, 3726, 44, 6458, 4477, 1036, 1617, 1916, 6159, 1884,
4265, 5997, 664, 5949, 3647, 664, 941, 3001, 5950, 4481,
2625, 2857, 4301, 6290, 5785, 5098, 1018, 5890, 1403, 999,
2915, 4101, 4958, 4266, 6187, 1441, 1442, 6462, 1823, 5917,
6310, 6188, 1035, 1959, 1451, 717, 48, 2939, 4112, 1099,
6332, 2611, 5099, 2116, 5891, 1109, 3735, 1019, 6496, 1543,
2640, 4302, 4267, 2626, 2116, 665, 1828, 1123, 933, 1037,
3116, 4482, 1459, -2292, 5951, 4134, 1485, -1113, 1236, 999,
-2292, 3727, 1949, 1618, 2857, 3505, 891, 2645, 4484, 6334,
-1801, 3578, 2683, 2857, 3829, 3528, 1145, 5848, 2645, 3085,
1934, 2857, 4999, 56, 2026, 2621, 2908, 1989, 1036, 4708,
2634, 2634, 2067, 3423, 1864, 2036, 4603, 2107, 1132, 3008,
2647, 2619, 4187, 5773, 5957, 2787, 3891, 5849, 4542, 3374,
4959, 2647, 2046, 4130, 3230, 2108, 2050, 2868, 3596, 6391,
2682, 6130, 6311, 1934, 6225, 1593, 3034, 3704, 6290, 5048,
1054, 2869, 3230, 2870, 3230, 6226, 866, 718, 954, 5735,
954, 4268, -1940, 954, 2956, 2605, 4554, 2959, 2768, 6280,
1001, 5621, 1037, 2029, 1544, 1112, 6090, 954, 1615, 4112,
5955, 1934, 191, 954, 2964, 3230, 4101, 4350, 3028, 3029,
1934, 6378, 2884, 2815, 5015, 1433, 1434, 2661, 4572, -2664,
2599, 3376, 3005, 4387, 4388, 871, 1934, 653, 2966, 929,
3018, 3274, 1079, 4653, 5438, 1082, 965, 4091, 1884, 2871,
1001, 6158, 1080, 965, 1236, 3625, 965, 2030, 4205, 5086,
1081, 1145, 3006, 1443, 4389, 5351, 1934, 4643, 1236, 1145,
1145, 3892, 954, 6035, 1042, 1208, 6032, 5364, 1043, 1934,
3117, 2817, 1728, 2928, 6333, 2900, 3027, 2884, 2884, 5128,
3268, 2824, 3842, 2734, 2884, 5394, 1935, 712, 1083, 6352,
3442, 2614, 3466, 4102, 1865, 191, 5403, -2664, 1934, 6113,
1431, 6033, 6180, 6353, 1209, 6508, 1214, 5990, 1218, -2664,
4113, -2273, -2599, 2945, 1222, 866, 4149, 6514, 6312, 2901,
5176, 1495, 790, 791, 1256, 2979, 2980, 2725, 2726, 1942,
6182, 5175, 1446, 1447, -2519, -2641, 3035, 5022, 790, 791,
-2667, 790, 791, 5026, 1386, 1386, -2710, 866, 829, 2999,
5585, 1448, 829, -2603, -2001, 790, 791, 1266, 1435, 1042,
2834, -2446, -2486, 1043, 1239, 3187, 866, 1946, 2946, 2986,
-2487, 866, 2949, 2950, 2663, 2664, 1957, 1386, 1850, 1846,
4478, -2898, 1439, 1851, 5993, 1852, 6404, 6241, 6242, -2006,
671, 4945, 1979, 4947, 6272, 3418, 6282, 2068, 3213, -1996,
3203, 2112, 1446, 1447, 2603, 4554, 6455, 4188, 6301, 3711,
3228, 1606, 1607, 2834, 4472, 4473, 4319, 942, 4320, 4474,
1239, 1450, 1982, 4272, 1386, 2686, 2587, 999, 943, 6334,
2834, 1606, 1607, 1042, 6439, 1949, 1635, 1043, 866, 4146,
4147, 4148, 4149, 71, 80, 1225, 83, 175, 84, 85,
86, 866, 2885, 106, 124, 129, 1841, 1545, 159, 3071,
1636, 4597, 178, 191, 4694, 6234, 866, 1528, 3002, 185,
-150, -150, 4515, 3893, 4313, 5902, 2909, -2292, 5554, 4748,
4749, 4926, 4534, 4535, 6246, 866, 6335, 1476, 4616, 4985,
954, 954, 1865, 180, 4189, 4753, 184, 3597, 4604, 1137,
1499, 2788, 1410, 181, 4854, 4604, 1865, 6131, 4858, 1949,
6227, 183, 6425, 3231, 4898, 1550, 187, 2885, 2885, 6355,
5736, 6151, 829, 829, 2885, 1546, 3089, 4697, 3072, 4694,
5129, 2030, 3522, 2809, 1933, 2789, 3214, 2600, 4291, 1395,
5772, 2884, 4734, 1405, 1427, 1386, 1386, 5345, 5829, 186,
3307, 3061, 3237, 5089, 4595, 3879, 1157, 4345, 5090, 653,
1949, 954, 4237, 2687, 4812, 965, 3049, 3894, 1001, 965,
4844, 965, 4846, 4847, 1627, 5906, 954, 4048, 944, 2958,
2844, 3693, 1157, 4190, 2884, 944, 3469, 6358, 6359, 2582,
2583, 2584, 2585, 2586, 2587, 1648, 713, 4529, 935, 6403,
866, 6157, 2584, 2585, 2586, 2587, 6139, 954, 954, 187,
928, 4144, 4145, 4146, 4147, 4148, 4149, 1649, 1828, 961,
6343, 6307, 6150, 3079, -1802, 5888, 5130, 2886, 717, 866,
866, 866, 4292, 954, 2658, 653, 1249, 653, 653, 5778,
3694, 1274, 717, 4940, 4134, 2988, 4699, 1502, -3025, -3025,
-3025, 3020, 5013, 6259, 2884, 2884, 714, 5538, 2887, 4314,
937, 5946, 4367, 5948, 3470, 5270, 936, 5952, 5953, 1650,
945, 954, 1095, 954, 954, 4050, 6472, 945, 1051, 6273,
5590, 5199, 2848, 1701, 2888, 3238, 4882, 6393, 2925, 1628,
3131, 2929, 2886, 2886, 5680, 3169, 1535, 5144, 715, 2886,
716, 2116, 1159, 3176, 2932, 5791, 1386, 3093, 2790, 2935,
1898, 3616, 3988, 5792, 6441, 826, 1687, 1264, 5131, 1556,
5485, 6059, 946, 2887, 2887, 2882, 1702, 6036, 982, 1250,
2887, 3372, 2007, 1455, 2007, 983, 984, 985, 866, 191,
805, 5963, 3225, 3226, 5787, 4585, 717, 667, 4551, 2888,
2888, 6479, 4461, 1899, 6484, 3695, 2888, 1726, 1097, 5788,
1098, 937, 1651, 5591, 2043, 6281, 866, 2884, 2647, 5486,
2049, 1274, 1411, 5346, 4134, 941, 6498, 187, 4135, 4136,
4137, 2885, 5271, 3880, 1386, 3010, 1459, 2884, 6295, 3016,
2882, 2882, 3094, 4658, 6480, 4700, 6037, 2882, 3812, 5647,
3555, 2850, 5889, 1706, 3989, 2791, -1802, 5979, -1968, 1707,
3617, 1536, 1456, 5830, 4293, 6093, 5987, 5976, 3626, 929,
1652, 3062, 6486, 3215, 2885, 1653, 1386, 4049, 3080, 1925,
1654, 5117, 5514, 3616, 3269, -724, 3271, 3166, 4649, 5989,
5502, 3401, 3278, 5533, 4346, 1934, 2960, 5992, 3293, 3294,
1412, 3178, 6004, 3645, 2851, 1386, 1386, 1386, 5508, 1386,
3317, 5567, 1260, 1991, 3184, 1993, 6025, 1995, 1503, 1997,
3337, 1999, 2000, 2001, 6058, 1629, 3352, 4941, 2003, 6260,
1386, 3921, 1656, 5975, 3844, 4659, 6360, 3162, 1845, 4118,
1457, -1968, 5964, 1458, 2885, 2885, 3478, 5132, 5793, 1854,
4131, 4132, 2884, 3712, 2108, 4151, 6295, 3196, 3627, 1131,
938, 3164, 1251, 5991, 3239, 1862, 5567, 1630, 1708, 3183,
2643, 866, 3856, 1703, 947, 4051, 3177, 5539, 5358, 3179,
1658, 947, 3617, 5842, 3696, 3240, 5224, 4701, 4586, 1386,
1230, 962, 3323, 3088, 1727, 4140, 2830, 4182, 4183, 3851,
1900, 3713, 1631, 5376, 1659, 1252, 2886, 1253, 1517, 6402,
6172, 4435, 5789, 1968, 6261, 4138, 2692, 2693, -1138, 2697,
6409, 5965, 5133, 1132, 2852, 1661, 763, 943, 943, 3216,
943, 3534, 999, 3222, 3223, 1386, 3402, 2887, 4139, 1386,
1386, 3403, -2442, 6262, 1096, 5898, 15, 1537, 3620, 2886,
866, 866, 866, 2732, 4235, 1386, 1969, 2885, 3282, 5892,
6440, 717, 1459, 2888, 2092, 6317, 2978, 3283, 5350, 6141,
1455, 4470, 4480, 2961, 1160, 5317, 1662, 2885, 829, 3743,
2887, 6295, 4284, 2778, 20, 1704, 5118, 3267, 4993, 1538,
4462, 6191, 3404, 3990, 1227, 6470, 3560, 5477, 1518, 1499,
6348, 1499, 1632, 187, 2882, 3653, 2888, 1543, 3991, 683,
5109, 1133, 1901, 2821, 4660, 5560, 2825, 5851, 829, 2886,
2886, 954, 2033, 3629, 1539, 4140, 4436, 6487, 6167, 6423,
3798, 3438, 1645, -1111, 866, 2856, 3799, -1968, 5561, 3127,
5481, 6207, 4877, 866, 6254, 5562, 954, 2882, 5320, 1456,
2887, 2887, 1519, 5324, 1709, 4764, 5326, 4765, 5189, 5563,
2778, 3932, 6466, 3804, 6469, 1828, 3128, 806, 4374, 3744,
3620, 2055, 3284, 1001, 1646, 866, 2888, 2888, 829, 1460,
2779, 2924, 2924, 685, 4517, 2924, 6278, 6279, 5852, 4661,
5820, 2064, 2885, 3349, 1528, 829, 1710, 1540, 866, 1528,
6081, 866, 6478, 3973, 4928, 3805, 5843, -3025, -3025, -3025,
4144, 4145, 4146, 4147, 4148, 4149, 2826, 2882, 2882, 5478,
4994, 810, 1544, 3630, 3745, 954, 4554, 1457, 6510, 668,
1458, 1711, 2886, 5786, 1077, 3535, 3189, 3653, 6271, 3148,
3806, 687, 2748, 866, 5155, 3800, 2748, 3405, 1034, 1865,
2105, 3285, 2886, 1970, 5777, 954, 954, 954, 954, 866,
6208, 6192, 3149, 2887, 3207, 3212, 1042, 1520, -2470, 3217,
1043, 5156, -175, 866, 3224, 1528, 2772, 3227, 6349, 1528,
5110, 1134, 1228, 2887, 1386, 1386, 1386, 3746, 2773, 2888,
5146, 32, 2982, 5564, 988, 989, 990, 991, 992, 993,
994, 995, 996, -175, 2780, 3575, 2774, 40, 2698, 2888,
5080, 5149, 4437, 4766, 3165, 5084, 6168, 3561, 1135, 4987,
3562, 3175, 6092, 40, 4878, 1823, 1201, 834, 4551, 3286,
2882, 4995, 3287, 2767, 194, 5108, 4262, 4141, 4142, 4143,
4144, 4145, 4146, 4147, 4148, 4149, 44, -1968, 2701, 1459,
2882, 3350, 2793, 1035, 4438, -1968, 5011, 1435, -1968, 1464,
6351, -1968, 44, 2794, 5658, 1971, 696, 2886, 697, 999,
999, 3129, 717, 1865, 941, 941, 3616, 941, 5821, -1138,
195, 2780, 1136, 866, 1137, 1926, 3158, 6405, 1138, 4439,
48, 838, 700, 1635, 866, 1880, 2702, 5696, 2887, 1927,
1267, 2951, 954, 954, 49, 5314, 48, 1213, 1215, 1217,
4052, 3747, 1219, 1220, 1221, 4263, 1517, 1636, 954, 1036,
49, 816, 1226, 2699, 2888, 1411, 5916, 4875, 50, 6201,
3150, 3801, 194, 6209, 3208, 3448, 866, 2924, 6210, 1483,
6016, 5706, 6401, 1477, 50, 1525, 35, 3536, 1526, 4264,
5565, 3288, 954, 954, 954, 954, 1928, 6255, 1445, 5103,
6102, 866, 5566, 56, 4265, 2882, 1460, 3209, 866, 3,
4, 3138, 817, 3802, 6211, 3617, 5157, 2931, 195, 2783,
6381, 3210, 2775, 1037, 2607, 5104, 653, 4266, 3233, 653,
6017, 1461, 3457, 2905, 3021, 3526, 4053, 839, 999, 965,
965, 1949, 5996, 1412, 4876, 5982, 1518, 2784, 3803, 6238,
1001, 1001, 3618, 2704, 965, 1260, 4267, 965, 6230, 3211,
6256, 1274, 6382, 3751, 4134, 3762, 3700, 1485, 4135, 4136,
4137, 1593, 954, 954, 1949, 763, 3022, 6103, 1407, 954,
3576, 866, 3748, 1666, 6003, 2795, 5321, 4551, 4805, 1478,
3749, 194, 3724, 3750, 3619, 15, 3642, 2952, 2007, 2608,
1519, 1929, 2953, 1949, 5703, 954, 3205, 965, 3289, 191,
3221, 965, 965, 1274, 866, 866, 4134, 954, 2705, 1486,
4135, 4136, 4137, 3299, 866, 1667, 3253, 2796, 5704, 3234,
-1725, 866, 4362, 20, 866, 3138, 6362, 195, 805, 6231,
4806, 805, 3258, -1725, 3751, 4006, 1386, 5819, 1386, -1725,
5101, 1982, 5552, 1386, 1386, 4268, 191, 3205, 5617, 4698,
1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
1386, 1386, 1386, 3242, 1930, 5105, 1386, 4710, 1386, 1001,
1386, 1386, 1386, 1386, 1386, 1386, 1079, 3127, 1386, 1082,
1386, 1386, 3724, 3950, 1386, 2748, 1080, 3761, -1725, 3205,
5359, 5155, 5679, 3620, 1081, 2748, 4475, 4983, 683, 1145,
4363, 1386, 1386, 1386, 3128, 1520, 5483, 3845, 3846, 3847,
2785, 3808, 3498, 2970, 721, 5102, 3807, 5066, 5156, 1386,
784, -1725, 3197, 809, 3198, 3788, 3199, 4361, 3200, 3932,
3201, 1668, 1083, 1101, 3202, 1102, 5711, 6149, 1884, 5322,
5067, 2961, 6166, 2971, 785, 5507, 3809, 3763, 3889, 1504,
3044, 6443, 4735, 4178, 3257, 3766, 5494, 4739, 3769, 954,
3835, 3055, 4313, 4747, 4722, 5360, 4000, 1931, 4139, 6148,
2748, 1521, 685, -1725, 4476, 4984, 5653, 3073, 5655, 3736,
5808, 3737, 5388, -1725, 3813, 1982, 4760, 4761, 4762, 4763,
2951, 1505, 4767, 4768, 4769, 4770, 4771, 4772, 4773, 4774,
4775, 4776, 5974, 3738, 2701, 1207, 4680, 5463, 717, 1522,
3639, 1675, 1483, 1523, 1401, 1042, -1772, 35, 1484, 1043,
4139, 5473, -1772, 5475, -1724, 4555, 1506, 3205, 683, 2922,
32, 3147, 4693, 3936, 3937, 3938, 3939, -1724, 3941, 3851,
2874, 5464, 5752, -1724, 3671, 4524, 3159, 1509, 1524, 1157,
3163, 2874, 2702, 3810, 4738, 4140, 4816, 4817, 1248, 4743,
4744, 3673, 40, 3969, 4025, 1990, 1514, 1386, 1992, 818,
1994, 4479, 1996, 4558, 1998, -475, 2875, 1676, 2002, 4694,
3182, 1157, 837, 1525, 4388, 1510, 1526, 2875, 3811, 1511,
4911, 5454, -1724, 5455, 5456, 5457, 5753, 6007, 6274, 5754,
1485, 44, 685, 4841, -1772, 4044, 5755, 4140, 1515, 5496,
3672, 1422, -637, 187, 4971, 6024, 4912, 5503, 4516, 1677,
2703, 1386, 40, 6145, 1512, -1724, 1678, 3674, 3454, -1725,
1679, 1124, -1725, 4941, 5756, 4561, 3495, 4316, 1527, 1635,
6165, 5812, -1725, 1516, 861, 48, 2952, 5986, -1725, 764,
3743, 2953, 1486, 2857, 3455, 696, -1772, 697, 6173, 49,
187, 44, 2857, 1636, 4911, 2858, 5813, 4941, 1125, 2704,
1672, 5954, 5395, 1472, 2865, 3907, 4263, -1724, 1386, 4913,
5401, 3998, -150, 50, 1880, 1124, 4004, -1724, 4005, 1697,
4912, 3962, 6174, 931, 3298, 5757, 935, -1725, 4011, 4843,
-475, 4012, 765, 4013, 4014, 48, 1126, 4016, 5758, -1773,
4264, 4019, 1673, 4020, 3924, -1773, 4022, 4033, 3351, 49,
6354, 5759, 1125, 4432, 3367, 4860, 4628, 4168, 3496, 2116,
-1725, 1698, 4417, 4175, 2705, 1699, 2862, 3023, 2863, 3090,
3744, 6507, 932, 50, 4418, 4074, 5467, 1674, 4266, 3024,
2656, 4564, 6364, 4913, 5703, 6236, 1127, 4914, 6516, 3120,
4598, 4915, 56, 2645, 936, 4433, 1700, 4141, 4142, 4143,
4144, 4145, 4146, 4147, 4148, 4149, 948, 233, 5704, 3025,
4061, 1274, -1725, 669, 4134, 696, 5879, 697, 4135, 4136,
4137, 761, -1725, 6327, -2848, 3745, 2647, -1773, -2848, 4565,
4434, 1982, 4665, 6383, 2864, 873, 1635, 4666, 5288, 835,
1127, 5880, 1680, 4941, 701, 4566, 4900, 4231, 6328, 4141,
4142, 4143, 4144, 4145, 4146, 4147, 4148, 4149, 6384, 6080,
1636, 4914, 957, 1904, 6497, 4915, -1724, 1976, 5049, 5919,
4555, 4262, 3032, 3033, 5923, 5924, 4556, 5908, 6509, -1773,
1681, 3908, 949, 1638, 1682, 5703, 40, 1905, 3746, 937,
4557, 1977, 5050, 1386, 1386, 1386, 1386, 1386, 1386, 1386,
1386, 1386, 1714, 1386, 959, 1718, 4268, 2108, 980, 5704,
4901, 1446, 1447, 866, 1386, -1972, 981, 1386, 4558, 1683,
4559, -1972, 5314, 4133, 866, 44, 1684, 3153, 3609, 3154,
1448, 3606, -1979, 3610, 3611, 4161, 1446, 1447, -1979, 5097,
6471, 1829, -1969, 3381, 1830, -1970, 4560, 4323, -1969, 4567,
4263, -1970, 1435, -1973, 2681, 1450, 866, 6482, 1386, -1973,
6485, 954, 1386, 5760, 1024, 1386, 5761, 1386, 3450, 48,
1386, -1725, 4185, 2634, 1386, -1971, 717, 999, -1163, -1163,
4561, -1971, 2109, 49, 4264, -2438, 4485, 3779, 1033, 3780,
1042, 4351, 1230, 3784, 1043, 5713, 1435, 3497, 1464, 4265,
2893, 4242, 4243, 866, 866, 1476, 778, 50, 4233, 4562,
1041, 3603, 3747, 2115, 1386, 4217, 2116, 1988, 1087, 2894,
1830, 29, 4266, 1386, 1386, 778, 56, 4393, 4139, 1042,
4318, -2446, 5216, 1043, 4897, 3638, 4289, 866, 938, 1435,
1042, 2681, 778, 1469, 1043, 3541, 1085, 3546, 5223, 4902,
2645, 4267, 1476, 1476, 717, 717, 4903, -3025, 1828, 3909,
4802, 5028, 1092, 4904, 6338, 4203, 1120, -2439, 2682, 6341,
6342, 6008, 1042, 717, 1230, 3579, 1043, 3582, 4551, 5306,
5717, 4890, 793, 2647, 3471, 3473, 3474, 805, 793, 805,
3495, 4563, 3, 4, 4075, 1076, 4564, 4354, 4970, 4076,
1106, 4905, 1145, 1386, 5183, 3493, 4279, 5904, 1625, 4666,
2054, 3910, 56, 1642, 653, 4140, 1129, 965, 1001, 965,
965, -636, 40, 954, 4906, 5246, 866, 5718, 3742, 1128,
40, 5151, 5251, 5252, 3386, 3387, 3388, 3389, 4094, 2038,
4095, 4334, 1830, 3748, 4565, 1144, 721, 829, 1446, 1447,
4268, 3749, 5719, 4614, 3750, 3538, 4184, 3523, 3524, 2856,
4566, 44, 1130, 2642, 6286, 29, 1830, 4927, 1435, 44,
2681, 5720, 1147, 3659, 866, 3624, 4160, 5721, 4162, 4163,
3670, 1158, 3496, 4427, 2748, 4960, 1167, 4967, 2655, 866,
4944, 2656, 2689, 1168, 3193, 1830, 6326, 2656, 3204, 5722,
5800, 3205, -3025, 5723, 4941, 48, 4709, -3025, 4222, 3832,
4223, 866, 3206, 48, 4224, 3205, 4225, 4601, 5724, 49,
3245, 1151, 4397, 3246, 4399, 6437, 4573, 49, -1796, -1796,
4032, 3453, 866, 4625, 1982, 4626, -2787, 1174, 6233, 3458,
4986, 1243, 2656, 50, 3547, 829, 3636, 2656, 1185, 3637,
3718, 50, 3885, 3719, 4024, 3886, 1192, 3205, -3025, 1145,
1202, 1265, 56, -1451, 4567, -1451, 40, 664, 954, 1389,
56, 954, 1398, 1144, 1402, 778, 4324, 4325, 5342, 4073,
4082, 3733, 2656, 2656, 4089, 1229, 4090, 2656, 4109, 2656,
3071, 3844, 4120, 4153, 1230, 2656, 2656, 866, 866, 4338,
4167, -1800, -1800, 2656, 3381, 44, 3778, 4172, -1799, -1799,
4173, 6155, 3815, 5878, 3818, 3820, 4240, 2652, 4410, 2656,
4452, 4411, 1238, 4415, 5725, 4458, 4416, 4141, 4142, 4143,
4144, 4145, 4146, 4147, 4148, 4149, 4543, -2787, 3485, 4443,
3358, 5599, 4444, 3361, 5600, 1234, 1386, 1386, 1386, 48,
40, 4513, 1386, 1241, 4444, 6095, 6096, 1246, 4637, 4640,
954, 4638, 4641, 49, 4671, 1247, 4785, 4672, 4503, 4786,
5910, 5911, 4796, 954, 4510, 4797, 5091, 1244, 5092, 1386,
5726, 954, 6444, 187, 5261, 1257, 5262, 50, -1725, 44,
4066, -2787, 4068, 4069, 2856, 4808, 6051, 6052, 2656, 866,
5162, -1725, 6197, 6198, -2787, 3922, 6287, -1725, 805, 4885,
-2787, 4891, 4886, -3025, 4892, 4896, -2787, 5833, 3562, 5834,
954, 3933, -2787, 5169, 1259, -2787, 4448, 4887, 6411, -2787,
6412, 3815, 5152, 48, 5218, 3205, 5258, 2030, 1260, 2656,
3605, 954, 5291, 3955, 1258, 2656, 3613, 49, 4465, 5296,
5353, 5379, 2656, 3562, 5380, 5509, -1725, 1261, 5510, -2787,
6500, 3973, 5546, 5507, 3495, 4672, 5582, 3495, 1262, 5583,
4063, 50, 5584, 5604, 1268, 2656, 5605, 1144, 1409, 4941,
5614, 1270, 954, 1982, 954, 5620, 954, 1413, 4611, -1725,
56, 1406, -2787, 5622, 3656, 1414, 4611, 5747, 2687, 5767,
5748, 1415, 3205, 4591, 2748, 5801, 1419, 5861, 5802, 1274,
5862, 5867, 4134, 1423, 1982, 3495, 4135, 4136, 4137, 2007,
-3025, 5870, 5886, 3495, 4611, 5887, 1428, 5938, 5978, 3493,
5939, 2610, 2582, 2583, 2584, 2585, 2586, 2587, 6075, 5863,
6005, -1725, 1429, 5887, -2787, 1469, 6042, -1713, -2787, 4173,
1145, -1725, 1145, 3951, -2787, 6043, 3496, 1431, 2656, 3496,
4673, 4837, 4675, 4839, 4677, 6063, 6067, 6068, 6064, 1982,
2656, 999, 1435, 653, 954, 4791, 965, 4943, 965, 965,
4946, 954, 4703, 4949, 6076, 1438, 6101, 6077, 1386, 3246,
4574, 1729, 4576, 1386, 6155, 4327, 4716, 1452, 6104, 1828,
4941, 3246, 5305, 1439, 5308, 929, 4584, 3496, 4587, 1274,
6105, 1469, 4134, 3246, -2787, 3496, 4135, 4136, 4137, 6108,
6109, 1454, 2656, 2656, 1274, 6110, 6137, 4134, 6111, 6138,
1470, 4135, 4136, 4137, 1145, 1481, 2687, 5572, 5573, 6203,
1496, 5576, 4611, 1386, 1386, 1386, 6218, 6220, 1386, 2656,
2656, 5289, 6235, 1497, 929, 3205, 1386, 1386, 1386, 1386,
6250, 1648, 6276, 6251, 6325, 6277, 6361, 5875, 2032, 5887,
926, 927, 1386, 810, 4646, 1386, 1498, 1386, 6407, 4285,
4970, 6408, 6427, 1649, 1501, 6428, 6435, -2789, 1507, 4886,
1386, 1386, 6284, 6438, 1386, 1144, 2656, 1464, 6465, 6467,
-1725, 6064, 2656, -2787, 3883, 6475, 6513, 6515, 6476, 6428,
6476, 4859, 1001, 4862, 1386, 2727, 1386, 2730, 1386, 1548,
1648, 1574, 4757, -2488, 4961, 4941, 4139, 1577, -2787, 6517,
-2787, -2787, 6428, 1579, 1615, 1650, 1580, 1386, 1619, 1620,
4221, 1621, 1649, 1632, 866, 1634, 1644, 1647, 1671, 1688,
1689, 1705, -2787, 1716, 5377, 1715, 4784, 1719, 929, 1724,
1725, 4711, 1838, 1842, 1840, 866, 1847, 1853, 1858, 1042,
1861, 1863, -2787, 1043, 1868, -2787, -2787, -2787, 1871, 1873,
1865, 187, 1882, 1887, 2110, 1888, -137, 1890, -2789, 1891,
4227, 4228, 4229, 2113, 1650, 653, 1893, 1895, 3497, 4260,
4819, 1896, 1907, 4260, 4274, 4260, 4260, 1914, 4825, 2604,
929, 1916, 1386, 4140, 1476, 1919, 1923, 1386, 213, 1932,
3700, 4923, 4981, 2682, 1937, 1939, 4139, 1938, 1651, 1941,
1144, 1944, 1386, 2623, 2624, 1945, 1948, 1949, 1144, 1144,
1972, 4139, -2789, 1956, 1960, 1962, 3497, 1985, 3724, 1963,
4306, 1965, 1967, 4309, 3497, -2789, 3546, 1973, 1975, 1978,
1981, -2789, 1984, 1987, 4964, 2004, 2035, -2789, 2044, 2042,
5196, 2051, 5085, -2789, 2115, 2047, -2789, 2116, 652, 2052,
-2789, 2059, 5072, 2060, 4055, 2061, 1652, 1651, 2062, 5825,
2063, 1653, 56, 2065, 2066, 2595, 1654, 1386, 2092, 4065,
2067, 2069, 2070, 3493, 4070, 2071, 3493, 2072, 2073, 2074,
-2789, 2645, 2960, 4140, 2075, 2076, 2077, 2078, -3025, 2079,
2080, 954, 954, 2081, 2082, 2084, 2085, 2086, 4140, 2087,
2088, 2089, 2090, 5077, 6442, 4097, 2091, 2094, 2095, 2096,
2097, 2098, 2099, -2789, 2647, 1652, 2100, 2101, 1656, 4605,
1653, 2593, 2597, 2599, 3493, 1654, 2600, 1386, 5839, 2610,
2615, 2628, 3493, 2637, 2659, 4373, 2665, 2667, 2660, 2668,
2674, 2960, 2671, 2675, 5010, 2676, 2672, 2678, 2683, 2677,
2690, 1484, 1486, 2721, 2723, 1274, 2105, 2733, 4134, 5860,
2736, 2735, 4135, 4136, 4137, -2789, 1658, 2737, 2738, -2789,
2754, 2755, 2756, 2757, 2681, -2789, 2758, 1656, 2761, 2760,
2759, 2762, 2763, 2764, 2770, 4421, 2786, 4202, 2798, 2792,
1659, 2812, 2816, 2819, 2818, 4141, 4142, 4143, 4144, 4145,
4146, 4147, 4148, 4149, 2820, 2105, 2822, 2823, 2836, 866,
2842, 1661, 2840, 2841, 2861, 2860, 4688, 2872, 2876, 2924,
2878, 5529, 2879, 2880, 2881, 1658, 2882, 2890, 4209, 2891,
4285, 2895, 2892, -3025, 2896, -2789, 2897, 2916, -3025, 952,
2902, 2930, 2906, 2903, 4213, 2912, 2940, 2947, 964, 1659,
2913, 2926, 2927, 2933, 2936, 2937, 964, 2942, 2943, 964,
2954, 2955, 1662, 2957, 2962, 2965, 2963, 1593, 2968, 2969,
1661, 4044, 2972, 2973, 2974, 2975, 2976, 2977, 2981, 2983,
2984, 2989, 2990, 3000, 3009, 3043, 3031, 3003, 3038, -3025,
3014, 3045, 3046, 3047, 810, 4141, 4142, 4143, 4144, 4145,
4146, 4147, 4148, 4149, 3048, 3059, 4248, 3052, 3053, 4254,
4141, 4142, 4143, 4144, 4145, 4146, 4147, 4148, 4149, 3054,
3056, 1662, 3066, 3057, -2789, 3058, 3060, 3382, 1386, 3383,
3067, 3065, 3074, 3064, 1386, 3075, 3078, 678, 3083, 3091,
3102, 3106, 1668, 3119, 3107, 954, 3110, 3122, 2652, -2789,
3125, -2789, -2789, 3126, 3146, 3139, 3384, 3485, 3135, 3143,
3152, 928, 3161, 3156, 3168, 3485, 3170, 3172, 3171, 3173,
3186, 3218, -3025, -2789, 3229, 3255, 3274, 2687, 3243, 3279,
2116, 3320, 866, 866, 866, 3353, 3400, 3359, 5213, 3363,
3380, 3420, 3426, -2789, 3446, 3441, -2789, -2789, -2789, 866,
3444, 3461, 5205, 3398, 3462, 5207, 3447, 1459, 3476, 3515,
3498, 3460, 4339, 1386, 3495, 3425, 936, 3445, 3495, 3516,
4342, 3385, 3459, 3463, 3517, 3532, 3464, 3468, 3539, 3477,
3540, 2007, 866, 866, 5222, 3552, 3551, 866, 3503, 3518,
3554, 3580, 3571, 3585, -3025, 5283, 3583, 3588, 3593, 866,
3598, 3604, 3599, 3601, 5124, 5125, 3628, 3612, 3633, 4140,
5162, 1403, 3635, 3643, 1407, 3649, 3650, 3651, 3652, 3681,
3662, 3675, 3680, 3701, 3707, 3708, 3709, 3386, 3387, 3388,
3389, 5332, 3714, 3717, 3390, 3391, 3725, 3735, 3103, 3732,
3392, 3734, 3108, 3756, 3755, 3816, 3839, 3840, 4635, 1884,
3843, 937, 3831, 5490, 3772, 954, 3496, 3859, 3865, 3852,
3496, 3871, 3866, 3867, 3876, 3887, 3898, 3899, 3913, 3221,
4691, 3917, 3915, 3495, 3919, 4440, 3927, 4442, 3934, 3940,
866, 3945, 3946, 3947, 3953, 3948, 3949, 3956, 3958, 3960,
3961, 3964, 3965, 866, 3970, 3985, 3986, 3987, 5269, 3995,
3996, -3025, 2714, 3997, 3999, 4001, 4015, 4017, 4631, 4018,
4021, 4023, 1386, 2582, 2583, 2584, 2585, 2586, 2587, 4026,
1386, 1982, 1386, 4823, 4027, 4028, 4045, 4029, 4041, 1239,
4047, 4030, 1979, 4054, 4031, 4059, 1386, 1946, 4067, 4046,
1386, 1386, 1386, 5461, 4668, 4035, 4036, 1386, 4057, 1236,
1386, 4086, 4084, 1386, 4085, 4088, 4104, 4087, 4108, 1386,
4099, 1386, 4106, 4110, 1386, 3496, 3297, 4116, -2265, 1386,
1386, 1386, 1386, 4504, 4166, 1386, 1386, 1386, 1386, 1386,
1386, 1386, 1386, 1386, 1386, 4091, 5907, 4169, 1386, 1386,
1386, 5365, 4186, 4200, 4121, 4252, 4119, 3393, 1386, 4122,
4181, 4126, 929, 1386, 4244, 3844, 929, 1386, 4130, 3394,
5399, 4128, 3292, 4129, 4211, 1386, 4152, 4526, 1386, 4157,
1386, 4141, 4142, 4143, 4144, 4145, 4146, 4147, 4148, 4149,
2656, 4158, 4238, 4165, 4218, 4281, 1386, 4287, 4180, 1386,
1386, 4208, 1386, 4246, 4245, 1386, 1386, 4212, 5405, 5406,
1386, 4214, 1386, 4829, 4216, 4294, 4239, -2806, 4277, 4296,
5336, 866, 866, 866, 4261, 4298, 2068, 4300, 4307, 4315,
4321, 4326, 4328, 4247, 4329, 4253, 4333, 4335, 4347, 4348,
4358, 1386, 4260, 4274, 4260, 4260, 4359, 1386, 4260, 4360,
4364, 4852, 4366, 4370, 4372, 3497, 4371, 4376, 4379, 3497,
191, 4830, 4831, 4832, 4833, 4867, 3495, 3495, 6318, 6319,
4285, 4382, 6321, 3656, 4377, 952, 4384, 4396, 4398, 4414,
4406, 4431, 4422, 4445, 964, 4395, 4447, 4449, 4404, 4405,
1079, 964, 1386, 1082, 964, 4451, 187, 4453, 4285, 4459,
1080, 4455, 4460, 5449, 5450, 4464, 4466, 3546, 1081, 1386,
4467, 5374, 4488, 4191, 4502, 4192, 4471, 4669, -2806, 4468,
4469, 4489, 4486, 4487, 4490, 4493, 4491, 4505, 4492, 4494,
4496, 4498, 187, 4500, 4507, 4509, 2998, 3001, 4521, 4528,
4522, 4523, 4193, 4495, 4539, 5529, 1083, 4497, 4525, 4499,
4501, 4511, 4512, 4518, 4533, 4541, 4577, 4582, 3496, 3496,
4592, 4583, 4593, 3493, 4942, 2007, 2856, 3493, 2007, 4589,
4596, 2007, -2806, 4951, 5474, 4600, 4610, 4611, 5208, 5209,
5210, 5211, 5212, 4613, 4620, -2806, 4623, 4629, 4630, 5598,
4633, -2806, 4975, 4634, 4650, 4636, 4664, -2806, 4667, 4726,
4674, 4670, 4676, -2806, 4682, 4683, -2806, 3385, 4684, 4685,
-2806, 4686, 4687, 4704, 4705, 4706, 5432, 4712, 4713, 4714,
4715, 4717, 4718, 4719, 5637, 4720, 4721, 4725, 4730, 4731,
4732, 4740, 2054, 4736, 5545, 4737, 4745, 5547, 5548, 4134,
-2806, 4746, 4798, 4810, -2264, 4733, 4689, 5024, 4811, 4758,
4751, 4781, 4759, 4782, 4783, 4826, 4848, 5553, 4856, 4790,
4855, 4842, 4863, 3386, 3387, 3388, 3389, 4814, 4864, 4838,
4194, 4840, 3493, -2806, 5027, 4851, 4195, 4780, 4869, 4870,
4853, 4868, 4871, 4873, 4879, 4882, 3778, 4884, 4888, 4285,
4899, 4908, 4919, 4920, 4922, 4929, 4921, 4930, 4932, 4933,
4936, 4952, 4955, 5069, 4973, 4956, 3647, 4976, 4989, 2115,
5005, 3495, 2116, 4988, 5492, 4990, 2961, 4991, 3495, 5002,
4992, 5003, 5004, 3495, 5006, -2806, 3495, 5007, 5016, -2806,
5018, 5019, 5025, 5037, 5043, -2806, 954, 5038, 5046, 5641,
5063, 5062, 5716, 2105, 5065, 4962, 2645, 2105, 5068, 5079,
954, 5078, 1386, -3025, 5081, 5082, 5083, 5106, 5121, 5135,
866, 5141, 5142, 5154, 5148, 5171, 5114, 5147, 5164, 5181,
5170, 5094, 5116, 5127, 187, 5190, 5192, 2856, 5214, 2647,
5187, 5191, 5932, 5194, 5934, 5188, 3230, 5195, 5206, 5200,
5220, 5221, 866, 5230, 5238, -2806, 3485, 3497, 3933, 5239,
3485, 5242, 5240, 3496, 5243, 3815, 5249, 952, 5250, 5260,
3496, 5237, 5241, 964, 5163, 3496, 5244, 964, 3496, 964,
5255, 5266, 5272, 5277, 866, 5281, -2266, 5275, 5276, 5299,
5295, 5310, 5325, 4196, 5315, 5311, 1386, 1386, 5318, 5329,
5334, 5338, 5349, 5339, 5354, 4197, 5357, 1386, 3306, 3306,
2115, 5337, 4815, 2116, 810, 5355, 5361, 5381, 2007, 866,
5352, 5382, 5396, 3333, 5386, 5397, 5400, 5398, 5402, 5407,
5408, 5409, 3354, 5421, 5428, 5430, 866, 5434, 5443, 5424,
5444, 5452, 5453, 1918, -2806, 1920, 1921, 2645, 5435, 5451,
5943, 5458, 5462, 5465, -3025, 5469, 5470, 5471, -3025, 5764,
5479, 5482, 5487, -3025, 5491, 3493, 3493, 5488, 5497, -2806,
5495, -2806, -2806, 5501, 5506, 5489, 5511, 1386, 5513, 5517,
2647, 5518, 5522, 5524, 5525, 5526, 999, 5535, 5665, 3443,
5541, 5520, 5550, -2806, 1386, 5543, 5173, 5551, 5577, 6056,
5581, 5439, 5440, 3205, 5442, 5587, 5556, 5570, 5597, 5571,
5588, 5589, 1386, -2806, -3025, 5601, -2806, -2806, -2806, 5606,
5612, 5616, 5643, 5619, 5661, 5638, 5686, 5646, 5654, 5657,
5671, 5675, 5640, 5676, 5677, 5683, 5656, 5709, 5731, 5678,
1386, 5670, 5672, 1386, 5673, 5689, 5105, 5681, 5737, 6089,
5690, 1386, 1386, 4818, 5740, 5751, 5694, 5700, 5738, 1386,
1386, 5750, 5701, 5770, 1386, 3495, 5702, 5743, 5746, 1386,
5771, 5775, 1386, 2652, 1386, 5780, 5782, 5798, 5809, 5803,
1386, 5810, 5811, 5817, 866, 866, 866, 866, 5826, 5827,
5832, 5831, 5844, 5845, 5853, 5859, 6122, 6124, 5871, -3025,
5875, 5873, 653, 5877, -3025, 4260, 5894, 5901, 5903, 3497,
5905, 5876, 5884, 5909, 3497, 5841, 5912, 3497, 653, 5920,
3815, 5914, 5331, 5926, 5959, 1386, 5966, 1001, 1551, 5846,
5962, 5970, 5972, 5980, 5985, 5994, 5998, 6001, 1144, 5999,
4306, 6000, 6002, 6011, 1386, 6012, 3546, 6019, 6023, 5899,
5356, 5869, 6013, 6014, 6021, -3025, 6039, 3496, 2107, 6044,
6029, 6040, 805, 6054, 1552, 6055, 5247, 5126, 6053, -3025,
6078, 6028, 6070, 6060, 4219, 6082, 6115, 6085, 6083, 6086,
6087, 6100, 6120, 6129, 6132, 5945, 6136, 6134, 6140, 6143,
2856, 1386, 6144, 6160, 1402, 6161, 6170, 6171, 3485, 6177,
6163, 6178, 6183, 6162, 6184, 5937, 5392, 6062, 6176, 6185,
3493, 6190, 6195, 6206, 2652, 6199, 6200, 3493, 6202, 6214,
6216, 6224, 3493, 6237, 187, 3493, 6239, 6245, 1553, 6130,
3778, 6131, 5927, 5928, 6247, 6265, 6266, 6267, 6283, 6285,
6127, 3778, 6304, 6302, 6303, 6305, 6308, 6306, 3495, 6316,
6320, 5341, 5343, 6329, 6331, 6324, 6330, 6345, 6347, 6375,
6371, 6376, 6413, 6365, 6372, 1554, 6253, 6389, 6377, 3495,
6379, 6380, 1386, 5613, 6392, 6394, -3025, 6414, 6415, 1386,
6418, 1402, 6416, 5716, 5613, 6417, 6433, 6456, 2582, 2583,
2584, 2585, 2586, 2587, 4313, 6445, 6436, 6460, 6447, 6473,
5931, 6334, 954, 3495, 6448, 1402, 6474, 6481, 6462, 6489,
-3025, 6490, 6495, 6493, 1145, 1555, 6499, 954, 6501, 6026,
6506, 6504, 5805, 6512, 4236, 3789, 3706, 1578, 4390, 1685,
1471, 1686, 4979, 2636, 4972, 6248, 3015, 3830, 3878, 5728,
3496, 4538, 3975, 6114, 6346, 6313, 6314, 1551, 1386, 5123,
5781, 4968, 4969, 5468, 5763, 4331, 5958, 4368, 5390, 1557,
6396, 3496, 6340, 5663, 6397, 653, 1551, 6135, 6133, 3821,
6264, 6357, 2856, 3825, 4375, 5499, 5174, 5145, 5153, 6097,
5115, 2007, 3896, 1552, 4977, 6339, 3897, 4408, 5493, 5140,
4599, 5769, 4639, 1559, 5198, 3496, 3933, 6410, 6511, 1670,
6015, 6491, 1552, 6069, 5744, 6071, 4544, 5182, 6269, 954,
3858, 3955, 3858, 5688, 3858, 3858, 5922, -3025, 3082, 3858,
3858, 3858, 5691, 3858, 3858, 3858, 759, 812, 1075, 2582,
2583, 2584, 2585, 2586, 2587, 4690, 5215, 866, 35, 6406,
2832, 5897, 3925, 1561, 2027, 3557, 5217, 1553, 866, 3495,
3485, 4322, 1562, 4656, 5184, 3485, 5806, 3157, 3485, 6009,
3174, 1563, 1186, 3141, 4508, 3145, 1553, 3827, 5008, 2833,
4454, 6289, 1146, 1416, 6446, 5201, 5202, 3935, 3855, 187,
187, 3502, 1565, 5687, 1554, 6115, 5685, 6395, 4893, 2769,
5344, 1566, 5893, 6221, 999, 3040, 1567, 5366, 5896, 2606,
840, 1386, 3963, 1554, 3493, 841, 4283, 5245, 2718, 2657,
2717, 1386, 6091, 4295, 1386, 3512, 6219, 1386, 1386, 1386,
4285, 5504, 6072, 2722, 4845, 4861, 4256, 5618, 3495, 4249,
5858, 5730, 999, 5857, 1555, 4894, 3514, 4250, 6431, 6205,
1145, 3496, 1386, 1386, 6322, 4251, 6061, 1386, 3976, 6459,
2666, 5404, 5840, 1555, 1568, 4792, 3421, 6073, 4215, 6074,
3424, 3339, 4079, 3854, 4206, 1386, 6027, 4199, 6464, 1386,
4115, 5868, 4741, 5420, 1556, 1386, 3436, 3500, 1557, 3497,
1467, 0, 0, 5331, 0, 0, 1386, 0, 5636, 0,
0, 0, 0, 0, 1386, 0, 0, 1557, 0, 0,
4942, 0, 0, 1386, 0, 0, 0, 0, 0, 0,
0, 1558, 1559, 0, 0, 0, 0, 0, 0, 0,
3496, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1559, 0, 0, 4942, 1001, 954, 0, 954, 0,
2007, 0, 0, 0, 0, 0, 5448, 0, 0, 0,
0, 0, 0, 1560, 0, 0, 0, 35, 0, 0,
0, 0, 1561, 0, 5936, 0, 0, 0, 0, 0,
0, 1562, 965, 1001, 0, 0, 35, 0, 0, 0,
1563, 3977, 0, 6477, 0, 0, 0, 3493, 1564, 0,
1562, 0, 0, 0, 0, 0, 3495, 0, 0, 1563,
0, 1565, 0, 0, 0, 0, 0, 2833, 3493, 5931,
1566, 0, 0, 0, 0, 1567, 0, 965, 0, 0,
1565, 0, 0, 0, 0, 0, 0, 6337, 0, 1566,
0, 5114, 0, 0, 1567, 0, 866, 0, 0, 0,
5639, 866, 3493, 0, 952, 0, 0, 952, 0, 187,
2856, 0, 0, 0, 0, 3978, 0, 964, 964, 6454,
866, 0, 2115, 0, 5163, 2116, 0, 5783, 5534, 2117,
2118, 2119, 964, 1568, 0, 964, 0, 0, 954, 866,
4942, 0, 0, 0, 0, 0, 0, 0, 3496, 2644,
0, 0, 1568, 655, 0, 0, 3979, 71, 80, 2645,
83, 175, 84, 85, 86, 0, 2646, 106, 124, 129,
3495, 1144, 159, 0, 1386, 0, 178, 191, 0, 0,
6454, 0, 0, 185, 0, 964, 6492, 0, 5796, 964,
964, 1386, 2647, 0, 0, 1386, 0, 1386, 917, 0,
929, 0, 0, 0, 0, 6454, 0, 180, 0, 1145,
184, 1386, 0, 0, 0, 0, 0, 181, 5768, 653,
0, 0, 1386, 0, 0, 183, 5866, 0, -3024, 0,
0, 0, 0, 1386, 0, 6399, 6400, 6398, 0, 0,
1386, 0, 0, 0, 0, 0, 0, 0, 3493, 5794,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3496, 186, 0, 0, 0, 0, 0, 4504,
0, 0, 0, 3375, 0, 0, 0, 3495, 0, 0,
3485, 0, 0, 2007, 0, 0, 6434, 0, 0, 0,
0, 0, 1386, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1386, 0,
0, 2648, 0, 0, 1386, 1386, 2649, 0, 0, 954,
954, 954, 954, 0, 0, 0, 0, 3493, 1144, -3024,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2650,
2310, 0, 0, 0, 655, 0, 0, 0, 0, 972,
1386, 0, 0, 655, 974, 0, 0, 0, 1008, 653,
0, 655, 0, 974, 655, 0, 0, 2651, 0, 3496,
0, 0, 1030, 0, 0, 0, 0, 974, 999, 0,
0, 0, 0, -3024, 866, 0, 0, 3497, 0, 0,
0, 0, 0, 0, 0, 0, -3024, 0, 0, 0,
0, 0, -3024, 0, 0, 0, 0, 0, -3024, 0,
2377, 0, 866, 0, -3024, 0, 4413, -3024, 0, 0,
0, -3024, 0, 0, 0, 0, 2652, 0, 0, 2653,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1386, 0, 0, 0, 0, 3495, 187, 0, 0, 0,
0, -3024, 1386, -3024, 0, 0, 0, 0, 0, 0,
0, 1386, 1386, 1386, 0, 0, 0, 2007, 0, 0,
0, 0, 0, 3815, 4463, 0, 1386, 187, 0, 0,
0, 0, 0, 0, -3024, 1386, 0, 1386, 0, 1386,
5636, 187, 0, 0, 0, 3493, 0, 0, 0, 0,
0, 4942, 5988, 0, 2115, 0, 0, 2116, 1386, 0,
0, 0, 0, 0, 0, 0, 0, 2007, 0, 1001,
0, 0, 2654, 866, 0, 3333, 3333, 0, 1386, 6244,
3333, 0, 0, 0, 0, 0, -3024, 3496, 0, 0,
-3024, 2645, 2115, 0, 4506, 2116, -3024, 0, -3025, -3025,
-3025, -3025, 0, 0, 0, 0, 0, 0, 0, 0,
3495, 0, 0, 0, 2007, 2007, 3495, 0, 0, 0,
0, 0, 3333, 3333, 2647, 0, 0, 0, 0, 2645,
0, 2105, 0, 0, 0, 0, 2646, 0, 0, 0,
0, 0, 3858, 0, 954, 0, 0, 0, 6296, 6297,
0, 0, 0, 0, 4537, 4537, -3024, 0, 6156, 3493,
0, 6079, 2647, 0, 4553, 0, 0, 0, 0, 1144,
0, 1144, 2033, 0, 0, 0, 0, 2033, 2033, 2578,
0, 0, 0, 0, 0, 0, 0, 0, 2579, 2580,
2581, 2582, 2583, 2584, 2585, 2586, 2587, 4820, 0, 0,
0, 0, 3496, 0, 0, 4107, 0, 0, 3496, 1386,
0, 3376, 0, 0, 0, 0, 0, 4609, 0, 0,
0, 0, 0, 0, 1386, 0, 0, 0, 5866, 0,
0, 0, 0, 0, 1386, 0, 0, 0, 0, 0,
0, 3495, 6222, -3025, 0, -3024, 3546, 0, -3025, 0,
0, 0, 4645, 1144, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 965, 3493, 0, 0, 0,
-3024, 0, -3024, -3024, 0, 0, 0, 954, 3485, 0,
187, 2648, 0, 0, 2007, 0, 2649, 0, 0, 0,
0, 6010, 0, 0, -3024, 0, 0, 0, 0, -3025,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2856,
0, 0, 0, 0, 0, 0, 1386, -3024, 0, -3024,
-3024, 0, 0, 0, 0, 0, 4942, 0, 0, 0,
0, 0, 0, 3496, 965, 965, 6299, 2651, 0, 0,
1386, 0, 2115, 0, 0, 2116, 0, 0, 0, 0,
0, 0, 0, 0, 6066, 0, 0, 0, 2652, 0,
191, 0, 974, 2007, 2007, 6315, 0, 0, 0, 0,
0, 1386, 1386, 0, 0, 1386, 1100, 0, 6323, 2645,
0, 974, 1100, 0, 0, 0, -3025, 974, 0, 187,
6291, 0, 0, 0, 1100, 0, 2652, 0, 0, 974,
6292, 0, 0, 2007, 0, 652, 0, 0, 6293, 954,
0, 6370, 2647, 0, 0, 974, 0, 0, 0, 0,
655, 6270, 0, 0, 0, 917, 0, 0, 0, 655,
974, 0, 0, 0, 3493, 0, 655, 0, 974, 655,
0, 6156, 954, 954, 0, 0, 6294, 4942, 0, 0,
0, 917, 974, 0, -3025, 0, 0, 4803, 0, 0,
0, 0, 974, 0, 0, 653, 0, 6502, 6503, 0,
0, 0, 1386, 0, 0, 0, 0, 0, 191, 0,
6388, 0, 0, 0, 795, 5293, 0, 0, 1386, 0,
795, 0, 2654, 0, 3546, 0, 0, 0, 0, 4306,
0, 0, 0, 0, 0, 0, 0, 0, 6291, 1386,
0, 0, 0, 0, 0, 974, 0, 0, 6292, 0,
0, 0, 952, 0, 0, 964, 6293, 964, 964, 0,
0, -3025, 0, 0, 0, 0, -3025, 655, 655, 0,
0, 0, 0, 974, 0, 6419, 6420, 653, 6424, 3493,
0, 0, 0, 5866, 0, 3493, 2115, 0, 1386, 2116,
0, -3025, 0, 0, 6294, 0, 0, 0, 974, 954,
655, 0, 4942, 2582, 2583, 2584, 2585, 2586, 2587, 0,
0, 0, 0, 0, 0, 0, 0, -3025, 0, 0,
0, 0, 6388, 2645, 917, 0, 0, 0, 0, 2578,
-3025, 0, 0, 191, 0, 0, 0, 0, -3025, -3025,
-3025, 2582, 2583, 2584, 2585, 2586, 2587, 655, 0, 1386,
653, 0, 0, 0, 0, 0, 2647, 0, 0, 0,
974, 0, 0, 6291, 0, 0, 653, 0, 0, 0,
0, 0, 0, 6292, 0, 0, 2652, 0, 0, 187,
1648, 6293, 0, 965, 965, 0, 0, 6505, 0, 6388,
0, 1581, 0, 0, 0, 0, 0, 1582, 0, 0,
0, 0, 1649, 0, 187, 0, 6388, 0, 0, 0,
3493, 0, 1690, 0, 0, 0, 0, 0, 0, 6294,
0, 0, 0, 0, 4553, 0, 0, 0, 4952, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1584, 0, 0, 0, 0, 0, 0, 0,
0, 0, 5014, 0, 1650, 4962, 0, 0, 0, 0,
0, 0, 2789, 0, 0, 0, 0, 5029, 655, 655,
1824, 5030, -3025, 5031, 0, -3025, 0, 974, 0, 0,
-3025, 0, 655, 0, 0, 0, 0, 917, 655, 0,
0, 0, 655, 0, 655, 0, 0, 1691, 917, 1585,
0, 0, 4963, 0, 0, 0, 1586, 0, 0, 0,
1587, 0, 0, 0, 917, 0, 0, 0, 0, 5071,
0, 0, 6369, 0, 4964, 0, 0, 0, 0, 2115,
0, -3025, 2116, 0, 0, 3858, 2117, 2118, 2119, 1588,
3858, 0, 0, 0, 0, 0, 0, 1651, 0, 0,
0, 0, 0, 0, 0, 0, 2644, 0, 655, 652,
655, 655, 0, 0, 0, 0, 2645, 0, 0, 0,
0, 0, 0, 2646, 0, 1589, 0, 0, 0, -3025,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3306,
2652, 2582, 2583, 2584, 2585, 2586, 2587, 0, 0, 2647,
0, 974, 0, 0, 0, 1652, 6430, 0, 0, 0,
1653, 3333, 3333, 3333, 3333, 1654, 0, 3333, 3333, 3333,
3333, 3333, 3333, 3333, 3333, 3333, 3333, 0, 0, 655,
0, 2960, 0, 0, 0, 4965, 0, 0, 0, 0,
5177, 0, 1581, 4553, 0, 4788, 0, 187, 1582, 0,
0, 0, 3975, 0, 0, 1692, 0, 0, 0, 1591,
0, 0, 974, 1690, 0, 0, 0, 1656, 0, 0,
1592, 917, 0, 974, 0, 0, 1551, 0, 0, 0,
1593, 3333, 3333, 0, 0, 0, -3025, 0, 0, 0,
974, 0, 1594, 1584, 0, 974, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 655, 0, 0,
0, 952, 1552, 0, 964, 1658, 964, 964, 2648, 5226,
5226, 5226, 5226, 2649, 5226, 5226, 5226, 5226, 5226, 4850,
0, 0, 0, 0, 1693, 0, 0, 1596, 1597, 1659,
0, 0, 0, 0, 0, 0, 2650, 2310, 1691, 655,
1585, 0, 0, 0, 0, 0, 0, 1586, 0, 0,
1661, 1587, 4966, 0, 0, 4379, 0, 0, 0, 1694,
0, 0, 0, 0, 2651, 0, 1553, 0, 655, 655,
655, 0, 655, 0, 0, 0, 0, 0, 0, 0,
1588, 0, 0, -3025, 0, 0, 0, 0, 0, 0,
0, 0, 0, 655, 0, 2582, 2583, 2584, 2585, 2586,
2587, 1662, 0, 1554, 0, 0, 0, 2377, 0, -136,
0, 0, 0, 0, 0, 0, 1589, 0, 0, 0,
974, 0, 0, 2652, 0, 0, 2653, 0, 974, 974,
0, 1, 1599, 0, 0, 5307, 0, 5309, 0, 0,
0, 0, 2, 0, 3, 4, 0, 0, 3976, 0,
0, 0, 655, 1555, 0, 0, 0, 0, 0, 0,
0, 0, 5, 0, 0, 0, 0, 0, 2882, 0,
0, 0, 6, 0, 0, 0, 0, 0, 0, 0,
0, 1824, 0, 0, 7, 0, 8, 9, 0, 0,
0, 0, 0, 10, 0, 11, 1692, 1557, 655, 0,
1591, 0, 655, 655, 0, 0, 0, 0, 12, 0,
13, 1592, 0, 0, 0, 0, 0, 0, 655, 2654,
0, 1593, 0, 652, 917, 0, 652, 14, 0, 0,
15, 1559, 0, 1594, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 16, 0, 17, 0, 0,
0, 18, 0, 0, 0, 0, 0, 0, 19, 0,
0, 795, 0, 795, 0, 795, 0, 0, 20, 0,
21, 795, 1223, 1224, 652, 3786, 35, 22, 1596, 1597,
0, 1561, 652, 0, 0, 0, 0, 0, 0, 0,
1562, 917, 0, 0, 0, 23, 0, 0, 0, 1563,
0, 0, 0, 0, 0, 0, 0, 2833, 0, 0,
3787, 0, 24, 0, 0, 0, 0, 0, 0, 0,
1565, 0, 0, 0, 3333, 0, 2578, 0, 0, 1566,
0, 0, 917, 0, 1567, 2579, 2580, 2581, 2582, 2583,
2584, 2585, 2586, 2587, 0, 0, 0, 0, 4123, 0,
0, 4124, 0, 0, 0, 3978, 0, 0, 0, 0,
0, 0, 0, 5446, 5447, 917, 25, 26, 0, 0,
0, 0, 27, 0, 0, 0, 3858, 0, 3858, 3858,
3858, 0, 0, 1599, 0, 0, 0, 28, 0, 0,
0, 0, 1568, 0, 0, 0, 3979, 0, 0, 0,
0, 0, 0, 0, 0, 0, 29, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1581, 0,
0, 0, 0, 0, 1582, 0, 0, 3013, 0, 0,
0, 0, 974, 0, 0, 0, 0, 0, 0, 1583,
0, 0, 0, 0, 0, 5500, 0, 655, 655, 655,
2115, 0, 0, 2116, 0, 30, 0, 2117, 2118, 2119,
0, 0, 795, 0, 0, 0, 0, 0, 0, 1584,
31, 0, 0, 0, 0, 32, 33, 2644, 34, 0,
0, 0, 0, 35, 5528, 0, 0, 2645, 0, 36,
0, 0, 37, 0, 2646, 0, 0, 0, 0, 38,
0, 0, 0, 0, 0, 0, 39, 40, 0, 0,
0, 0, 0, 0, 41, 0, 0, 0, 42, 0,
2647, 0, 0, 0, 0, 0, 1585, 5226, 0, 43,
0, 0, 795, 1586, 0, 0, 0, 1587, 0, 0,
0, 0, 0, 0, 0, 0, 44, 974, 0, 0,
0, 0, 0, 0, 0, 5274, 0, 0, 0, 917,
0, 0, 0, 0, 0, 0, 1588, 45, 0, 0,
917, 0, 0, 0, 0, 0, 0, 0, 0, 46,
0, 0, 1824, 0, 0, 47, 917, 0, 0, 0,
48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3092, 0, 1589, 0, 49, 974, 0, 0, 3109, 0,
0, 0, 0, 974, 0, 0, 3013, 0, 0, 0,
0, 974, 0, 0, 0, 0, 0, 0, 50, 0,
51, 52, 53, 54, 55, 0, 0, 0, 0, 2648,
917, 0, 0, 0, 2649, 0, 0, 56, 0, 655,
-136, 0, 655, 0, 0, 917, 0, 0, 917, 917,
0, 3167, 655, 655, 0, 974, 974, 2650, 2310, 0,
0, 0, 0, 0, 0, 0, 0, 655, 0, 974,
655, 0, 1590, 0, 0, 0, 1591, 0, 3013, 917,
917, 0, 974, 974, 0, 2651, 0, 1592, 0, 0,
0, 0, 2115, 0, 4553, 2116, 0, 1593, 0, 2117,
2118, 2119, 0, 0, 0, 0, 0, 0, 0, 1594,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2644,
655, 0, 0, 0, 655, 655, 0, 0, 2377, 2645,
0, 0, 0, 0, 0, 0, 2646, 0, 0, 0,
3858, 0, 0, 0, 2652, 0, 0, 2653, 0, 5729,
0, 1595, 0, 0, 1596, 1597, 0, 0, 0, 655,
0, 655, 2647, 0, 0, 0, 655, 655, 0, 0,
0, 0, 0, 655, 655, 655, 655, 655, 655, 655,
655, 655, 655, 655, 655, 655, 1598, 0, 0, 655,
0, 655, 0, 655, 655, 655, 655, 655, 655, 0,
0, 655, 0, 655, 655, 0, 0, 655, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1551, 0,
0, 0, 0, 917, 655, 655, 655, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2654, 0, 655, 0, 1824, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1552, 0, 0, 0, 2115, 1599,
0, 2116, 0, 0, 0, 2117, 2118, 2119, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 795, 0,
0, 2648, 0, 795, 795, 2644, 2649, 0, 0, 0,
0, 0, 0, 0, 0, 2645, 0, 0, 0, 0,
0, 0, 2646, 0, 0, 0, 0, 0, 0, 2650,
2310, 2662, 0, 1551, 0, 0, 0, 0, 1553, 0,
2669, 0, 2670, 0, 0, 0, 2673, 0, 2647, 0,
0, 0, 0, 2679, 0, 0, 0, 2651, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2578, 0, 1552,
0, 0, 0, 0, 0, 1554, 2579, 2580, 2581, 2582,
2583, 2584, 2585, 2586, 2587, 0, 0, 0, 0, 0,
0, 0, 4125, 0, 0, 0, 0, 0, 0, 0,
2377, 0, 0, 0, 0, 0, 0, 0, 0, 0,
655, 0, 0, 652, 0, 0, 2652, 652, 0, 2653,
0, 0, 0, 1144, 0, 1555, 0, 5947, 0, 0,
0, 0, 0, 1553, 0, 0, 3333, 0, 0, 0,
0, 0, 0, 0, 795, 0, 0, 0, 0, 0,
0, 0, 0, 0, 795, 0, 0, 0, 0, 0,
0, 0, 0, 0, 655, 1556, 0, 2648, 1581, 1557,
1554, 0, 2649, 2115, 1582, 0, 2116, 0, 0, 0,
2117, 2118, 2119, 0, 0, 0, 0, 0, 0, 0,
0, 3333, 0, 0, 0, 2650, 2310, 0, 1223, 1224,
2644, 0, 1622, 1559, 0, 0, 0, 0, 0, 0,
2645, 0, 2654, 0, 0, 0, 0, 2646, 0, 1584,
1555, 655, 652, 2651, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 795, 0, 2647, 1623, 795, 795, 0, 35, 0,
0, 0, 0, 1561, 0, 0, 0, 0, 0, 0,
1556, 0, 1562, 0, 1557, 0, 2377, 0, 0, 0,
0, 1563, 0, 0, 0, 0, 1585, 0, 0, 1624,
0, 0, 2652, 1586, 0, 2653, 0, 1587, 0, 0,
0, 0, 1565, 0, 0, 0, 0, 1639, 1559, 0,
0, 1566, 0, 0, 0, 0, 1567, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1588, 0, 0, 2578,
0, 0, 0, 0, 0, 0, 0, 0, 2579, 2580,
2581, 2582, 2583, 2584, 2585, 2586, 2587, 0, 0, 1640,
0, 0, 0, 35, 4176, 0, 0, 0, 1561, 1144,
0, 0, 1589, 6118, 0, 6119, 0, 1562, 0, 6125,
6126, 0, 2648, 0, 1568, 0, 1563, 2649, 0, 0,
0, 0, 0, 0, 1641, 0, 0, 0, 2654, 0,
0, 0, 0, 0, 0, 0, 0, 1565, 0, 0,
2650, 2310, 0, 0, 0, 0, 1566, 0, 0, 0,
0, 1567, 0, 0, 0, 0, 655, 655, 655, 655,
655, 655, 655, 655, 655, 0, 655, 0, 2651, 0,
0, 0, 0, 0, 0, 0, 0, 655, 0, 0,
655, 0, 1692, 0, 0, 0, 1591, 0, 0, 795,
0, 0, 0, 0, 0, 0, 0, 1592, 0, 0,
0, 0, 0, 3333, 0, 652, 652, 1593, 0, 1568,
0, 2377, 0, 0, 0, 0, 0, 0, 0, 1594,
0, 655, 0, 0, 0, 655, 0, 2652, 655, 0,
655, 0, 0, 655, 3333, 2578, 0, 655, 0, 0,
0, 0, 0, 0, 2579, 2580, 2581, 2582, 2583, 2584,
2585, 2586, 2587, 1581, 0, 0, 0, 3362, 1824, 1582,
655, 1720, 0, 0, 1596, 1597, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 655, 0, 0,
0, 0, 0, 0, 0, 0, 655, 655, 0, 0,
0, 0, 0, 0, 0, 0, 1721, 0, 0, 0,
0, 0, 0, 0, 1584, 0, 0, 0, 3548, 0,
0, 0, 0, 974, 0, 0, 0, 0, 0, 0,
917, 0, 0, 2654, 917, 917, 3564, 0, 0, 0,
3567, 974, 0, 0, 3570, 974, 0, 0, 0, 974,
0, 0, 0, 0, 0, 0, 0, 0, 974, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3589, 0,
0, 1585, 0, 974, 0, 0, 655, 0, 1586, 1599,
916, 0, 1587, 0, 0, 0, 0, 655, 0, 917,
655, 0, 655, 655, 0, 917, 0, 0, 0, 0,
0, 0, 3631, 0, 0, 0, 0, 974, 0, 0,
0, 1588, 0, 0, 3280, 3281, 0, 0, 1144, 0,
0, 0, 1100, 0, 0, 0, 0, 974, 974, 0,
0, 3318, 3319, 0, 0, 0, 0, 0, 0, 1581,
2578, 0, 0, 917, 0, 1582, 0, 1589, 0, 2579,
2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 0, 0,
652, 3691, 0, 0, 3365, 1824, 974, 652, 0, 1824,
0, 0, 652, 0, 0, 652, 5327, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3720, 0,
1584, 0, 0, 974, 3729, 1824, 0, 0, 3333, 974,
0, 0, 0, 0, 0, 0, 0, 0, 3739, 0,
0, 0, 0, 974, 0, 1100, 0, 0, 3752, 0,
974, 0, 0, 974, 3757, 0, 0, 1692, 0, 974,
0, 1591, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1592, 0, 3770, 0, 0, 1585, 0, 974,
3773, 0, 1593, 0, 1586, 974, 0, 3781, 1587, 0,
0, 0, 974, 0, 1594, 0, 0, 0, 0, 0,
0, 3796, 0, 0, 0, 0, 974, 0, 0, 0,
0, 0, 6453, 0, 0, 3822, 0, 1588, 0, 2604,
974, 0, 0, 6457, 0, 1824, 1100, 0, 0, 0,
0, 974, 0, 0, 0, 0, 2813, 0, 0, 1596,
1597, 0, 0, 0, 0, 0, 0, 0, 0, 655,
655, 655, 0, 1589, 0, 655, 0, 0, 0, 6483,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2814, 0, 6453, 0, 0, 0, 0, 0, 0,
0, 0, 655, 917, 0, 0, 0, 0, 0, 0,
0, 1824, 0, 0, 0, 0, 0, 0, 6453, 0,
0, 5307, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 655, 0, 6204, 0, 0, 0,
0, 0, 0, 1590, 0, 0, 0, 1591, 0, 0,
0, 0, 0, 0, 1599, 0, 0, 0, 1592, 0,
-136, 0, 0, 5476, 0, 0, 917, 0, 1593, 0,
917, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1594, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2, 652, 3, 4, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
0, 0, 2898, 6, 0, 1596, 1597, 0, 0, 0,
0, 0, 0, 0, 0, 7, 0, 8, 9, 0,
0, 0, 0, 0, 10, 0, 11, 0, 0, 0,
0, 4040, 0, 0, 0, 0, 974, 2899, 1824, 12,
0, 13, 0, 0, 0, 0, 0, 0, 0, 0,
4056, 0, 0, 917, 0, 974, 0, 4040, 14, 0,
0, 15, 974, 3333, 3333, 0, 655, 3333, 917, 655,
0, 655, 655, 917, 0, 0, 16, 0, 17, 0,
0, 655, 18, 0, 0, 0, 655, 0, 0, 19,
0, 0, 0, 0, 0, 0, 0, 0, 0, 20,
0, 21, 0, 0, 917, 0, 0, 0, 22, 0,
1599, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 23, 0, 0, 0,
0, 0, 0, 0, 0, 0, 655, 655, 655, 0,
0, 655, 0, 24, 0, 0, 0, 0, 0, 655,
655, 655, 655, 0, 0, 0, 0, 652, 0, 0,
1824, 0, 0, 0, 0, 655, 1824, 0, 655, 0,
655, 0, 0, 0, 0, 0, 0, 0, 652, 0,
0, 0, 0, 655, 655, 0, 0, 655, 0, 0,
0, 0, 0, 0, 0, 0, 0, 25, 26, 0,
0, 0, 0, 27, 0, 0, 0, 655, 0, 655,
0, 655, 652, 0, 0, 0, 0, 0, 28, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
655, 0, 0, 0, 0, 0, 0, 29, 0, 0,
0, 0, 0, 3465, 3467, 0, 0, 0, 0, 3475,
964, 974, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 916, 0, 0,
0, 3521, 3521, 0, 1581, 0, 30, 0, 655, 0,
1582, 655, 0, 0, 0, 964, 0, 1648, 0, 0,
0, 31, 0, 916, 0, 655, 32, 33, 0, 34,
655, 0, 0, 0, 35, 0, 0, 0, 0, 1649,
36, 0, 0, 37, 0, 655, 0, 0, 0, 0,
38, 0, 0, 0, 0, 1584, 0, 39, 40, 655,
0, 0, 0, 795, 0, 41, 0, 655, 0, 42,
0, 0, 0, 0, 0, 0, 0, 0, 652, 917,
43, 0, 917, 0, 917, 0, 0, 0, 0, 917,
0, 1650, 0, 0, 0, 0, 0, 44, 0, 0,
0, 0, 0, 0, 974, 974, 0, 0, 0, 0,
655, 0, 1585, 0, 0, 0, 0, 0, 45, 1586,
4336, 0, 0, 1587, 0, 974, 0, 0, 974, 0,
46, 917, 0, 0, 0, 0, 47, 0, 0, 917,
0, 48, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3658, 1588, 0, 0, 49, 0, 652, 0, 0,
0, 0, 0, 0, 917, 1581, 916, 0, 0, 0,
655, 1582, 0, 0, 0, 0, 0, 0, 0, 50,
0, 0, 0, 0, 1651, 0, 0, 0, 1589, 0,
0, 0, 0, 0, 0, 0, 0, 0, 56, 0,
0, -136, 0, 0, 0, 0, 0, 0, 0, 0,
1824, 1824, 1824, 0, 0, 0, 1584, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4423, 0, 0, 0, 0, 974, 0, 0, 0, 0,
795, 0, 1652, 0, 917, 0, 917, 1653, 795, 0,
0, 795, 1654, 0, 974, 0, 0, 0, 0, 0,
0, 0, 0, 795, 0, 0, 0, 0, 1655, 0,
0, 0, 1591, 1585, 0, 0, 974, 0, 0, 0,
1586, 0, 0, 1592, 1587, 0, 0, 0, 0, 0,
0, 0, 0, 1593, 0, 0, 0, 5971, 0, 2115,
0, 0, 2116, 0, 1656, 1594, 2117, 2118, 2119, 0,
1739, 0, 0, 1588, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 652, 2644, 0, 0, 916,
0, 0, 0, 0, 0, 0, 2645, 0, 0, 0,
916, 0, 917, 2646, 0, 0, 0, 1657, 0, 1589,
1596, 1597, 1658, 0, 0, 0, 916, 0, 0, 0,
0, 4519, 0, 0, 0, 0, 974, 0, 0, 2647,
0, 655, 0, 0, 0, 0, 1659, 655, 0, 0,
0, 0, 1660, 0, 0, 0, 917, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1661, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1824, 917, 0, 0, 0, 0, 974,
0, 974, 0, 0, 0, 0, 0, 0, 0, 1692,
0, 0, 0, 1591, 974, 0, 974, 0, 0, 652,
0, 0, 0, 0, 1592, 0, 0, 0, 1662, 0,
0, 0, 0, 0, 1593, 1599, 655, 0, 0, 0,
0, 0, 2115, 0, 0, 2116, 1594, 0, 0, 2117,
2118, 2119, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 917, 0, 0, 0, 0, 0, 2648, 2644,
0, 0, 0, 2649, 0, 0, 0, 0, 0, 2645,
0, 0, 0, 974, 917, 0, 2646, 0, 3641, 0,
795, 1596, 1597, 916, 914, 0, 2650, 2310, 0, 0,
0, 0, 0, 0, 0, 0, 917, 0, 0, 0,
0, 0, 2647, 0, 0, 0, 0, 0, 0, 0,
3013, 0, 0, 1598, 2651, 974, 652, 0, 0, 0,
0, 0, 0, 2115, 0, 0, 2116, 0, 0, 4692,
2117, 2118, 2119, 4696, 974, 0, 0, 0, 974, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2644, 0, 0, 0, 0, 0, 0, 2377, 0, 974,
2645, 0, 0, 0, 0, 0, 0, 2646, 0, 0,
0, 0, 0, 2652, 0, 655, 2653, 0, 917, 0,
0, 0, 0, 655, 0, 655, 1599, 0, 0, 0,
0, 0, 0, 2647, 0, 0, 0, 0, 0, 655,
0, 0, 0, 655, 655, 655, 0, 0, 0, 0,
655, 0, 0, 655, 0, 0, 655, 0, 0, 0,
0, 2648, 655, 964, 655, 0, 2649, 655, 0, 0,
0, 917, 655, 655, 655, 655, 0, 0, 655, 655,
655, 655, 655, 655, 655, 655, 655, 655, 0, 2650,
2310, 655, 655, 655, 0, 0, 917, 0, 0, 0,
0, 655, 0, 0, 0, 0, 655, 0, 1824, 2654,
655, 0, 0, 0, 0, 0, 0, 2651, 655, 0,
0, 655, 0, 655, 652, 0, 0, 0, 0, 0,
0, 0, 964, 964, 0, 0, 0, 0, 0, 655,
0, 0, 655, 655, 4234, 655, 795, 0, 655, 655,
0, 0, 2648, 655, 0, 655, 0, 2649, 0, 0,
2377, 0, 4241, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2652, 0, 0, 2653,
2650, 2310, 0, 0, 655, 0, 2753, 0, 0, 0,
655, 0, 0, 0, 0, 0, 0, 0, 655, 0,
0, 0, 655, 0, 0, 0, 0, 0, 2651, 0,
0, 0, 4290, 4290, 0, 0, 2578, 0, 0, 0,
0, 0, 0, 0, 0, 2579, 2580, 2581, 2582, 2583,
2584, 2585, 2586, 2587, 0, 655, 0, 0, 4117, 652,
0, 0, 0, 0, 0, 652, 0, 0, 0, 0,
0, 2377, 655, 2753, 0, 0, 0, 0, 917, 0,
0, 0, 0, 6374, 0, 0, 0, 2652, 0, 0,
2653, 0, 2654, 0, 0, 0, 0, 0, 0, 4924,
0, 0, 0, 0, 974, 0, 0, 0, 0, 0,
0, 0, 0, 0, 916, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 655, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1581, 0, 0, 916, 0, 0,
1582, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 6422, 0, 0, 1824, 0,
0, 0, 0, 1824, 917, 1824, 0, 0, 0, 0,
0, 0, 0, 2654, 0, 0, 0, 0, 0, 0,
652, 0, 0, 0, 0, 1584, 0, 2115, 0, 2578,
2116, 1824, 917, 0, 2117, 2118, 2119, 0, 2579, 2580,
2581, 2582, 2583, 2584, 2585, 2586, 2587, 0, 0, 0,
0, 4540, 0, 0, 2644, 0, 0, 0, 0, 1739,
1739, 1739, 0, 0, 2645, 0, 0, 0, 6422, 0,
0, 2646, 0, 5051, 0, 0, 5054, 0, 974, 0,
0, 974, 1585, 0, 6488, 0, 0, 0, 0, 1586,
0, 0, 0, 1587, 0, 0, 0, 2647, 0, 0,
0, 964, 964, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2578, 0, 1588, 0, 0, 0, 0, 0, 0, 2579,
2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 0, 0,
0, 0, 4727, 0, 0, 655, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1589, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 916, 974, 974, 0, 1581, 917, 0, 5137, 0,
0, 1582, 916, 974, 0, 0, 0, 0, 0, 0,
655, 655, 0, 0, 0, 3013, 0, 0, 916, 0,
974, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2648, 0, 0, 0,
0, 2649, 0, 917, 0, 0, 1584, 0, 917, 655,
655, 0, 0, 0, 0, 0, 0, 0, 1692, 795,
655, 0, 1591, 0, 2650, 2310, 0, 0, 0, 0,
0, 914, 916, 1592, 0, 0, 0, 0, 0, 0,
0, 0, 4588, 1593, 0, 0, 0, 916, 0, 0,
916, 916, 2651, 0, 0, 1594, 4040, 914, 0, 0,
0, 974, 0, 1585, 1824, 0, 0, 0, 0, 0,
1586, 0, 0, 0, 1587, 0, 0, 0, 0, 0,
0, 916, 916, 0, 0, 0, 0, 0, 0, 2115,
655, 0, 2116, 0, 0, 2377, 2117, 2118, 2119, 0,
1596, 1597, 0, 1588, 0, 0, 0, 655, 0, 0,
0, 2652, 0, 0, 2653, 0, 2644, 0, 0, 0,
0, 0, 0, 0, 0, 655, 2645, 0, 0, 0,
0, 0, 1598, 2646, 0, 0, 0, 0, 0, 1589,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 655, 0, 0, 655, 0, 0, 2647,
0, 0, 0, 0, 655, 655, 0, 917, 0, 0,
0, 0, 655, 655, 0, 0, 0, 655, 0, 0,
0, 1739, 655, 0, 0, 655, 0, 655, 0, 0,
0, 0, 0, 655, 0, 1739, 0, 0, 1739, 795,
914, 0, 0, 0, 0, 1599, 0, 2654, 0, 0,
0, 0, 0, 0, 0, 655, 0, 0, 0, 1692,
0, 0, 655, 1591, 0, 916, 0, 655, 0, 0,
655, 655, 0, 0, 1592, 0, 0, 0, 655, 1581,
0, 0, 0, 0, 1593, 1582, 0, 0, 0, 0,
0, 0, 661, 0, 0, 0, 1594, 655, 710, 661,
0, 0, 0, 0, 762, 0, 661, 0, 0, 0,
0, 0, 661, 0, 815, 0, 0, 0, 2648, 0,
0, 0, 0, 2649, 0, 0, 917, 0, 0, 0,
1584, 0, 0, 877, 877, 0, 0, 0, 3833, 974,
0, 1596, 1597, 0, 655, 0, 2650, 2310, 0, 0,
0, 0, 0, 0, 2578, 0, 0, 0, 0, 0,
0, 0, 0, 2579, 2580, 2581, 2582, 2583, 2584, 2585,
2586, 2587, 0, 3834, 2651, 0, 4801, 0, 0, 0,
917, 0, 0, 0, 0, 0, 0, 1585, 0, 0,
0, 0, 5415, 0, 1586, 0, 0, 974, 1587, 0,
0, 0, 917, 914, 5425, 0, 0, 0, 0, 974,
0, 0, 0, 0, 914, 0, 0, 2377, 0, 0,
0, 0, 0, 0, 722, 655, 0, 1588, 0, 723,
914, 0, 655, 2652, 0, 0, 2653, 0, 0, 0,
0, 0, 0, 0, 974, 0, 1599, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1589, 0, 0, 0, 724, 0, 0,
0, 0, 0, 0, 0, 917, 0, 0, 0, 0,
725, 0, 0, 0, 956, 0, 0, 0, 960, 0,
0, 0, 0, 0, 0, 0, 1003, 726, 0, 1005,
0, 655, 1010, 1011, 0, 1014, 0, 1017, 0, 0,
1023, 0, 1025, 0, 0, 727, 905, 0, 655, 0,
0, 0, 0, 1824, 0, 0, 0, 0, 907, 2654,
0, 0, 0, 0, 0, 0, 0, 0, 0, 728,
0, 0, 974, 1692, 0, 0, 0, 1591, 0, 655,
0, 0, 0, 729, 0, 0, 0, 0, 1592, 0,
0, 0, 730, 0, 0, 0, 0, 0, 1593, 0,
0, 0, 0, 0, 0, 731, 0, 0, 0, 0,
1594, 732, 0, 0, 0, 0, 0, 914, 733, 795,
0, 0, 0, 0, 0, 917, 0, 917, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 734, 0,
0, 0, 0, 0, 0, 0, 0, 795, 0, 0,
0, 0, 4352, 4040, 0, 1596, 1597, 0, 974, 0,
0, 795, 0, 0, 0, 0, 2578, 0, 0, 0,
0, 0, 0, 795, 0, 2579, 2580, 2581, 2582, 2583,
2584, 2585, 2586, 2587, 655, 0, 0, 4353, 4910, 0,
0, 0, 0, 1581, 655, 0, 0, 655, 735, 1582,
655, 655, 655, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 655, 655, 0, 0, 0,
655, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 736, 1584, 0, 0, 0, 655, 1223,
1224, 0, 655, 0, 0, 0, 737, 0, 655, 0,
1599, 0, 655, 0, 0, 0, 0, 0, 917, 655,
738, 0, 0, 0, 0, 0, 0, 655, 0, 2622,
213, 739, 1739, 655, 740, 0, 655, 4040, 0, 4040,
0, 0, 974, 0, 974, 0, 0, 0, 0, 0,
0, 1585, 0, 0, 0, 0, 0, 0, 1586, 0,
0, 741, 1587, 0, 742, 0, 0, 655, 743, 0,
0, 744, 0, 0, 0, 0, 0, 0, 745, 0,
0, 746, 0, 0, 0, 0, 0, 0, 795, 0,
0, 1588, 0, 0, 917, 974, 0, 0, 0, 0,
0, 747, 0, 0, 0, 655, 0, 0, 0, 748,
0, 0, 0, 0, 0, 0, 749, 0, 0, 750,
0, 0, 0, 0, 751, 0, 0, 1589, 0, 0,
914, 0, 752, 0, 753, 0, 0, 0, 0, 754,
0, 795, 0, 0, 0, 1824, 0, 0, 0, 0,
655, 0, 0, 755, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 756, 0, 0, 0,
0, 0, 3553, 0, 0, 0, 2753, 3559, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 914, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1692, 0, 0,
0, 1591, 0, 655, 0, 0, 917, 0, 0, 0,
0, 0, 1592, 0, 0, 0, 0, 0, 0, 0,
1053, 916, 1593, 0, 0, 0, 0, 916, 914, 0,
0, 1090, 0, 0, 1594, 1094, 0, 655, 0, 0,
0, 0, 1107, 1108, 0, 0, 1114, 0, 1118, 1119,
0, 0, 0, 0, 655, 0, 0, 0, 655, 0,
655, 914, 0, 1141, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 655, 916, 4425, 0, 0, 1596,
1597, 1154, 655, 0, 0, 655, 0, 0, 0, 0,
0, 0, 2115, 0, 0, 2116, 655, 0, 0, 2117,
2118, 2119, 1182, 655, 1184, 0, 0, 0, 0, 0,
0, 4426, 0, 0, 1200, 0, 0, 0, 908, 2644,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2645,
0, 0, 0, 0, 0, 0, 2646, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 661, 0, 0,
0, 0, 0, 0, 0, 655, 0, 0, 0, 0,
0, 917, 2647, 0, 0, 0, 917, 917, 0, 0,
0, 655, 0, 0, 0, 0, 0, 655, 655, 974,
0, 0, 0, 0, 1599, 0, 0, 0, 0, 0,
0, 0, 0, 974, 0, 0, 0, 795, 0, 0,
0, 0, 0, 795, 0, 0, 0, 0, 795, 0,
0, 0, 0, 655, 0, 0, 0, 0, 0, 0,
0, 0, 655, 0, 2115, 1824, 0, 2116, 877, 0,
0, 2117, 2118, 2119, 0, 5418, 5419, 0, 0, 0,
5422, 5423, 0, 0, 0, 0, 0, 0, 0, 0,
655, 2644, 0, 1739, 0, 914, 0, 0, 0, 0,
0, 2645, 0, 905, 0, 0, 914, 0, 2646, 0,
0, 0, 0, 0, 0, 907, 0, 0, 0, 917,
917, 2648, 914, 0, 0, 916, 2649, 0, 0, 905,
0, 0, 0, 0, 2647, 0, 0, 0, 0, 0,
0, 907, 0, 655, 1824, 0, 0, 0, 0, 2650,
2310, 0, 0, 1542, 0, 655, 0, 0, 0, 0,
0, 0, 0, 0, 655, 655, 655, 0, 0, 0,
0, 0, 0, 0, 0, 0, 914, 2651, 0, 655,
1824, 0, 0, 917, 0, 0, 0, 0, 655, 0,
655, 914, 655, 0, 914, 914, 0, 0, 2753, 0,
0, 0, 2753, 0, 655, 0, 0, 0, 0, 0,
0, 655, 0, 0, 0, 0, 0, 0, 0, 0,
2377, 0, 0, 0, 0, 914, 914, 1723, 0, 0,
0, 655, 0, 0, 0, 0, 2652, 0, 0, 2653,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1844, 2648, 0, 0, 1824, 0, 2649, 974,
0, 0, 0, 0, 0, 0, 0, 1856, 0, 1857,
0, 0, 905, 0, 0, 0, 0, 0, 0, 1860,
0, 2650, 2310, 0, 907, 0, 1870, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 916, 0, 0, 0, 2651,
0, 655, 0, 0, 0, 0, 0, 0, 0, 0,
916, 0, 0, 0, 0, 916, 0, 0, 0, 1922,
0, 1924, 2654, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2115, 0, 0, 2116,
0, 0, 2377, 2117, 2118, 2119, 916, 0, 0, 0,
0, 0, 655, 0, 0, 0, 0, 0, 2652, 914,
0, 2653, 0, 2644, 0, 0, 0, 655, 0, 0,
0, 0, 0, 2645, 0, 0, 0, 655, 0, 0,
2646, 0, 0, 0, 0, 0, 0, 0, 0, 4040,
0, 0, 0, 0, 974, 661, 0, 661, 0, 661,
0, 661, 0, 661, 661, 661, 2647, 0, 655, 0,
661, 0, 0, 0, 0, 0, 0, 0, 974, 0,
0, 0, 2028, 0, 0, 905, 0, 0, 0, 2578,
0, 0, 0, 0, 0, 0, 905, 907, 2579, 2580,
2581, 2582, 2583, 2584, 2585, 2586, 2587, 0, 907, 0,
0, 4935, 905, 0, 2654, 0, 0, 0, 0, 655,
0, 0, 0, 0, 907, 0, 0, 0, 0, 655,
0, 0, 0, 0, 0, 0, 0, 655, 655, 795,
0, 0, 0, 655, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 655, 655, 0, 0, 655, 0,
0, 0, 0, 0, 0, 2648, 0, 0, 0, 0,
2649, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2650, 2310, 0, 0, 0, 974, 0,
0, 2578, 0, 0, 0, 0, 0, 0, 0, 0,
2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 0,
0, 2651, 0, 5143, 655, 0, 0, 0, 0, 0,
655, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2753, 0, 0, 3559, 0, 3559, 0, 655, 905,
0, 2753, 877, 0, 0, 655, 0, 0, 0, 0,
0, 907, 0, 0, 2377, 908, 0, 0, 0, 0,
0, 655, 0, 0, 0, 0, 0, 0, 0, 0,
2652, 0, 0, 2653, 0, 0, 0, 0, 0, 0,
0, 908, 655, 916, 0, 0, 0, 0, 0, 0,
0, 916, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2115, 0, 0, 2116, 0, 0, 0, 2117,
2118, 2119, 0, 0, 0, 0, 2753, 0, 0, 0,
655, 0, 0, 0, 0, 917, 0, 0, 0, 2644,
0, 655, 0, 0, 0, 0, 0, 0, 0, 2645,
0, 0, 0, 0, 0, 655, 2646, 0, 0, 0,
2115, 0, 1824, 2116, 0, 0, 0, 2117, 2118, 2119,
0, 0, 2811, 0, 0, 0, 2654, 0, 0, 0,
0, 0, 2647, 0, 0, 0, 0, 2644, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2645, 0, 0,
0, 0, 655, 655, 2646, 0, 916, 0, 916, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 655,
0, 0, 0, 1824, 0, 0, 0, 0, 795, 0,
2647, 0, 0, 0, 908, 0, 655, 655, 0, 0,
0, 0, 0, 0, 2910, 0, 0, 0, 1824, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2578, 0, 0, 0, 0, 0, 0,
0, 0, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586,
2587, 2648, 0, 0, 916, 5256, 2649, 0, 0, 0,
0, 0, 905, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 907, 0, 0, 0, 0, 2650,
2310, 0, 0, 1739, 0, 0, 0, 0, 0, 1739,
0, 0, 0, 0, 0, 0, 0, 0, 916, 2648,
0, 0, 0, 0, 2649, 0, 0, 2651, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3559, 2650, 2310, 905,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 907, 0, 0, 0, 0, 0, 908, 0, 0,
2377, 0, 0, 0, 0, 2651, 0, 0, 908, 0,
0, 0, 0, 0, 0, 0, 2652, 0, 0, 2653,
905, 0, 0, 0, 908, 0, 914, 0, 0, 0,
914, 914, 907, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 6112, 916, 0, 0, 0, 2377, 0,
0, 0, 0, 905, 0, 0, 0, 0, 0, 0,
0, 0, 3041, 0, 2652, 907, 3559, 2653, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 914, 0, 0, 916, 0,
0, 914, 0, 0, 0, 0, 0, 3077, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2115, 0, 0,
2116, 0, 2654, 0, 2117, 2118, 2119, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2644, 0, 0, 0, 0, 914,
0, 0, 0, 3142, 2645, 0, 0, 0, 0, 0,
0, 2646, 0, 0, 0, 0, 0, 0, 0, 0,
2654, 0, 0, 3160, 0, 0, 0, 0, 0, 0,
916, 0, 0, 0, 0, 0, 0, 2647, 0, 0,
0, 908, 0, 0, 0, 0, 0, 0, 0, 3180,
0, 3181, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3190, 0, 3191, 0,
0, 0, 0, 0, 661, 0, 661, 0, 661, 2578,
661, 0, 661, 916, 0, 0, 661, 0, 2579, 2580,
2581, 2582, 2583, 2584, 2585, 2586, 2587, 0, 0, 0,
0, 5294, 0, 0, 0, 0, 0, 905, 916, 0,
0, 0, 0, 0, 0, 0, 0, 0, 905, 907,
0, 0, 0, 3250, 0, 0, 0, 2578, 0, 0,
907, 0, 0, 0, 905, 0, 2579, 2580, 2581, 2582,
2583, 2584, 2585, 2586, 2587, 0, 907, 0, 0, 5298,
0, 0, 0, 0, 0, 0, 2648, 0, 0, 0,
0, 2649, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2650, 2310, 0, 0, 905, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
907, 0, 0, 905, 0, 0, 905, 905, 0, 914,
0, 0, 2651, 910, 0, 907, 0, 0, 907, 907,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 905, 905, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 907,
907, 0, 0, 0, 0, 2377, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 722, 0,
2753, 2652, 0, 2800, 2653, 0, 2115, 0, 0, 2116,
0, 0, 914, 2117, 2118, 2119, 914, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2644, 908, 0, 0, 0, 0, 0,
0, 2801, 0, 2645, 0, 0, 0, 673, 0, 0,
2646, 0, 0, 0, 725, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 674, 0, 0, 0, 0,
0, 726, 0, 0, 0, 0, 2647, 0, 0, 911,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1059,
675, 0, 0, 0, 0, 0, 3559, 2654, 0, 0,
0, 908, 0, 676, 0, 0, 0, 0, 0, 0,
0, 905, 0, 2802, 0, 0, 0, 6452, 0, 914,
-906, 0, 0, 907, 3559, 0, 0, 729, 0, 0,
0, 0, 0, 0, 914, 0, 730, 0, 677, 914,
0, 0, 908, 0, 678, 0, 0, 0, 0, 731,
0, 0, 0, 0, 0, 2803, 0, 0, 0, 0,
0, 0, 679, 0, 0, 0, 0, 0, 0, 0,
914, 0, 0, 0, 0, 908, 680, 0, 6452, 0,
0, 0, 1062, 0, 0, 681, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2648, 0, 0, 682, 0,
2649, 0, 0, 6452, 2578, 0, 0, 683, 0, 0,
0, 684, 0, 2579, 2580, 2581, 2582, 2583, 2584, 2585,
2586, 2587, 0, 2650, 2310, 0, 5575, 0, 0, 0,
0, -1111, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 735, 0, 0, 0, 0, 0, 0, 0,
0, 2651, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 916, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 685, 0, 0, 0, 0, 0, 2804, 0, 0,
0, -637, 0, 0, 2377, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2652, 0, 0, 2653, 0, 3559, 0, 0, 0, 0,
2753, 0, 0, 2115, 213, 2805, 2116, 0, 740, 0,
2117, 2118, 2119, 0, 0, 0, 686, 0, 0, 687,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2644, 0, 0, 0, 0, 1066, 0, 0, 2806, 0,
2645, 0, 0, 688, 0, 744, 0, 2646, 0, 908,
0, 0, 745, 0, 0, 746, 0, 689, 0, 0,
908, 0, 0, 0, -475, 0, 0, 0, 0, 0,
0, 0, 0, 2647, 0, 747, 908, 0, 0, 0,
0, 0, 0, 1068, 690, 0, 2654, 0, 0, 0,
749, 0, 0, 1069, 691, 0, 0, 0, 751, 0,
0, -475, 0, 0, 692, 914, 2807, 0, 914, 0,
914, 0, 0, 2808, 0, 914, 0, 0, 0, 0,
0, 0, 0, 0, 693, 0, 0, 0, 0, 0,
908, 0, 694, 0, 0, 0, 0, 0, 0, -475,
756, 0, 695, 0, 696, 908, 697, 698, 908, 908,
0, 0, 0, 0, 0, 0, 0, 914, 0, 916,
0, 0, 699, 0, 0, 914, 0, 0, 0, 0,
700, 0, 0, 701, 0, 0, 702, 0, 0, 908,
908, 0, 0, 0, 0, 0, 0, 0, 0, -475,
914, 0, 2648, 2578, 0, 0, 0, 2649, 0, 0,
0, 0, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586,
2587, 0, 0, 0, 0, 5586, 0, 0, 0, 0,
2650, 2310, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3549, 3550, 0, 913, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2651, 0,
3565, 3566, 0, 3568, 3569, 0, 0, 0, 3572, 3573,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
914, 0, 914, 3584, 0, 0, 0, 3587, 916, 0,
0, 3590, 3591, 0, 0, 3594, 3595, 0, 0, 0,
0, 2377, 3600, 0, 0, 0, 0, 0, 0, 0,
910, 0, 0, 0, 3615, 0, 0, 2652, 0, 0,
2653, 0, 0, 0, 0, 0, 3632, 0, 0, 0,
0, 3634, 0, 908, 0, 0, 910, 0, 0, 0,
0, 0, 916, 0, 0, 0, 3640, 0, 0, 0,
3646, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3657, 0, 916, 3661, 0, 3663, 3666, 3668,
0, 0, 0, 0, 3676, 3679, 0, 0, 914, 0,
0, 0, 0, 0, 3692, 0, 0, 0, 0, 0,
3702, 0, 0, 0, 3705, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3715, 3716, 0, 0,
0, 3721, 0, 2654, 0, 0, 2115, 3730, 3731, 2116,
0, 0, 914, 2117, 2118, 2119, 0, 0, 905, 0,
0, 3740, 905, 905, 3741, 0, 0, 916, 0, 0,
907, 3753, 3754, 2644, 907, 907, 911, 3758, 0, 0,
914, 0, 0, 2645, 0, 0, 0, 0, 0, 3765,
2646, 0, 3768, 0, 0, 0, 0, 3771, 0, 0,
0, 0, 911, 3774, 3775, 0, 0, 0, 0, 910,
0, 3783, 0, 0, 0, 3785, 2647, 905, 0, 3792,
3793, 3794, 3795, 905, 3797, 0, 0, 0, 0, 907,
0, 0, 0, 0, 0, 907, 0, 0, 3823, 3824,
0, 3826, 0, 0, 0, 0, 0, 0, 914, 0,
2578, 0, 3836, 3837, 3838, 0, 0, 0, 0, 2579,
2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 0, 0,
914, 905, 5596, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 907, 0, 0, 0, 5532, 0, 916,
0, 0, 914, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2115, 0, 0, 2116, 3890,
0, 0, 2117, 2118, 2119, 0, 0, 3914, 0, 0,
0, 0, 0, 0, 0, 0, 915, 0, 0, 0,
0, 0, 2644, 0, 0, 2648, 3926, 0, 0, 0,
2649, 0, 2645, 0, 0, 911, 0, 0, 0, 2646,
2115, 0, 0, 2116, 0, 0, 0, 2117, 2118, 2119,
0, 0, 0, 2650, 2310, 0, 0, 0, 0, 0,
0, 0, 910, 0, 914, 2647, 0, 2644, 0, 0,
0, 0, 0, 910, 0, 0, 3994, 2645, 0, 0,
0, 2651, 0, 0, 2646, 0, 0, 0, 0, 910,
0, 0, 0, 0, 0, 4008, 0, 4010, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2647, 0, 0, 0, 0, 0, 0, 914, 0, 0,
916, 0, 0, 0, 2377, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2652, 0, 914, 2653, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 905, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 907, 2648, 0, 0, 0, 0, 2649,
0, 0, 4072, 0, 0, 0, 3559, 0, 911, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 911,
0, 0, 2650, 2310, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 911, 0, 0, 0, 2648,
0, 0, 0, 0, 2649, 0, 2654, 0, 0, 0,
2651, 0, 0, 0, 905, 0, 910, 0, 905, 0,
0, 0, 0, 0, 0, 0, 907, 2650, 2310, 0,
907, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2377, 0, 2651, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2652,
0, 0, 2653, 0, 914, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3559, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2377, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 913, 0, 2578, 2652, 0, 0, 2653, 0, 0,
0, 905, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586,
2587, 0, 0, 907, 0, 5660, 905, 913, 0, 0,
0, 905, 0, 0, 0, 0, 0, 0, 907, 0,
908, 0, 911, 907, 908, 908, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2654, 0, 0, 0, 0,
914, 0, 905, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 907, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 914, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 908,
2654, 0, 0, 0, 0, 908, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 916, 0, 0, 0, 0, 916, 916,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 908, 0, 0, 0, 0, 0, 0,
0, 0, 2578, 0, 0, 0, 0, 0, 0, 910,
913, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587,
0, 0, 0, 4337, 5693, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4344, 0, 0, 0, 4344, 0, 0, 2578, 0, 4355,
4356, 4357, 0, 0, 0, 0, 2579, 2580, 2581, 2582,
2583, 2584, 2585, 2586, 2587, 0, 0, 0, 0, 5695,
0, 4369, 914, 0, 0, 0, 910, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5532, 916, 0, 0, 4400, 4401, 4402, 4403, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 910, 0, 914,
0, 0, 0, 0, 914, 0, 0, 0, 0, 0,
0, 2115, 0, 4424, 2116, 4428, 4429, 4430, 2117, 2118,
2119, 0, 0, 0, 0, 911, 0, 0, 0, 0,
910, 0, 0, 0, 0, 916, 0, 905, 2644, 0,
905, 0, 905, 0, 0, 0, 0, 905, 2645, 907,
0, 0, 907, 913, 907, 2646, 0, 0, 0, 907,
0, 0, 0, 0, 913, 0, 0, 0, 0, 0,
0, 0, 0, 915, 0, 0, 0, 0, 0, 0,
913, 2647, 0, 908, 0, 0, 0, 0, 0, 905,
0, 0, 911, 0, 0, 0, 0, 905, 0, 915,
0, 907, 0, 0, 0, 0, 0, 0, 0, 907,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 905, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 911, 907, 4514, 0, 0, 0, 0,
0, 0, 0, 0, 4520, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 908, 0, 0, 0,
908, 0, 0, 914, 0, 0, 911, 0, 0, 0,
4530, 4531, 0, 0, 0, 4532, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4575, 0, 0,
2648, 0, 905, 0, 905, 2649, 0, 0, 0, 0,
0, 0, 0, 0, 907, 0, 907, 0, 0, 0,
0, 0, 0, 0, 910, 0, 0, 0, 2650, 2310,
0, 0, 0, 0, 0, 910, 0, 913, 0, 0,
0, 0, 915, 0, 0, 0, 0, 0, 0, 4612,
0, 910, 0, 0, 4618, 0, 2651, 0, 0, 0,
4624, 0, 0, 908, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 908, 0,
0, 0, 914, 908, 0, 0, 0, 0, 0, 0,
4663, 0, 0, 0, 0, 0, 0, 0, 0, 2377,
905, 0, 0, 0, 0, 910, 0, 0, 0, 0,
0, 0, 907, 0, 908, 2652, 0, 0, 2653, 4678,
910, 4679, 0, 910, 910, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 914, 0, 0, 0,
0, 0, 0, 0, 905, 0, 0, 0, 0, 0,
0, 0, 0, 0, 910, 910, 907, 0, 914, 0,
911, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 911, 905, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 907, 0, 0, 911, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 915, 0, 0, 0, 0,
0, 2654, 0, 0, 0, 0, 915, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 914, 915, 0, 0, 0, 0, 0, 0, 0,
905, 911, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 907, 0, 0, 0, 911, 0, 0, 911,
911, 0, 905, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 907, 0, 0, 0, 0, 0,
0, 0, 0, 0, 905, 0, 0, 0, 0, 0,
911, 911, 0, 0, 0, 0, 907, 0, 910, 0,
913, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2578, 0,
0, 0, 0, 0, 0, 0, 0, 2579, 2580, 2581,
2582, 2583, 2584, 2585, 2586, 2587, 0, 0, 0, 0,
5734, 0, 0, 2115, 0, 0, 2116, 0, 0, 0,
2117, 2118, 2119, 914, 0, 0, 0, 916, 0, 0,
0, 0, 0, 0, 0, 0, 905, 913, 0, 908,
2644, 0, 908, 0, 908, 0, 0, 0, 907, 908,
2645, 0, 0, 0, 0, 0, 0, 2646, 0, 915,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 913, 0,
0, 0, 0, 2647, 0, 0, 0, 0, 0, 905,
0, 908, 0, 0, 1739, 0, 0, 0, 0, 908,
0, 907, 0, 0, 911, 0, 0, 4917, 0, 4918,
2115, 913, 0, 2116, 905, 0, 0, 2117, 2118, 2119,
0, 0, 4925, 0, 908, 0, 907, 0, 0, 0,
0, 0, 0, 0, 4931, 0, 0, 2644, 4934, 0,
0, 0, 0, 0, 0, 0, 0, 2645, 0, 0,
4948, 0, 0, 0, 2646, 0, 0, 0, 0, 0,
0, 0, 0, 0, 914, 0, 0, 0, 0, 0,
4974, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2647, 0, 0, 0, 0, 0, 0, 0, 4978, 0,
0, 0, 0, 0, 0, 0, 4982, 0, 0, 0,
0, 0, 2648, 0, 908, 0, 908, 2649, 0, 0,
0, 1581, 0, 0, 0, 0, 0, 1582, 0, 0,
0, 5017, 0, 0, 1648, 5021, 0, 0, 0, 0,
2650, 2310, 0, 0, 0, 0, 0, 0, 0, 0,
914, 5032, 5033, 5034, 5035, 0, 1649, 0, 0, 0,
0, 5039, 5040, 5041, 5042, 0, 0, 0, 2651, 0,
5044, 5045, 1584, 0, 0, 0, 5052, 5053, 0, 5055,
5056, 5057, 5058, 5059, 5060, 5061, 905, 0, 0, 0,
0, 0, 0, 0, 0, 5070, 0, 0, 907, 5073,
5074, 5075, 5076, 0, 0, 0, 0, 0, 1650, 2648,
0, 2377, 908, 0, 2649, 913, 0, 0, 0, 0,
0, 0, 0, 4344, 0, 0, 913, 2652, 0, 1585,
2653, 0, 915, 0, 0, 0, 1586, 2650, 2310, 0,
1587, 5096, 913, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 908, 0, 0, 0,
0, 0, 0, 0, 0, 2651, 0, 0, 0, 1588,
0, 0, 914, 0, 0, 0, 0, 0, 0, 0,
0, 0, 905, 0, 908, 0, 0, 0, 0, 0,
0, 0, 0, 0, 907, 0, 913, 0, 0, 915,
0, 1651, 0, 0, 0, 1589, 0, 0, 2377, 0,
905, 913, 0, 0, 913, 913, 0, 0, 5178, 0,
0, 0, 907, 2654, 2652, 0, 0, 2653, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
915, 0, 0, 0, 0, 913, 913, 0, 0, 0,
0, 4344, 908, 0, 0, 0, 0, 0, 5203, 1652,
5204, 0, 0, 0, 1653, 0, 0, 0, 0, 1654,
0, 0, 0, 915, 908, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1655, 0, 0, 5219, 1591,
0, 0, 0, 0, 0, 0, 908, 0, 0, 0,
1592, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1593, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2654, 1656, 1594, 0, 0, 0, 0, 914, 0, 0,
2578, 0, 914, 914, 0, 0, 0, 0, 0, 2579,
2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 0, 0,
0, 0, 6098, 0, 905, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3759, 0, 907, 1596, 1597, 1658,
0, 0, 0, 0, 0, 0, 0, 0, 908, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 913,
0, 0, 0, 1659, 0, 0, 0, 0, 0, 3760,
0, 905, 0, 0, 0, 910, 905, 0, 0, 910,
910, 0, 0, 907, 1661, 0, 0, 0, 907, 0,
0, 0, 0, 0, 0, 0, 0, 2578, 0, 0,
0, 908, 0, 0, 0, 0, 2579, 2580, 2581, 2582,
2583, 2584, 2585, 2586, 2587, 0, 914, 0, 0, 6106,
0, 0, 0, 0, 0, 0, 908, 0, 0, 0,
0, 0, 0, 0, 910, 1662, 0, 915, 0, 0,
910, 0, 1599, 0, 0, 0, 0, 0, 915, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 915, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5367, 5368, 5369, 0, 0, 914,
5370, 5371, 5372, 5373, 0, 0, 0, 5375, 910, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 911, 0, 0, 0, 911, 911, 0, 915, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 915, 0, 905, 915, 915, 0, 5410,
5411, 5412, 5413, 5414, 0, 5416, 5417, 907, 0, 0,
0, 0, 0, 0, 0, 0, 0, 5426, 5427, 0,
0, 0, 0, 0, 0, 0, 0, 915, 915, 0,
911, 0, 2115, 0, 0, 2116, 911, 0, 0, 2117,
2118, 2119, 0, 0, 0, 0, 0, 0, 908, 0,
0, 0, 5433, 0, 0, 0, 0, 0, 0, 2644,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2645,
0, 0, 0, 0, 0, 0, 2646, 0, 0, 0,
0, 0, 0, 0, 911, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
953, 955, 2647, 0, 958, 0, 0, 0, 0, 0,
0, 0, 0, 0, 905, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1016, 0, 907, 0, 0, 0,
0, 1026, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 908, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 5498, 0, 0, 910, 0,
0, 0, 0, 0, 0, 0, 2115, 0, 905, 2116,
0, 915, 908, 2117, 2118, 2119, 0, 0, 0, 0,
907, 0, 0, 0, 0, 0, 0, 0, 0, 0,
905, 0, 0, 2644, 0, 0, 0, 0, 0, 0,
0, 0, 907, 2645, 0, 0, 0, 0, 0, 0,
2646, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5549, 2648, 0, 0, 0, 0, 2649, 0, 0, 0,
0, 910, 0, 0, 0, 910, 2647, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2650,
2310, 0, 5555, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 905, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 907, 0, 2651, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 911, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 908, 0, 0, 0,
2377, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2652, 0, 910, 2653,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 661, 910, 0, 2648, 0, 0, 910, 0,
2649, 0, 0, 908, 0, 0, 0, 911, 908, 0,
0, 911, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2650, 2310, 905, 0, 0, 0, 910,
0, 0, 0, 0, 0, 0, 0, 907, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2651, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5682, 0, 0, 0, 0, 0, 0,
0, 0, 2654, 0, 0, 0, 0, 0, 0, 0,
0, 0, 5692, 0, 0, 0, 913, 0, 5698, 5699,
913, 913, 0, 0, 2377, 0, 0, 0, 5710, 0,
0, 914, 0, 0, 0, 5712, 0, 0, 0, 0,
2652, 0, 0, 2653, 911, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 911,
0, 0, 0, 0, 911, 0, 0, 0, 0, 0,
0, 0, 5765, 5766, 0, 913, 0, 0, 0, 0,
0, 913, 0, 0, 0, 5774, 0, 5776, 0, 0,
0, 0, 0, 0, 0, 911, 905, 908, 0, 0,
0, 0, 5790, 0, 0, 0, 0, 0, 907, 2578,
0, 0, 0, 0, 0, 0, 0, 0, 2579, 2580,
2581, 2582, 2583, 2584, 2585, 2586, 2587, 4344, 0, 913,
2115, 6128, 0, 2116, 0, 5824, 2654, 2117, 2118, 2119,
0, 0, 0, 0, 0, 0, 1086, 0, 1089, 0,
0, 1091, 0, 0, 0, 0, 0, 2644, 0, 0,
0, 0, 0, 0, 0, 1117, 0, 2645, 0, 0,
0, 1121, 905, 0, 2646, 0, 0, 0, 0, 0,
0, 0, 0, 0, 907, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 966, 976, 0, 0,
2647, 0, 0, 0, 966, 0, 976, 966, 0, 0,
0, 0, 0, 0, 910, 0, 908, 910, 0, 910,
976, 0, 0, 0, 910, 0, 0, 5885, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5900, 0, 2578, 0, 0, 0, 0, 0, 0,
0, 0, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586,
2587, 0, 0, 0, 0, 6356, 910, 5918, 0, 0,
908, 0, 0, 0, 910, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 908, 0, 905, 0, 0, 0, 0, 910,
0, 0, 0, 0, 0, 0, 907, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2648,
0, 0, 0, 0, 2649, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 5977, 0, 0, 0, 913,
0, 0, 0, 0, 0, 0, 0, 2650, 2310, 0,
911, 0, 0, 911, 0, 911, 0, 0, 0, 0,
911, 0, 0, 0, 0, 908, 0, 0, 915, 0,
0, 0, 915, 915, 0, 2651, 0, 2115, 0, 910,
2116, 910, 0, 0, 2117, 2118, 2119, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 911, 0, 0, 4344, 0, 0, 0, 0,
911, 0, 913, 0, 2645, 0, 913, 0, 2377, 0,
0, 2646, 0, 0, 0, 0, 0, 915, 0, 0,
0, 0, 0, 915, 2652, 911, 0, 2653, 0, 6057,
0, 0, 0, 0, 0, 0, 0, 2647, 0, 905,
0, 0, 0, 0, 905, 905, 0, 979, 1613, 1614,
0, 907, 0, 0, 0, 0, 907, 907, 0, 1013,
0, 0, 0, 0, 0, 0, 0, 910, 0, 0,
1032, 915, 0, 0, 0, 6088, 0, 908, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6107, 0, 0, 0, 0, 911, 0, 911, 0, 913,
0, 910, 0, 0, 0, 0, 0, 0, 0, 1843,
2654, 0, 0, 0, 913, 0, 0, 0, 0, 913,
0, 0, 0, 0, 1855, 0, 0, 0, 0, 910,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2648, 0, 905, 6146,
913, 2649, 0, 0, 0, 1877, 1878, 0, 0, 0,
907, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2650, 2310, 0, 0, 0, 0,
0, 1915, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 911, 0, 0, 0, 910, 0, 0,
0, 0, 2651, 0, 0, 0, 0, 0, 908, 0,
0, 905, 0, 0, 0, 0, 0, 2578, 0, 910,
0, 1953, 1955, 907, 0, 0, 2579, 2580, 2581, 2582,
2583, 2584, 2585, 2586, 2587, 976, 0, 911, 0, 6373,
0, 910, 0, 0, 0, 2377, 0, 0, 0, 0,
0, 0, 0, 0, 976, 0, 0, 0, 0, 0,
976, 2652, 0, 0, 6243, 911, 0, 0, 0, 0,
0, 915, 976, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 908, 0, 0, 0, 976, 0,
0, 0, 0, 6258, 0, 0, 0, 0, 0, 0,
0, 0, 966, 976, 6268, 0, 0, 0, 0, 966,
0, 976, 966, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 910, 0, 976, 0, 0, 0, 0,
0, 0, 0, 911, 0, 976, 0, 0, 0, 0,
0, 0, 2115, 0, 915, 2116, 0, 0, 915, 2117,
2118, 2119, 0, 0, 0, 911, 0, 2654, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2644,
0, 0, 0, 0, 0, 0, 910, 911, 0, 2645,
0, 0, 0, 0, 0, 0, 2646, 0, 976, 0,
0, 2115, 0, 0, 2116, 0, 0, 0, 2117, 2118,
2119, 910, 0, 0, 0, 913, 908, 0, 913, 0,
913, 0, 2647, 0, 0, 913, 976, 0, 2644, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2645, 0,
0, 6350, 0, 0, 0, 2646, 0, 0, 0, 0,
0, 976, 0, 0, 0, 0, 0, 0, 0, 0,
0, 915, 0, 0, 0, 0, 0, 913, 0, 911,
0, 2647, 0, 0, 2578, 913, 915, 0, 0, 0,
0, 915, 0, 2579, 2580, 2581, 2582, 2583, 2584, 2585,
2586, 2587, 0, 0, 2115, 0, 0, 2116, 0, 0,
913, 2117, 2118, 2119, 0, 1052, 0, 0, 0, 0,
0, 1084, 915, 976, 0, 0, 0, 0, 0, 0,
0, 0, 911, 0, 0, 0, 0, 0, 0, 0,
0, 2645, 0, 0, 0, 0, 0, 0, 2646, 0,
0, 2648, 0, 0, 0, 0, 2649, 911, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2647, 0, 0, 0, 0, 2650,
2310, 908, 0, 910, 0, 0, 908, 908, 0, 0,
913, 0, 913, 0, 975, 0, 0, 0, 0, 0,
2648, 0, 0, 975, 0, 2649, 0, 2651, 0, 0,
0, 0, 0, 0, 0, 0, 0, 975, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2650, 2310,
0, 0, 0, 1826, 0, 0, 0, 0, 0, 2831,
976, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2377, 966, 0, 0, 0, 966, 2651, 966, 0, 0,
0, 0, 0, 6494, 2877, 0, 2652, 0, 0, 2653,
0, 0, 0, 0, 0, 0, 0, 0, 0, 910,
0, 0, 0, 0, 0, 0, 0, 0, 913, 0,
0, 0, 1393, 2648, 0, 0, 0, 0, 2649, 2377,
908, 0, 0, 0, 0, 0, 0, 910, 0, 0,
0, 1418, 0, 0, 0, 2652, 0, 0, 2653, 911,
0, -3025, -3025, 0, 0, 0, 0, 0, 0, 0,
0, 0, 913, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2967, 0, 0, 0, 0, 0, 2651,
0, 0, 0, 905, 0, 0, 0, 0, 0, 0,
913, 0, 2654, 908, 976, 907, 0, 0, 0, 0,
0, 0, 0, 2993, 2994, 2995, 2996, 915, 0, 0,
915, 0, 915, 0, 0, 0, 0, 915, 0, 0,
0, 0, -3025, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2652, 0,
0, 2654, 0, 0, 0, 911, 0, 0, 0, 0,
0, 0, 0, 0, 0, 976, 0, 0, 913, 915,
1612, 0, 0, 0, 0, 0, 976, 915, 0, 0,
0, 0, 0, 911, 0, 0, 0, 0, 0, 0,
913, 910, 0, 976, 0, 0, 0, 0, 976, 0,
0, 0, 915, 0, 0, 0, 0, 0, 0, 2578,
0, 0, 913, 0, 0, 0, 0, 0, 2579, 2580,
2581, 2582, 2583, 2584, 2585, 2586, 2587, 0, 0, 0,
0, 6432, 0, 0, 0, 0, 0, 0, 910, 0,
0, 0, 0, 910, 2654, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2578, 0,
3050, 3051, 0, 0, 0, 0, 0, 2579, 2580, 2581,
2582, 2583, 2584, 2585, 2586, 2587, 3068, 0, 3037, 0,
0, 0, 915, 0, 915, 1875, 0, 0, 0, 0,
0, 0, 0, 0, 913, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3111, 3112, 3113, 3114, 1909, 1912, 1913, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 911, 0, 0,
0, 0, 0, 976, 0, 0, 0, 0, 0, 0,
0, 976, 976, 0, 0, 0, 0, 913, 0, 0,
0, 2578, 0, 0, 0, 0, 0, 0, 0, 0,
2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 0,
0, 0, 913, 0, 911, 0, 0, 0, 0, 911,
915, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3188, 975, 0, 1826, 0, 0, 3192, 0, 0,
0, 0, 910, 0, 0, 0, 0, 0, 0, 0,
0, 975, 0, 0, 0, 0, 0, 975, 0, 0,
0, 0, 0, 1393, 915, 0, 0, 0, 0, 975,
0, 0, 0, 0, 0, 2115, 0, 0, 2116, 0,
0, 0, 2117, 2118, 2119, 975, 0, 0, 0, 0,
0, 1393, 915, 0, 0, 0, 0, 0, 0, 0,
975, 0, 2644, 0, 0, 0, 3504, 0, 975, 0,
0, 0, 2645, 0, 0, 0, 0, 0, 0, 2646,
2115, 0, 975, 2116, 0, 0, 0, 2117, 2118, 2119,
0, 0, 975, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2647, 0, 2644, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2645, 0, 0,
915, 910, 0, 0, 2646, 0, 0, 0, 0, 0,
0, 0, 0, 0, 913, 0, 0, 0, 911, 0,
0, 0, 915, 0, 0, 975, 0, 0, 0, 0,
2647, 0, 0, 0, 0, 0, 0, 3505, 0, 0,
0, 0, 0, 2115, 915, 0, 2116, 0, 0, 0,
2117, 2118, 2119, 975, 0, 910, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3378, 0, 0,
2644, 0, 0, 0, 0, 0, 0, 910, 975, 0,
2645, 0, 0, 0, 0, 0, 2638, 2646, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2648, 908, 0, 0, 0, 2649,
913, 0, 0, 2647, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4154, 976, 915, 0, 0, 0,
4155, 0, 2650, 2310, 0, 0, 0, 911, 913, 0,
975, 0, 0, 0, 0, 0, 0, 0, 0, 2648,
910, 0, 0, 0, 2649, 0, 0, 0, 0, 0,
2651, 0, 0, 0, 0, 0, 2729, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2650, 2310, 915,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 911, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2377, 915, 2651, 6193, 2115, 0, 0,
2116, 0, 0, 911, 2117, 2118, 2119, 0, 0, 2652,
0, 0, 2653, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2648, 0, 2644, 0, 0, 2649, 0, 0,
976, 0, 0, 0, 2645, 0, 0, 0, 2377, 2843,
1825, 2646, 0, 0, 0, 0, 0, 975, 2873, 0,
2650, 2310, 0, 0, 2652, 0, 0, 2653, 0, 0,
0, 0, 910, 0, 0, 1826, 0, 2647, 0, 0,
0, 0, 913, 0, 0, 0, 911, 0, 2651, 0,
2911, 0, 0, 0, 0, 0, 2923, 2923, 976, 0,
2923, 0, 0, 0, 0, 0, 976, 0, 0, 0,
0, 0, 0, 2941, 976, 2654, 2944, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 913,
0, 2377, 0, 0, 913, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2652, 0, 0,
2653, 0, 0, 0, 0, 966, 966, 0, 976, 976,
4156, 0, 0, 0, 0, 0, 915, 0, 0, 0,
966, 0, 976, 966, 2997, 0, 6194, 0, 0, 0,
3506, 975, 0, 0, 0, 976, 976, 0, 3017, 0,
0, 0, 0, 0, 0, 0, 2648, 0, 0, 0,
0, 2649, 0, 0, 0, 0, 0, 0, 911, 0,
0, 0, 0, 910, 0, 0, 0, 0, 0, 0,
0, 0, 2578, 966, 2650, 2310, 0, 966, 966, 0,
0, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587,
0, 0, 975, 2654, 0, 0, 0, 0, 0, 0,
0, 0, 2651, 975, 0, 0, 0, 0, 0, 0,
0, 0, 915, 0, 0, 0, 0, 2578, 0, 0,
975, 0, 0, 0, 0, 975, 2579, 2580, 2581, 2582,
2583, 2584, 2585, 2586, 2587, 0, 0, 0, 0, 910,
915, 0, 0, 913, 0, 2377, 0, 0, 3039, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3042,
0, 2652, 0, 0, 2653, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3378,
0, 0, 4793, 0, 0, 0, 0, 1826, 0, 911,
2578, 3086, 2923, 0, 0, 0, 0, 0, 0, 2579,
2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 0, 0,
0, 0, 0, 0, 0, 0, 3121, 0, 0, 0,
0, 0, 0, 3134, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2654, 0, 0,
975, 910, 913, 2115, 0, 0, 2116, 0, 975, 975,
2117, 2118, 2119, 0, 0, 911, 4794, 0, 0, 0,
0, 0, 0, 0, 915, 0, 0, 0, 0, 0,
2644, 0, 0, 4081, 0, 0, 0, 0, 0, 0,
2645, 0, 0, 0, 0, 0, 3195, 2646, 0, 0,
0, 0, 0, 0, 0, 0, 913, 0, 0, 0,
0, 1825, 0, 0, 0, 0, 0, 0, 0, 0,
0, 915, 0, 2647, 0, 0, 915, 0, 913, 1393,
1393, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3614, 0, 0, 0, 0, 3249, 0, 0, 3251,
0, 0, 0, 0, 2578, 0, 0, 0, 0, 0,
0, 0, 0, 2579, 2580, 2581, 2582, 2583, 2584, 2585,
2586, 2587, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 911, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 913, 0, 0, 0, 0, 910, 0, 0, 0,
0, 910, 910, 0, 0, 0, 0, 0, 2115, 0,
0, 2116, 0, 0, 0, 2117, 2118, 2119, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2648, 0, 0, 2644, 0, 2649, 0, 0,
2115, 0, 0, 2116, 0, 2645, 0, 2117, 2118, 2119,
0, 0, 2646, 0, 0, 0, 0, 0, 0, 0,
2650, 2310, 0, 0, 0, 0, 0, 2644, 0, 0,
0, 0, 0, 0, 0, 915, 3764, 2645, 2647, 3767,
0, 0, 0, 0, 2646, 0, 0, 0, 2651, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2647, 0, 0, 913, 0, 910, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2377, 911, 0, 0, 0, 0, 911, 911, 0,
0, 0, 0, 0, 0, 0, 0, 2652, 0, 0,
2653, 0, 975, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3862, 0,
0, 0, 0, 0, 0, 0, 0, 0, 910, 0,
0, 3875, 0, 0, 0, 0, 0, 0, 0, 3884,
0, 0, 0, 0, 915, 0, 0, 2648, 0, 0,
0, 0, 2649, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2650, 2310, 0, 3928, 2648,
0, 0, 0, 0, 2649, 0, 0, 0, 0, 0,
0, 0, 0, 2654, 0, 0, 0, 0, 915, 3952,
0, 911, 0, 2651, 913, 0, 0, 2650, 2310, 0,
0, 0, 0, 0, 0, 0, 0, 975, 0, 0,
915, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2651, 0, 0, 0, 0,
0, 0, 4007, 0, 4009, 0, 2377, 0, 0, 0,
0, 0, 1825, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2652, 0, 911, 2653, 0, 0, 0, 0,
0, 1826, 0, 0, 0, 975, 0, 0, 2377, 0,
913, 0, 0, 975, 0, 0, 0, 0, 0, 0,
0, 975, 0, 915, 2652, 0, 0, 2653, 0, 0,
2578, 0, 0, 0, 0, 0, 0, 0, 0, 2579,
2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 4127, 0,
0, 0, 0, 0, 0, 0, 976, 0, 0, 0,
0, 0, 4064, 0, 0, 975, 975, 0, 0, 4071,
0, 0, 0, 0, 976, 0, 0, 0, 976, 975,
0, 0, 976, 0, 0, 0, 0, 0, 2654, 0,
0, 976, 975, 975, 0, 0, 0, 0, 0, 0,
2115, 0, 0, 2116, 0, 0, 976, 2117, 2118, 2119,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2654, 0, 0, 966, 0, 966, 966, 2644, 0, 0,
4159, 0, 913, 0, 0, 0, 0, 2645, 0, 0,
976, 0, 0, 0, 2646, 915, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
976, 976, 0, 0, 0, 0, 0, 0, 0, 0,
2647, 0, 0, 0, 0, 0, 0, 0, 3435, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3440,
0, 0, 0, 0, 4091, 2578, 0, 0, 1826, 976,
0, 0, 1826, 0, 2579, 2580, 2581, 2582, 2583, 2584,
2585, 2586, 2587, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 976, 2578, 1826, 0,
0, 0, 976, 0, 0, 0, 2579, 2580, 2581, 2582,
2583, 2584, 2585, 2586, 2587, 0, 976, 0, 0, 0,
0, 0, 0, 976, 1825, 0, 976, 0, 0, 0,
0, 0, 976, 0, 0, 0, 0, 0, 0, 0,
2115, 0, 0, 2116, 0, 0, 0, 2117, 2118, 2119,
0, 0, 976, 0, 0, 0, 915, 913, 976, 2648,
0, 0, 913, 913, 2649, 976, 0, 2644, 0, 0,
0, 0, 1393, 0, 0, 0, 0, 2645, 0, 976,
0, 0, 0, 0, 2646, 0, 0, 2650, 2310, 0,
0, 0, 0, 976, 0, 0, 0, 0, 1826, 0,
0, 0, 0, 0, 976, 0, 0, 0, 0, 0,
2647, 0, 0, 0, 0, 2651, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 915, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
910, 0, 0, 0, 0, 0, 0, 0, 2377, 0,
0, 0, 0, 0, 1826, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2652, 0, 913, 2653, 2115, 4340,
4341, 2116, 0, 0, 0, 2117, 2118, 2119, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2644, 0, 0, 4171, 3660,
4164, 0, 0, 0, 0, 2645, 0, 0, 2115, 0,
0, 2116, 2646, 0, 3682, 2117, 2118, 2119, 0, 2648,
0, 0, 0, 0, 2649, 0, 0, 0, 0, 913,
0, 0, 0, 0, 0, 2644, 3710, 0, 2647, 0,
0, 0, 0, 0, 915, 2645, 0, 2650, 2310, 0,
0, 0, 2646, 0, 0, 0, 0, 0, 0, 0,
2654, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2651, 911, 0, 2647, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 976,
0, 1826, 0, 0, 0, 0, 0, 0, 2377, 0,
0, 0, 3790, 3791, 0, 0, 0, 0, 976, 0,
0, 0, 0, 0, 2652, 976, 0, 2653, 0, 0,
0, 0, 966, 0, 966, 966, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2648, 0, 0,
0, 0, 2649, 0, 0, 0, 0, 2578, 0, 0,
0, 0, 0, 0, 0, 0, 2579, 2580, 2581, 2582,
2583, 2584, 2585, 2586, 2587, 2650, 2310, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2648, 0, 915,
0, 0, 2649, 0, 915, 915, 0, 0, 0, 0,
0, 0, 0, 2651, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4527, 3916, 2650, 2310, 0, 0, 0,
2654, 0, 0, 1826, 0, 0, 0, 0, 0, 1826,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2651, 0, 0, 2377, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2652, 0, 0, 2653, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2377, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2652, 0, 0, 2653, 0, 0, 915, 0,
0, 0, 0, 0, 976, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2578, 0, 0,
0, 0, 0, 0, 0, 0, 2579, 2580, 2581, 2582,
2583, 2584, 2585, 2586, 2587, 0, 0, 0, 1825, 0,
0, 0, 0, 2115, 0, 0, 2116, 0, 2654, 0,
2117, 2118, 2119, 0, 0, 0, 0, 0, 0, 0,
0, 915, 0, 4681, 0, 0, 0, 0, 0, 0,
2644, 0, 0, 4800, 0, 0, 0, 0, 0, 0,
2645, 0, 0, 0, 0, 0, 0, 2646, 2654, 0,
0, 0, 0, 975, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 975, 0, 2647, 0, 975, 0, 0, 0, 975,
0, 0, 0, 0, 4723, 0, 0, 0, 975, 0,
0, 0, 0, 0, 0, 0, 0, 976, 976, 0,
0, 0, 0, 975, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2578, 0, 0, 976, 0,
0, 976, 0, 0, 2579, 2580, 2581, 2582, 2583, 2584,
2585, 2586, 2587, 0, 0, 0, 0, 975, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2578, 0, 975, 975, 0,
0, 0, 0, 0, 2579, 2580, 2581, 2582, 2583, 2584,
2585, 2586, 2587, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 913, 2648, 0, 0, 1825, 975, 2649, 0, 1825,
0, 0, 0, 1826, 1826, 1826, 0, 0, 0, 4226,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2650, 2310, 0, 975, 0, 1825, 0, 0, 976, 975,
2115, 0, 0, 2116, 0, 0, 0, 2117, 2118, 2119,
0, 0, 0, 975, 0, 0, 0, 976, 2651, 0,
975, 0, 0, 975, 0, 0, 0, 2644, 0, 975,
0, 0, 0, 1368, 1368, 0, 0, 2645, 0, 976,
0, 0, 0, 0, 2646, 0, 0, 0, 0, 975,
0, 0, 0, 0, 0, 975, 0, 0, 0, 0,
0, 2377, 975, 0, 0, 0, 0, 0, 0, 0,
2647, 0, 0, 0, 0, 0, 975, 2652, 0, 0,
2653, 0, 0, 0, 0, 0, 0, 0, 0, 0,
975, 0, 0, 0, 0, 1825, 0, 0, 0, 0,
0, 975, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1368, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2115, 976,
0, 2116, 0, 0, 0, 2117, 2118, 2119, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2644, 0, 0, 0, 0,
0, 1825, 0, 0, 0, 2645, 0, 0, 0, 0,
0, 0, 2646, 2654, 0, 0, 1826, 0, 0, 0,
0, 0, 976, 0, 976, 0, 0, 0, 0, 2648,
0, 0, 0, 0, 2649, 0, 0, 976, 2647, 976,
0, 0, 0, 0, 0, 2115, 0, 0, 2116, 0,
0, 0, 2117, 2118, 2119, 0, 0, 2650, 2310, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2644, 0, 1736, 1740, 0, 0, 0, 0,
0, 0, 2645, 0, 0, 2651, 0, 0, 0, 2646,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 976, 0, 0, 0,
0, 0, 0, 0, 4446, 2647, 0, 0, 0, 0,
2578, 0, 0, 0, 2923, 0, 0, 0, 2377, 2579,
2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 5257, 0,
0, 0, 0, 0, 2652, 0, 0, 2653, 976, 0,
0, 0, 0, 915, 5093, 0, 975, 2648, 1825, 0,
0, 0, 2649, 0, 5247, 0, 0, 976, 5095, 0,
0, 976, 0, 0, 0, 975, 0, 0, 0, 0,
0, 0, 975, 0, 0, 2650, 2310, 0, 0, 0,
0, 0, 976, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2589, 0, 0, 0, 0, 0,
0, 0, 0, 2651, 0, 5263, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2648, 0, 0, 0, 0, 2649,
2654, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2377, 0, 0, 0,
0, 2589, 2650, 2310, 0, 0, 0, 0, 0, 0,
0, 0, 2652, 0, 0, 2653, 0, 0, 0, 0,
1825, 0, 0, 0, 0, 0, 1825, 4579, 4580, 4581,
2651, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1826, 0, 0, 4590, 0, 0, 0, 0, 0,
0, 0, 0, 2057, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2377, 0, 0, 0, 4615, 4617, 0,
0, 0, 4622, 0, 0, 0, 0, 2578, 0, 2652,
0, 0, 2653, 0, 0, 2083, 2579, 2580, 2581, 2582,
2583, 2584, 2585, 2586, 2587, 0, 0, 0, 2654, 0,
0, 975, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2102, 2103, 2104, 0, 2106, 2115,
0, 0, 2116, 0, 0, 0, 2117, 2118, 2119, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2596,
2115, 0, 0, 2116, 0, 0, 2644, 2117, 2118, 2119,
0, 0, 0, 0, 0, 0, 2645, 0, 0, 0,
0, 0, 0, 2646, 0, 0, 0, 2644, 0, 0,
0, 0, 0, 0, 0, 2654, 0, 2645, 1393, 0,
0, 0, 0, 0, 2646, 0, 0, 0, 0, 2647,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2578, 0, 976, 0, 0,
2647, 0, 0, 0, 2579, 2580, 2581, 2582, 2583, 2584,
2585, 2586, 2587, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 975, 975, 0, 0, 0, 0,
0, 0, 0, 0, 2696, 0, 0, 0, 2708, 2713,
0, 0, 0, 0, 0, 975, 0, 0, 975, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1826, 0, 0, 0, 0, 1826, 0, 1826, 0,
0, 0, 2578, 5264, 0, 0, 0, 0, 0, 0,
0, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587,
0, 0, 2589, 0, 1826, 0, 2589, 0, 2648, 0,
0, 0, 0, 2649, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2648,
0, 0, 0, 0, 2649, 0, 2650, 2310, 0, 0,
1825, 1825, 1825, 0, 0, 0, 4834, 4835, 4836, 0,
0, 976, 0, 0, 976, 0, 0, 2650, 2310, 0,
0, 0, 0, 0, 2651, 975, 0, 2115, 0, 0,
2116, 0, 0, 0, 2117, 2118, 2119, 0, 0, 0,
0, 0, 0, 0, 975, 2651, 0, 0, 0, 0,
5441, 0, 0, 0, 2644, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2645, 5445, 975, 2377, 0, 0,
0, 2646, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2652, 0, 0, 2653, 0, 2377, 0,
0, 0, 0, 0, 0, 0, 0, 2647, 0, 0,
0, 0, 0, 0, 2652, 976, 976, 2653, 0, 0,
0, 0, 0, 0, 0, 0, 976, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 976, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1736, 1736, 1736, 975, 5505, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5265, 0, 0, 0, 0, 0, 0, 0, 0, 2654,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2654, 0, 0, 1825, 0, 0, 0, 0, 0, 975,
0, 975, 0, 0, 976, 0, 2648, 1826, 0, 0,
0, 2649, 0, 0, 975, 0, 975, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2650, 2310, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2651, 0, 0, 0, 0, 0, 0, 0,
0, 5647, 0, 2589, 0, 0, 2578, 0, 0, 0,
0, 0, 0, 975, 0, 2579, 2580, 2581, 2582, 2583,
2584, 2585, 2586, 2587, 0, 0, 0, 2578, 0, 2589,
0, 0, 0, 3334, 0, 2377, 2579, 2580, 2581, 2582,
2583, 2584, 2585, 2586, 2587, 0, 0, 0, 2589, 2589,
2589, 2652, 2589, 0, 2653, 975, 0, 0, 0, 0,
0, 0, 0, 0, 2115, 5107, 0, 2116, 0, 0,
0, 2117, 2118, 2119, 975, 0, 0, 0, 975, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2644, 0, 0, 0, 0, 0, 5139, 0, 975,
0, 2645, 0, 0, 5666, 0, 5668, 0, 2646, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3134,
0, 0, 0, 0, 2647, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2654, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5197, 0, 0, 0, 0, 0,
0, 0, 976, 0, 0, 0, 0, 0, 0, 0,
0, 3195, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3277, 0, 0, 0, 0, 0, 1825, 0,
0, 3295, 3295, 3295, 3295, 3305, 3311, 3295, 3314, 3295,
3295, 0, 0, 0, 0, 3321, 0, 3322, 5838, 3324,
976, 0, 3338, 3341, 3346, 0, 0, 0, 0, 0,
3355, 0, 976, 3360, 0, 0, 5795, 0, 0, 0,
0, 0, 0, 2648, 2578, 0, 0, 0, 2649, 0,
3368, 3369, 3370, 2579, 2580, 2581, 2582, 2583, 2584, 2585,
2586, 2587, 0, 0, 0, 0, 0, 976, 3371, 0,
0, 2650, 2310, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2651,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 5301,
5302, 5303, 5304, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2377, 0, 0, 0, 1826, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2652, 0,
0, 2653, 0, 2115, 0, 976, 2116, 0, 0, 0,
2117, 2118, 2119, 0, 975, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2644, 0, 0, 5855, 0, 0, 0, 0, 0, 0,
2645, 0, 0, 0, 0, 0, 0, 2646, 0, 0,
0, 0, 0, 0, 0, 0, 3379, 0, 5933, 0,
5935, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2647, 0, 0, 0, 0, 1825, 0,
0, 0, 0, 1825, 0, 1825, 0, 0, 0, 0,
0, 976, 0, 0, 2654, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3397, 1825, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2115, 0, 0, 2116, 0, 0, 0, 2117,
2118, 2119, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 975, 2644,
0, 975, 0, 0, 0, 0, 0, 3399, 0, 2645,
0, 0, 2589, 0, 0, 0, 2646, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2648, 0, 0, 0, 0, 2649, 0, 0,
0, 2578, 2647, 0, 0, 0, 0, 0, 0, 0,
2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 0,
2650, 2310, 0, 0, 0, 976, 0, 976, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2651, 0,
0, 0, 975, 975, 0, 0, 0, 0, 0, 0,
0, 0, 0, 975, 0, 0, 0, 0, 0, 0,
0, 0, 2589, 0, 0, 0, 0, 0, 976, 0,
975, 0, 0, 0, 2589, 0, 0, 0, 966, 2589,
0, 2377, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2652, 0, 0,
2653, 0, 5527, 0, 0, 722, 0, 0, 0, 0,
3259, 2648, 0, 5537, 0, 0, 2649, 0, 1826, 0,
0, 0, 6142, 966, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2650,
2310, 0, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413,
3414, 975, 3415, 0, 1825, 0, 0, 0, 0, 0,
0, 725, 3260, 1368, 0, 0, 1736, 2651, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 726, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2654, 0, 0, 1059, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3371, 0, 0,
2377, 3379, 0, 0, 3397, 0, 3399, 0, 0, 3452,
3261, 0, 0, 0, 0, 0, 2652, 0, 0, 2653,
0, 0, 0, 0, 729, 0, 0, 0, 0, 0,
0, 0, 0, 730, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 6249, 731, 0, 0, 0,
0, 0, 3262, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2103, 2104, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1062,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2578, 0, 0, 0, 0, 0, 0, 0, 0, 2579,
2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 0, 0,
0, 0, 2654, 0, 0, 0, 0, 3263, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 735,
0, 0, 3592, 0, 0, 0, 0, 0, 0, 0,
0, 0, 976, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 976, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 6344, 0, 975,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5749, 0, 0, 0, 0, 1393, 0, 1826, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1117, 1117, 0, 0, 0, 5779, 0, 0, 0, 2578,
0, 213, 3264, 0, 0, 740, 0, 0, 2579, 2580,
2581, 2582, 2583, 2584, 2585, 2586, 2587, 975, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 975,
0, 0, 1066, 0, 0, 3265, 0, 0, 0, 0,
0, 0, 744, 0, 0, 0, 0, 0, 0, 745,
0, 0, 746, 0, 0, 0, 0, 1826, 0, 0,
0, 0, 0, 0, 975, 0, 0, 0, 0, 0,
0, 0, 747, 0, 0, 0, 0, 0, 0, 0,
1068, 0, 0, 0, 0, 0, 0, 749, 0, 0,
1069, 0, 0, 1826, 0, 751, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3266, 0, 0, 0, 0, 0, 0, 1117, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 756, 0, 0,
0, 0, 0, 1825, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 975, 0, 0, 3848, 3849, 1736, 0, 1826,
0, 3853, 976, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3882, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2589, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2589, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2589, 0, 0, 0, 0, 0, 2589, 975, 0,
2589, 0, 0, 0, 0, 0, 0, 2589, 2589, 5984,
2589, 0, 0, 0, 0, 3334, 3334, 0, 4150, 0,
3334, 0, 0, 0, 2589, 0, 0, 2589, 0, 0,
0, 0, 2589, 0, 0, 0, 0, 6006, 0, 0,
0, 2589, 0, 0, 0, 0, 2589, 0, 0, 0,
0, 0, 0, 0, 2589, 2589, 2589, 2589, 0, 0,
0, 0, 3334, 3334, 0, 2589, 0, 976, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 966, 0, 2589, 0, 2589, 0, 0, 0, 0,
0, 976, 2589, 2589, 2589, 2589, 2589, 2589, 2589, 2589,
2589, 2589, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 975, 1, 975, 0, 0, 0, 2589, 0,
0, 0, 0, 0, 2, 0, 3, 4, 6094, 0,
966, 966, 0, 0, 0, 0, 0, 4077, 0, 0,
0, 0, 4083, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 6, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 975, 7, 0, 8, 9,
0, 0, 0, 0, 0, 10, 0, 11, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
12, 0, 13, 0, 2106, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3346, 0, 3346, 3346, 14,
0, 976, 15, 0, 0, 1825, 0, 0, 0, 0,
0, 4174, 0, 0, 4177, 0, 4179, 16, 0, 17,
0, 0, 0, 18, 0, 0, 0, 0, 0, 0,
5804, 0, 0, 0, 0, 0, 0, 0, 722, 0,
20, 0, 21, 1055, 0, 0, 0, 0, 2589, 22,
0, 0, 0, 4204, 0, 4207, 0, 4210, 0, 0,
0, 0, 0, 0, 0, 0, 0, 23, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1056, 0, 0, 24, 0, 0, 0, 0, 0,
0, 0, 0, 0, 725, 1057, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1058, 0, 0,
0, 726, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1059,
0, 0, 0, 0, 0, 0, 0, 0, 25, 26,
0, 0, 0, 0, 27, 0, 0, 0, 0, 0,
0, 4280, 0, 1060, 0, 0, 2696, 0, 0, 28,
0, 0, 0, 0, 0, 1826, 0, 729, 0, 0,
0, 2713, 0, 0, 0, 0, 730, 0, 29, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 731,
0, 0, 0, 0, 0, 1061, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1062, 0, 0, 0, 1826, 30, 0, 0,
0, 0, 0, 0, 0, 0, 4330, 0, 0, 966,
966, 0, 31, 0, 0, 0, 0, 32, 33, 975,
34, 1826, 0, 0, 0, 35, 0, 0, 4653, 0,
1063, 36, 0, 975, 37, 0, 0, 0, 0, 0,
0, 38, 0, 0, 0, 0, 0, 0, 39, 40,
0, 0, 735, 0, 0, 0, 41, 0, 0, 0,
42, 0, 0, 0, 0, 1825, 4365, 0, 0, 0,
0, 43, 0, 0, 2589, 2589, 0, 0, 0, 2589,
0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
0, 0, 0, 0, 0, 0, 0, 1064, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2589, 45,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 46, 0, 0, 738, 0, 0, 47, 0, 0,
0, 0, 48, 0, 213, 1065, 0, 0, 740, 0,
0, 0, 0, 0, 1825, 0, 49, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1066, 0, 0, 1067, 0,
50, 0, 743, 0, 0, 744, 0, 0, 0, 0,
1825, 0, 745, 0, 0, 746, 0, 0, 0, 56,
0, 0, -136, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 747, 0, 0, 0, 0,
0, 0, 0, 1068, 0, 0, 0, 0, 0, 0,
749, 0, 0, 1069, 0, 0, 0, 0, 751, 0,
0, 0, 0, 0, 0, 0, 1070, 0, 753, 0,
0, 0, 0, 1071, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1825, 0, 0, 975,
0, 0, 0, 0, 0, 0, 0, 1736, 0, 0,
756, 0, 0, 1736, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2589, 0, 0, 0, 0, 0, 2589,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 197, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4602, 0, 0, 0, 0, 4150, 4150, 0,
0, 3334, 3334, 3334, 3334, 0, 0, 3334, 3334, 3334,
3334, 3334, 3334, 3334, 3334, 3334, 3334, 4150, 0, 0,
0, 0, 0, 0, 0, 198, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2589, 0, 199, 2589, 975, 2589, 0, 0, 4150, 4150,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
200, 0, 0, 0, 0, 0, 201, 0, 975, 0,
2589, 3334, 3334, 2589, 0, 0, 2589, 0, 0, 0,
0, 0, 0, 0, 202, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 203, 0,
0, 0, 0, 0, 0, 0, 0, 204, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
205, 0, 0, 0, 0, 0, 206, 0, 0, 0,
0, 0, 0, 207, 0, 0, 0, 0, 0, 0,
0, 4724, 0, 0, 0, 0, 2589, 0, 0, 4728,
0, 4729, 0, 208, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3295, 0, 0, 0, 4742,
3295, 3295, 0, 0, 0, 0, 3311, 0, 0, 4750,
0, 0, 4752, 0, 0, 0, 0, 0, 4754, 0,
4755, 209, 0, 0, 0, 0, 2589, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 975, 0,
0, 0, 0, 210, 0, 0, 0, 4777, 4778, 4779,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2589, 0, 0, 0, 0, 3355, 0, 0, 0,
0, 0, 0, 0, 4804, 0, 0, 4807, 0, 4809,
0, 0, 0, 0, 0, 0, 0, 0, 211, 0,
0, 0, 0, 0, 0, 4813, 0, 0, 0, 0,
0, 0, 0, 0, 4821, 4822, 0, 0, 0, 0,
0, 4827, 0, 0, 0, 212, 0, 0, 0, 0,
0, 0, 0, 0, 0, 213, 214, 0, 0, 215,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3295, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 216, 0, 0, 217,
0, 0, 0, 218, 0, 0, 219, 0, 0, 0,
0, 0, 0, 220, 0, 0, 221, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 4881, 0, 0, 0, 0, 222, 0, 0, 0,
0, 0, 1825, 0, 223, 0, 0, 0, 4895, 224,
0, 225, 0, 0, 226, 0, 0, 0, 0, 227,
0, 0, 0, 0, 0, 0, 0, 0, 0, 228,
0, 0, 0, 0, 229, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
0, 0, 0, 0, 3334, 0, 0, 0, 0, 0,
0, 231, 0, 1825, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1825, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2589, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2589, 0, 0, 0, 2589, 2589, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2589, 0,
0, 0, 0, 0, 0, 0, 2589, 0, 2589, 0,
2589, 2589, 0, 0, 0, 0, 4150, 4150, 4150, 4150,
0, 0, 0, 4150, 4150, 4150, 4150, 4150, 4150, 4150,
4150, 4150, 4150, 2589, 2589, 2589, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2589, 0, 0, 2589, 0, 2589, 0, 0, 0, 2589,
0, 0, 4150, 4150, 0, 0, 0, 2589, 2589, 0,
0, 0, 0, 2589, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 5185, 5186, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5193, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2589, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2589, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5236, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2696, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5259, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5278, 5280, 0, 0, 0, 0, 0, 0, 5284, 5285,
0, 0, 0, 5286, 0, 0, 0, 0, 5287, 0,
0, 5290, 0, 5292, 0, 0, 0, 0, 0, 5297,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5333, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5348, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4150, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5378, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2589, 2589, 0, 0, 0, 0, 0, 0, 2589,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5429, 0, 0, 0, 0, 0, 0, 5431, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2589, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2589, 3334, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2589, 0, 2589, 0, 0, 0,
2589, 2589, 2589, 2589, 0, 0, 2589, 5466, 2589, 0,
0, 0, 0, 2589, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3334, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2589,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2589, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2589, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2589, 0, 2589, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3295, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5574, 0, 0, 0, 0, 0, 5578, 5579, 5580, 0,
0, 0, 2589, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5593, 5594, 0, 0, 0, 5595, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5603, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5615, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 5633, 0, 0, 0, 0,
0, 0, 0, 1368, 0, 0, 0, 0, 0, 0,
0, 0, 5652, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2589, 0, 4150, 3334, 2589, 2589, 2589, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2589,
2589, 2589, 0, 0, 0, 0, 0, 0, 0, 2589,
0, 0, 0, 0, 3334, 0, 0, 4150, 0, 0,
0, 2589, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2589,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2589, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5828, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3355, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2106,
0, 0, 0, 0, 2589, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4150, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4150, 0, 3334, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5913, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 5925, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2589,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2589, 0, 0, 0, 0, 0, 0, 0, 5961,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2589, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3295,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 6041, 0, 0, 0, 0, 0, 2589, 0, 0,
6048, 6048, 6048, 0, 2589, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 5633, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2589, 0, 0, 0, 0, 0, 0, 6084, 0, 0,
0, 0, 0, 0, 0, 2589, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 6099, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3334, 3334, 0, 0, 3334, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 6048, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5633, 0, 0, 0, 0, 0, 0,
0, 2589, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2589, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4150, 4150, 0, 4150, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 6275, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 6300,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2589, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 234, 0, 1271, 717, 0, 1272, 1273,
1274, 778, 1275, 0, 0, 0, 0, 0, 0, 0,
0, 6048, 235, 236, 237, 238, 239, 240, 241, 242,
243, 1730, 244, 245, 246, 0, 0, 6390, 0, 1276,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
254, 255, 256, 257, 258, 1277, 260, 1278, 1279, 0,
263, 264, 265, 266, 267, 268, 269, 1280, 1281, 270,
271, 1282, 1283, 274, 0, 275, 276, 277, 278, 1284,
0, 1285, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 1286, 1287, 1288, 1289,
1290, 1291, 1292, 303, 304, 305, 306, 307, 308, 1293,
1294, 311, 1295, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 1731, 0, 324,
325, 887, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
1296, 343, 344, 345, 346, 1297, 1298, 348, 1736, 349,
350, 351, 1299, 353, 0, 354, 0, 355, 356, 357,
0, 358, 359, 360, 361, 362, 0, 363, 1300, 0,
1301, 366, 367, 0, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 387, 388, 389, 390, 391,
392, 1302, 1303, 0, 1304, 0, 396, 397, 398, 399,
400, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313,
410, 1314, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 1315, 421, 422, 423, 0, 424, 425, 426,
1316, 1317, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 1318, 438, 439, 440, 441, 442, 443, 444,
445, 1319, 447, 1320, 449, 450, 451, 452, 453, 454,
455, 456, 457, 1321, 459, 1322, 460, 461, 462, 463,
1323, 1324, 465, 1325, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 1326, 475, 476, 0, 0, 477,
478, 479, 480, 481, 482, 1327, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 1328, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
1329, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 535, 536, 537, 538, 539, 540, 1330, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 1331, 557, 558, 559, 560, 561,
562, 563, 564, 1332, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 1333, 583, 0, 584, 585, 1334, 0, 586, 587,
588, 589, 590, 591, 592, 593, 0, 594, 1335, 1336,
0, 0, 597, 598, 1337, 600, 1338, 1339, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 1340, 611,
612, 613, 614, 615, 1341, 0, 616, 617, 618, 619,
620, 621, 1342, 1732, 623, 624, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 1343, 1344, 1345, 1346, 642, 1347, 1348,
1349, 1350, 647, 648, 649, 650, 0, 1351, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1352,
1353, 1733, 0, 0, 0, 0, 0, 0, 1355, 1734,
234, 0, 1271, 717, 0, 1272, 1273, 1274, 778, 1275,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 1276, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
257, 258, 1277, 260, 1278, 1279, 0, 263, 264, 265,
266, 267, 268, 269, 1280, 1281, 270, 271, 1282, 1283,
274, 0, 275, 276, 277, 278, 1284, 0, 1285, 0,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 298,
299, 300, 301, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
303, 304, 305, 306, 307, 308, 1293, 1294, 311, 1295,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 887, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 1296, 343, 344,
345, 346, 1297, 1298, 348, 0, 349, 350, 351, 1299,
353, 0, 354, 0, 355, 356, 357, 0, 358, 359,
360, 361, 362, 0, 363, 1300, 0, 1301, 366, 367,
0, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 387, 388, 389, 390, 391, 392, 1302, 1303,
0, 1304, 0, 396, 397, 398, 399, 400, 1305, 1306,
1307, 1308, 1309, 1310, 1311, 1312, 1313, 410, 1314, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 1315,
421, 422, 423, 0, 424, 425, 426, 1316, 1317, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 1318,
438, 439, 440, 441, 442, 443, 444, 445, 1319, 447,
1320, 449, 450, 451, 452, 453, 454, 455, 456, 457,
1321, 459, 1322, 460, 461, 462, 463, 1323, 1324, 465,
1325, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 1326, 475, 476, 0, 0, 477, 478, 479, 480,
481, 482, 1327, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 1328,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 1329, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 535, 536,
537, 538, 539, 540, 1330, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 40, 552, 553, 554, 555,
556, 1331, 557, 558, 559, 560, 561, 562, 563, 564,
1332, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 1333, 583,
0, 584, 585, 1334, 44, 586, 587, 588, 589, 590,
591, 592, 593, 0, 594, 1335, 1336, 0, 0, 597,
598, 1337, 600, 1338, 1339, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 1340, 611, 612, 613, 614,
615, 1341, 0, 616, 617, 618, 619, 620, 1206, 1342,
0, 623, 624, 625, 626, 627, 628, 629, 0, 0,
630, 0, 49, 631, 632, 633, 634, 635, 636, 637,
1343, 1344, 1345, 1346, 642, 1347, 1348, 1349, 1350, 647,
648, 649, 650, 0, 1351, 0, 50, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1352, 1353, 0, 0,
0, 0, 0, 0, 0, 1355, 5874, 234, 0, 1271,
717, 0, 1272, 1273, 1274, 778, 1275, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 1276, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 258, 1277,
260, 1278, 1279, 0, 263, 264, 265, 266, 267, 268,
269, 1280, 1281, 270, 271, 1282, 1283, 274, 0, 275,
276, 277, 278, 1284, 0, 1285, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 301,
1286, 1287, 1288, 1289, 1290, 1291, 1292, 303, 304, 305,
306, 307, 308, 1293, 1294, 311, 1295, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 887, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 1296, 343, 344, 345, 346, 1297,
1298, 348, 0, 349, 350, 351, 1299, 353, 0, 354,
0, 355, 356, 357, 0, 358, 359, 360, 361, 362,
0, 363, 1300, 0, 1301, 366, 367, 0, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 387,
388, 389, 390, 391, 392, 1302, 1303, 0, 1304, 0,
396, 397, 398, 399, 400, 1305, 1306, 1307, 1308, 1309,
1310, 1311, 1312, 1313, 410, 1314, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 1315, 421, 422, 423,
0, 424, 425, 426, 1316, 1317, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 1318, 438, 439, 440,
441, 442, 443, 444, 445, 1319, 447, 1320, 449, 450,
451, 452, 453, 454, 455, 456, 457, 1321, 459, 1322,
460, 461, 462, 463, 1323, 1324, 465, 1325, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 1326, 475,
476, 0, 0, 477, 478, 479, 480, 481, 482, 1327,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 1328, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 1329, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 535, 536, 537, 538, 539,
540, 1330, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 1331, 557,
558, 559, 560, 561, 562, 563, 564, 1332, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 1333, 583, 0, 584, 585,
1334, 0, 586, 587, 588, 589, 590, 591, 592, 593,
0, 594, 1335, 1336, 0, 0, 597, 598, 1337, 600,
1338, 1339, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 1340, 611, 612, 613, 614, 615, 1341, 0,
616, 617, 618, 619, 620, 621, 1342, 0, 623, 624,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 1343, 1344, 1345,
1346, 642, 1347, 1348, 1349, 1350, 647, 648, 649, 650,
0, 1351, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1352, 1353, 0, 0, 0, 0, 0,
0, 0, 1355, 3336, 234, 0, 1271, 717, 0, 1272,
1273, 1274, 778, 1275, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
1276, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 254, 255, 256, 257, 258, 1277, 260, 1278, 1279,
0, 263, 264, 265, 266, 267, 268, 269, 1280, 1281,
270, 271, 1282, 1283, 274, 0, 275, 276, 277, 278,
1284, 0, 1285, 0, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 298, 299, 300, 301, 1286, 1287, 1288,
1289, 1290, 1291, 1292, 303, 304, 305, 306, 307, 308,
1293, 1294, 311, 1295, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 887, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 1296, 343, 344, 345, 346, 1297, 1298, 348, 0,
349, 350, 351, 1299, 353, 0, 354, 0, 355, 356,
357, 0, 358, 359, 360, 361, 362, 0, 363, 1300,
0, 1301, 366, 367, 0, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 387, 388, 389, 390,
391, 392, 1302, 1303, 0, 1304, 0, 396, 397, 398,
399, 400, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312,
1313, 410, 1314, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 1315, 421, 422, 423, 0, 424, 425,
426, 1316, 1317, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 1318, 438, 439, 440, 441, 442, 443,
444, 445, 1319, 447, 1320, 449, 450, 451, 452, 453,
454, 455, 456, 457, 1321, 459, 1322, 460, 461, 462,
463, 1323, 1324, 465, 1325, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 1326, 475, 476, 0, 0,
477, 478, 479, 480, 481, 482, 1327, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 1328, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 1329, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 535, 536, 537, 538, 539, 540, 1330, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 1331, 557, 558, 559, 560,
561, 562, 563, 564, 1332, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 1333, 583, 0, 584, 585, 1334, 0, 586,
587, 588, 589, 590, 591, 592, 593, 0, 594, 1335,
1336, 0, 0, 597, 598, 1337, 600, 1338, 1339, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 1340,
611, 612, 613, 614, 615, 1341, 0, 616, 617, 618,
619, 620, 621, 1342, 0, 623, 624, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 1343, 1344, 1345, 1346, 642, 1347,
1348, 1349, 1350, 647, 648, 649, 650, 0, 1351, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1352, 1353, 0, 0, 0, 0, 0, 0, 0, 1355,
4756, 234, 0, 1271, 717, 0, 1272, 1273, 1274, 778,
1275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 1276, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 1277, 260, 1278, 1279, 0, 263, 264,
265, 266, 267, 268, 269, 1280, 1281, 270, 271, 1282,
1283, 274, 0, 275, 276, 277, 278, 1284, 0, 1285,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 1286, 1287, 1288, 1289, 1290, 1291,
1292, 303, 304, 305, 306, 307, 308, 1293, 1294, 311,
1295, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 887,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 1296, 343,
344, 345, 346, 1297, 1298, 348, 0, 349, 350, 351,
1299, 353, 0, 354, 0, 355, 356, 357, 0, 358,
359, 360, 361, 362, 0, 363, 1300, 0, 1301, 366,
367, 0, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 387, 388, 389, 390, 391, 392, 1302,
1303, 0, 1304, 0, 396, 397, 398, 399, 400, 1305,
1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 410, 1314,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
1315, 421, 422, 423, 0, 424, 425, 426, 1316, 1317,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
1318, 438, 439, 440, 441, 442, 443, 444, 445, 1319,
447, 1320, 449, 450, 451, 452, 453, 454, 455, 456,
457, 1321, 459, 1322, 460, 461, 462, 463, 1323, 1324,
465, 1325, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 1326, 475, 476, 0, 0, 477, 478, 479,
480, 481, 482, 1327, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
1328, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 1329, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 535,
536, 537, 538, 539, 540, 1330, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 1331, 557, 558, 559, 560, 561, 562, 563,
564, 1332, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 1333,
583, 0, 584, 585, 1334, 0, 586, 587, 588, 589,
590, 591, 592, 593, 0, 594, 1335, 1336, 0, 0,
597, 598, 1337, 600, 1338, 1339, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 1340, 611, 612, 613,
614, 615, 1341, 0, 616, 617, 618, 619, 620, 621,
1342, 0, 623, 624, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 1343, 1344, 1345, 1346, 642, 1347, 1348, 1349, 1350,
647, 648, 649, 650, 0, 1351, 0, 0, 0, 658,
0, 0, 0, 0, 0, 0, 0, 1352, 1353, 0,
0, 0, 0, 0, 0, 0, 1355, 4824, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 4257, 0, 247, 248,
249, 0, 250, 251, 252, 253, 0, 255, 256, 257,
258, 259, 0, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, -1862, 299,
300, 301, 0, 0, 0, 0, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 0, 0, -1862, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 372, 0, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, -1862, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 0, 0, 399, -1862, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, -1862,
422, 0, 0, 424, 425, 426, 0, 0, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, -1862, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 0, 460, 461, 0, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 0, 481,
0, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, -1862, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 0, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 0, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 0, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 0, 0, 0, 0, 0, 879, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1469, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 0, 880,
260, 881, 882, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 883, 884, 274, 0, 275,
276, 277, 278, 0, 0, 280, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 301,
0, 0, 0, 302, 0, 0, 0, 303, 304, 305,
306, 307, 308, 885, 886, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 887, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 0, 343, 344, 345, 346, 0,
0, 348, 0, 349, 350, 351, 888, 353, 0, 354,
0, 355, 356, 357, 0, 358, 359, 360, 361, 362,
0, 363, 0, 0, 0, 366, 367, 0, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 2739, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 387,
2740, 389, 390, 391, 392, 889, 890, 0, 891, 0,
396, 397, 398, 399, 400, 892, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 0, 421, 422, 423,
0, 424, 425, 426, 0, 0, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 0, 438, 439, 440,
441, 442, 443, 444, 445, 893, 447, 894, 449, 450,
451, 452, 453, 454, 455, 456, 0, 0, 459, 0,
460, 461, 462, 463, 0, 0, 465, 895, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 2742, 480, 481, 482, 0,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 0, 500, 0, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 896, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 535, 536, 537, 538, 539,
540, 0, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 0, 557,
558, 2743, 560, 561, 562, 563, 564, 898, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 0, 583, 0, 584, 585,
0, 0, 586, 587, 588, 589, 590, 591, 592, 593,
0, 594, 899, 900, 0, 0, 597, 598, 0, 600,
0, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 0, 901, 2744, 623, 624,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 879, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 648, 649, 650,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 0, 2837, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 0, 880, 260,
881, 882, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 883, 884, 274, 0, 275, 276,
277, 278, 0, 0, 280, 0, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 298, 299, 300, 301, 0,
0, 0, 302, 0, 0, 0, 303, 304, 305, 306,
307, 308, 885, 886, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 887, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 0, 343, 344, 345, 346, 0, 0,
348, 0, 349, 350, 351, 888, 353, 0, 354, 0,
355, 356, 357, 0, 358, 359, 360, 361, 362, 0,
363, 0, 0, 0, 366, 367, 0, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 2739, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 387, 2740,
389, 390, 391, 392, 889, 890, 0, 891, 0, 396,
397, 398, 399, 400, 892, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 0, 421, 422, 423, 0,
424, 425, 426, 0, 0, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 0, 438, 439, 440, 441,
442, 443, 444, 445, 893, 447, 894, 449, 450, 451,
452, 453, 454, 455, 456, 0, 0, 459, 0, 460,
461, 462, 463, 0, 0, 465, 895, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 2742, 480, 481, 482, 0, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 0, 500, 0, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 896, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 535, 536, 537, 538, 539, 540,
0, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 0, 557, 558,
2743, 560, 561, 562, 563, 564, 898, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 0, 583, 0, 584, 585, 0,
0, 586, 587, 588, 589, 590, 591, 592, 593, 0,
594, 899, 900, 0, 0, 597, 598, 0, 600, 0,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 0, 901, 2744, 623, 624, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 234, 0, 1271, 717, 0,
1272, 1273, 1274, 778, 1275, 0, 648, 649, 650, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 1276, 3971, 0, 247, 248, 249, 0, 250, 251,
252, 253, 254, 255, 256, 257, 258, 1277, 260, 1278,
1279, 0, 263, 264, 265, 266, 267, 268, 269, 1280,
1281, 270, 271, 1282, 1283, 274, 0, 275, 276, 277,
278, 1284, 0, 1285, 0, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 298, 299, 300, 301, 1286, 1287,
1288, 1289, 1290, 1291, 1292, 303, 304, 305, 306, 307,
308, 1293, 1294, 311, 1295, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 887, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 1296, 343, 344, 345, 346, 1297, 1298, 348,
0, 349, 350, 351, 1299, 353, 0, 354, 0, 355,
356, 357, 0, 358, 359, 360, 361, 362, 0, 363,
1300, 0, 1301, 366, 367, 0, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 387, 388, 389,
390, 391, 392, 1302, 1303, 0, 1304, 0, 396, 397,
398, 399, 400, 1305, 1306, 1307, 1308, 1309, 1310, 1311,
1312, 1313, 410, 1314, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 1315, 421, 422, 423, 0, 424,
425, 426, 1316, 1317, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 1318, 438, 439, 440, 441, 442,
443, 444, 445, 1319, 447, 1320, 449, 450, 451, 452,
453, 454, 455, 456, 457, 1321, 459, 1322, 460, 461,
462, 463, 1323, 1324, 465, 1325, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 1326, 475, 476, 0,
0, 477, 478, 479, 480, 481, 482, 1327, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 1328, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 1329, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
3297, 533, 534, 535, 536, 537, 538, 539, 540, 1330,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
40, 552, 553, 554, 555, 556, 1331, 557, 558, 559,
560, 561, 562, 563, 564, 1332, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 1333, 583, 0, 584, 585, 1334, 44,
586, 587, 588, 589, 590, 591, 592, 593, 0, 594,
1335, 1336, 0, 0, 597, 598, 1337, 600, 1338, 1339,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
1340, 611, 612, 613, 614, 615, 1341, 0, 616, 617,
618, 619, 620, 1206, 1342, 0, 623, 624, 625, 626,
627, 628, 629, 0, 0, 630, 0, 49, 631, 632,
633, 634, 635, 636, 637, 1343, 1344, 1345, 1346, 642,
1347, 1348, 1349, 1350, 647, 648, 649, 650, 0, 1351,
0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1352, 1353, 0, 0, 0, 234, 0, 1271, 717,
1355, 1272, 1273, 1274, 778, 1275, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 1276, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 258, 1277, 260,
1278, 1279, 0, 263, 264, 265, 266, 267, 268, 269,
1280, 1281, 270, 271, 1282, 1283, 274, 0, 275, 276,
277, 278, 1284, 0, 1285, 0, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 298, 299, 300, 301, 1286,
1287, 1288, 1289, 1290, 1291, 1292, 303, 304, 305, 306,
307, 308, 1293, 1294, 311, 1295, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 887, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 1296, 343, 344, 345, 346, 1297, 1298,
348, 0, 349, 350, 351, 1299, 353, 0, 354, 0,
355, 356, 357, 0, 358, 359, 360, 361, 362, 0,
363, 1300, 0, 1301, 366, 367, 0, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 387, 388,
389, 390, 391, 392, 1302, 1303, 0, 1304, 0, 396,
397, 398, 399, 400, 1305, 1306, 1307, 1308, 1309, 1310,
1311, 1312, 1313, 410, 1314, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 1315, 421, 422, 423, 0,
424, 425, 426, 1316, 1317, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 1318, 438, 439, 440, 441,
442, 443, 444, 445, 1319, 447, 1320, 449, 450, 451,
452, 453, 454, 455, 456, 457, 1321, 459, 1322, 460,
461, 462, 463, 1323, 1324, 465, 1325, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 1326, 475, 476,
0, 0, 477, 478, 479, 480, 481, 482, 1327, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 1328, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 1329, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 535, 536, 537, 538, 539, 540,
1330, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 40, 552, 553, 554, 555, 556, 1331, 557, 558,
559, 560, 561, 562, 563, 564, 1332, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 1333, 583, 0, 584, 585, 1334,
44, 586, 587, 588, 589, 590, 591, 592, 593, 0,
594, 1335, 1336, 0, 0, 597, 598, 1337, 600, 1338,
1339, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 1340, 611, 612, 613, 614, 615, 1341, 0, 616,
617, 618, 619, 620, 1206, 1342, 0, 623, 624, 625,
626, 627, 628, 629, 0, 0, 630, 0, 49, 631,
632, 633, 634, 635, 636, 637, 1343, 1344, 1345, 1346,
642, 1347, 1348, 1349, 1350, 647, 648, 649, 650, 0,
1351, 0, 50, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1352, 1353, 0, 0, 0, 234, 0, 1271,
717, 1355, 1272, 1273, 1274, 778, 1275, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 1276, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 258, 1277,
260, 1278, 1279, 3342, 263, 264, 265, 266, 267, 268,
269, 1280, 1281, 270, 271, 1282, 1283, 274, 0, 275,
276, 277, 278, 1284, 0, 1285, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 301,
1286, 1287, 1288, 1289, 1290, 1291, 1292, 303, 304, 305,
306, 307, 308, 1293, 1294, 311, 1295, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 887, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 1296, 343, 344, 345, 346, 1297,
1298, 348, 0, 349, 350, 351, 1299, 353, 0, 354,
0, 355, 356, 357, 3343, 358, 359, 360, 361, 362,
0, 363, 1300, 0, 1301, 366, 367, 0, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 387,
388, 389, 390, 391, 392, 1302, 1303, 0, 1304, 0,
396, 397, 398, 399, 400, 1305, 1306, 1307, 1308, 1309,
1310, 1311, 1312, 1313, 410, 1314, 412, 413, 414, 415,
416, 417, 418, 0, 3344, 419, 1315, 421, 422, 423,
0, 424, 425, 426, 1316, 1317, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 1318, 438, 439, 440,
441, 442, 443, 444, 445, 1319, 447, 1320, 449, 450,
451, 452, 453, 454, 455, 456, 457, 1321, 459, 1322,
460, 461, 462, 463, 1323, 1324, 465, 1325, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 1326, 475,
476, 0, 0, 477, 478, 479, 480, 481, 482, 1327,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 1328, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 1329, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 535, 536, 537, 538, 539,
540, 1330, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 1331, 557,
558, 559, 560, 561, 562, 563, 564, 1332, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 1333, 583, 0, 584, 585,
1334, 0, 586, 587, 588, 589, 590, 591, 592, 593,
0, 594, 1335, 1336, 0, 3345, 597, 598, 1337, 600,
1338, 1339, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 1340, 611, 612, 613, 614, 615, 1341, 0,
616, 617, 618, 619, 620, 621, 1342, 0, 623, 624,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 1343, 1344, 1345,
1346, 642, 1347, 1348, 1349, 1350, 647, 648, 649, 650,
0, 1351, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1352, 1353, 0, 0, 0, 234, 0,
1271, 717, 1355, 1272, 1273, 1274, 778, 1275, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, -2295, 244, 245, 246,
0, 0, 0, -2295, 1276, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1277, 260, 1278, 1279, 0, 263, 264, 265, 266, 267,
268, 269, 1280, 1281, 270, 271, 1282, 1283, 274, 0,
275, 276, 277, 278, 1284, 0, 1285, 0, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 298, 299, 300,
301, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 303, 304,
305, 306, 307, 308, 1293, 1294, 311, 1295, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 887, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 1296, 343, 344, 345, 346,
1297, 1298, 348, 0, 349, 350, 351, 1299, 353, 0,
354, 0, 355, 356, 357, 0, 358, 359, 360, 361,
362, 0, 363, 1300, 0, 1301, 366, 367, 0, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
387, 388, 389, 390, 391, 392, 1302, 1303, 0, 1304,
0, 396, 397, 398, 399, 400, 1305, 1306, 1307, 1308,
1309, 1310, 1311, 1312, 1313, 410, 1314, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 1315, 421, 422,
423, 0, 424, 425, 426, 1316, 1317, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 1318, 438, 439,
440, 441, 442, 443, 444, 445, 1319, 447, 1320, 449,
450, 451, 452, 453, 454, 455, 456, 457, 1321, 459,
1322, 460, 461, 462, 463, 1323, 1324, 465, 1325, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 1326,
475, 476, 0, 0, 477, 478, 479, 480, 481, 482,
1327, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 1328, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 1329, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 535, 536, 537, 538,
539, 540, 1330, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 1331,
557, 558, 559, 560, 561, 562, 563, 564, 1332, 566,
-2295, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 1333, 583, 0, 584,
585, 1334, 0, 586, 587, 588, 589, 590, 591, 592,
593, 0, 594, 1335, 1336, 0, 0, 597, 598, 1337,
600, 1338, 1339, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 1340, 611, 612, 613, 614, 615, 1341,
0, 616, 617, 618, 619, 620, 621, 1342, 0, 623,
624, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 1343, 1344,
1345, 1346, 642, 1347, 1348, 1349, 1350, 647, 648, 649,
650, 0, 1351, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1352, 1353, 0, 0, 0, 234,
0, 1271, 717, 1355, 1272, 1273, 1274, 778, 1275, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, -2293, 244, 245,
246, 0, 0, 0, -2293, 1276, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
258, 1277, 260, 1278, 1279, 0, 263, 264, 265, 266,
267, 268, 269, 1280, 1281, 270, 271, 1282, 1283, 274,
0, 275, 276, 277, 278, 1284, 0, 1285, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 303,
304, 305, 306, 307, 308, 1293, 1294, 311, 1295, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 887, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 1296, 343, 344, 345,
346, 1297, 1298, 348, 0, 349, 350, 351, 1299, 353,
0, 354, 0, 355, 356, 357, 0, 358, 359, 360,
361, 362, 0, 363, 1300, 0, 1301, 366, 367, 0,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 387, 388, 389, 390, 391, 392, 1302, 1303, 0,
1304, 0, 396, 397, 398, 399, 400, 1305, 1306, 1307,
1308, 1309, 1310, 1311, 1312, 1313, 410, 1314, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 1315, 421,
422, 423, 0, 424, 425, 426, 1316, 1317, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 1318, 438,
439, 440, 441, 442, 443, 444, 445, 1319, 447, 1320,
449, 450, 451, 452, 453, 454, 455, 456, 457, 1321,
459, 1322, 460, 461, 462, 463, 1323, 1324, 465, 1325,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
1326, 475, 476, 0, 0, 477, 478, 479, 480, 481,
482, 1327, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 1328, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 1329, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 535, 536, 537,
538, 539, 540, 1330, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
1331, 557, 558, 559, 560, 561, 562, 563, 564, 1332,
566, -2293, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 1333, 583, 0,
584, 585, 1334, 0, 586, 587, 588, 589, 590, 591,
592, 593, 0, 594, 1335, 1336, 0, 0, 597, 598,
1337, 600, 1338, 1339, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 1340, 611, 612, 613, 614, 615,
1341, 0, 616, 617, 618, 619, 620, 621, 1342, 0,
623, 624, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 1343,
1344, 1345, 1346, 642, 1347, 1348, 1349, 1350, 647, 648,
649, 650, 0, 1351, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1352, 1353, 0, 0, 0,
234, 0, 1271, 717, 1355, 1272, 1273, 1274, 778, 1275,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 1276, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
257, 258, 1277, 260, 1278, 1279, 0, 263, 264, 265,
266, 267, 268, 269, 1280, 1281, 270, 271, 1282, 1283,
274, 0, 275, 276, 277, 278, 1284, 0, 1285, 0,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 298,
299, 300, 301, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
303, 304, 305, 306, 307, 308, 1293, 1294, 311, 1295,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 887, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 1296, 343, 344,
345, 346, 1297, 1298, 348, 0, 349, 350, 351, 1299,
353, 0, 354, 0, 355, 356, 357, 0, 358, 359,
360, 361, 362, 0, 363, 1300, 0, 1301, 366, 367,
0, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 387, 388, 389, 390, 391, 392, 1302, 1303,
0, 1304, 0, 396, 397, 398, 399, 400, 1305, 1306,
1307, 1308, 1309, 1310, 1311, 1312, 1313, 410, 1314, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 1315,
421, 422, 423, 0, 424, 425, 426, 1316, 1317, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 1318,
438, 439, 440, 441, 442, 443, 444, 445, 1319, 447,
1320, 449, 450, 451, 452, 453, 454, 455, 456, 457,
1321, 459, 1322, 460, 461, 462, 463, 1323, 1324, 465,
1325, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 1326, 475, 476, 0, 0, 477, 478, 479, 480,
481, 482, 1327, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 1328,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 1329, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 535, 536,
537, 538, 539, 540, 1330, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 1331, 557, 558, 559, 560, 561, 562, 563, 564,
1332, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 1333, 583,
0, 584, 585, 1334, 0, 586, 587, 588, 589, 590,
591, 592, 593, 0, 594, 1335, 1336, 0, 0, 597,
598, 1337, 600, 1338, 1339, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 1340, 611, 612, 613, 614,
615, 1341, 0, 616, 617, 618, 619, 620, 621, 1342,
0, 623, 624, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
1343, 1344, 1345, 1346, 642, 1347, 1348, 1349, 1350, 647,
648, 649, 650, 0, 1351, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1352, 1353, 0, 0,
0, 0, 0, 2054, 3270, 1355, 234, 0, 1271, 717,
0, 1272, 1273, 1274, 778, 1275, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 1276, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 258, 1277, 260,
1278, 1279, 0, 263, 264, 265, 266, 267, 268, 269,
1280, 1281, 270, 271, 1282, 1283, 274, 0, 275, 276,
277, 278, 1284, 0, 1285, 0, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 298, 299, 300, 301, 1286,
1287, 1288, 1289, 1290, 1291, 1292, 303, 304, 305, 306,
307, 308, 1293, 1294, 311, 1295, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 887, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 1296, 343, 344, 345, 346, 1297, 1298,
348, 0, 349, 350, 351, 1299, 353, 0, 354, 0,
355, 356, 357, 0, 358, 359, 360, 361, 362, 0,
363, 1300, 0, 1301, 366, 367, 0, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 387, 388,
389, 390, 391, 392, 1302, 1303, 0, 1304, 0, 396,
397, 398, 399, 400, 1305, 1306, 1307, 1308, 1309, 1310,
1311, 1312, 1313, 410, 1314, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 1315, 421, 422, 423, 0,
424, 425, 426, 1316, 1317, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 1318, 438, 439, 440, 441,
442, 443, 444, 445, 1319, 447, 1320, 449, 450, 451,
452, 453, 454, 455, 456, 457, 1321, 459, 1322, 460,
461, 462, 463, 1323, 1324, 465, 1325, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 1326, 475, 476,
0, 0, 477, 478, 479, 480, 481, 482, 1327, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 1328, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 1329, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 535, 536, 537, 538, 539, 540,
1330, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 1331, 557, 558,
559, 560, 561, 562, 563, 564, 1332, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 1333, 583, 0, 584, 585, 1334,
0, 586, 587, 588, 589, 590, 591, 592, 593, 0,
594, 1335, 1336, 0, 0, 597, 598, 1337, 600, 1338,
1339, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 1340, 611, 612, 613, 614, 615, 1341, 0, 616,
617, 618, 619, 620, 621, 1342, 0, 623, 624, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 1343, 1344, 1345, 1346,
642, 1347, 1348, 1349, 1350, 647, 648, 649, 650, 0,
1351, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1352, 1353, 1354, 0, 0, 234, 0, 1271,
717, 1355, 1272, 1273, 1274, 778, 1275, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 2706, 244, 245, 246, 0,
0, 0, 0, 1276, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 258, 1277,
260, 1278, 1279, 0, 263, 264, 265, 266, 267, 268,
269, 1280, 1281, 270, 271, 1282, 1283, 274, 0, 275,
276, 277, 278, 1284, 0, 1285, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 301,
1286, 1287, 1288, 1289, 1290, 1291, 1292, 303, 304, 305,
306, 307, 308, 1293, 1294, 311, 1295, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 887, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 1296, 343, 344, 345, 346, 1297,
1298, 348, 0, 349, 350, 351, 1299, 353, 0, 354,
0, 355, 356, 357, 0, 358, 359, 360, 361, 362,
0, 363, 1300, 0, 1301, 366, 367, 0, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 387,
388, 389, 390, 391, 392, 1302, 1303, 0, 1304, 0,
396, 397, 398, 399, 400, 1305, 1306, 1307, 1308, 1309,
1310, 1311, 1312, 1313, 410, 1314, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 1315, 421, 422, 423,
0, 424, 425, 426, 1316, 1317, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 1318, 438, 439, 440,
441, 442, 443, 444, 445, 1319, 447, 1320, 449, 450,
451, 452, 453, 454, 455, 456, 457, 1321, 459, 1322,
460, 461, 462, 463, 1323, 1324, 465, 1325, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 1326, 475,
476, 0, 0, 477, 478, 479, 480, 481, 482, 1327,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 1328, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 1329, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 535, 536, 537, 538, 539,
540, 1330, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 1331, 557,
558, 559, 560, 561, 562, 563, 564, 1332, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 1333, 583, 0, 584, 585,
1334, 0, 586, 587, 588, 589, 590, 591, 592, 593,
0, 594, 1335, 1336, 0, 0, 597, 598, 1337, 600,
1338, 1339, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 1340, 611, 612, 613, 614, 615, 1341, 0,
616, 617, 618, 619, 620, 621, 1342, 0, 623, 624,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 1343, 1344, 1345,
1346, 642, 1347, 1348, 1349, 1350, 647, 648, 649, 650,
0, 1351, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1352, 1353, 0, 0, 0, 234, 0,
1271, 717, 1355, 1272, 1273, 1274, 778, 1275, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 1276, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1277, 260, 1278, 1279, 0, 263, 264, 265, 266, 267,
268, 269, 1280, 1281, 270, 271, 1282, 1283, 274, 0,
275, 276, 277, 278, 1284, 0, 1285, 0, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 298, 299, 300,
301, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 303, 304,
305, 306, 307, 308, 1293, 1294, 311, 1295, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 887, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 1296, 343, 344, 345, 346,
1297, 1298, 348, 0, 349, 350, 351, 1299, 353, 0,
354, 0, 355, 356, 357, 0, 358, 359, 360, 361,
362, 0, 363, 1300, 0, 1301, 366, 367, 0, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
387, 388, 389, 390, 391, 392, 1302, 1303, 0, 1304,
0, 396, 397, 398, 399, 400, 1305, 1306, 1307, 1308,
1309, 1310, 1311, 1312, 1313, 410, 1314, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 1315, 421, 422,
423, 0, 424, 425, 426, 1316, 1317, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 1318, 438, 439,
440, 441, 442, 443, 444, 445, 1319, 447, 1320, 449,
450, 451, 452, 453, 454, 455, 456, 457, 1321, 459,
1322, 460, 461, 462, 463, 1323, 1324, 465, 1325, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 1326,
475, 476, 0, 0, 477, 478, 479, 480, 481, 482,
1327, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 1328, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 1329, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 3297, 533, 534, 535, 536, 537, 538,
539, 540, 1330, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 1331,
557, 558, 559, 560, 561, 562, 563, 564, 1332, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 1333, 583, 0, 584,
585, 1334, 0, 586, 587, 588, 589, 590, 591, 592,
593, 0, 594, 1335, 1336, 0, 0, 597, 598, 1337,
600, 1338, 1339, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 1340, 611, 612, 613, 614, 615, 1341,
0, 616, 617, 618, 619, 620, 621, 1342, 0, 623,
624, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 1343, 1344,
1345, 1346, 642, 1347, 1348, 1349, 1350, 647, 648, 649,
650, 0, 1351, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1352, 1353, 0, 0, 0, 234,
0, 1271, 717, 1355, 1272, 1273, 1274, 778, 1275, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 1276, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
258, 1277, 260, 1278, 1279, 0, 263, 264, 265, 266,
267, 268, 269, 1280, 1281, 270, 271, 1282, 1283, 274,
0, 275, 276, 277, 278, 1284, 0, 1285, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 303,
304, 305, 306, 307, 308, 1293, 1294, 311, 1295, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 887, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 1296, 343, 344, 345,
346, 1297, 1298, 348, 0, 349, 350, 351, 1299, 353,
0, 354, 0, 355, 356, 357, 0, 358, 359, 360,
361, 362, 0, 363, 1300, 0, 1301, 366, 367, 0,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 387, 388, 389, 390, 391, 392, 1302, 1303, 0,
1304, 0, 396, 397, 398, 399, 400, 1305, 1306, 1307,
1308, 1309, 1310, 1311, 1312, 1313, 410, 1314, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 1315, 421,
422, 423, 0, 424, 425, 426, 1316, 1317, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 1318, 438,
439, 440, 441, 442, 443, 444, 445, 1319, 447, 1320,
449, 450, 451, 452, 453, 454, 455, 456, 457, 1321,
459, 1322, 460, 461, 462, 463, 1323, 1324, 465, 1325,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
1326, 475, 476, 0, 0, 477, 478, 479, 480, 481,
482, 1327, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 1328, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 1329, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 535, 536, 537,
538, 539, 540, 1330, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
1331, 557, 558, 559, 560, 561, 562, 563, 564, 1332,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 1333, 583, 0,
584, 585, 1334, 0, 586, 587, 588, 589, 590, 591,
592, 593, 0, 594, 1335, 1336, 0, 0, 597, 598,
1337, 600, 1338, 1339, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 1340, 611, 612, 613, 614, 615,
1341, 0, 616, 617, 618, 619, 620, 621, 1342, 3850,
623, 624, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 1343,
1344, 1345, 1346, 642, 1347, 1348, 1349, 1350, 647, 648,
649, 650, 0, 1351, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1352, 1353, 0, 0, 0,
234, 0, 1271, 717, 1355, 1272, 1273, 1274, 778, 1275,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 1276, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
257, 258, 1277, 260, 1278, 1279, 0, 263, 264, 265,
266, 267, 268, 269, 1280, 1281, 270, 271, 1282, 1283,
274, 0, 275, 276, 277, 278, 1284, 0, 1285, 0,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 298,
299, 300, 301, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
303, 304, 305, 306, 307, 308, 1293, 1294, 311, 1295,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 887, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 1296, 343, 344,
345, 346, 1297, 1298, 348, 0, 349, 350, 351, 1299,
353, 0, 354, 0, 355, 356, 357, 3343, 358, 359,
360, 361, 362, 0, 363, 1300, 0, 1301, 366, 367,
0, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 387, 388, 389, 390, 391, 392, 1302, 1303,
0, 1304, 0, 396, 397, 398, 399, 400, 1305, 1306,
1307, 1308, 1309, 1310, 1311, 1312, 1313, 410, 1314, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 1315,
421, 422, 423, 0, 424, 425, 426, 1316, 1317, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 1318,
438, 439, 440, 441, 442, 443, 444, 445, 1319, 447,
1320, 449, 450, 451, 452, 453, 454, 455, 456, 457,
1321, 459, 1322, 460, 461, 462, 463, 1323, 1324, 465,
1325, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 1326, 475, 476, 0, 0, 477, 478, 479, 480,
481, 482, 1327, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 1328,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 1329, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 535, 536,
537, 538, 539, 540, 1330, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 1331, 557, 558, 559, 560, 561, 562, 563, 564,
1332, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 1333, 583,
0, 584, 585, 1334, 0, 586, 587, 588, 589, 590,
591, 592, 593, 0, 594, 1335, 1336, 0, 0, 597,
598, 1337, 600, 1338, 1339, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 1340, 611, 612, 613, 614,
615, 1341, 0, 616, 617, 618, 619, 620, 621, 1342,
0, 623, 624, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
1343, 1344, 1345, 1346, 642, 1347, 1348, 1349, 1350, 647,
648, 649, 650, 0, 1351, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1352, 1353, 0, 0,
0, 234, 0, 1271, 717, 1355, 1272, 1273, 1274, 778,
1275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 1276, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 1277, 260, 1278, 1279, 0, 263, 264,
265, 266, 267, 268, 269, 1280, 1281, 270, 271, 1282,
1283, 274, 0, 275, 276, 277, 278, 1284, 0, 1285,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 1286, 1287, 1288, 1289, 1290, 1291,
1292, 303, 304, 305, 306, 307, 308, 1293, 1294, 311,
1295, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 887,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 1296, 343,
344, 345, 346, 1297, 1298, 348, 0, 349, 350, 351,
1299, 353, 0, 354, 0, 355, 356, 357, 0, 358,
359, 360, 361, 362, 0, 363, 1300, 0, 1301, 366,
367, 0, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 387, 388, 389, 390, 391, 392, 1302,
1303, 0, 1304, 0, 396, 397, 398, 399, 400, 1305,
1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 410, 1314,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
1315, 421, 422, 423, 0, 424, 425, 426, 1316, 1317,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
1318, 438, 439, 440, 441, 442, 443, 444, 445, 1319,
447, 1320, 449, 450, 451, 452, 453, 454, 455, 456,
457, 1321, 459, 1322, 460, 461, 462, 463, 1323, 1324,
465, 1325, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 1326, 475, 476, 0, 0, 477, 478, 479,
480, 481, 482, 1327, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
1328, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 1329, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 535,
536, 537, 538, 539, 540, 1330, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 1331, 557, 558, 559, 560, 561, 562, 563,
564, 1332, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 1333,
583, 0, 584, 585, 1334, 0, 586, 587, 588, 589,
590, 591, 592, 593, 0, 594, 1335, 1336, 3400, 0,
597, 598, 1337, 600, 1338, 1339, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 1340, 611, 612, 613,
614, 615, 1341, 0, 616, 617, 618, 619, 620, 621,
1342, 0, 623, 624, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 1343, 1344, 1345, 1346, 642, 1347, 1348, 1349, 1350,
647, 648, 649, 650, 0, 1351, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1352, 1353, 0,
0, 0, 234, 0, 1271, 717, 1355, 1272, 1273, 1274,
778, 1275, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 1276, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
255, 256, 257, 258, 1277, 260, 1278, 1279, 0, 263,
264, 265, 266, 267, 268, 269, 1280, 1281, 270, 271,
1282, 1283, 274, 0, 275, 276, 277, 278, 1284, 0,
1285, 0, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 298, 299, 300, 301, 1286, 1287, 1288, 1289, 1290,
1291, 1292, 303, 304, 305, 306, 307, 308, 1293, 1294,
311, 1295, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
887, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 1296,
343, 344, 345, 346, 1297, 1298, 348, 0, 349, 350,
351, 1299, 353, 0, 354, 0, 355, 356, 357, 0,
358, 359, 360, 361, 362, 0, 363, 1300, 0, 1301,
366, 367, 0, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 387, 388, 389, 390, 391, 392,
1302, 1303, 0, 1304, 0, 396, 397, 398, 399, 400,
1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 410,
1314, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 1315, 421, 422, 423, 0, 424, 425, 426, 1316,
1317, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 1318, 438, 439, 440, 441, 442, 443, 444, 445,
1319, 447, 1320, 449, 450, 451, 452, 453, 454, 455,
456, 457, 1321, 459, 1322, 460, 461, 462, 463, 1323,
1324, 465, 1325, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 1326, 475, 476, 0, 0, 477, 478,
479, 480, 481, 482, 1327, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 1328, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 1329,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
535, 536, 537, 538, 539, 540, 1330, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 1331, 557, 558, 559, 560, 561, 562,
563, 564, 1332, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
1333, 583, 0, 584, 585, 1334, 0, 586, 587, 588,
589, 590, 591, 592, 593, 0, 594, 1335, 1336, 0,
0, 597, 598, 1337, 600, 1338, 1339, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 1340, 611, 612,
613, 614, 615, 1341, 0, 616, 617, 618, 619, 620,
621, 1342, 0, 623, 624, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 1343, 1344, 1345, 1346, 642, 1347, 1348, 1349,
1350, 647, 648, 649, 650, 0, 1351, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1352, 1353,
0, 0, 0, 234, 0, 1271, 717, 1355, 1272, 1273,
1274, 778, 1275, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 1276,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
254, 255, 256, 257, 258, 1277, 260, 1278, 1279, 0,
263, 264, 265, 266, 267, 268, 269, 1280, 1281, 270,
271, 1282, 1283, 274, 0, 275, 276, 277, 278, 1284,
0, 1285, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 1286, 1287, 1288, 1289,
1290, 1291, 1292, 303, 304, 305, 306, 307, 308, 1293,
1294, 311, 1295, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 887, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
1296, 343, 344, 345, 346, 1297, 1298, 348, 0, 349,
350, 351, 1299, 353, 0, 354, 0, 355, 356, 357,
0, 358, 359, 360, 361, 362, 0, 363, 1300, 0,
1301, 366, 367, 0, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 387, 388, 389, 390, 391,
392, 1302, 1303, 0, 1304, 0, 396, 397, 398, 399,
400, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313,
410, 1314, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 1315, 421, 422, 423, 0, 424, 425, 426,
1316, 1317, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 1318, 438, 439, 440, 441, 442, 443, 444,
445, 1319, 447, 1320, 449, 450, 451, 452, 453, 454,
455, 456, 457, 1321, 459, 1322, 460, 461, 462, 463,
1323, 1324, 465, 1325, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 1326, 475, 476, 0, 0, 477,
478, 479, 480, 481, 482, 1327, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 1328, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
1329, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 535, 536, 537, 538, 539, 540, 1330, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 1331, 557, 558, 559, 560, 561,
562, 563, 564, 1332, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 1333, 583, 0, 584, 585, 1334, 0, 586, 587,
588, 589, 590, 591, 592, 593, 0, 594, 1335, 1336,
0, 0, 597, 598, 1337, 600, 1338, 1339, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 1340, 611,
612, 613, 614, 615, 1341, 0, 616, 617, 618, 619,
620, 621, 1342, 0, 623, 624, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 1343, 1344, 1345, 1346, 642, 1347, 1348,
1349, 1350, 647, 648, 649, 650, 0, 1351, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2709,
2710, 0, 0, 0, 234, 0, 3519, 717, 1355, 1272,
1273, 1274, 778, 1275, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
1276, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 254, 255, 256, 257, 258, 1277, 260, 1278, 1279,
0, 263, 264, 265, 266, 267, 268, 269, 1280, 1281,
270, 271, 1282, 1283, 274, 0, 275, 276, 277, 278,
1284, 0, 1285, 0, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 298, 299, 300, 301, 1286, 1287, 1288,
1289, 1290, 1291, 1292, 303, 304, 305, 306, 307, 308,
1293, 1294, 311, 1295, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 887, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 1296, 343, 344, 345, 346, 1297, 1298, 348, 0,
349, 350, 351, 1299, 353, 0, 354, 0, 355, 356,
357, 0, 358, 359, 360, 361, 362, 0, 363, 1300,
0, 1301, 366, 367, 0, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 387, 388, 389, 390,
391, 392, 1302, 1303, 0, 1304, 0, 396, 397, 398,
399, 400, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312,
1313, 410, 1314, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 1315, 421, 422, 423, 0, 424, 425,
426, 1316, 1317, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 1318, 438, 439, 440, 441, 442, 443,
444, 445, 1319, 447, 1320, 449, 450, 451, 452, 453,
454, 455, 456, 457, 1321, 459, 1322, 460, 461, 462,
463, 1323, 1324, 465, 1325, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 1326, 475, 476, 0, 0,
477, 478, 479, 480, 481, 482, 1327, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 1328, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 1329, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 535, 536, 537, 538, 539, 540, 1330, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 1331, 557, 558, 559, 560,
561, 562, 563, 564, 1332, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 1333, 583, 0, 584, 585, 1334, 0, 586,
587, 588, 589, 590, 591, 592, 593, 0, 594, 1335,
1336, 0, 0, 597, 598, 1337, 600, 1338, 1339, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 1340,
611, 612, 613, 614, 615, 1341, 0, 616, 617, 618,
619, 620, 621, 1342, 0, 623, 624, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 1343, 1344, 1345, 1346, 642, 1347,
1348, 1349, 1350, 647, 648, 649, 650, 0, 1351, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1352, 1353, 0, 0, 0, 234, 0, 1271, 717, 1355,
1272, 1273, 1274, 778, 1275, 0, 0, 0, 0, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 1276, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 254, 255, 256, 257, 258, 1277, 260, 1278,
1279, 0, 263, 264, 265, 266, 267, 268, 269, 1280,
1281, 270, 271, 1282, 1283, 274, 0, 275, 276, 277,
278, 1284, 0, 1285, 0, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 298, 299, 300, 4880, 1286, 1287,
1288, 1289, 1290, 1291, 1292, 303, 304, 305, 306, 307,
308, 1293, 1294, 311, 1295, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 887, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 1296, 343, 344, 345, 346, 1297, 1298, 348,
0, 349, 350, 351, 1299, 353, 0, 354, 0, 355,
356, 357, 0, 358, 359, 360, 361, 362, 0, 363,
1300, 0, 1301, 366, 367, 0, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 387, 388, 389,
390, 391, 392, 1302, 1303, 0, 1304, 0, 396, 397,
398, 399, 400, 1305, 1306, 1307, 1308, 1309, 1310, 1311,
1312, 1313, 410, 1314, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 1315, 421, 422, 423, 0, 424,
425, 426, 1316, 1317, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 1318, 438, 439, 440, 441, 442,
443, 444, 445, 1319, 447, 1320, 449, 450, 451, 452,
453, 454, 455, 456, 457, 1321, 459, 1322, 460, 461,
462, 463, 1323, 1324, 465, 1325, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 1326, 475, 476, 0,
0, 477, 478, 479, 480, 481, 482, 1327, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 1328, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 1329, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 535, 536, 537, 538, 539, 540, 1330,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 1331, 557, 558, 559,
560, 561, 562, 563, 564, 1332, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 1333, 583, 0, 584, 585, 1334, 0,
586, 587, 588, 589, 590, 591, 592, 593, 0, 594,
1335, 1336, 0, 0, 597, 598, 1337, 600, 1338, 1339,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
1340, 611, 612, 613, 614, 615, 1341, 0, 616, 617,
618, 619, 620, 621, 1342, 0, 623, 624, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 1343, 1344, 1345, 1346, 642,
1347, 1348, 1349, 1350, 647, 648, 649, 650, 0, 1351,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1352, 1353, 0, 0, 0, 234, 0, 1271, 717,
1355, 1272, 1273, 1274, 778, 1275, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 1276, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 258, 1277, 260,
1278, 1279, 0, 263, 264, 265, 266, 267, 268, 269,
1280, 1281, 270, 271, 1282, 1283, 274, 0, 275, 276,
277, 278, 1284, 0, 1285, 0, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 298, 299, 300, 301, 1286,
1287, 1288, 1289, 1290, 1291, 1292, 303, 304, 305, 306,
307, 308, 1293, 1294, 311, 1295, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 887, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 1296, 343, 344, 345, 346, 1297, 1298,
348, 0, 349, 350, 351, 1299, 353, 0, 354, 0,
355, 356, 357, 0, 358, 359, 360, 361, 362, 0,
363, 1300, 0, 1301, 366, 367, 0, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 387, 388,
389, 390, 391, 392, 1302, 1303, 0, 1304, 0, 396,
397, 398, 399, 400, 1305, 1306, 1307, 1308, 1309, 1310,
1311, 1312, 1313, 410, 1314, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 1315, 421, 422, 423, 0,
424, 425, 426, 1316, 1317, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 1318, 438, 439, 440, 441,
442, 443, 444, 445, 1319, 447, 1320, 449, 450, 451,
452, 453, 454, 455, 456, 457, 1321, 459, 1322, 460,
461, 462, 463, 1323, 1324, 465, 1325, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 1326, 475, 476,
0, 0, 477, 478, 479, 480, 481, 482, 1327, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 1328, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 1329, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 535, 536, 537, 538, 539, 540,
1330, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 1331, 557, 558,
559, 560, 561, 562, 563, 564, 1332, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 1333, 583, 0, 584, 585, 1334,
0, 586, 587, 588, 589, 590, 591, 592, 593, 0,
594, 1335, 1336, 0, 0, 597, 598, 1337, 600, 1338,
1339, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 1340, 611, 612, 613, 614, 615, 1341, 0, 616,
617, 618, 619, 620, 621, 1342, 0, 623, 624, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 5267, 1343, 1344, 1345, 1346,
642, 1347, 1348, 1349, 1350, 647, 648, 649, 650, 0,
1351, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1352, 1353, 0, 0, 0, 234, 0, 1271,
717, 1355, 1272, 1273, 1274, 778, 1275, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 1276, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 258, 1277,
260, 1278, 1279, 0, 263, 264, 265, 266, 267, 268,
269, 1280, 1281, 270, 271, 1282, 1283, 274, 0, 275,
276, 277, 278, 1284, 0, 1285, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 301,
1286, 1287, 1288, 1289, 1290, 1291, 1292, 303, 304, 305,
306, 307, 308, 1293, 1294, 311, 1295, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 887, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 1296, 343, 344, 345, 346, 1297,
1298, 348, 0, 349, 350, 351, 1299, 353, 0, 354,
0, 355, 356, 357, 0, 358, 359, 360, 361, 362,
0, 363, 1300, 0, 1301, 366, 367, 0, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 387,
388, 389, 390, 391, 392, 1302, 1303, 0, 1304, 0,
396, 397, 398, 399, 400, 1305, 1306, 1307, 1308, 1309,
1310, 1311, 1312, 1313, 410, 1314, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 1315, 421, 422, 423,
0, 424, 425, 426, 1316, 1317, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 1318, 438, 439, 440,
441, 442, 443, 444, 445, 1319, 447, 1320, 449, 450,
451, 452, 453, 454, 455, 5279, 457, 1321, 459, 1322,
460, 461, 462, 463, 1323, 1324, 465, 1325, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 1326, 475,
476, 0, 0, 477, 478, 479, 480, 481, 482, 1327,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 1328, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 1329, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 535, 536, 537, 538, 539,
540, 1330, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 1331, 557,
558, 559, 560, 561, 562, 563, 564, 1332, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 1333, 583, 0, 584, 585,
1334, 0, 586, 587, 588, 589, 590, 591, 592, 593,
0, 594, 1335, 1336, 0, 0, 597, 598, 1337, 600,
1338, 1339, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 1340, 611, 612, 613, 614, 615, 1341, 0,
616, 617, 618, 619, 620, 621, 1342, 0, 623, 624,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 1343, 1344, 1345,
1346, 642, 1347, 1348, 1349, 1350, 647, 648, 649, 650,
0, 1351, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1352, 1353, 0, 0, 0, 234, 0,
1271, 717, 1355, 1272, 1273, 1274, 778, 1275, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 1276, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1277, 260, 1278, 1279, 0, 263, 264, 265, 266, 267,
268, 269, 1280, 1281, 270, 271, 1282, 1283, 274, 0,
275, 276, 277, 278, 1284, 0, 1285, 0, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 298, 299, 5623,
301, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 303, 304,
305, 306, 307, 308, 1293, 1294, 311, 1295, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 887, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 1296, 343, 344, 345, 346,
1297, 1298, 348, 0, 349, 350, 351, 1299, 353, 0,
354, 0, 355, 356, 357, 0, 358, 359, 360, 361,
362, 0, 363, 1300, 0, 5624, 366, 367, 0, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
387, 388, 389, 390, 391, 392, 1302, 1303, 0, 1304,
0, 396, 397, 398, 399, 400, 1305, 1306, 1307, 1308,
1309, 1310, 1311, 1312, 1313, 410, 1314, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 1315, 421, 422,
423, 0, 424, 425, 426, 1316, 1317, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 1318, 438, 439,
440, 441, 442, 443, 444, 445, 1319, 447, 1320, 449,
450, 451, 452, 453, 454, 455, 456, 457, 1321, 459,
1322, 460, 461, 462, 463, 1323, 1324, 465, 1325, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 1326,
475, 476, 0, 0, 477, 478, 479, 480, 481, 482,
1327, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 1328, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 1329, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 535, 536, 537, 5625,
539, 540, 1330, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 1331,
557, 558, 559, 560, 561, 562, 563, 564, 1332, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 1333, 583, 0, 584,
585, 1334, 0, 586, 587, 588, 589, 590, 591, 592,
593, 0, 594, 1335, 1336, 0, 0, 597, 598, 1337,
600, 1338, 1339, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 1340, 611, 612, 613, 614, 615, 1341,
0, 616, 617, 618, 619, 620, 621, 1342, 0, 623,
624, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 1343, 1344,
1345, 1346, 642, 1347, 1348, 1349, 1350, 647, 648, 649,
650, 0, 1351, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1352, 1353, 0, 0, 0, 234,
0, 1271, 717, 5626, 1272, 1273, 1274, 778, 1275, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 1276, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
6045, 1277, 260, 1278, 1279, 0, 263, 264, 265, 266,
267, 268, 269, 1280, 1281, 270, 271, 1282, 1283, 274,
0, 275, 276, 277, 278, 1284, 0, 1285, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 6046, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 303,
304, 305, 306, 307, 308, 1293, 1294, 311, 1295, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 887, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 1296, 343, 344, 345,
346, 1297, 1298, 348, 0, 349, 350, 351, 1299, 353,
0, 354, 0, 355, 356, 357, 0, 358, 359, 360,
361, 362, 0, 363, 1300, 0, 1301, 366, 367, 0,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 387, 388, 389, 390, 391, 392, 1302, 1303, 0,
1304, 0, 396, 397, 398, 399, 400, 1305, 1306, 1307,
1308, 1309, 1310, 1311, 1312, 1313, 410, 1314, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 1315, 421,
422, 423, 0, 424, 425, 426, 1316, 1317, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 1318, 438,
439, 440, 441, 442, 443, 444, 445, 1319, 447, 1320,
449, 450, 451, 452, 453, 454, 455, 456, 457, 1321,
459, 1322, 460, 461, 462, 463, 1323, 1324, 465, 1325,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
1326, 475, 476, 0, 0, 477, 478, 479, 480, 481,
482, 1327, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 1328, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 1329, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 535, 536, 537,
538, 539, 540, 1330, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
1331, 557, 558, 559, 560, 561, 562, 563, 564, 1332,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 1333, 583, 0,
584, 585, 1334, 0, 586, 587, 588, 589, 590, 591,
592, 593, 0, 594, 1335, 1336, 0, 0, 597, 598,
1337, 600, 1338, 1339, 602, 603, 604, 605, 606, 6047,
608, 609, 610, 0, 1340, 611, 612, 613, 614, 615,
1341, 0, 616, 617, 618, 619, 620, 621, 1342, 0,
623, 624, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 1343,
1344, 1345, 1346, 642, 1347, 1348, 1349, 1350, 647, 648,
649, 650, 0, 1351, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1352, 1353, 0, 0, 0,
234, 0, 1271, 717, 1355, 1272, 1273, 1274, 778, 1275,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 1276, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
257, 258, 1277, 260, 1278, 1279, 0, 263, 264, 265,
266, 267, 268, 269, 1280, 1281, 270, 271, 1282, 1283,
274, 0, 275, 276, 277, 278, 1284, 0, 1285, 0,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 298,
299, 300, 6046, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
303, 304, 305, 306, 307, 308, 1293, 1294, 311, 1295,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 887, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 1296, 343, 344,
345, 346, 1297, 1298, 348, 0, 349, 350, 351, 1299,
353, 0, 354, 0, 355, 356, 357, 0, 358, 359,
360, 361, 362, 0, 363, 1300, 0, 1301, 366, 367,
0, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 387, 388, 389, 390, 391, 392, 1302, 1303,
0, 1304, 0, 396, 397, 398, 399, 400, 1305, 1306,
1307, 1308, 1309, 1310, 1311, 1312, 1313, 410, 1314, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 1315,
421, 422, 423, 0, 424, 425, 426, 1316, 1317, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 1318,
438, 439, 440, 441, 442, 443, 444, 445, 1319, 447,
1320, 449, 450, 451, 452, 453, 454, 455, 456, 457,
1321, 459, 1322, 460, 461, 462, 463, 1323, 1324, 465,
1325, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 1326, 475, 476, 0, 0, 477, 478, 479, 480,
481, 482, 1327, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 1328,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 1329, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 535, 536,
537, 538, 539, 540, 1330, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 1331, 557, 558, 559, 560, 561, 562, 563, 564,
1332, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 1333, 583,
0, 584, 585, 1334, 0, 586, 587, 588, 589, 590,
591, 592, 593, 0, 594, 1335, 1336, 0, 0, 597,
598, 1337, 600, 1338, 1339, 602, 603, 604, 605, 606,
6047, 608, 609, 610, 0, 1340, 611, 612, 613, 614,
615, 1341, 0, 616, 617, 618, 619, 620, 621, 1342,
0, 623, 624, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
1343, 1344, 1345, 1346, 642, 1347, 1348, 1349, 1350, 647,
648, 649, 650, 0, 1351, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1352, 1353, 0, 0,
0, 234, 0, 1271, 717, 1355, 1272, 1273, 1274, 778,
1275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 1276, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 1277, 260, 1278, 1279, 0, 263, 264,
265, 266, 267, 268, 269, 1280, 1281, 270, 271, 1282,
1283, 274, 0, 275, 276, 277, 278, 1284, 0, 1285,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 1286, 1287, 1288, 1289, 1290, 1291,
1292, 303, 304, 305, 306, 307, 308, 1293, 1294, 311,
5608, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 887,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 1296, 343,
344, 345, 346, 1297, 1298, 348, 0, 349, 350, 351,
1299, 353, 0, 354, 0, 355, 356, 357, 0, 358,
359, 360, 361, 362, 0, 363, 1300, 0, 1301, 366,
367, 0, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 387, 388, 389, 390, 391, 392, 1302,
1303, 0, 1304, 0, 396, 397, 398, 399, 400, 1305,
1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 410, 1314,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
1315, 421, 422, 423, 0, 424, 425, 426, 1316, 1317,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
1318, 438, 439, 440, 441, 442, 443, 444, 445, 1319,
447, 1320, 449, 450, 451, 452, 453, 454, 455, 456,
457, 1321, 459, 0, 460, 461, 462, 463, 1323, 1324,
465, 1325, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 1326, 475, 476, 0, 0, 477, 478, 479,
480, 481, 482, 1327, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
1328, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 1329, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 535,
536, 537, 538, 539, 540, 3328, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 1331, 557, 558, 559, 560, 561, 562, 563,
564, 1332, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 1333,
583, 0, 584, 585, 1334, 0, 586, 587, 588, 589,
590, 591, 592, 593, 0, 594, 1335, 1336, 0, 0,
597, 598, 1337, 600, 1338, 1339, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 1341, 0, 616, 617, 618, 619, 620, 621,
1342, 0, 623, 624, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 1343, 1344, 1345, 1346, 642, 1347, 1348, 1349, 1350,
647, 648, 649, 650, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3329, 3330, 0,
0, 0, 234, 0, 1271, 717, 3331, 1272, 1273, 1274,
778, 1275, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 1276, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
255, 256, 257, -3025, 1277, 260, 1278, 1279, 0, 263,
264, 265, 266, 267, 268, 269, 1280, 1281, 270, 271,
1282, 1283, 274, 0, 275, 276, 277, 278, 1284, 0,
1285, 0, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 298, 299, 300, 6046, 1286, 1287, 1288, 1289, 1290,
1291, 1292, 303, 304, 305, 306, 307, 308, 1293, 1294,
311, 1295, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
887, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 1296,
343, 344, 345, 346, 1297, 1298, 348, 0, 349, 350,
351, 1299, 353, 0, 354, 0, 355, 356, 357, 0,
358, 359, 360, 361, 362, 0, 363, 1300, 0, 1301,
366, 367, 0, 368, 369, 370, 371, 372, -3025, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 387, 388, 389, 390, 391, 392,
1302, 1303, 0, 1304, 0, 396, 0, 0, 399, 400,
1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 410,
1314, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 1315, 421, 422, -3025, 0, 424, 425, 426, 1316,
1317, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 1318, 438, 439, 440, 441, 442, 443, 444, 445,
1319, 447, 1320, 449, 450, 451, 452, 453, 454, 455,
456, 457, 1321, 459, 1322, 460, 461, 0, 463, 1323,
1324, 465, 1325, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 1326, 475, 476, 0, 0, 477, 478,
479, 480, 481, 482, 1327, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 1328, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 1329,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
535, 536, 537, 538, 539, 540, 1330, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 1331, 557, 558, 559, 560, 561, -3025,
563, 564, 1332, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
1333, 583, 0, 584, 585, 1334, 0, 586, 587, 588,
589, 590, 591, 592, 593, 0, 594, 1335, 1336, 0,
0, 597, 598, 1337, 600, 1338, 1339, 602, 603, 604,
605, 606, 6047, 608, 609, 610, 0, 1340, 611, 612,
613, 614, 615, 1341, 0, 616, 617, 618, 619, 620,
621, 1342, 0, 623, 624, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 1343, 1344, 1345, 1346, 642, 1347, 1348, 1349,
1350, 647, 648, 649, 650, 0, -3025, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1352, 1353,
0, 0, 0, 234, 0, 1271, 717, 1355, 1272, 1273,
1274, 778, 1275, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 1276,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
254, 255, 256, 257, 258, 1277, 260, 1278, 1279, 0,
263, 264, 265, 266, 267, 268, 269, 1280, 1281, 270,
271, 1282, 1283, 274, 0, 275, 276, 277, 278, 1284,
0, 1285, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 1286, 1287, 1288, 1289,
1290, 1291, 1292, 303, 304, 305, 306, 307, 308, 1293,
1294, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 887, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
1296, 343, 344, 345, 346, 1297, 1298, 348, 0, 349,
350, 351, 1299, 353, 0, 354, 0, 355, 356, 357,
0, 358, 359, 360, 361, 362, 0, 363, 1300, 0,
1301, 366, 367, 0, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 387, 388, 389, 390, 391,
392, 1302, 1303, 0, 1304, 0, 396, 397, 398, 399,
400, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313,
410, 1314, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 1315, 421, 422, 423, 0, 424, 425, 426,
1316, 1317, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 1318, 438, 439, 440, 441, 442, 443, 444,
445, 1319, 447, 1320, 449, 450, 451, 452, 453, 454,
455, 456, 457, 1321, 459, 0, 460, 461, 462, 463,
1323, 1324, 465, 1325, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 1326, 475, 476, 0, 0, 477,
478, 479, 480, 481, 482, 1327, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 1328, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
1329, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 535, 536, 537, 538, 539, 540, 3328, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 1331, 557, 558, 559, 560, 561,
562, 563, 564, 1332, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 1333, 583, 0, 584, 585, 1334, 0, 586, 587,
588, 589, 590, 591, 592, 593, 0, 594, 1335, 1336,
0, 0, 597, 598, 1337, 600, 1338, 1339, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 1341, 0, 616, 617, 618, 619,
620, 621, 1342, 0, 623, 624, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 1343, 1344, 1345, 1346, 642, 1347, 1348,
1349, 1350, 647, 648, 649, 650, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3329,
3330, 234, 0, 1271, 717, 0, 1272, 1273, 3331, 778,
1275, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 1276, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 1277, 260, 1278, 1279, 0, 263, 264,
265, 266, 267, 268, 269, 1280, 1281, 270, 271, 1282,
1283, 274, 0, 275, 276, 277, 278, 1284, 0, 1285,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 1286, 1287, 1288, 1289, 1290, 1291,
1292, 303, 304, 305, 306, 307, 308, 1293, 1294, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 887,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 1296, 343,
344, 345, 346, 1297, 1298, 348, 0, 349, 350, 351,
1299, 353, 0, 354, 0, 355, 356, 357, 0, 358,
359, 360, 361, 362, 0, 363, 1300, 0, 1301, 366,
367, 0, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 387, 388, 389, 390, 391, 392, 1302,
1303, 0, 1304, 0, 396, 397, 398, 399, 400, 1305,
1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 410, 1314,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
1315, 421, 422, 423, 0, 424, 425, 426, 1316, 1317,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
1318, 438, 439, 440, 441, 442, 443, 444, 445, 1319,
447, 1320, 449, 450, 451, 452, 453, 454, 455, 456,
457, 1321, 459, 0, 460, 461, 462, 463, 1323, 1324,
465, 1325, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
480, 481, 482, 1327, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
1328, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 1329, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 535,
536, 537, 538, 539, 540, 3508, 3509, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 1331, 557, 558, 559, 560, 561, 562, 563,
564, 1332, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 1333,
583, 0, 584, 585, 1334, 0, 586, 587, 588, 589,
590, 591, 592, 593, 0, 594, 1335, 1336, 0, 0,
597, 598, 1337, 600, 1338, 1339, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 1341, 0, 616, 617, 618, 619, 620, 621,
1342, 0, 623, 624, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 1343, 1344, 1345, 1346, 642, 1347, 1348, 1349, 1350,
647, 648, 649, 650, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3510, 3511, 234,
0, 1271, 717, 0, 1272, 1273, 3331, 778, 1275, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 1276, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
258, 1277, 260, 1278, 1279, 0, 263, 264, 265, 266,
267, 268, 269, 1280, 1281, 270, 271, 1282, 1283, 274,
0, 275, 276, 277, 278, 1284, 0, 1285, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 303,
304, 305, 306, 307, 308, 1293, 1294, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 887, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 1296, 343, 344, 345,
346, 1297, 1298, 348, 0, 349, 350, 351, 1299, 353,
0, 354, 0, 355, 356, 357, 0, 358, 359, 360,
361, 362, 0, 363, 1300, 0, 1301, 366, 367, 0,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 387, 388, 389, 390, 391, 392, 1302, 1303, 0,
1304, 0, 396, 397, 398, 399, 400, 1305, 1306, 1307,
1308, 1309, 1310, 1311, 1312, 1313, 410, 1314, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 1315, 421,
422, 423, 0, 424, 425, 426, 1316, 1317, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 1318, 438,
439, 440, 441, 442, 443, 444, 445, 1319, 447, 1320,
449, 450, 451, 452, 453, 454, 455, 456, 457, 1321,
459, 0, 460, 461, 462, 463, 1323, 1324, 465, 1325,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 480, 481,
482, 1327, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 1328, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 1329, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 535, 536, 537,
538, 539, 540, 3328, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
1331, 557, 558, 559, 560, 561, 562, 563, 564, 1332,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 1333, 583, 0,
584, 585, 1334, 0, 586, 587, 588, 589, 590, 591,
592, 593, 0, 594, 1335, 1336, 0, 0, 597, 598,
1337, 600, 1338, 1339, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
1341, 0, 616, 617, 618, 619, 620, 621, 1342, 0,
623, 624, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 1343,
1344, 1345, 1346, 642, 1347, 1348, 1349, 1350, 647, 648,
649, 650, 0, 0, 0, 0, 234, 0, 1271, 717,
0, 1272, 1273, 0, 778, 1275, 0, 0, 0, 0,
0, 0, 0, 0, 3331, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 1276, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 258, 1277, 260,
1278, 1279, 0, 263, 4787, 265, 266, 267, 268, 269,
1280, 1281, 270, 271, 1282, 1283, 274, 0, 275, 276,
277, 278, 1284, 0, 1285, 0, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 298, 299, 300, 301, 1286,
1287, 1288, 1289, 1290, 1291, 1292, 303, 304, 305, 306,
307, 308, 1293, 1294, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 887, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 1296, 343, 344, 345, 346, 1297, 1298,
348, 0, 349, 350, 351, 1299, 353, 0, 354, 0,
355, 356, 357, 0, 358, 359, 360, 361, 362, 0,
363, 1300, 0, 1301, 366, 367, 0, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 387, 388,
389, 390, 391, 392, 1302, 1303, 0, 1304, 0, 396,
397, 398, 399, 400, 1305, 1306, 1307, 1308, 1309, 1310,
1311, 1312, 1313, 410, 1314, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 1315, 421, 422, 423, 0,
424, 425, 426, 1316, 1317, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 1318, 438, 439, 440, 441,
442, 443, 444, 445, 1319, 447, 1320, 449, 450, 451,
452, 453, 454, 455, 456, 457, 1321, 459, 0, 460,
461, 462, 463, 1323, 1324, 465, 1325, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 480, 481, 482, 1327, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 1328, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 1329, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 535, 536, 537, 538, 539, 540,
3328, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 1331, 557, 558,
559, 560, 561, 562, 563, 564, 1332, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 1333, 583, 0, 584, 585, 1334,
0, 586, 587, 588, 589, 590, 591, 592, 593, 0,
594, 1335, 1336, 0, 0, 597, 598, 1337, 600, 1338,
1339, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 1341, 0, 616,
617, 618, 619, 620, 621, 1342, 0, 623, 624, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 1343, 1344, 1345, 1346,
642, 1347, 1348, 1349, 1350, 647, 648, 649, 650, 0,
0, 0, 0, 234, 0, 1271, 717, 0, 1272, 1273,
0, 778, 1275, 0, 0, 0, 0, 0, 0, 0,
0, 3331, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 1276,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
254, 255, 256, 257, 258, 1277, 260, 1278, 1279, 0,
263, 264, 265, 266, 267, 268, 269, 1280, 1281, 270,
271, 1282, 1283, 274, 0, 275, 276, 277, 278, 1284,
0, 1285, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 1286, 1287, 1288, 1289,
1290, 1291, 1292, 303, 304, 305, 306, 307, 308, 1293,
1294, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 887, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
1296, 343, 344, 345, 346, 1297, 1298, 348, 0, 349,
350, 351, 1299, 353, 0, 354, 0, 355, 356, 357,
0, 358, 359, 360, 361, 362, 0, 363, 1300, 0,
1301, 366, 367, 0, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 387, 388, 389, 390, 391,
392, 1302, 1303, 0, 1304, 0, 396, 397, 398, 399,
400, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313,
410, 1314, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 1315, 421, 422, 423, 0, 424, 425, 426,
1316, 1317, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 1318, 438, 439, 440, 441, 442, 443, 444,
445, 1319, 447, 1320, 449, 450, 451, 452, 453, 454,
455, 456, 457, 1321, 459, 0, 460, 461, 462, 463,
1323, 1324, 465, 1325, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 479, 480, 481, 482, 1327, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 1328, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
1329, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 535, 536, 537, 538, 539, 540, 3328, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 1331, 557, 558, 559, 560, 561,
562, 563, 564, 1332, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 1333, 583, 0, 584, 585, 1334, 0, 586, 587,
588, 589, 590, 591, 592, 593, 0, 594, 1335, 1336,
0, 0, 597, 598, 1337, 600, 1338, 1339, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 1341, 0, 616, 617, 618, 619,
620, 621, 1342, 0, 623, 624, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 1343, 1344, 1345, 1346, 4849, 1347, 1348,
1349, 1350, 647, 648, 649, 650, 0, 0, 0, 0,
234, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3331, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
257, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 1281, 270, 271, 272, 273,
274, 0, 275, 276, 277, 278, 1284, 0, 1285, 0,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 298,
299, 300, 301, 1286, 1287, 1288, 1289, 1290, 1291, 1292,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 1297, 0, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 357, 0, 358, 359,
360, 361, 362, 0, 363, 1300, 0, 365, 366, 367,
0, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 387, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 397, 398, 399, 400, 3479, 1306,
1307, 1308, 1309, 1310, 1311, 1312, 1313, 3480, 1314, 412,
413, 414, 415, 416, 417, 418, 3481, 0, 419, 1315,
421, 422, 423, 0, 424, 425, 426, 1316, 1317, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 1318,
438, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
1321, 459, 0, 460, 461, 462, 463, 0, 1324, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 0,
862, 474, 475, 476, 0, 0, 477, 478, 479, 480,
481, 482, 1327, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 1328,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 535, 536,
537, 538, 539, 540, 541, 3482, 543, 544, 545, 546,
547, 548, 549, 550, 551, 40, 552, 553, 554, 555,
556, 1331, 557, 558, 559, 560, 561, 562, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 1333, 583,
0, 584, 585, 1334, 44, 586, 587, 588, 589, 590,
591, 592, 593, 0, 594, 595, 596, 0, 0, 597,
598, 1337, 600, 1338, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 1341, 0, 616, 617, 618, 619, 620, 1206, 622,
0, 623, 624, 625, 626, 627, 628, 629, 0, 0,
630, 0, 49, 631, 632, 633, 634, 635, 636, 637,
1343, 1344, 1345, 1346, 642, 1347, 1348, 1349, 1350, 3483,
648, 649, 650, 0, 0, 0, 50, 234, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3484, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 1281, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 1284, 0, 1285, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 301,
1286, 1287, 1288, 1289, 1290, 1291, 1292, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 1297,
0, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 357, 0, 358, 359, 360, 361, 362,
0, 363, 1300, 0, 365, 366, 367, 0, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 387,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 397, 398, 399, 400, 3479, 1306, 1307, 1308, 1309,
1310, 1311, 1312, 1313, 3480, 1314, 412, 413, 414, 415,
416, 417, 418, 3481, 0, 419, 1315, 421, 422, 423,
0, 424, 425, 426, 1316, 1317, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 1318, 438, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 1321, 459, 0,
460, 461, 462, 463, 0, 1324, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 862, 474, 475,
476, 0, 0, 477, 478, 479, 480, 481, 482, 1327,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 1328, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 535, 536, 537, 538, 539,
540, 541, 3482, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 1331, 557,
558, 559, 560, 561, 562, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 1333, 583, 0, 584, 585,
1334, 0, 586, 587, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 1337, 600,
1338, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 1341, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 624,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 1343, 1344, 1345,
1346, 642, 1347, 1348, 1349, 1350, 3483, 648, 649, 650,
0, 0, 0, 0, 234, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3484, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 1281,
270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
1284, 0, 1285, 0, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 298, 299, 300, 301, 1286, 1287, 1288,
1289, 1290, 1291, 1292, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 1297, 0, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
357, 0, 358, 359, 360, 361, 362, 0, 363, 1300,
0, 365, 366, 367, 0, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 387, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 397, 398,
399, 400, 3479, 1306, 1307, 1308, 1309, 1310, 1311, 1312,
1313, 410, 1314, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 1315, 421, 422, 423, 0, 424, 425,
426, 1316, 1317, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 1318, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 1321, 459, 0, 460, 461, 462,
463, 0, 1324, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 479, 480, 481, 482, 1327, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 1328, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 1331, 557, 558, 559, 560,
561, 562, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 1333, 583, 0, 584, 585, 1334, 0, 586,
587, 588, 589, 590, 591, 592, 593, 0, 594, 595,
596, 0, 0, 597, 598, 1337, 600, 1338, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 1341, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 624, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 1343, 1344, 1345, 1346, 642, 1347,
1348, 1349, 1350, 647, 648, 649, 650, 0, 0, 0,
0, 234, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3929,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 1281, 270, 271, 272,
273, 274, 0, 275, 276, 277, 278, 1284, 0, 1285,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 1286, 1287, 1288, 1289, 1290, 1291,
1292, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 1297, 0, 348, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 357, 0, 358,
359, 360, 361, 362, 0, 363, 1300, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 397, 398, 399, 400, 3479,
1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 3480, 1314,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
1315, 421, 422, 423, 0, 424, 425, 426, 1316, 1317,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
1318, 438, 439, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 1321, 459, 0, 460, 461, 462, 463, 0, 1324,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
480, 481, 482, 1327, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
1328, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 535,
536, 537, 538, 539, 540, 541, 3482, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 1331, 557, 558, 559, 560, 561, 562, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 1333,
583, 0, 584, 585, 1334, 0, 586, 587, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 1337, 600, 1338, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 1341, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 624, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 1343, 1344, 1345, 1346, 642, 1347, 1348, 1349, 1350,
3483, 648, 649, 650, 0, 0, 0, 0, 234, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 56, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 1281, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 1284, 0, 1285, 0, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 298, 299, 300,
301, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
1297, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 357, 0, 358, 359, 360, 361,
362, 0, 363, 1300, 0, 365, 366, 367, 0, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
387, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 397, 398, 399, 400, 3479, 1306, 1307, 1308,
1309, 1310, 1311, 1312, 1313, 410, 1314, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 1315, 421, 422,
423, 0, 424, 425, 426, 1316, 1317, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 1318, 438, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 1321, 459,
0, 460, 461, 462, 463, 0, 1324, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 480, 481, 482,
1327, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 1328, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 535, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 1331,
557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 1333, 583, 0, 584,
585, 1334, 0, 586, 587, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 1337,
600, 1338, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 1341,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
624, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 1343, 1344,
1345, 1346, 642, 1347, 1348, 1349, 1350, 647, 648, 649,
650, 0, 0, 0, 0, 234, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4937, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
1281, 270, 271, 272, 273, 274, 0, 275, 276, 277,
278, 1284, 0, 1285, 0, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 298, 299, 300, 301, 1286, 1287,
1288, 1289, 1290, 1291, 1292, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 1297, 0, 348,
0, 349, 350, 351, 352, 353, 0, 354, 0, 355,
356, 357, 0, 358, 359, 360, 361, 362, 0, 363,
1300, 0, 365, 366, 367, 0, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 387, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 397,
398, 399, 400, 3479, 1306, 1307, 1308, 1309, 1310, 1311,
1312, 1313, 410, 1314, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 1315, 421, 422, 423, 0, 424,
425, 426, 1316, 1317, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 1318, 438, 439, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 1321, 459, 0, 460, 461,
462, 463, 0, 1324, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 480, 481, 482, 1327, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 1328, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 535, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 1331, 557, 558, 559,
560, 561, 562, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 1333, 583, 0, 584, 585, 1334, 0,
586, 587, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 1337, 600, 1338, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 1341, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 624, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 1343, 1344, 1345, 1346, 642,
1347, 1348, 1349, 1350, 647, 648, 649, 650, 0, 0,
0, 0, 967, 0, 1605, 717, 0, 0, 0, 0,
778, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6152, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 298, 299, 300, 301, 0, 0, 0, 302, 0,
0, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 5940, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 1831, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 357, 0,
358, 359, 360, 361, 362, 0, 363, 364, 0, 365,
366, 367, 0, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 387, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 420, 421, 422, 423, 0, 424, 425, 426, 0,
0, 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, 0, 460, 461, 462, 463, 0,
464, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 1832, 0, 474, 475, 476, 0, 0, 477, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 499, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 0, 557, 558, 559, 560, 561, 562,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 0, 584, 585, 0, 0, 586, 587, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 599, 600, 601, 1833, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 624, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
646, 647, 648, 649, 650, 0, 0, 0, 0, 967,
0, 0, 0, 0, 0, 0, 0, 0, 1606, 1607,
5941, 0, 0, 0, 0, 0, 0, 5942, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 3, 4, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 280, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 0, 0, 0, 302, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 357, 0, 358, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 387, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
422, 423, 0, 424, 425, 426, 0, 0, 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, 0, 460, 461, 462, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 40, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 562, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 44, 586, 587, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 1206, 622, 0,
623, 624, 625, 626, 627, 628, 629, 0, 0, 630,
0, 49, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 1046, 0, 0, 50, 234, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 56, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
277, 278, 279, 0, 280, 0, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 298, 299, 300, 301, 0,
0, 0, 302, 0, 0, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 326, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 0,
348, 0, 349, 350, 351, 352, 353, 0, 354, 0,
355, 356, 357, 0, 358, 359, 360, 361, 362, 0,
363, 364, 0, 365, 366, 367, 0, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 387, 388,
389, 390, 391, 392, 393, 394, 0, 395, 0, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 420, 421, 422, 423, 0,
424, 425, 426, 0, 0, 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, 0, 460,
461, 462, 463, 0, 464, 465, 466, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 499, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 535, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 0, 557, 558,
559, 560, 561, 562, 563, 564, 565, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 0, 584, 585, 0,
0, 586, 587, 588, 589, 590, 591, 592, 593, 0,
594, 595, 596, 0, 0, 597, 598, 599, 600, 601,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 621, 622, 0, 623, 624, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 0,
0, 0, 0, 658, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5684, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
0, 255, 256, 257, 258, 259, 0, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 0, 0, 281, 282, 283, 284, 285, 286, 0,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 0, 299, 300, 301, 0, 0, 0, 0,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 0,
0, 0, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 372, 0,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 0, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 0, 0, 399,
0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 0, 422, 0, 0, 424, 425, 426,
0, 0, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 0, 460, 461, 0, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 479, 0, 481, 0, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 0, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 40, 552,
553, 554, 555, 556, 0, 557, 558, 559, 560, 561,
0, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 44, 586, 0,
588, 589, 590, 591, 592, 593, 0, 594, 595, 596,
0, 0, 597, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 1206, 622, 0, 623, 0, 625, 626, 627, 628,
629, 0, 0, 630, 0, 49, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 0, 0, 0, 50,
658, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 56, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 0,
299, 300, 301, 0, 0, 0, 2917, 0, 0, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 0, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 0, 0, 0, 359,
360, 361, 362, 0, 363, 364, 0, 365, 366, 367,
0, 368, 369, 370, 371, 372, 0, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 0, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 0, 0, 399, 0, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
0, 422, 0, 0, 424, 425, 426, 0, 0, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 0, 460, 461, 0, 463, 0, 464, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 0,
862, 474, 475, 476, 0, 0, 477, 478, 479, 0,
481, 0, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 499,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 0, 536,
537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 0, 557, 558, 559, 560, 561, 0, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
0, 584, 585, 0, 2918, 2919, 0, 588, 589, 590,
591, 592, 593, 0, 594, 595, 596, 0, 0, 597,
598, 599, 600, 601, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 621, 622,
0, 623, 0, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 0, 0, 0, 0, 658, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1865, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 0, 255, 256, 257, 258, 259,
0, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 279, 0, 0, 0, 281, 282, 283,
284, 285, 286, 0, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 0, 299, 300, 301,
0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
0, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 0, 0, 0, 359, 360, 361, 362,
0, 363, 364, 0, 365, 366, 367, 0, 368, 369,
370, 371, 372, 0, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 0,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 0, 0, 399, 0, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 0, 422, 0,
0, 424, 425, 426, 0, 0, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 0,
460, 461, 0, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 479, 0, 481, 0, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 0, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 0, 557,
558, 559, 560, 561, 0, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 0, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 599, 600,
601, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 0,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
0, 0, 0, 0, 658, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1417, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
0, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 0, 299, 300, 301, 0, 0, 0,
0, 0, 0, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 0, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
0, 0, 0, 359, 360, 361, 362, 0, 363, 364,
0, 365, 366, 367, 0, 368, 369, 370, 371, 372,
0, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 0, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 0, 0,
399, 0, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 420, 0, 422, 0, 0, 424, 425,
426, 0, 0, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 0, 460, 461, 0,
463, 0, 464, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 479, 0, 481, 0, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 499, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 0, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 0, 557, 558, 559, 560,
561, 0, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 0, 584, 585, 0, 0, 586,
0, 588, 589, 590, 591, 592, 593, 0, 594, 595,
596, 0, 0, 597, 598, 599, 600, 601, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 0, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 0, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 648, 649, 650, 0, 0, 0,
0, 658, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3542,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 0, 255,
256, 257, 258, 259, 0, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 0, 275, 276, 277, 278, 279, 0, 0,
0, 281, 282, 283, 284, 285, 286, 0, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
0, 299, 300, 301, 0, 0, 0, 0, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 348, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 0, 0, 0,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 0, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 0, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 0, 0, 399, 0, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 0, 422, 0, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 0, 460, 461, 0, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
0, 481, 0, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 0,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 559, 560, 561, 0, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 0, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 0, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 0, 0, 0, 0, 658, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4219, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
283, 284, 285, 286, 0, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 0, 299, 300,
301, 0, 0, 0, 0, 0, 0, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 0, 0, 0, 359, 360, 361,
362, 0, 363, 364, 0, 365, 366, 367, 0, 368,
369, 370, 371, 372, 0, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
0, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 0, 0, 399, 0, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 0, 422,
0, 0, 424, 425, 426, 0, 0, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
0, 460, 461, 0, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 0, 481, 0,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 0, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 559, 560, 561, 0, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 0, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
0, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 0, 0, 0, 0, 2114, 0, 0, 0, 0,
0, 0, 2115, 0, 0, 2116, 0, 0, 0, 2117,
2118, 2119, 0, 4866, 2120, 2121, 2122, 2123, 2124, 2125,
2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 2134, 2135,
2136, 0, 2137, 2138, 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, 2164,
2165, 2166, 2167, 0, 0, 2168, 2169, 2170, 2171, 2172,
2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182,
2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192,
2193, 2194, 2195, 0, 2196, 2197, 2198, 2199, 2200, 2201,
2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 0,
2211, 2212, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220,
2221, 2222, 2223, 2224, 2225, 2226, 2227, 2228, 2229, 2230,
2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240,
2241, 2242, 2243, 2244, 2245, 2246, 2247, 0, 2248, 2249,
2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2259,
0, 0, 2260, 2261, 2262, 2263, 0, 2264, 2265, 2266,
2267, 2268, 0, 2269, 2270, 2271, 2272, 2273, 0, 2274,
2275, 0, 2276, 2277, 2278, 0, 2279, 2280, 0, 2281,
2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291,
2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301,
2302, 2303, 2304, 2305, 2306, 0, 2307, 0, 2308, 2309,
2310, 2311, 2312, 2313, 2314, 2315, 2316, 2317, 2318, 2319,
2320, 2321, 2322, 2323, 2324, 2325, 2326, 2327, 2328, 2329,
2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 0, 2338,
2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, 2348,
2349, 2350, 2351, 2352, 2353, 2354, 0, 2355, 2356, 0,
2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366,
2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376,
2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386,
0, 2387, 2388, 2389, 0, 2390, 2391, 2392, 2393, 2394,
0, 2395, 2396, 2397, 2398, 0, 0, 2399, 2400, 2401,
2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411,
2412, 2413, 2414, 2415, 2416, 2417, 0, 2418, 2419, 2420,
2421, 2422, 2423, 2424, 2425, 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,
0, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459,
2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 0, 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, 2503, 2504, 2505, 2506, 2507, 2508,
2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518,
2519, 2520, 0, 2521, 2522, 2523, 2524, 2525, 2526, 2527,
2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 0,
2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545, 2546,
2547, 2548, 2549, 2550, 2551, 2552, 0, 2553, 2554, 2555,
2556, 2557, 2558, 2559, 0, 2560, 0, 0, 0, 0,
2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570,
2571, 2572, 2573, 2574, 2575, 0, 2576, 2577, 0, 2578,
0, 0, 0, 0, 0, 0, 0, 0, 2579, 2580,
2581, 2582, 2583, 2584, 2585, 2586, 2587, 879, 0, 1605,
717, 0, 0, 0, 982, 778, 0, 0, 0, 0,
0, 983, 984, 985, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 1743, 244, 245, 246, 1744,
1745, 1746, 1747, 1748, 1749, 1750, 247, 248, 249, 1751,
250, 251, 252, 253, 254, 255, 256, 257, 0, 880,
260, 881, 882, 1752, 263, 264, 265, 266, 267, 268,
269, 1753, 1754, 270, 271, 883, 884, 274, 1755, 275,
276, 277, 278, 0, 1756, 280, 1757, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 1758, 292,
293, 294, 295, 296, 297, 1759, 298, 299, 300, 301,
1760, 1761, 1762, 302, 1763, 1764, 1765, 303, 304, 305,
306, 307, 308, 885, 886, 311, 1766, 312, 1767, 313,
314, 315, 316, 317, 318, 319, 1768, 320, 321, 322,
323, 1769, 1770, 324, 325, 887, 327, 328, 1771, 329,
330, 331, 332, 1772, 333, 334, 335, 336, 337, 1773,
338, 339, 340, 341, 0, 343, 344, 345, 346, 0,
1774, 348, 1775, 349, 350, 351, 888, 353, 1776, 354,
1777, 355, 356, 357, 1778, 358, 359, 360, 361, 362,
1779, 363, 0, 1780, 0, 366, 367, 1781, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 1782, 378,
379, 380, 381, 382, 383, 384, 385, 1783, 386, 387,
0, 389, 390, 391, 392, 889, 890, 1784, 891, 1785,
396, 397, 398, 399, 400, 892, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 412, 413, 414, 415,
416, 417, 418, 1786, 1787, 419, 0, 421, 422, 423,
1788, 424, 425, 426, 1789, 1790, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 0, 438, 439, 440,
441, 442, 443, 444, 445, 893, 447, 894, 449, 450,
451, 452, 453, 454, 455, 456, 4545, 0, 459, 1791,
460, 461, 462, 463, 1792, 0, 465, 895, 467, 468,
469, 470, 1793, 471, 472, 473, 1794, 1795, 4546, 475,
476, 1796, 1797, 477, 478, 0, 480, 481, 482, 0,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 1798, 496, 497, 498, 0, 500, 0, 502,
503, 504, 1799, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 896, 517, 518, 519, 1800, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 1801, 533, 534, 535, 536, 537, 538, 539,
540, 0, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 1802, 552, 553, 554, 555, 556, 1803, 557,
558, 2743, 560, 561, 562, 563, 564, 898, 566, 1804,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 0, 583, 1805, 584, 585,
1806, 1807, 586, 587, 588, 589, 590, 591, 592, 593,
1808, 594, 899, 900, 1809, 1810, 597, 598, 0, 600,
0, 1811, 602, 603, 604, 605, 606, 607, 608, 609,
610, 1812, 1813, 611, 612, 613, 614, 615, 1814, 1815,
616, 617, 618, 619, 620, 0, 901, 1816, 623, 624,
625, 626, 627, 628, 629, 1817, 1818, 630, 1819, 1820,
631, 632, 633, 634, 635, 636, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 648, 649, 650,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
988, 989, 990, 4547, 4548, 993, 994, 995, 996, 879,
0, 1605, 717, 0, 0, 0, 982, 778, 0, 0,
0, 0, 0, 983, 984, 985, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 1743, 244, 245,
246, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 247, 248,
249, 1751, 250, 251, 252, 253, 254, 255, 256, 257,
0, 880, 260, 881, 882, 1752, 263, 264, 265, 266,
267, 268, 269, 1753, 1754, 270, 271, 883, 884, 274,
1755, 275, 276, 277, 278, 0, 1756, 280, 1757, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1758, 292, 293, 294, 295, 296, 297, 1759, 298, 299,
300, 301, 1760, 1761, 1762, 302, 1763, 1764, 1765, 303,
304, 305, 306, 307, 308, 885, 886, 311, 1766, 312,
1767, 313, 314, 315, 316, 317, 318, 319, 1768, 320,
321, 322, 323, 1769, 1770, 324, 325, 887, 327, 328,
1771, 329, 330, 331, 332, 1772, 333, 334, 335, 336,
337, 1773, 338, 339, 340, 341, 0, 343, 344, 345,
346, 0, 1774, 348, 1775, 349, 350, 351, 888, 353,
1776, 354, 1777, 355, 356, 357, 1778, 358, 359, 360,
361, 362, 1779, 363, 0, 1780, 0, 366, 367, 1781,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
1782, 378, 379, 380, 381, 382, 383, 384, 385, 1783,
386, 387, 0, 389, 390, 391, 392, 889, 890, 1784,
891, 1785, 396, 397, 398, 399, 400, 892, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 412, 413,
414, 415, 416, 417, 418, 1786, 1787, 419, 0, 421,
422, 423, 1788, 424, 425, 426, 1789, 1790, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 0, 438,
439, 440, 441, 442, 443, 444, 445, 893, 447, 894,
449, 450, 451, 452, 453, 454, 455, 456, 5009, 0,
459, 1791, 460, 461, 462, 463, 1792, 0, 465, 895,
467, 468, 469, 470, 1793, 471, 472, 473, 1794, 1795,
4546, 475, 476, 1796, 1797, 477, 478, 0, 480, 481,
482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 1798, 496, 497, 498, 0, 500,
0, 502, 503, 504, 1799, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 896, 517, 518, 519,
1800, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 1801, 533, 534, 535, 536, 537,
538, 539, 540, 0, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 1802, 552, 553, 554, 555, 556,
1803, 557, 558, 2743, 560, 561, 562, 563, 564, 898,
566, 1804, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 583, 1805,
584, 585, 1806, 1807, 586, 587, 588, 589, 590, 591,
592, 593, 1808, 594, 899, 900, 1809, 1810, 597, 598,
0, 600, 0, 1811, 602, 603, 604, 605, 606, 607,
608, 609, 610, 1812, 1813, 611, 612, 613, 614, 615,
1814, 1815, 616, 617, 618, 619, 620, 0, 901, 1816,
623, 624, 625, 626, 627, 628, 629, 1817, 1818, 630,
1819, 1820, 631, 632, 633, 634, 635, 636, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 648,
649, 650, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 988, 989, 990, 4547, 4548, 993, 994, 995,
996, 658, 0, 0, 0, 0, 0, 0, 982, 0,
0, 0, 0, 0, 0, 983, 984, 985, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 0, 255,
256, 257, 258, 259, 0, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 0, 275, 986, 277, 278, 279, 0, 0,
0, 281, 282, 283, 284, 285, 286, 0, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
0, 299, 300, 301, 0, 0, 0, 0, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 987, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 0, 0, 0,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 0, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 0, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 0, 0, 399, 0, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 0, 422, 0, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 0, 460, 461, 0, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
0, 481, 0, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 0,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 559, 560, 561, 0, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 0, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 0, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 988, 989, 990, 991, 992, 993,
994, 995, 996, 658, 0, 0, 0, 0, 0, 0,
982, 0, 0, 0, 0, 0, 0, 983, 984, 985,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
0, 255, 256, 257, 258, 259, 0, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 1103, 277, 278, 279,
0, 0, 0, 281, 282, 283, 284, 285, 286, 0,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 0, 299, 300, 301, 0, 0, 0, 0,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 1104, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 0,
0, 0, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 372, 0,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 0, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 0, 0, 399,
0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 0, 422, 0, 0, 424, 425, 426,
0, 0, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 0, 460, 461, 0, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 479, 0, 481, 0, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 0, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 0, 557, 558, 559, 560, 561,
0, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 0, 586, 0,
588, 589, 590, 591, 592, 593, 0, 594, 595, 596,
0, 0, 597, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 0, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 988, 989, 990, 991,
992, 993, 994, 995, 996, 658, 0, 0, 0, 0,
0, 0, 982, 0, 0, 0, 0, 0, 0, 983,
984, 985, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 0, 255, 256, 257, 258, 259, 0, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 272, 273, 274, 0, 275, 1169, 277,
278, 279, 0, 0, 0, 281, 282, 283, 284, 285,
286, 0, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 0, 299, 300, 301, 0, 0,
0, 0, 0, 0, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 0, 1170,
0, 349, 350, 351, 352, 353, 0, 354, 0, 355,
356, 0, 0, 0, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
1171, 0, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 0, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 0,
0, 399, 0, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 0, 422, 0, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 0, 460, 461,
0, 463, 0, 464, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 0, 481, 0, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 0, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 559,
560, 561, 0, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 0, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 599, 600, 601, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 0, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 988, 989,
990, 991, 992, 993, 994, 995, 996, 658, 0, 0,
0, 0, 0, 0, 982, 0, 0, 0, 0, 0,
0, 983, 984, 985, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 0, 255, 256, 257, 258, 259,
0, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
1848, 277, 278, 279, 0, 0, 0, 281, 282, 283,
284, 285, 286, 0, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 0, 299, 300, 301,
0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
0, 1849, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 0, 0, 0, 359, 360, 361, 362,
0, 363, 364, 0, 365, 366, 367, 0, 368, 369,
370, 371, 372, 0, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 0,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 0, 0, 399, 0, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 0, 422, 0,
0, 424, 425, 426, 0, 0, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 0,
460, 461, 0, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 479, 0, 481, 0, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 0, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 0, 557,
558, 559, 560, 561, 0, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 0, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 599, 600,
601, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 0,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
988, 989, 990, 991, 992, 993, 994, 995, 996, 658,
0, 0, 0, 0, 0, 0, 982, 0, 0, 0,
0, 0, 0, 983, 984, 985, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 0, 255, 256, 257,
258, 259, 0, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 0, 299,
300, 301, 0, 0, 0, 0, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 0, 0, 0, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 372, 0, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 0, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 0, 0, 399, 0, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 0,
422, 0, 0, 424, 425, 426, 0, 0, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 0, 460, 461, 0, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 0, 481,
0, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 0, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 0, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 0, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 0, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 988, 989, 990, 991, 992, 993, 994, 995,
996, 658, 0, 0, 0, 0, 0, 0, 982, 0,
0, 0, 0, 0, 0, 983, 984, 985, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 0, 255,
256, 257, 258, 259, 0, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 0, 275, 3607, 277, 278, 279, 0, 0,
0, 281, 282, 283, 284, 285, 286, 0, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
0, 299, 300, 301, 0, 0, 0, 0, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 3608, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 0, 0, 0,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 0, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 0, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 0, 0, 399, 0, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 0, 422, 0, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 0, 460, 461, 0, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
0, 481, 0, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 0,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 559, 560, 561, 0, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 0, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 0, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 988, 989, 990, 991, 992, 993,
994, 995, 996, 658, 0, 0, 0, 0, 0, 0,
982, 0, 0, 0, 0, 0, 0, 983, 984, 985,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
0, 255, 256, 257, 258, 259, 0, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 0, 0, 281, 282, 283, 284, 285, 286, 0,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 0, 299, 300, 301, 0, 0, 0, 0,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 0,
0, 0, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 372, 0,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 0, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 0, 0, 399,
0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 0, 422, 0, 0, 424, 425, 426,
0, 0, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 0, 460, 461, 0, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 5664, 475, 476, 0, 0, 477,
478, 479, 0, 481, 0, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 0, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 0, 557, 558, 559, 560, 561,
0, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 0, 586, 0,
588, 589, 590, 591, 592, 593, 0, 594, 595, 596,
0, 0, 597, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 0, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 1742, 0, 0, 0,
0, 0, 0, 0, 0, 0, 988, 989, 990, 991,
992, 993, 994, 995, 996, 235, 236, 237, 238, 239,
240, 241, 242, 243, 1743, 244, 245, 246, 1744, 1745,
1746, 1747, 1748, 1749, 1750, 247, 248, 249, 1751, 250,
251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
261, 262, 1752, 263, 264, 265, 266, 267, 268, 269,
1753, 1754, 270, 271, 272, 273, 274, 1755, 275, 276,
277, 278, 279, 1756, 280, 1757, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 1758, 292, 293,
294, 295, 296, 297, 1759, 298, 299, 300, 301, 1760,
1761, 1762, 302, 1763, 1764, 1765, 303, 304, 305, 306,
307, 308, 309, 310, 311, 1766, 312, 1767, 313, 314,
315, 316, 317, 318, 319, 1768, 320, 321, 322, 323,
1769, 1770, 324, 325, 326, 327, 328, 1771, 329, 330,
331, 332, 1772, 333, 334, 335, 336, 337, 1773, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 1774,
348, 1775, 349, 350, 351, 352, 353, 1776, 354, 1777,
355, 356, 357, 1778, 358, 359, 360, 361, 362, 1779,
363, 364, 1780, 365, 366, 367, 1781, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 1782, 378, 379,
380, 381, 382, 383, 384, 385, 1783, 386, 387, 388,
389, 390, 391, 392, 393, 394, 1784, 395, 1785, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 418, 1786, 1787, 419, 420, 421, 422, 423, 1788,
424, 425, 426, 1789, 1790, 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, 1791, 460,
461, 462, 463, 1792, 464, 465, 466, 467, 468, 469,
470, 1793, 471, 472, 473, 1794, 1795, 474, 475, 476,
1796, 1797, 477, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 1798, 496, 497, 498, 499, 500, 501, 502, 503,
504, 1799, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 1800, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 1801, 533, 534, 535, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 1802, 552, 553, 554, 555, 556, 1803, 557, 558,
559, 560, 561, 562, 563, 564, 565, 566, 1804, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 1805, 584, 585, 1806,
1807, 586, 587, 588, 589, 590, 591, 592, 593, 1808,
594, 595, 596, 1809, 1810, 597, 598, 599, 600, 601,
1811, 602, 603, 604, 605, 606, 607, 608, 609, 610,
1812, 1813, 611, 612, 613, 614, 615, 1814, 1815, 616,
617, 618, 619, 620, 621, 622, 1816, 623, 624, 625,
626, 627, 628, 629, 1817, 1818, 630, 1819, 1820, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 658,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1821, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 0, 255, 256, 257,
258, 259, 0, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 0, 299,
300, 301, 0, 0, 0, 0, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 0, 0, 0, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 372, 0, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 0, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 0, 0, 399, 0, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 0,
422, 0, 0, 424, 425, 426, 0, 0, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 0, 460, 461, 0, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 0, 481,
0, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 0, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 0, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 0, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 0, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 658, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 868, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 0, 299, 300, 301, 0, 0, 0, 0, 0,
0, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 0, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 0, 0,
0, 359, 360, 361, 362, 0, 363, 364, 0, 365,
366, 367, 0, 368, 369, 370, 371, 372, 0, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 0, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 0, 0, 399, 0,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 420, 0, 422, 0, 0, 424, 425, 426, 0,
0, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 0, 460, 461, 0, 463, 0,
464, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 474, 475, 476, 0, 0, 477, 478,
479, 0, 481, 0, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 499, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
0, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 0, 557, 558, 559, 560, 561, 0,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 0, 584, 585, 0, 0, 586, 0, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 599, 600, 601, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 0, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
646, 647, 648, 649, 650, 658, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6121, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 0, 255, 256, 257, 258, 259, 0, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
278, 279, 0, 0, 0, 281, 282, 283, 284, 285,
286, 0, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 0, 299, 300, 301, 0, 0,
0, 0, 0, 0, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 0, 348,
0, 349, 350, 351, 352, 353, 0, 354, 0, 355,
356, 0, 0, 0, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
372, 0, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 0, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 0,
0, 399, 0, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 0, 422, 0, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 0, 460, 461,
0, 463, 0, 464, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 0, 481, 0, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 0, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 559,
560, 561, 0, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 0, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 599, 600, 601, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 0, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 658, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 6123, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
283, 284, 285, 286, 0, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 0, 299, 300,
301, 0, 0, 0, 0, 0, 0, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 0, 0, 0, 359, 360, 361,
362, 0, 363, 364, 0, 365, 366, 367, 0, 368,
369, 370, 371, 372, 0, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
0, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 0, 0, 399, 0, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 0, 422,
0, 0, 424, 425, 426, 0, 0, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
0, 460, 461, 0, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 0, 481, 0,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 0, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 559, 560, 561, 0, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 0, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
0, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 879, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 6252, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 0, 880, 260, 881, 882, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 883,
884, 274, 0, 275, 276, 277, 278, 0, 0, 280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 0, 0, 0, 302, 0, 0,
0, 303, 304, 305, 306, 307, 308, 885, 886, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 887,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 0, 343,
344, 345, 346, 0, 0, 348, 0, 349, 350, 351,
888, 353, 0, 354, 0, 355, 356, 357, 0, 358,
359, 360, 361, 362, 0, 363, 0, 0, 0, 366,
367, 0, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 2739, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 387, 2740, 389, 390, 391, 392, 889,
890, 0, 891, 0, 396, 397, 398, 399, 400, 892,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
0, 421, 422, 423, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
0, 438, 439, 440, 441, 442, 443, 444, 445, 893,
447, 894, 449, 450, 451, 452, 453, 454, 455, 456,
0, 0, 459, 0, 460, 461, 462, 463, 0, 0,
465, 895, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 2741, 477, 478, 2742,
480, 481, 482, 0, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
0, 500, 0, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 896, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 535,
536, 537, 538, 539, 540, 0, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 2743, 560, 561, 562, 563,
564, 898, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 0,
583, 0, 584, 585, 0, 0, 586, 587, 588, 589,
590, 591, 592, 593, 0, 594, 899, 900, 0, 0,
597, 598, 0, 600, 0, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 0,
901, 2744, 623, 624, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
0, 3966, 0, 0, 0, 0, 0, 0, 0, 0,
0, 648, 649, 650, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 2745,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 0, 880, 260, 881, 882, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 883,
884, 274, 0, 275, 276, 277, 278, 0, 0, 280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 0, 0, 0, 302, 0, 0,
0, 303, 304, 305, 306, 307, 308, 885, 886, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 887,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 0, 343,
344, 345, 346, 0, 0, 348, 0, 349, 350, 351,
888, 353, 0, 354, 0, 355, 356, 357, 0, 358,
359, 360, 361, 362, 0, 363, 0, 0, 0, 366,
367, 0, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 2739, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 387, 2740, 389, 390, 391, 392, 889,
890, 0, 891, 0, 396, 397, 398, 399, 400, 892,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
0, 421, 422, 423, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
0, 438, 439, 440, 441, 442, 443, 444, 445, 893,
447, 894, 449, 450, 451, 452, 453, 454, 455, 456,
0, 0, 459, 0, 460, 461, 462, 463, 0, 0,
465, 895, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 2741, 477, 478, 2742,
480, 481, 482, 0, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
0, 500, 0, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 896, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 535,
536, 537, 538, 539, 540, 0, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 2743, 560, 561, 562, 563,
564, 898, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 0,
583, 0, 584, 585, 0, 0, 586, 587, 588, 589,
590, 591, 592, 593, 0, 594, 899, 900, 0, 0,
597, 598, 0, 600, 0, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 0,
901, 2744, 623, 624, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
0, 967, 0, 1605, 717, 0, 0, 0, 0, 778,
2629, 648, 649, 650, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 2745,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 0, 275, 276, 277, 278, 279, 0, 280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 0, 0, 0, 302, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
2630, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 1831, 348, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 357, 0, 358,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 421, 422, 423, 0, 424, 425, 426, 0, 0,
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, 0, 460, 461, 462, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
1832, 0, 474, 475, 476, 0, 0, 477, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 535,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 559, 560, 561, 562, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 587, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 1833, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 624, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 967, 0, 1605, 717, 0, 0,
0, 0, 778, 2629, 0, 0, 0, 1606, 1607, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
279, 0, 280, 0, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 298, 299, 300, 301, 0, 0, 0,
302, 0, 0, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 2635, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 1831, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
357, 0, 358, 359, 360, 361, 362, 0, 363, 364,
0, 365, 366, 367, 0, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 387, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 420, 421, 422, 423, 0, 424, 425,
426, 0, 0, 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, 0, 460, 461, 462,
463, 0, 464, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 1832, 0, 474, 475, 476, 0, 0,
477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 499, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 0, 557, 558, 559, 560,
561, 562, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 0, 584, 585, 0, 0, 586,
587, 588, 589, 590, 591, 592, 593, 0, 594, 595,
596, 0, 0, 597, 598, 599, 600, 601, 1833, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 0, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 624, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 648, 649, 650, 967, 0, 1605,
717, 0, 0, 0, 0, 778, 0, 0, 0, 0,
1606, 1607, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 279, 0, 280, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 301,
0, 0, 0, 302, 0, 0, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 3574, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
1831, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 357, 0, 358, 359, 360, 361, 362,
0, 363, 364, 0, 365, 366, 367, 0, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 387,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 421, 422, 423,
0, 424, 425, 426, 0, 0, 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, 0,
460, 461, 462, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 1832, 0, 474, 475,
476, 0, 0, 477, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 535, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 0, 557,
558, 559, 560, 561, 562, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 587, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 599, 600,
601, 1833, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 624,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
967, 0, 1605, 717, 0, 0, 0, 0, 778, 2629,
0, 0, 0, 1606, 1607, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
257, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
274, 0, 275, 276, 277, 278, 279, 0, 280, 0,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 298,
299, 300, 301, 0, 0, 0, 302, 0, 0, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 1831, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 357, 0, 358, 359,
360, 361, 362, 0, 363, 364, 0, 365, 366, 367,
0, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 387, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
421, 422, 423, 0, 424, 425, 426, 0, 0, 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, 0, 460, 461, 462, 463, 0, 464, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 1832,
0, 474, 475, 476, 0, 0, 477, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 499,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 535, 536,
537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 0, 557, 558, 559, 560, 561, 562, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
0, 584, 585, 0, 0, 586, 587, 588, 589, 590,
591, 592, 593, 0, 594, 595, 596, 0, 0, 597,
598, 599, 600, 601, 1833, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 621, 622,
0, 623, 624, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 967, 0, 1605, 717, 0, 0, 0,
0, 778, 0, 0, 0, 0, 1606, 1607, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 280, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 0, 0, 0, 302,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 1831, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 357,
0, 358, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 387, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 421, 422, 423, 0, 424, 425, 426,
0, 0, 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, 0, 460, 461, 462, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 1832, 0, 474, 475, 476, 0, 0, 477,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 0, 557, 558, 559, 560, 561,
562, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 0, 586, 587,
588, 589, 590, 591, 592, 593, 0, 594, 595, 596,
0, 0, 597, 598, 599, 600, 601, 1833, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 624, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 658, 0, 0, 0,
0, 0, 0, 0, 778, 0, 0, 0, 0, 1606,
1607, 0, 0, 0, 0, 235, 236, 779, 238, 239,
240, 241, 242, 243, 780, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 0, 781, 256, 257, 258, 259, 0,
261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
285, 286, 0, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 0, 299, 300, 301, 0,
0, 0, 0, 0, 0, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 326, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 0,
348, 0, 349, 350, 782, 352, 353, 0, 354, 0,
355, 783, 0, 784, 0, 359, 360, 361, 362, 0,
363, 364, 0, 365, 366, 367, 0, 368, 369, 370,
371, 372, 0, 374, 375, 376, 377, 785, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 0, 388,
389, 390, 391, 392, 393, 394, 0, 395, 0, 396,
0, 0, 399, 0, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 786, 0, 0, 419, 420, 0, 422, 0, 0,
424, 425, 426, 0, 0, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 448, 449, 450, 787,
452, 453, 454, 455, 456, 457, 458, 459, 0, 460,
461, 0, 463, 0, 464, 465, 466, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 0, 481, 0, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 499, 500, 501, 502, 503,
504, 0, 788, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 0, 520, 521,
522, 789, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 0, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 0, 557, 558,
559, 560, 561, 0, 563, 564, 565, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 0, 584, 585, 0,
0, 586, 0, 588, 589, 590, 591, 592, 593, 0,
594, 595, 596, 0, 0, 597, 598, 599, 600, 601,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 621, 622, 0, 623, 0, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 967,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 790, 791, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 3, 4, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 280, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 0, 0, 0, 302, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 357, 0, 358, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 387, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
422, 423, 0, 424, 425, 426, 0, 0, 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, 0, 460, 461, 462, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 562, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 587, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 624, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 1046, 1742, 0, 6449, 717, 0, 0, 0,
0, 778, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 1743, 244, 245, 246, 1744, 1745, 1746, 1747, 1748,
1749, 1750, 247, 248, 249, 1751, 250, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 1752,
263, 264, 265, 266, 267, 268, 269, 1753, 1754, 270,
271, 272, 273, 274, 1755, 275, 276, 277, 278, 279,
1756, 280, 1757, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 1758, 292, 293, 294, 295, 296,
297, 1759, 298, 299, 300, 301, 1760, 1761, 1762, 302,
1763, 1764, 1765, 303, 304, 305, 306, 307, 308, 309,
310, 311, 1766, 312, 1767, 313, 314, 315, 316, 317,
318, 319, 1768, 320, 321, 322, 323, 1769, 1770, 324,
325, 326, 327, 328, 1771, 329, 330, 331, 332, 1772,
333, 334, 335, 336, 337, 1773, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 1774, 348, 1775, 349,
350, 351, 352, 353, 1776, 354, 1777, 355, 356, 357,
1778, 358, 359, 360, 361, 362, 1779, 363, 364, 1780,
365, 366, 367, 1781, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 1782, 378, 379, 380, 381, 382,
383, 384, 385, 1783, 386, 387, 388, 389, 390, 391,
392, 393, 394, 1784, 395, 1785, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 1786,
1787, 419, 420, 421, 422, 423, 1788, 424, 425, 426,
1789, 1790, 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, 1791, 460, 461, 462, 463,
1792, 464, 465, 466, 467, 468, 469, 470, 1793, 471,
472, 473, 1794, 1795, 474, 475, 476, 1796, 1797, 477,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 1798, 496,
497, 498, 499, 500, 501, 502, 503, 504, 1799, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 1800, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 1801, 533,
534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 1802, 552,
553, 554, 555, 556, 1803, 557, 558, 559, 560, 561,
562, 563, 564, 565, 566, 1804, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 1805, 584, 585, 1806, 1807, 586, 587,
588, 589, 590, 591, 592, 593, 1808, 594, 595, 596,
1809, 1810, 597, 598, 599, 600, 601, 1811, 602, 603,
604, 605, 606, 607, 608, 609, 610, 1812, 1813, 611,
612, 613, 614, 615, 1814, 1815, 616, 617, 618, 619,
620, 621, 622, 1816, 623, 624, 625, 626, 627, 628,
629, 1817, 1818, 630, 1819, 1820, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 1742, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 1743, 244, 245, 246, 1744, 1745,
1746, 1747, 1748, 1749, 1750, 247, 248, 249, 1751, 250,
251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
261, 262, 1752, 263, 264, 265, 266, 267, 268, 269,
1753, 1754, 270, 271, 272, 273, 274, 1755, 275, 276,
277, 278, 279, 1756, 280, 1757, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 1758, 292, 293,
294, 295, 296, 297, 1759, 298, 299, 300, 301, 1760,
1761, 1762, 302, 1763, 1764, 1765, 303, 304, 305, 306,
307, 308, 309, 310, 311, 1766, 312, 1767, 313, 314,
315, 316, 317, 318, 319, 1768, 320, 321, 322, 323,
1769, 1770, 324, 325, 326, 327, 328, 1771, 329, 330,
331, 332, 1772, 333, 334, 335, 336, 337, 1773, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 1774,
348, 1775, 349, 350, 351, 352, 353, 1776, 354, 1777,
355, 356, 357, 1778, 358, 359, 360, 361, 362, 1779,
363, 364, 1780, 365, 366, 367, 1781, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 1782, 378, 379,
380, 381, 382, 383, 384, 385, 1783, 386, 387, 388,
389, 390, 391, 392, 393, 394, 1784, 395, 1785, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 418, 1786, 1787, 419, 420, 421, 422, 423, 1788,
424, 425, 426, 1789, 1790, 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, 1791, 460,
461, 462, 463, 1792, 464, 465, 466, 467, 468, 469,
470, 1793, 471, 472, 473, 1794, 1795, 474, 475, 476,
1796, 1797, 477, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 1798, 496, 497, 498, 499, 500, 501, 502, 503,
504, 1799, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 1800, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 1801, 533, 534, 535, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 1802, 552, 553, 554, 555, 556, 1803, 557, 558,
559, 560, 561, 562, 563, 564, 565, 566, 1804, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 1805, 584, 585, 1806,
1807, 586, 587, 588, 589, 590, 591, 592, 593, 1808,
594, 595, 596, 1809, 1810, 597, 598, 599, 600, 601,
1811, 602, 603, 604, 605, 606, 607, 608, 609, 610,
1812, 1813, 611, 612, 613, 614, 615, 1814, 1815, 616,
617, 618, 619, 620, 621, 622, 1816, 623, 624, 625,
626, 627, 628, 629, 1817, 1818, 630, 1819, 1820, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 1742,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 3683, 241, 242, 243, 1743, 244, 245,
246, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 247, 248,
249, 1751, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 1752, 263, 264, 265, 266,
267, 268, 269, 1753, 1754, 270, 271, 272, 273, 274,
1755, 275, 276, 277, 278, 279, 1756, 280, 1757, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1758, 292, 293, 294, 295, 296, 297, 1759, 298, 299,
300, 301, 1760, 1761, 1762, 302, 1763, 1764, 1765, 303,
304, 305, 306, 307, 308, 309, 310, 311, 1766, 312,
1767, 313, 314, 315, 316, 317, 318, 319, 1768, 320,
321, 322, 323, 1769, 1770, 324, 325, 326, 3684, 328,
1771, 329, 330, 331, 332, 1772, 333, 334, 335, 336,
337, 1773, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 1774, 348, 1775, 349, 350, 351, 352, 353,
1776, 354, 1777, 355, 356, 357, 1778, 358, 359, 360,
361, 362, 1779, 363, 364, 1780, 365, 366, 367, 1781,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
1782, 378, 379, 380, 381, 382, 383, 384, 385, 1783,
386, 387, 388, 389, 390, 391, 392, 393, 394, 1784,
395, 1785, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 1786, 1787, 419, 420, 421,
422, 423, 1788, 424, 425, 426, 1789, 1790, 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, 1791, 460, 461, 462, 463, 1792, 464, 465, 466,
467, 468, 469, 470, 1793, 471, 472, 473, 1794, 1795,
474, 475, 476, 1796, 1797, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 1798, 496, 497, 498, 499, 500,
501, 502, 503, 504, 1799, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
1800, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 1801, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 1802, 552, 553, 554, 555, 556,
1803, 3685, 558, 559, 560, 561, 562, 563, 564, 565,
566, 1804, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 1805,
584, 585, 1806, 1807, 586, 587, 588, 589, 590, 591,
592, 593, 1808, 594, 595, 596, 1809, 1810, 597, 598,
599, 600, 601, 1811, 602, 603, 604, 605, 606, 607,
608, 609, 610, 1812, 1813, 611, 612, 613, 614, 615,
1814, 1815, 616, 617, 618, 619, 620, 621, 622, 1816,
623, 624, 625, 626, 627, 628, 629, 1817, 1818, 630,
1819, 1820, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 234, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 1281, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 1284, 0,
1285, 0, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 298, 299, 300, 301, 1286, 1287, 1288, 1289, 1290,
1291, 1292, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 1297, 0, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 357, 0,
358, 359, 360, 361, 362, 0, 363, 1300, 0, 365,
366, 367, 0, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 387, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 397, 398, 399, 400,
3479, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 410,
1314, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 1315, 421, 422, 423, 0, 424, 425, 426, 1316,
1317, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 1318, 438, 439, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 1321, 459, 0, 460, 461, 462, 463, 0,
1324, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 474, 475, 476, 0, 0, 477, 478,
479, 480, 481, 482, 1327, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 1328, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 1331, 557, 558, 559, 560, 561, 562,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
1333, 583, 0, 584, 585, 1334, 0, 586, 587, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 1337, 600, 1338, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 1341, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 624, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 1343, 1344, 1345, 1346, 642, 1347, 1348, 1349,
1350, 647, 648, 649, 650, 234, 0, 1271, 717, 0,
1272, 1273, 0, 778, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 254, 255, 256, 257, 258, 1277, 260, 1278,
1279, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 1282, 1283, 274, 0, 275, 276, 277,
278, 279, 0, 280, 0, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 298, 299, 300, 301, 0, 0,
0, 302, 0, 0, 0, 303, 304, 305, 306, 307,
308, 1293, 1294, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 887, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 1298, 348,
0, 349, 350, 351, 1299, 353, 0, 354, 0, 355,
356, 357, 0, 358, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 387, 388, 389,
390, 391, 392, 1302, 1303, 0, 1304, 0, 396, 397,
398, 399, 400, 6421, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 421, 422, 423, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 1319, 447, 1320, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 0, 460, 461,
462, 463, 1323, 464, 465, 1325, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 1329, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 535, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 559,
560, 561, 562, 563, 564, 1332, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 587, 588, 589, 590, 591, 592, 593, 0, 594,
1335, 1336, 0, 0, 597, 598, 599, 600, 601, 1339,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 1342, 0, 623, 624, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 967, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 1006, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 279, 0, 280, 0, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 298, 299, 300,
301, 0, 0, 968, 302, 0, 0, 969, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 357, 0, 358, 359, 360, 361,
362, 0, 363, 364, 0, 365, 366, 367, 0, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
387, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 421, 422,
423, 0, 424, 425, 426, 0, 0, 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,
0, 460, 461, 462, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 535, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 970,
557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 587, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
624, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 967, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 1027,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 0, 275, 276, 277, 278, 279, 0, 280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 0, 0, 968, 302, 0, 0,
969, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 348, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 357, 0, 358,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 421, 422, 423, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 1028, 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, 0, 460, 461, 462, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 535,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 970, 557, 558, 559, 560, 561, 562, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 587, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 624, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 967, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
279, 0, 280, 0, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 298, 299, 300, 301, 0, 0, 968,
302, 0, 0, 969, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 0, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
357, 0, 358, 359, 360, 361, 362, 0, 363, 364,
0, 365, 366, 367, 0, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 387, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 420, 421, 422, 423, 0, 424, 425,
426, 0, 0, 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, 0, 460, 461, 462,
463, 0, 464, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 499, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 970, 557, 558, 559, 560,
561, 562, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 0, 584, 585, 0, 0, 586,
587, 588, 589, 590, 591, 592, 593, 0, 594, 595,
596, 0, 0, 597, 598, 599, 600, 601, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 3011, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 624, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 648, 649, 650, 967, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 279, 0, 280, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 301,
0, 0, 968, 302, 0, 0, 969, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
0, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 357, 0, 358, 359, 360, 361, 362,
0, 363, 364, 4037, 365, 366, 367, 0, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 387,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 421, 422, 423,
0, 424, 425, 426, 0, 0, 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, 0,
460, 461, 462, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 535, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 970, 557,
558, 559, 560, 561, 562, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 587, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 599, 600,
601, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 624,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
967, 0, 0, 717, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
257, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
274, 0, 275, 276, 277, 278, 279, 0, 280, 0,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 298,
299, 300, 301, 0, 0, 0, 302, 0, 0, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 1831, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 357, 0, 358, 359,
360, 361, 362, 0, 363, 364, 0, 365, 366, 367,
0, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 387, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
421, 422, 423, 0, 424, 425, 426, 0, 0, 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, 0, 460, 461, 462, 463, 0, 464, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 1832,
0, 474, 475, 476, 0, 0, 477, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 499,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 535, 536,
537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 0, 557, 558, 559, 560, 561, 562, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
0, 584, 585, 0, 0, 586, 587, 588, 589, 590,
591, 592, 593, 0, 594, 595, 596, 0, 0, 597,
598, 599, 600, 601, 1833, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 621, 622,
0, 623, 624, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 967, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 280, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 0, 0, 968, 302,
0, 0, 969, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 357,
0, 358, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 387, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 421, 422, 423, 0, 424, 425, 426,
0, 0, 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, 0, 460, 461, 462, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 970, 557, 558, 559, 560, 561,
562, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 0, 586, 587,
588, 589, 590, 591, 592, 593, 0, 594, 595, 596,
0, 0, 597, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 624, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 967, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
277, 278, 279, 0, 280, 0, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 298, 299, 300, 301, 0,
0, 968, 302, 0, 0, 969, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 326, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 0,
348, 0, 349, 350, 351, 352, 353, 0, 354, 0,
355, 356, 357, 0, 358, 359, 360, 361, 362, 0,
363, 364, 0, 365, 366, 367, 0, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 387, 388,
389, 390, 391, 392, 393, 394, 0, 395, 0, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 420, 421, 422, 423, 0,
424, 425, 426, 0, 0, 427, 428, 429, 430, 1122,
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, 0, 460,
461, 462, 463, 0, 464, 465, 466, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 499, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 535, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 970, 557, 558,
559, 560, 561, 562, 563, 564, 565, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 0, 584, 585, 0,
0, 586, 587, 588, 589, 590, 591, 592, 593, 0,
594, 595, 596, 0, 0, 597, 598, 599, 600, 601,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 621, 622, 0, 623, 624, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 967,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 280, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 0, 0, 968, 302, 0, 0, 969, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 357, 0, 358, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 1164, 373, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 387, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
422, 423, 0, 424, 425, 426, 0, 0, 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, 0, 460, 461, 462, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
970, 557, 558, 559, 560, 561, 562, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 587, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 624, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 967, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 298, 299, 300, 301, 0, 0, 968, 302, 0,
0, 969, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 0, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 357, 0,
358, 359, 360, 361, 362, 0, 363, 364, 0, 365,
366, 367, 0, 368, 369, 370, 371, 1177, 373, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 387, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 420, 421, 422, 423, 0, 424, 425, 426, 0,
0, 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, 0, 460, 461, 462, 463, 0,
464, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 474, 475, 476, 0, 0, 477, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 499, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 970, 557, 558, 559, 560, 561, 562,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 0, 584, 585, 0, 0, 586, 587, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 599, 600, 601, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 624, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
646, 647, 648, 649, 650, 967, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
278, 279, 0, 280, 0, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 298, 299, 300, 301, 0, 0,
968, 302, 0, 0, 969, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 0, 348,
0, 349, 350, 351, 352, 353, 0, 354, 0, 355,
356, 357, 0, 358, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
1189, 373, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 387, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 421, 422, 423, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 1190, 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, 0, 460, 461,
462, 463, 0, 464, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 535, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 970, 557, 558, 559,
560, 561, 562, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 587, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 599, 600, 601, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 624, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 967, 0,
0, 717, 0, 0, 0, 0, 0, 2612, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
259, 260, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 279, 0, 280, 0, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 298, 299, 300,
301, 0, 0, 0, 302, 0, 0, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 2613, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 357, 0, 358, 359, 360, 361,
362, 0, 363, 364, 0, 365, 366, 367, 0, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
387, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 421, 422,
423, 0, 424, 425, 426, 0, 0, 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,
0, 460, 461, 462, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 535, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 587, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
624, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 967, 0, 0, 717, 0, 0, 0, 0, 0,
1399, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 0, 275, 276, 277, 278, 279, 0, 280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 0, 0, 0, 302, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 348, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 357, 0, 358,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 387, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 421, 422, 423, 0, 424, 425, 426, 0, 0,
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, 0, 460, 461, 462, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 535,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 559, 560, 561, 562, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 587, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 624, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 967, 0, 0, 717, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
279, 0, 280, 0, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 298, 299, 300, 301, 0, 0, 0,
302, 0, 0, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 0, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
357, 0, 358, 359, 360, 361, 362, 0, 363, 364,
0, 365, 366, 367, 0, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 387, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 420, 421, 422, 423, 0, 424, 425,
426, 0, 0, 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, 0, 460, 461, 462,
463, 0, 464, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 499, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 0, 557, 558, 559, 560,
561, 562, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 0, 584, 585, 0, 0, 586,
587, 588, 589, 590, 591, 592, 593, 0, 594, 595,
596, 0, 0, 597, 598, 599, 600, 601, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 0, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 624, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 648, 649, 650, 234, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
260, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 279, 0, 280, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 301,
0, 0, 0, 302, 0, 0, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
0, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 357, 0, 358, 359, 360, 361, 362,
0, 363, 364, 0, 365, 366, 367, 0, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 387,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 421, 422, 423,
0, 424, 425, 426, 0, 0, 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, 0,
460, 461, 462, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 535, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 0, 557,
558, 559, 560, 561, 562, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 587, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 599, 600,
601, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 624,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
234, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
257, 258, 259, 260, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
274, 0, 275, 276, 277, 278, 279, 0, 280, 0,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 298,
299, 300, 301, 0, 0, 0, 302, 0, 0, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 0, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 357, 0, 358, 359,
360, 361, 362, 0, 363, 364, 0, 365, 366, 367,
0, 368, 369, 370, 371, 1148, 373, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 387, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
421, 422, 423, 0, 424, 425, 426, 0, 0, 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, 0, 460, 461, 462, 463, 0, 464, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 474, 475, 476, 0, 0, 477, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 499,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 535, 536,
537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 0, 557, 558, 559, 560, 561, 562, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
0, 584, 585, 0, 0, 586, 587, 588, 589, 590,
591, 592, 593, 0, 594, 595, 596, 0, 0, 597,
598, 599, 600, 601, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 621, 622,
0, 623, 624, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 234, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 280, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 0, 0, 0, 302,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 357,
0, 358, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 1161, 373,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 387, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 421, 422, 423, 0, 424, 425, 426,
0, 0, 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, 0, 460, 461, 462, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 0, 557, 558, 559, 560, 561,
562, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 0, 586, 587,
588, 589, 590, 591, 592, 593, 0, 594, 595, 596,
0, 0, 597, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 624, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 234, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 258, 259, 260,
261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
277, 278, 279, 0, 280, 0, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 298, 299, 300, 301, 0,
0, 0, 302, 0, 0, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 326, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 0,
348, 0, 349, 350, 351, 352, 353, 0, 354, 0,
355, 356, 357, 0, 358, 359, 360, 361, 362, 0,
363, 364, 0, 365, 366, 367, 0, 368, 369, 370,
371, 1175, 373, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 387, 388,
389, 390, 391, 392, 393, 394, 0, 395, 0, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 420, 421, 422, 423, 0,
424, 425, 426, 0, 0, 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, 0, 460,
461, 462, 463, 0, 464, 465, 466, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 499, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 535, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 0, 557, 558,
559, 560, 561, 562, 563, 564, 565, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 0, 584, 585, 0,
0, 586, 587, 588, 589, 590, 591, 592, 593, 0,
594, 595, 596, 0, 0, 597, 598, 599, 600, 601,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 621, 622, 0, 623, 624, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 234,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 280, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 0, 0, 0, 302, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 357, 0, 358, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 1179, 373, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 387, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 421,
422, 423, 0, 424, 425, 426, 0, 0, 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, 0, 460, 461, 462, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 562, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 587, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 624, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 967, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 298, 299, 300, 301, 0, 0, 0, 302, 0,
0, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 0, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 357, 0,
358, 359, 360, 361, 362, 0, 363, 364, 0, 365,
366, 367, 0, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 387, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 420, 421, 422, 423, 0, 424, 425, 426, 0,
0, 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, 0, 460, 461, 462, 463, 0,
464, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 474, 475, 476, 0, 0, 477, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 499, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 0, 557, 558, 559, 560, 561, 562,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 0, 584, 585, 0, 0, 586, 587, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 599, 600, 601, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 624, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
646, 647, 648, 649, 650, 658, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 0, 255, 256, 257, 258, 259, 0, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 272, 273, 274, 2844, 275, 276, 277,
278, 279, 0, 0, 2845, 281, 282, 283, 284, 285,
286, 0, 288, 289, 290, 291, 2846, 292, 293, 294,
295, 296, 297, 0, 0, 299, 300, 301, 0, 0,
0, 0, 0, 0, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 2847, 339,
340, 341, 342, 343, 344, 345, 346, 347, 0, 348,
0, 349, 350, 351, 352, 353, 0, 354, 2848, 355,
356, 0, 0, 0, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
2849, 0, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 0, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 0,
0, 399, 0, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 0, 422, 0, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 2850, 460, 461,
0, 463, 0, 464, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 0, 481, 0, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
2851, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 0, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 559,
560, 561, 0, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 0, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 599, 600, 601, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
2852, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 0, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 658, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 2844,
275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
283, 284, 285, 286, 0, 288, 289, 290, 291, 2846,
292, 293, 294, 295, 296, 297, 0, 0, 299, 300,
301, 0, 0, 0, 0, 0, 0, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 2847, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 2848, 355, 356, 0, 0, 0, 359, 360, 361,
362, 0, 363, 364, 0, 365, 366, 367, 0, 368,
369, 370, 371, 372, 0, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
0, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 0, 0, 399, 0, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 0, 422,
3900, 0, 424, 425, 426, 0, 0, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
2850, 460, 461, 0, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 0, 481, 0,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 2851, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 0, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 559, 560, 561, 0, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 0, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 2852, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
0, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 658, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 0, 255,
256, 257, 258, 259, 0, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 2844, 275, 276, 277, 278, 279, 0, 0,
0, 281, 282, 283, 284, 285, 286, 0, 288, 289,
290, 291, 2846, 292, 293, 294, 295, 296, 297, 0,
0, 299, 300, 301, 0, 0, 0, 0, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 2847, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 348, 0, 349, 350, 351,
352, 353, 0, 354, 2848, 355, 356, 0, 0, 0,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 0, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 0, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 0, 0, 399, 0, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 0, 422, 0, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 2850, 460, 461, 0, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
0, 481, 0, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 2851, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 0,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 559, 560, 561, 0, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 0, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 2852, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 0, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 658, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 797, 244, 798, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
0, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 799, 0, 299, 300, 301, 0, 0, 0,
0, 0, 0, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 0, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
0, 0, 0, 359, 360, 361, 362, 830, 363, 364,
0, 365, 366, 367, 0, 368, 369, 370, 371, 372,
0, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 0, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 0, 0,
399, 0, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 420, 0, 422, 0, 0, 424, 425,
426, 0, 0, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 0, 460, 461, 0,
463, 0, 464, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 479, 0, 481, 0, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 499, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 800, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 0, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 801,
552, 553, 554, 555, 556, 0, 557, 558, 559, 560,
561, 0, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 0, 584, 585, 0, 0, 586,
0, 588, 589, 590, 591, 592, 593, 0, 594, 595,
596, 0, 0, 597, 598, 599, 600, 601, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 0, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 0, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 648, 649, 650, 658, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 797, 244, 798, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 0, 255, 256, 257, 258, 259,
0, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 279, 0, 0, 0, 281, 282, 283,
284, 285, 286, 0, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 799, 0, 299, 300, 301,
0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
0, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 0, 0, 0, 359, 360, 361, 362,
3581, 363, 364, 0, 365, 366, 367, 0, 368, 369,
370, 371, 372, 0, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 0,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 0, 0, 399, 0, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 0, 422, 0,
0, 424, 425, 426, 0, 0, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 0,
460, 461, 0, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 479, 0, 481, 0, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 800, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 0, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 801, 552, 553, 554, 555, 556, 0, 557,
558, 559, 560, 561, 0, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 0, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 599, 600,
601, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 0,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
658, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 797, 244,
798, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 799, 0,
299, 300, 301, 0, 0, 0, 0, 0, 0, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 0, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 0, 0, 0, 359,
360, 361, 362, 0, 363, 364, 0, 365, 366, 367,
0, 368, 369, 370, 371, 372, 0, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 0, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 0, 0, 399, 0, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
0, 422, 0, 0, 424, 425, 426, 0, 0, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 0, 460, 461, 0, 463, 0, 464, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 474, 475, 476, 0, 0, 477, 478, 479, 0,
481, 0, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 499,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 800, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 0, 536,
537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 801, 552, 553, 554, 555,
556, 0, 557, 558, 559, 560, 561, 0, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
0, 584, 585, 0, 0, 586, 0, 588, 589, 590,
591, 592, 593, 0, 594, 595, 596, 0, 0, 597,
598, 599, 600, 601, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 621, 622,
0, 623, 0, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 658, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 3087, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
0, 255, 256, 257, 258, 259, 0, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 0, 0, 281, 282, 283, 284, 285, 286, 0,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 0, 299, 300, 301, 0, 0, 0, 2917,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 0,
0, 0, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 372, 0,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 0, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 0, 0, 399,
0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 0, 422, 0, 0, 424, 425, 426,
0, 0, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 0, 460, 461, 0, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 862, 474, 475, 476, 0, 0, 477,
478, 479, 0, 481, 0, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 0, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 0, 557, 558, 559, 560, 561,
0, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 2918, 2919, 0,
588, 589, 590, 591, 592, 593, 0, 594, 595, 596,
0, 0, 597, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 0, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 658, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 2009, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
285, 286, 0, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 0, 299, 300, 301, 0,
0, 0, 0, 0, 0, 0, 303, 304, 305, 2010,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 2011, 326, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 0,
348, 0, 349, 350, 351, 352, 353, 0, 354, 2012,
355, 356, 0, 0, 0, 2013, 360, 361, 362, 0,
363, 364, 0, 365, 366, 367, 0, 368, 369, 370,
371, 372, 0, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 0, 388,
389, 390, 391, 392, 393, 394, 0, 395, 0, 396,
0, 0, 399, 0, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 2014,
2015, 418, 0, 0, 419, 420, 0, 422, 0, 0,
424, 425, 426, 0, 0, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 0, 460,
461, 0, 463, 0, 464, 465, 466, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 0, 481, 0, 483, 484,
485, 486, 487, 2016, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 499, 500, 501, 502, 503,
504, 0, 505, 506, 507, 2017, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 0, 536, 537, 538, 2018, 540,
541, 542, 543, 544, 545, 2019, 547, 548, 549, 550,
551, 0, 2020, 553, 554, 555, 556, 0, 557, 558,
559, 560, 561, 0, 563, 564, 565, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 0, 584, 585, 0,
2021, 586, 0, 2022, 589, 590, 591, 592, 593, 0,
594, 595, 596, 0, 0, 597, 598, 599, 600, 601,
0, 602, 603, 2023, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 621, 622, 0, 623, 0, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 658,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 798,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 0, 255, 256, 257,
258, 259, 0, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 799, 0, 299,
300, 301, 0, 0, 0, 0, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 0, 0, 0, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 372, 0, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 0, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 0, 0, 399, 0, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 0,
422, 0, 0, 424, 425, 426, 0, 0, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 0, 460, 461, 0, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 0, 481,
0, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
800, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 0, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 801, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 0, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 0, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 0, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 658, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 0, 299, 300, 301, 0, 0, 0, 2917, 0,
0, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 0, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 0, 0,
0, 359, 360, 361, 362, 0, 363, 364, 0, 365,
366, 367, 0, 368, 369, 370, 371, 372, 0, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 0, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 0, 0, 399, 0,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 420, 0, 422, 0, 0, 424, 425, 426, 0,
0, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 0, 460, 461, 0, 463, 0,
464, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 0, 862, 474, 475, 476, 0, 0, 477, 478,
479, 0, 481, 0, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 499, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
0, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 0, 557, 558, 559, 560, 561, 0,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 0, 584, 585, 0, 2918, 2919, 0, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 599, 600, 601, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 0, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
646, 647, 648, 649, 650, 658, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 1020, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 0, 255, 256, 257, 258, 259, 0, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
278, 279, 0, 0, 0, 281, 282, 283, 284, 285,
286, 0, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 0, 299, 300, 301, 0, 0,
0, 0, 0, 0, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 0, 348,
0, 349, 350, 351, 352, 353, 0, 354, 0, 355,
356, 0, 0, 0, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
1021, 0, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 0, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 0,
0, 399, 0, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 0, 422, 0, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 0, 460, 461,
0, 463, 0, 464, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 862, 474, 475, 476, 0,
0, 477, 478, 479, 0, 481, 0, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 0, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 559,
560, 561, 0, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 0, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 599, 600, 601, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 0, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 658, 0,
0, 717, 0, 0, 0, 0, 0, 1401, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
283, 284, 285, 286, 0, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 0, 299, 300,
301, 0, 0, 0, 0, 0, 0, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 0, 0, 0, 359, 360, 361,
362, 0, 363, 364, 0, 365, 366, 367, 0, 368,
369, 370, 371, 372, 0, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
0, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 0, 0, 399, 0, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 0, 422,
0, 0, 424, 425, 426, 0, 0, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
0, 460, 461, 0, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 0, 481, 0,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 0, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 559, 560, 561, 0, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 0, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
0, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 658, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 3664,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 0, 255,
256, 257, 258, 259, 0, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 0, 275, 276, 277, 278, 279, 0, 0,
0, 281, 282, 283, 284, 285, 286, 0, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
0, 299, 300, 301, 0, 0, 0, 0, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 348, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 0, 0, 0,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 0, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 0, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 0, 0, 399, 0, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 0, 422, 0, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 0, 460, 461, 0, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
0, 481, 0, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 0,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 559, 560, 561, 0, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 0, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 3665, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 0, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 658, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 3677, 244, 245, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
0, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 0, 299, 300, 301, 0, 0, 0,
0, 0, 0, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 0, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
0, 0, 0, 359, 360, 361, 362, 0, 363, 364,
0, 365, 366, 367, 0, 368, 369, 370, 371, 372,
0, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 0, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 0, 0,
399, 0, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 420, 0, 422, 0, 0, 424, 425,
426, 0, 0, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 0, 460, 461, 0,
463, 0, 464, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 479, 0, 481, 0, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 499, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 0, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 0, 557, 558, 559, 560,
561, 0, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 0, 584, 585, 0, 0, 586,
0, 588, 589, 590, 591, 592, 593, 0, 594, 595,
596, 0, 0, 597, 598, 599, 600, 601, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 3678, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 0, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 648, 649, 650, 658, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 659, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 0, 255, 256, 257, 258, 259,
0, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 279, 0, 0, 0, 281, 282, 283,
284, 285, 286, 0, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 0, 299, 300, 301,
0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
0, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 0, 0, 0, 359, 360, 361, 362,
0, 363, 364, 0, 365, 366, 367, 0, 368, 369,
370, 371, 372, 0, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 0,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 0, 0, 399, 0, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 0, 422, 0,
0, 424, 425, 426, 0, 0, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 0,
460, 461, 0, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 479, 0, 481, 0, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 0, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 0, 557,
558, 559, 560, 561, 0, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 0, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 599, 600,
601, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 0,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
658, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 708, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 0,
299, 300, 301, 0, 0, 0, 0, 0, 0, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 0, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 0, 0, 0, 359,
360, 361, 362, 0, 363, 364, 0, 365, 366, 367,
0, 368, 369, 370, 371, 372, 0, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 0, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 0, 0, 399, 0, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
0, 422, 0, 0, 424, 425, 426, 0, 0, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 0, 460, 461, 0, 463, 0, 464, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 474, 475, 476, 0, 0, 477, 478, 479, 0,
481, 0, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 499,
500, 501, 502, 709, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 0, 536,
537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 0, 557, 558, 559, 560, 561, 0, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
0, 584, 585, 0, 0, 586, 0, 588, 589, 590,
591, 592, 593, 0, 594, 595, 596, 0, 0, 597,
598, 599, 600, 601, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 621, 622,
0, 623, 0, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 658, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 822, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
0, 255, 256, 257, 258, 259, 0, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 0, 0, 281, 282, 283, 284, 285, 286, 0,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 0, 299, 300, 301, 0, 0, 0, 0,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 0,
0, 0, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 372, 0,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 0, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 0, 0, 399,
0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 0, 422, 0, 0, 424, 425, 426,
0, 0, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 0, 460, 461, 0, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 479, 0, 481, 0, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 0, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 823, 0, 557, 558, 559, 560, 561,
0, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 0, 586, 0,
588, 589, 590, 591, 592, 593, 0, 594, 824, 596,
0, 0, 825, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 0, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 658, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 856, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
285, 286, 0, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 0, 299, 300, 301, 0,
0, 0, 0, 0, 0, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 326, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 0,
348, 0, 349, 350, 351, 352, 353, 0, 354, 0,
355, 356, 0, 0, 0, 359, 360, 361, 362, 0,
363, 364, 0, 365, 366, 367, 0, 368, 369, 370,
371, 372, 0, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 0, 388,
389, 390, 391, 392, 393, 394, 0, 395, 0, 396,
0, 0, 399, 0, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 420, 0, 422, 0, 0,
424, 425, 426, 0, 0, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 0, 460,
461, 0, 463, 0, 464, 465, 466, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 0, 481, 0, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 499, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 0, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 857, 0, 557, 558,
559, 560, 561, 0, 563, 564, 565, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 0, 584, 585, 0,
0, 586, 0, 588, 589, 590, 591, 592, 593, 0,
594, 858, 596, 0, 0, 859, 598, 599, 600, 601,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 621, 622, 0, 623, 0, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 658,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 0, 255, 256, 257,
258, 259, 0, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 0, 299,
300, 301, 0, 0, 0, 0, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 0, 0, 0, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 372, 0, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 0, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 0, 0, 399, 0, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 0,
422, 0, 0, 424, 425, 426, 0, 0, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 0, 460, 461, 0, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 862,
474, 475, 476, 0, 0, 477, 478, 479, 0, 481,
0, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 0, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 0, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 0, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 0, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 658, 0, 0, 0, 0, 0, 0, 0,
0, 922, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 0, 299, 300, 301, 0, 0, 0, 0, 0,
0, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 0, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 0, 0,
0, 359, 360, 361, 362, 0, 363, 364, 0, 365,
366, 367, 0, 368, 369, 370, 371, 372, 0, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 0, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 0, 0, 399, 0,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 420, 0, 422, 0, 0, 424, 425, 426, 0,
0, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 0, 460, 461, 0, 463, 0,
464, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 474, 475, 476, 0, 0, 477, 478,
479, 0, 481, 0, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 499, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
0, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 0, 557, 558, 559, 560, 561, 0,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 0, 584, 585, 0, 0, 586, 0, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 599, 600, 601, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 0, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
646, 647, 648, 649, 650, 658, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 977, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 0, 255, 256, 257, 258, 259, 0, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
278, 279, 0, 0, 0, 281, 282, 283, 284, 285,
286, 0, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 0, 299, 300, 301, 0, 0,
0, 0, 0, 0, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 0, 348,
0, 349, 350, 351, 352, 353, 0, 354, 0, 355,
356, 0, 0, 0, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
978, 0, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 0, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 0,
0, 399, 0, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 0, 422, 0, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 0, 460, 461,
0, 463, 0, 464, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 0, 481, 0, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 0, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 559,
560, 561, 0, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 0, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 599, 600, 601, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 0, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 658, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 1140, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
283, 284, 285, 286, 0, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 0, 299, 300,
301, 0, 0, 0, 0, 0, 0, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 0, 0, 0, 359, 360, 361,
362, 0, 363, 364, 0, 365, 366, 367, 0, 368,
369, 370, 371, 372, 0, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
0, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 0, 0, 399, 0, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 0, 422,
0, 0, 424, 425, 426, 0, 0, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
0, 460, 461, 0, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 0, 481, 0,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 0, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 559, 560, 561, 0, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 0, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
0, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 658, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 1390,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 0, 255,
256, 257, 258, 259, 0, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 0, 275, 276, 277, 278, 279, 0, 0,
0, 281, 282, 283, 284, 285, 286, 0, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
0, 299, 300, 301, 0, 0, 0, 0, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 348, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 0, 0, 0,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 0, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 0, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 0, 0, 399, 0, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 0, 422, 0, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 0, 460, 461, 0, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
0, 481, 0, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 0,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 559, 560, 561, 0, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 0, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 0, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 658, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 1403, 255, 256, 257, 258, 259, 0, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
842, 271, 272, 273, 1404, 0, 275, 276, 277, 278,
279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
0, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 0, 299, 300, 301, 0, 0, 0,
0, 0, 0, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 0, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
0, 0, 0, 359, 360, 361, 362, 0, 363, 364,
0, 365, 366, 367, 0, 368, 369, 370, 371, 372,
0, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 0, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 0, 0,
399, 0, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 420, 0, 422, 0, 0, 424, 425,
426, 0, 0, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 845, 446, 0, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 0, 460, 461, 0,
463, 0, 464, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 479, 0, 481, 0, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 499, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 0, 846, 537, 538, 539, 540, 541, 542,
543, 544, 545, 847, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 1394, 0, 557, 558, 559, 560,
561, 0, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 0, 584, 585, 0, 0, 586,
0, 588, 589, 590, 591, 592, 593, 0, 594, 849,
596, 0, 0, 850, 598, 599, 600, 601, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 0, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 0, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 851, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 648, 649, 650, 658, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 0, 255, 256, 257, 258, 259,
0, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 279, 0, 0, 0, 281, 282, 283,
284, 285, 286, 0, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 0, 299, 300, 301,
0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
0, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 0, 0, 0, 359, 360, 361, 362,
0, 363, 364, 0, 365, 366, 367, 0, 368, 369,
370, 371, 1549, 0, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 0,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 0, 0, 399, 0, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 0, 422, 0,
0, 424, 425, 426, 0, 0, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 0,
460, 461, 0, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 862, 474, 475,
476, 0, 0, 477, 478, 479, 0, 481, 0, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 0, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 0, 557,
558, 559, 560, 561, 0, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 0, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 599, 600,
601, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 0,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
658, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 1610, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 0,
299, 300, 301, 0, 0, 0, 0, 0, 0, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 0, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 0, 0, 0, 359,
360, 361, 362, 0, 363, 364, 0, 365, 366, 367,
0, 368, 369, 370, 371, 1611, 0, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 0, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 0, 0, 399, 0, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
0, 422, 0, 0, 424, 425, 426, 0, 0, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 0, 460, 461, 0, 463, 0, 464, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 474, 475, 476, 0, 0, 477, 478, 479, 0,
481, 0, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 499,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 0, 536,
537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 0, 557, 558, 559, 560, 561, 0, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
0, 584, 585, 0, 0, 586, 0, 588, 589, 590,
591, 592, 593, 0, 594, 595, 596, 0, 0, 597,
598, 599, 600, 601, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 621, 622,
0, 623, 0, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 658, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 822, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
0, 255, 256, 257, 258, 259, 0, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 0, 0, 281, 282, 283, 284, 285, 286, 0,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 0, 299, 300, 301, 0, 0, 0, 0,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 0,
0, 0, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 372, 0,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 0, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 0, 0, 399,
0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 0, 422, 0, 0, 424, 425, 426,
0, 0, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 0, 460, 461, 0, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 479, 0, 481, 0, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 0, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 0, 557, 558, 559, 560, 561,
0, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 0, 586, 0,
588, 589, 590, 591, 592, 593, 0, 594, 595, 596,
0, 0, 597, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 0, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 658, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
285, 286, 0, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 0, 299, 300, 301, 0,
0, 0, 0, 0, 0, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 326, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 0,
348, 0, 349, 350, 351, 352, 353, 0, 354, 0,
355, 356, 0, 0, 0, 359, 360, 361, 3428, 0,
363, 364, 0, 365, 366, 367, 0, 368, 369, 370,
371, 372, 0, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 0, 388,
389, 390, 391, 392, 393, 394, 0, 395, 0, 396,
0, 0, 399, 0, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 420, 0, 422, 0, 0,
424, 425, 3429, 0, 0, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 0, 460,
461, 0, 463, 0, 464, 465, 466, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 0, 481, 0, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 499, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 0, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 0, 557, 558,
559, 560, 561, 0, 563, 564, 565, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 0, 584, 585, 0,
3430, 586, 0, 588, 589, 3431, 591, 3432, 593, 0,
594, 595, 596, 0, 0, 597, 598, 599, 600, 601,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 3433, 614, 615, 0, 0, 616,
617, 618, 619, 620, 621, 622, 0, 623, 0, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 658,
0, 0, 0, 0, 0, 0, 0, 778, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 0, 255, 256, 257,
258, 259, 0, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 0, 299,
300, 301, 0, 0, 0, 0, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 0, 0, 0, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 372, 0, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 0, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 0, 0, 399, 0, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 0,
422, 0, 0, 424, 425, 426, 0, 0, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 0, 460, 461, 0, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 0, 481,
0, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 0, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 0, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 0, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 0, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 658, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 4257,
0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 0, 299, 300, 301, 0, 0, 0, 0, 0,
0, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 0, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 0, 0,
0, 359, 360, 361, 362, 0, 363, 364, 0, 365,
366, 367, 0, 368, 369, 370, 371, 372, 0, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 0, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 0, 0, 399, 0,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 420, 0, 422, 0, 0, 424, 425, 426, 0,
0, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 0, 460, 461, 0, 463, 0,
464, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 474, 475, 476, 0, 0, 477, 478,
479, 0, 481, 0, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 499, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
0, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 0, 557, 558, 559, 560, 561, 0,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 0, 584, 585, 0, 0, 586, 0, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 599, 600, 601, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 0, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
646, 647, 648, 649, 650, 658, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 4271, 0, 247, 248, 249, 0, 250, 251,
252, 253, 0, 255, 256, 257, 258, 259, 0, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
278, 279, 0, 0, 0, 281, 282, 283, 284, 285,
286, 0, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 0, 299, 300, 301, 0, 0,
0, 0, 0, 0, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 0, 348,
0, 349, 350, 351, 352, 353, 0, 354, 0, 355,
356, 0, 0, 0, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
372, 0, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 0, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 0,
0, 399, 0, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 0, 422, 0, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 0, 460, 461,
0, 463, 0, 464, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 0, 481, 0, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 0, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 559,
560, 561, 0, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 0, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 599, 600, 601, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 0, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 658, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
283, 284, 285, 286, 0, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 0, 299, 300,
301, 0, 0, 0, 0, 0, 0, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 4419, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 0, 0, 0, 359, 360, 361,
362, 0, 363, 364, 0, 365, 366, 367, 0, 368,
369, 370, 371, 372, 0, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
0, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 0, 0, 399, 0, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 0, 422,
0, 0, 424, 425, 426, 0, 0, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
0, 460, 461, 0, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 0, 481, 0,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 0, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 559, 560, 561, 0, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 0, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
0, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 658, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 0, 255,
256, 257, 258, 259, 0, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 0, 275, 276, 277, 278, 279, 0, 0,
0, 281, 282, 283, 284, 285, 286, 0, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
0, 299, 300, 301, 0, 0, 0, 0, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
4950, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 348, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 0, 0, 0,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 0, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 0, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 0, 0, 399, 0, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 0, 422, 0, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 0, 460, 461, 0, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
0, 481, 0, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 0,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 559, 560, 561, 0, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 0, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 0, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 658, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
0, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 0, 299, 300, 301, 0, 0, 0,
5023, 0, 0, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 0, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
0, 0, 0, 359, 360, 361, 362, 0, 363, 364,
0, 365, 366, 367, 0, 368, 369, 370, 371, 372,
0, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 0, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 0, 0,
399, 0, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 420, 0, 422, 0, 0, 424, 425,
426, 0, 0, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 0, 460, 461, 0,
463, 0, 464, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 479, 0, 481, 0, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 499, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 0, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 0, 557, 558, 559, 560,
561, 0, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 0, 584, 585, 0, 0, 586,
0, 588, 589, 590, 591, 592, 593, 0, 594, 595,
596, 0, 0, 597, 598, 599, 600, 601, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 0, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 0, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 648, 649, 650, 658, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 0, 255, 256, 257, 258, 259,
0, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 279, 0, 0, 0, 281, 282, 283,
284, 285, 286, 0, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 0, 299, 300, 301,
0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 5391, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
0, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 0, 0, 0, 359, 360, 361, 362,
0, 363, 364, 0, 365, 366, 367, 0, 368, 369,
370, 371, 372, 0, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 0,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 0, 0, 399, 0, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 0, 422, 0,
0, 424, 425, 426, 0, 0, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 0,
460, 461, 0, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 479, 0, 481, 0, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 0, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 0, 557,
558, 559, 560, 561, 0, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 0, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 599, 600,
601, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 0,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
658, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 0,
299, 300, 301, 0, 0, 0, 0, 0, 0, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 0, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 0, 0, 0, 359,
360, 361, 362, 0, 363, 364, 0, 365, 366, 367,
0, 368, 369, 370, 371, 372, 0, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 0, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 0, 0, 399, 0, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
0, 422, 0, 0, 424, 425, 426, 0, 0, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 0, 460, 461, 0, 463, 0, 464, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 474, 475, 476, 0, 0, 477, 478, 479, 0,
481, 0, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 499,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 0, 536,
537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 0, 557, 558, 559, 560, 561, 0, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
0, 584, 585, 0, 0, 586, 0, 588, 589, 590,
591, 592, 593, 0, 594, 595, 596, 0, 0, 597,
598, 599, 600, 601, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 621, 622,
0, 623, 0, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 658, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
0, 255, 256, 257, 258, 259, 0, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 0, 0, 281, 282, 283, 284, 285, 286, 0,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 0, 299, 300, 301, 0, 0, 0, 0,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 0,
0, 0, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 372, 0,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 0, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 0, 0, 399,
0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 0, 422, 0, 0, 424, 425, 426,
0, 0, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 0, 460, 461, 0, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 479, 0, 481, 0, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 0, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 0, 557, 558, 559, 560, 561,
0, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 0, 586, 0,
588, 589, 590, 591, 592, 593, 0, 594, 595, 596,
0, 0, 814, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 0, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 658, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
285, 286, 0, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 0, 299, 300, 301, 0,
0, 0, 0, 0, 0, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 326, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 0,
348, 0, 349, 350, 351, 352, 353, 0, 354, 0,
355, 356, 0, 0, 0, 359, 360, 361, 362, 0,
363, 364, 0, 365, 366, 367, 0, 368, 369, 370,
371, 372, 0, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 0, 388,
389, 390, 391, 392, 393, 394, 0, 395, 0, 396,
0, 0, 399, 0, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 420, 0, 422, 0, 0,
424, 425, 426, 0, 0, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 0, 460,
461, 0, 463, 0, 464, 465, 466, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 0, 481, 0, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 499, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 0, 536, 537, 538, 539, 540,
541, 542, 543, 820, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 0, 557, 558,
559, 560, 561, 0, 563, 564, 565, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 0, 584, 585, 0,
0, 586, 0, 588, 589, 590, 591, 592, 593, 0,
594, 595, 596, 0, 0, 597, 598, 599, 600, 601,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 621, 622, 0, 623, 0, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 658,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 0, 255, 256, 257,
258, 259, 0, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 842, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
0, 843, 293, 294, 295, 296, 297, 0, 0, 299,
300, 301, 0, 0, 0, 0, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 0, 0, 0, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 372, 0, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 0, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 0, 0, 399, 0, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 0,
422, 0, 0, 424, 425, 844, 0, 0, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 845, 446, 0, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 0, 460, 461, 0, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 0, 481,
0, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 0, 846, 537,
538, 539, 540, 541, 542, 543, 544, 545, 847, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 848,
0, 557, 558, 559, 560, 561, 0, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 0, 588, 589, 590, 591,
592, 593, 0, 594, 849, 596, 0, 0, 850, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 0, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 851, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 658, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 0, 299, 300, 301, 0, 0, 0, 0, 0,
0, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 0, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 0, 0,
0, 359, 360, 361, 362, 0, 363, 364, 0, 365,
366, 367, 0, 368, 369, 370, 371, 372, 0, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 0, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 0, 0, 399, 0,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 420, 0, 422, 0, 0, 424, 425, 426, 0,
0, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 0, 460, 461, 0, 463, 0,
464, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 474, 475, 476, 0, 0, 477, 478,
479, 0, 481, 0, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 499, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 874, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
0, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 0, 557, 558, 559, 560, 561, 0,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 0, 584, 585, 0, 0, 586, 0, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 599, 600, 601, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 0, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
646, 647, 648, 649, 650, 658, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 0, 255, 256, 257, 258, 259, 0, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
278, 279, 0, 0, 0, 281, 282, 283, 284, 285,
286, 0, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 0, 299, 300, 301, 0, 0,
0, 0, 0, 0, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 0, 348,
0, 349, 350, 351, 352, 353, 0, 354, 0, 355,
356, 0, 0, 0, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
1002, 0, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 0, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 0,
0, 399, 0, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 0, 422, 0, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 0, 460, 461,
0, 463, 0, 464, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 0, 481, 0, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 0, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 559,
560, 561, 0, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 0, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 599, 600, 601, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 0, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 658, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
283, 284, 285, 286, 0, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 0, 299, 300,
301, 0, 0, 0, 0, 0, 0, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 0, 0, 0, 359, 360, 361,
362, 0, 363, 364, 0, 365, 366, 367, 0, 368,
369, 370, 371, 1012, 0, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
0, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 0, 0, 399, 0, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 0, 422,
0, 0, 424, 425, 426, 0, 0, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
0, 460, 461, 0, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 0, 481, 0,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 0, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 559, 560, 561, 0, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 0, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
0, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 658, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 0, 255,
256, 257, 258, 259, 0, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 0, 275, 276, 277, 278, 279, 0, 0,
0, 281, 282, 283, 284, 285, 286, 0, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
0, 299, 300, 301, 0, 0, 0, 0, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 348, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 0, 0, 0,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 1015, 0, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 0, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 0, 0, 399, 0, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 0, 422, 0, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 0, 460, 461, 0, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
0, 481, 0, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 0,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 559, 560, 561, 0, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 0, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 0, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 658, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
0, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 0, 299, 300, 301, 0, 0, 0,
0, 0, 0, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 0, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
0, 0, 0, 359, 360, 361, 362, 0, 363, 364,
0, 365, 366, 367, 0, 368, 369, 370, 371, 1031,
0, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 0, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 0, 0,
399, 0, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 420, 0, 422, 0, 0, 424, 425,
426, 0, 0, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 0, 460, 461, 0,
463, 0, 464, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 479, 0, 481, 0, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 499, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 0, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 0, 557, 558, 559, 560,
561, 0, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 0, 584, 585, 0, 0, 586,
0, 588, 589, 590, 591, 592, 593, 0, 594, 595,
596, 0, 0, 597, 598, 599, 600, 601, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 0, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 0, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 648, 649, 650, 658, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 0, 255, 256, 257, 258, 259,
0, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 279, 0, 0, 0, 281, 282, 283,
284, 285, 286, 0, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 0, 299, 300, 301,
0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
0, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 0, 0, 0, 359, 360, 361, 362,
0, 363, 364, 0, 365, 366, 367, 0, 368, 369,
370, 371, 1088, 0, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 0,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 0, 0, 399, 0, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 0, 422, 0,
0, 424, 425, 426, 0, 0, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 0,
460, 461, 0, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 479, 0, 481, 0, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 0, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 0, 557,
558, 559, 560, 561, 0, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 0, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 599, 600,
601, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 0,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
658, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 0,
299, 300, 301, 0, 0, 0, 0, 0, 0, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 0, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 0, 0, 0, 359,
360, 361, 362, 0, 363, 364, 0, 365, 366, 367,
0, 368, 369, 370, 371, 1093, 0, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 0, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 0, 0, 399, 0, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
0, 422, 0, 0, 424, 425, 426, 0, 0, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 0, 460, 461, 0, 463, 0, 464, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 474, 475, 476, 0, 0, 477, 478, 479, 0,
481, 0, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 499,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 0, 536,
537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 0, 557, 558, 559, 560, 561, 0, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
0, 584, 585, 0, 0, 586, 0, 588, 589, 590,
591, 592, 593, 0, 594, 595, 596, 0, 0, 597,
598, 599, 600, 601, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 621, 622,
0, 623, 0, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 658, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
0, 255, 256, 257, 258, 259, 0, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 0, 0, 281, 282, 283, 284, 285, 286, 0,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 0, 299, 300, 301, 0, 0, 0, 0,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 0,
0, 0, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 1110, 0,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 0, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 0, 0, 399,
0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 0, 422, 0, 0, 424, 425, 426,
0, 0, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 0, 460, 461, 0, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 479, 0, 481, 0, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 0, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 0, 557, 558, 559, 560, 561,
0, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 0, 586, 0,
588, 589, 590, 591, 592, 593, 0, 594, 595, 596,
0, 0, 597, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 0, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 658, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
285, 286, 0, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 0, 299, 300, 301, 0,
0, 0, 0, 0, 0, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 326, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 0,
348, 0, 349, 350, 351, 352, 353, 0, 354, 0,
355, 356, 0, 0, 0, 359, 360, 361, 362, 0,
363, 364, 0, 365, 366, 367, 0, 368, 369, 370,
371, 1113, 0, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 0, 388,
389, 390, 391, 392, 393, 394, 0, 395, 0, 396,
0, 0, 399, 0, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 420, 0, 422, 0, 0,
424, 425, 426, 0, 0, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 0, 460,
461, 0, 463, 0, 464, 465, 466, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 0, 481, 0, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 499, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 0, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 0, 557, 558,
559, 560, 561, 0, 563, 564, 565, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 0, 584, 585, 0,
0, 586, 0, 588, 589, 590, 591, 592, 593, 0,
594, 595, 596, 0, 0, 597, 598, 599, 600, 601,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 621, 622, 0, 623, 0, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 658,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 0, 255, 256, 257,
258, 259, 0, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 0, 299,
300, 301, 0, 0, 0, 0, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 0, 0, 0, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 1115, 0, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 0, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 0, 0, 399, 0, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 0,
422, 0, 0, 424, 425, 426, 0, 0, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 0, 460, 461, 0, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 0, 481,
0, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 0, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 0, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 0, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 0, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 658, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 0, 299, 300, 301, 0, 0, 0, 0, 0,
0, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 0, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 0, 0,
0, 359, 360, 361, 362, 0, 363, 364, 0, 365,
366, 367, 0, 368, 369, 370, 371, 1153, 0, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 0, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 0, 0, 399, 0,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 420, 0, 422, 0, 0, 424, 425, 426, 0,
0, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 0, 460, 461, 0, 463, 0,
464, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 474, 475, 476, 0, 0, 477, 478,
479, 0, 481, 0, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 499, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
0, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 0, 557, 558, 559, 560, 561, 0,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 0, 584, 585, 0, 0, 586, 0, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 599, 600, 601, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 0, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
646, 647, 648, 649, 650, 658, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 0, 255, 256, 257, 258, 259, 0, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
278, 279, 0, 0, 0, 281, 282, 283, 284, 285,
286, 0, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 0, 299, 300, 301, 0, 0,
0, 0, 0, 0, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 0, 348,
0, 349, 350, 351, 352, 353, 0, 354, 0, 355,
356, 0, 0, 0, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
1181, 0, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 0, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 0,
0, 399, 0, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 0, 422, 0, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 0, 460, 461,
0, 463, 0, 464, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 0, 481, 0, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 0, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 559,
560, 561, 0, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 0, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 599, 600, 601, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 0, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 658, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
283, 284, 285, 286, 0, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 0, 299, 300,
301, 0, 0, 0, 0, 0, 0, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 0, 0, 0, 359, 360, 361,
362, 0, 363, 364, 0, 365, 366, 367, 0, 368,
369, 370, 371, 1183, 0, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
0, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 0, 0, 399, 0, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 0, 422,
0, 0, 424, 425, 426, 0, 0, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
0, 460, 461, 0, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 0, 481, 0,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 0, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 559, 560, 561, 0, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 0, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
0, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 658, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 0, 255,
256, 257, 258, 259, 0, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 0, 275, 276, 277, 278, 279, 0, 0,
0, 281, 282, 283, 284, 285, 286, 0, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
0, 299, 300, 301, 0, 0, 0, 0, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 348, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 0, 0, 0,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 1193, 0, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 0, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 0, 0, 399, 0, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 0, 422, 0, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 0, 460, 461, 0, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
0, 481, 0, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 0,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 559, 560, 561, 0, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 0, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 0, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 658, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
0, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 0, 299, 300, 301, 0, 0, 0,
0, 0, 0, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 0, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
0, 0, 0, 359, 360, 361, 362, 0, 363, 364,
0, 365, 366, 367, 0, 368, 369, 370, 371, 1196,
0, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 0, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 0, 0,
399, 0, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 420, 0, 422, 0, 0, 424, 425,
426, 0, 0, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 0, 460, 461, 0,
463, 0, 464, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 479, 0, 481, 0, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 499, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 0, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 0, 557, 558, 559, 560,
561, 0, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 0, 584, 585, 0, 0, 586,
0, 588, 589, 590, 591, 592, 593, 0, 594, 595,
596, 0, 0, 597, 598, 599, 600, 601, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 0, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 0, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 648, 649, 650, 658, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 0, 255, 256, 257, 258, 259,
0, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 279, 0, 0, 0, 281, 282, 283,
284, 285, 286, 0, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 0, 299, 300, 301,
0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
0, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 0, 0, 0, 359, 360, 361, 362,
0, 363, 364, 0, 365, 366, 367, 0, 368, 369,
370, 371, 1199, 0, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 0,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 0, 0, 399, 0, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 0, 422, 0,
0, 424, 425, 426, 0, 0, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 0,
460, 461, 0, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 479, 0, 481, 0, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 0, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 0, 557,
558, 559, 560, 561, 0, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 0, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 599, 600,
601, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 0,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
658, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 842, 271, 272, 273,
274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 0,
299, 300, 301, 0, 0, 0, 0, 0, 0, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 0, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 0, 0, 0, 359,
360, 361, 362, 0, 363, 364, 0, 365, 366, 367,
0, 368, 369, 370, 371, 372, 0, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 0, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 0, 0, 399, 0, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
0, 422, 0, 0, 424, 425, 426, 0, 0, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 845, 446, 0,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 0, 460, 461, 0, 463, 0, 464, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 474, 475, 476, 0, 0, 477, 478, 479, 0,
481, 0, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 499,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 0, 846,
537, 538, 539, 540, 541, 542, 543, 544, 545, 847,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
1394, 0, 557, 558, 559, 560, 561, 0, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
0, 584, 585, 0, 0, 586, 0, 588, 589, 590,
591, 592, 593, 0, 594, 849, 596, 0, 0, 850,
598, 599, 600, 601, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 621, 622,
0, 623, 0, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 851, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 658, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
0, 255, 256, 257, 258, 259, 0, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 0, 0, 281, 282, 283, 284, 285, 286, 0,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 0, 299, 300, 301, 0, 0, 0, 0,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 0,
0, 0, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 1874, 0,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 0, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 0, 0, 399,
0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 0, 422, 0, 0, 424, 425, 426,
0, 0, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 0, 460, 461, 0, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 479, 0, 481, 0, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 0, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 0, 557, 558, 559, 560, 561,
0, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 0, 586, 0,
588, 589, 590, 591, 592, 593, 0, 594, 595, 596,
0, 0, 597, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 0, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 658, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
285, 286, 0, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 0, 299, 300, 301, 0,
0, 0, 0, 0, 0, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 326, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 0,
348, 0, 349, 350, 351, 352, 353, 0, 354, 0,
355, 356, 0, 0, 0, 359, 360, 361, 362, 0,
363, 364, 0, 365, 366, 367, 0, 368, 369, 370,
371, 1908, 0, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 0, 388,
389, 390, 391, 392, 393, 394, 0, 395, 0, 396,
0, 0, 399, 0, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 420, 0, 422, 0, 0,
424, 425, 426, 0, 0, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 0, 460,
461, 0, 463, 0, 464, 465, 466, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 0, 481, 0, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 499, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 0, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 0, 557, 558,
559, 560, 561, 0, 563, 564, 565, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 0, 584, 585, 0,
0, 586, 0, 588, 589, 590, 591, 592, 593, 0,
594, 595, 596, 0, 0, 597, 598, 599, 600, 601,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 621, 622, 0, 623, 0, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 658,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 0, 255, 256, 257,
258, 259, 0, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 0, 299,
300, 301, 0, 0, 0, 0, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 0, 0, 0, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 1910, 0, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 0, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 0, 0, 399, 0, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 0,
422, 0, 0, 424, 425, 426, 0, 0, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 0, 460, 461, 0, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 0, 481,
0, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 0, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 0, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 0, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 0, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 658, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 0, 299, 300, 301, 0, 0, 0, 0, 0,
0, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 0, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 0, 0,
0, 359, 360, 361, 362, 0, 363, 364, 0, 365,
366, 367, 0, 368, 369, 370, 371, 1950, 0, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 0, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 0, 0, 399, 0,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 420, 0, 422, 0, 0, 424, 425, 426, 0,
0, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 0, 460, 461, 0, 463, 0,
464, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 474, 475, 476, 0, 0, 477, 478,
479, 0, 481, 0, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 499, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
0, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 0, 557, 558, 559, 560, 561, 0,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 0, 584, 585, 0, 0, 586, 0, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 599, 600, 601, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 0, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
646, 647, 648, 649, 650, 658, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 0, 255, 256, 257, 258, 259, 0, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
278, 279, 0, 0, 0, 281, 282, 283, 284, 285,
286, 0, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 0, 299, 300, 301, 0, 0,
0, 0, 0, 0, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 0, 348,
0, 349, 350, 351, 352, 353, 0, 354, 0, 355,
356, 0, 0, 0, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
1952, 0, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 0, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 0,
0, 399, 0, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 0, 422, 0, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 0, 460, 461,
0, 463, 0, 464, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 0, 481, 0, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 0, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 559,
560, 561, 0, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 0, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 599, 600, 601, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 0, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 658, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
283, 284, 285, 286, 0, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 0, 299, 300,
301, 0, 0, 0, 0, 0, 0, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 0, 0, 0, 359, 360, 361,
362, 0, 363, 364, 0, 365, 366, 367, 0, 368,
369, 370, 371, 1954, 0, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
0, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 0, 0, 399, 0, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 0, 422,
0, 0, 424, 425, 426, 0, 0, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
0, 460, 461, 0, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 0, 481, 0,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 0, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 559, 560, 561, 0, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 0, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
0, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 658, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 0, 255,
256, 257, 258, 259, 0, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 272,
273, 274, 0, 275, 276, 277, 278, 279, 0, 0,
0, 281, 282, 283, 284, 285, 286, 0, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
0, 299, 300, 301, 0, 0, 0, 0, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 348, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 0, 0, 0,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 0, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 0, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 0, 0, 399, 0, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 0, 422, 0, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 0, 460, 461, 0, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
0, 481, 0, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 0,
536, 537, 538, 539, 540, 541, 542, 543, 2048, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 559, 560, 561, 0, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 0, 588, 589,
590, 591, 592, 593, 0, 594, 595, 596, 0, 0,
597, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 0, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 658, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
0, 2731, 0, 247, 248, 249, 0, 250, 251, 252,
253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
0, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 0, 299, 300, 301, 0, 0, 0,
0, 0, 0, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 0, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
0, 0, 0, 359, 360, 361, 362, 0, 363, 364,
0, 365, 366, 367, 0, 368, 369, 370, 371, 372,
0, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 0, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 0, 0,
399, 0, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 420, 0, 422, 0, 0, 424, 425,
426, 0, 0, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 0, 460, 461, 0,
463, 0, 464, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 479, 0, 481, 0, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 499, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 0, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 0, 0, 558, 559, 560,
561, 0, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 0, 584, 585, 0, 0, 586,
0, 588, 589, 590, 591, 592, 593, 0, 594, 595,
596, 0, 0, 597, 598, 599, 600, 601, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 0, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 0, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 648, 649, 650, 658, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 0, 255, 256, 257, 258, 259,
0, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 842, 271, 272, 273, 274, 0, 275,
276, 277, 278, 279, 0, 0, 0, 281, 282, 283,
284, 285, 286, 0, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 0, 299, 300, 301,
0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
0, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 0, 0, 0, 359, 360, 361, 362,
0, 363, 364, 0, 365, 366, 367, 0, 368, 369,
370, 371, 372, 0, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 0,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 0, 0, 399, 0, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 0, 422, 0,
0, 424, 425, 426, 0, 0, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 845, 446, 0, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 0,
460, 461, 0, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 479, 0, 481, 0, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 0, 846, 537, 538, 539,
540, 541, 542, 543, 544, 545, 847, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 1394, 0, 557,
558, 559, 560, 561, 0, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 0, 2765, 589, 590, 591, 592, 593,
0, 594, 849, 596, 0, 0, 850, 598, 599, 600,
601, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 0,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 851, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
658, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 842, 271, 272, 273,
274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 0,
299, 300, 301, 0, 0, 0, 0, 0, 0, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 0, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 0, 0, 0, 359,
360, 361, 362, 0, 363, 364, 0, 365, 366, 367,
0, 368, 369, 370, 371, 372, 0, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 0, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 0, 0, 399, 0, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
0, 422, 0, 0, 424, 425, 426, 0, 0, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 845, 446, 0,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 0, 460, 461, 0, 463, 0, 464, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 474, 475, 476, 0, 0, 477, 478, 479, 0,
481, 0, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 499,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 0, 846,
537, 538, 539, 540, 541, 542, 543, 544, 545, 2827,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
2828, 0, 557, 558, 559, 560, 561, 0, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
0, 584, 585, 0, 0, 586, 0, 588, 589, 590,
591, 592, 593, 0, 594, 849, 596, 0, 0, 2829,
598, 599, 600, 601, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 621, 622,
0, 623, 0, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 851, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 658, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
0, 255, 256, 257, 258, 259, 0, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 842,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 0, 0, 281, 282, 283, 284, 285, 286, 0,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 0, 299, 300, 301, 0, 0, 0, 0,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 0,
0, 0, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 372, 0,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 0, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 0, 0, 399,
0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 0, 422, 0, 0, 424, 425, 426,
0, 0, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
845, 446, 0, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 0, 460, 461, 0, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 479, 0, 481, 0, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 0, 846, 537, 538, 539, 540, 541, 542, 543,
544, 545, 2914, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 2828, 0, 557, 558, 559, 560, 561,
0, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 0, 586, 0,
588, 589, 590, 591, 592, 593, 0, 594, 849, 596,
0, 0, 2829, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 0, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 851, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 658, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 842, 271, 272, 273, 274, 0, 275, 276,
277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
285, 286, 0, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 0, 299, 300, 301, 0,
0, 0, 0, 0, 0, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 326, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 0,
348, 0, 349, 350, 351, 352, 353, 0, 354, 0,
355, 356, 0, 0, 0, 359, 360, 361, 362, 0,
363, 364, 0, 365, 366, 367, 0, 368, 369, 370,
371, 372, 0, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 0, 388,
389, 390, 391, 392, 393, 394, 0, 395, 0, 396,
0, 0, 399, 0, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 420, 0, 422, 0, 0,
424, 425, 426, 0, 0, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 845, 446, 0, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 0, 460,
461, 0, 463, 0, 464, 465, 466, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 0, 481, 0, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 499, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 0, 846, 537, 538, 539, 540,
541, 542, 543, 544, 545, 2938, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 2828, 0, 557, 558,
559, 560, 561, 0, 563, 564, 565, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 0, 584, 585, 0,
0, 586, 0, 588, 589, 590, 591, 592, 593, 0,
594, 849, 596, 0, 0, 2829, 598, 599, 600, 601,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 621, 622, 0, 623, 0, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 851, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 658,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 0, 255, 256, 257,
258, 259, 0, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 0, 299,
300, 301, 0, 0, 0, 0, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 0, 0, 0, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 3132, 0, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 0, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 0, 0, 399, 0, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 0,
422, 0, 0, 424, 425, 426, 0, 0, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 0, 460, 461, 0, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 0, 481,
0, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 0, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 0, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 0, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 0, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 658, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 0, 299, 300, 301, 0, 0, 0, 0, 0,
0, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 0, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 0, 0,
0, 359, 360, 361, 362, 0, 363, 364, 0, 365,
366, 367, 0, 368, 369, 370, 371, 3136, 0, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 0, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 0, 0, 399, 0,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 420, 0, 422, 0, 0, 424, 425, 426, 0,
0, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 0, 460, 461, 0, 463, 0,
464, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 474, 475, 476, 0, 0, 477, 478,
479, 0, 481, 0, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 499, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
0, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 0, 557, 558, 559, 560, 561, 0,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 0, 584, 585, 0, 0, 586, 0, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 599, 600, 601, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 0, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
646, 647, 648, 649, 650, 658, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 0, 255, 256, 257, 258, 259, 0, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
278, 279, 0, 0, 0, 281, 282, 283, 284, 285,
286, 0, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 0, 299, 300, 301, 0, 0,
0, 0, 0, 0, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 0, 348,
0, 349, 350, 351, 352, 353, 0, 354, 0, 355,
356, 0, 0, 0, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
3194, 0, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 0, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 0,
0, 399, 0, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 0, 422, 0, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 0, 460, 461,
0, 463, 0, 464, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 0, 481, 0, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 0, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 559,
560, 561, 0, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 0, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 599, 600, 601, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 0, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 658, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
283, 284, 285, 286, 0, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 0, 299, 300,
301, 0, 0, 0, 0, 0, 0, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 0, 0, 0, 359, 360, 361,
362, 0, 363, 364, 0, 365, 366, 367, 0, 368,
369, 370, 371, 3586, 0, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
0, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 0, 0, 399, 0, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 0, 422,
0, 0, 424, 425, 426, 0, 0, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
0, 460, 461, 0, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 0, 481, 0,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 0, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 559, 560, 561, 0, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 0, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
0, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 658, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 0, 255,
256, 257, 258, 259, 0, 261, 262, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 842, 271, 272,
273, 274, 0, 275, 276, 277, 278, 279, 0, 0,
0, 281, 282, 283, 284, 285, 286, 0, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
0, 299, 300, 301, 0, 0, 0, 0, 0, 0,
0, 303, 304, 305, 306, 307, 308, 309, 310, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 326,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 342, 343,
344, 345, 346, 347, 0, 348, 0, 349, 350, 351,
352, 353, 0, 354, 0, 355, 356, 0, 0, 0,
359, 360, 361, 362, 0, 363, 364, 0, 365, 366,
367, 0, 368, 369, 370, 371, 372, 0, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 0, 388, 389, 390, 391, 392, 393,
394, 0, 395, 0, 396, 0, 0, 399, 0, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
420, 0, 422, 0, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 845, 446,
0, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 0, 460, 461, 0, 463, 0, 464,
465, 466, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 479,
0, 481, 0, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
499, 500, 501, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 0,
846, 537, 538, 539, 540, 541, 542, 543, 544, 545,
847, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 2828, 0, 557, 558, 559, 560, 561, 0, 563,
564, 565, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 582,
583, 0, 584, 585, 0, 0, 586, 0, 588, 589,
590, 591, 592, 593, 0, 594, 849, 596, 0, 0,
2829, 598, 599, 600, 601, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 621,
622, 0, 623, 0, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 851,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 648, 649, 650, 658, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 0, 255, 256, 257, 258, 259, 0, 261, 262,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 272, 273, 274, 0, 275, 276, 277, 278,
279, 0, 0, 0, 281, 282, 283, 284, 285, 286,
0, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 0, 299, 300, 301, 0, 0, 0,
0, 0, 0, 0, 303, 304, 305, 306, 307, 308,
309, 310, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 326, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 342, 343, 344, 345, 346, 347, 0, 348, 0,
349, 350, 351, 352, 353, 0, 354, 0, 355, 356,
0, 0, 0, 359, 360, 361, 362, 0, 363, 364,
0, 365, 366, 367, 0, 368, 369, 370, 371, 3644,
0, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 0, 388, 389, 390,
391, 392, 393, 394, 0, 395, 0, 396, 0, 0,
399, 0, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 420, 0, 422, 0, 0, 424, 425,
426, 0, 0, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 0, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 0, 460, 461, 0,
463, 0, 464, 465, 466, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 479, 0, 481, 0, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 499, 500, 501, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 0, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 0, 557, 558, 559, 560,
561, 0, 563, 564, 565, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 582, 583, 0, 584, 585, 0, 0, 586,
0, 588, 589, 590, 591, 592, 593, 0, 594, 595,
596, 0, 0, 597, 598, 599, 600, 601, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 0, 0, 616, 617, 618,
619, 620, 621, 622, 0, 623, 0, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 648, 649, 650, 658, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 0, 255, 256, 257, 258, 259,
0, 261, 262, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 279, 0, 0, 0, 281, 282, 283,
284, 285, 286, 0, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 0, 299, 300, 301,
0, 0, 0, 0, 0, 0, 0, 303, 304, 305,
306, 307, 308, 309, 310, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
0, 348, 0, 349, 350, 351, 352, 353, 0, 354,
0, 355, 356, 0, 0, 0, 359, 360, 361, 362,
0, 363, 364, 0, 365, 366, 367, 0, 368, 369,
370, 371, 3667, 0, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 0,
388, 389, 390, 391, 392, 393, 394, 0, 395, 0,
396, 0, 0, 399, 0, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 420, 0, 422, 0,
0, 424, 425, 426, 0, 0, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 0, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 0,
460, 461, 0, 463, 0, 464, 465, 466, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 479, 0, 481, 0, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 499, 500, 501, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 0, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 0, 557,
558, 559, 560, 561, 0, 563, 564, 565, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 0, 584, 585,
0, 0, 586, 0, 588, 589, 590, 591, 592, 593,
0, 594, 595, 596, 0, 0, 597, 598, 599, 600,
601, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 621, 622, 0, 623, 0,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 648, 649, 650,
658, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 0, 255, 256,
257, 258, 259, 0, 261, 262, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 272, 273,
274, 0, 275, 276, 277, 278, 279, 0, 0, 0,
281, 282, 283, 284, 285, 286, 0, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 0,
299, 300, 301, 0, 0, 0, 0, 0, 0, 0,
303, 304, 305, 306, 307, 308, 309, 310, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 0, 348, 0, 349, 350, 351, 352,
353, 0, 354, 0, 355, 356, 0, 0, 0, 359,
360, 361, 362, 0, 363, 364, 0, 365, 366, 367,
0, 368, 369, 370, 371, 3669, 0, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 0, 388, 389, 390, 391, 392, 393, 394,
0, 395, 0, 396, 0, 0, 399, 0, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 420,
0, 422, 0, 0, 424, 425, 426, 0, 0, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 446, 0,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 0, 460, 461, 0, 463, 0, 464, 465,
466, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 474, 475, 476, 0, 0, 477, 478, 479, 0,
481, 0, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 499,
500, 501, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 0, 536,
537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 0, 557, 558, 559, 560, 561, 0, 563, 564,
565, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 582, 583,
0, 584, 585, 0, 0, 586, 0, 588, 589, 590,
591, 592, 593, 0, 594, 595, 596, 0, 0, 597,
598, 599, 600, 601, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 621, 622,
0, 623, 0, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
648, 649, 650, 658, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
0, 255, 256, 257, 258, 259, 0, 261, 262, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 279,
0, 0, 0, 281, 282, 283, 284, 285, 286, 0,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 0, 299, 300, 301, 0, 0, 0, 0,
0, 0, 0, 303, 304, 305, 306, 307, 308, 309,
310, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 0, 348, 0, 349,
350, 351, 352, 353, 0, 354, 0, 355, 356, 0,
0, 0, 359, 360, 361, 362, 0, 363, 364, 0,
365, 366, 367, 0, 368, 369, 370, 371, 3819, 0,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 0, 388, 389, 390, 391,
392, 393, 394, 0, 395, 0, 396, 0, 0, 399,
0, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 420, 0, 422, 0, 0, 424, 425, 426,
0, 0, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 0, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 0, 460, 461, 0, 463,
0, 464, 465, 466, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 479, 0, 481, 0, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 499, 500, 501, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 0, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 0, 557, 558, 559, 560, 561,
0, 563, 564, 565, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 582, 583, 0, 584, 585, 0, 0, 586, 0,
588, 589, 590, 591, 592, 593, 0, 594, 595, 596,
0, 0, 597, 598, 599, 600, 601, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 621, 622, 0, 623, 0, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 658, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 0, 255, 256, 257, 258, 259, 0,
261, 262, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 272, 273, 274, 0, 275, 276,
277, 278, 279, 0, 0, 0, 281, 282, 283, 284,
285, 286, 0, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 0, 299, 300, 301, 0,
0, 0, 0, 0, 0, 0, 303, 304, 305, 306,
307, 308, 309, 310, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 3861, 326, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 0,
348, 0, 349, 350, 351, 352, 353, 0, 354, 0,
355, 356, 0, 0, 0, 359, 360, 361, 362, 0,
363, 364, 0, 365, 366, 367, 0, 368, 369, 370,
371, 372, 0, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 0, 388,
389, 390, 391, 392, 393, 394, 0, 395, 0, 396,
0, 0, 399, 0, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 420, 0, 422, 0, 0,
424, 425, 426, 0, 0, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 0, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 0, 460,
461, 0, 463, 0, 464, 465, 466, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 479, 0, 481, 0, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 499, 500, 501, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 0, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 0, 557, 558,
559, 560, 561, 0, 563, 564, 565, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 582, 583, 0, 584, 585, 0,
0, 586, 0, 588, 589, 590, 591, 592, 593, 0,
594, 595, 596, 0, 0, 597, 598, 599, 600, 601,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 621, 622, 0, 623, 0, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 648, 649, 650, 658,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 0, 255, 256, 257,
258, 259, 0, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 0, 299,
300, 301, 0, 0, 0, 0, 0, 0, 0, 303,
304, 305, 306, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 0, 348, 0, 349, 350, 351, 352, 353,
0, 354, 0, 355, 356, 0, 0, 0, 359, 360,
361, 362, 0, 363, 364, 0, 365, 366, 367, 0,
368, 369, 370, 371, 5138, 0, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 0, 388, 389, 390, 391, 392, 393, 394, 0,
395, 0, 396, 0, 0, 399, 0, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 420, 0,
422, 0, 0, 424, 425, 426, 0, 0, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 0, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 0, 460, 461, 0, 463, 0, 464, 465, 466,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 479, 0, 481,
0, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 499, 500,
501, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 0, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
0, 557, 558, 559, 560, 561, 0, 563, 564, 565,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 0,
584, 585, 0, 0, 586, 0, 588, 589, 590, 591,
592, 593, 0, 594, 595, 596, 0, 0, 597, 598,
599, 600, 601, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 621, 622, 0,
623, 0, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 648,
649, 650, 658, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 0,
255, 256, 257, 258, 259, 0, 261, 262, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
272, 273, 274, 0, 275, 276, 277, 278, 279, 0,
0, 0, 281, 282, 283, 284, 285, 286, 0, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 0, 299, 300, 301, 0, 0, 0, 0, 0,
0, 0, 303, 304, 305, 306, 307, 308, 309, 310,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 0, 348, 0, 349, 350,
351, 352, 353, 0, 354, 0, 355, 356, 0, 0,
0, 359, 360, 361, 362, 0, 363, 364, 0, 365,
366, 367, 0, 368, 369, 370, 371, 372, 0, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 0, 388, 389, 390, 391, 392,
393, 394, 0, 395, 0, 396, 0, 0, 399, 0,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 420, 0, 422, 0, 0, 424, 425, 426, 0,
0, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 0, 448, 449, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 0, 460, 461, 0, 463, 0,
464, 465, 466, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 474, 475, 476, 0, 0, 477, 478,
479, 0, 481, 0, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 5669, 0, 496, 497,
498, 499, 500, 501, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 516,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
0, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 0, 557, 558, 559, 560, 561, 0,
563, 564, 565, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
582, 583, 0, 584, 585, 0, 0, 586, 0, 588,
589, 590, 591, 592, 593, 0, 594, 595, 596, 0,
0, 597, 598, 599, 600, 601, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
621, 622, 0, 623, 0, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 637, 638, 639, 640, 641, 642, 643, 644, 645,
646, 647, 648, 649, 650, 658, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 0, 255, 256, 257, 258, 259, 0, 261,
262, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 272, 273, 274, 0, 275, 276, 277,
278, 279, 0, 0, 0, 281, 282, 283, 284, 285,
286, 0, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 0, 299, 300, 301, 0, 0,
0, 0, 0, 0, 0, 303, 304, 305, 306, 307,
308, 309, 310, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 0, 348,
0, 349, 350, 351, 352, 353, 0, 354, 0, 355,
356, 0, 0, 0, 359, 360, 361, 362, 0, 363,
364, 0, 365, 366, 367, 0, 368, 369, 370, 371,
372, 0, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 0, 388, 389,
390, 391, 392, 393, 394, 0, 395, 0, 396, 0,
0, 399, 0, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 420, 0, 422, 0, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 0, 448, 6385, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 0, 460, 461,
0, 463, 0, 464, 465, 466, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 479, 0, 481, 0, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 499, 500, 501, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 0, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 559,
560, 561, 0, 563, 564, 565, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 582, 583, 0, 584, 585, 0, 0,
586, 0, 588, 589, 590, 591, 592, 593, 0, 594,
595, 596, 0, 0, 597, 598, 599, 600, 601, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 621, 622, 0, 623, 0, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 648, 649, 650, 658, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 0, 255, 256, 257, 258,
259, 0, 261, 262, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 272, 273, 274, 0,
275, 276, 277, 278, 279, 0, 0, 0, 281, 282,
283, 284, 285, 286, 0, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 0, 299, 300,
301, 0, 0, 0, 0, 0, 0, 0, 303, 304,
305, 306, 307, 308, 309, 310, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 326, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 342, 343, 344, 345, 346,
347, 0, 348, 0, 349, 350, 351, 352, 353, 0,
354, 0, 355, 356, 0, 0, 0, 359, 360, 361,
362, 0, 363, 364, 0, 365, 0, 367, 0, 368,
369, 370, 371, 372, 0, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
0, 388, 389, 390, 391, 392, 393, 394, 0, 395,
0, 396, 0, 0, 399, 0, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 420, 0, 422,
0, 0, 424, 425, 426, 0, 0, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 446, 0, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
0, 460, 461, 0, 463, 0, 464, 465, 466, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 479, 0, 481, 0,
483, 484, 485, 486, 487, 488, 489, 490, 0, 492,
493, 494, 495, 0, 496, 497, 498, 499, 500, 501,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 0, 515, 516, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 0, 536, 537, 538,
539, 540, 541, 0, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 559, 560, 561, 0, 563, 564, 565, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 582, 583, 0, 584,
585, 0, 0, 586, 0, 588, 589, 590, 591, 592,
593, 0, 594, 595, 596, 0, 0, 597, 598, 599,
600, 601, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 621, 622, 0, 623,
0, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 648, 649,
650, 879, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 0, 880, 260, 881, 882, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 883,
884, 274, 0, 275, 276, 277, 278, 0, 0, 280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 0, 0, 0, 302, 0, 0,
0, 303, 304, 305, 306, 307, 308, 885, 886, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 887,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 0, 343,
344, 345, 346, 0, 0, 348, 0, 349, 350, 351,
888, 353, 0, 354, 0, 355, 356, 357, 0, 358,
359, 360, 361, 362, 0, 363, 0, 0, 0, 366,
367, 0, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 2739, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 387, 2740, 389, 390, 391, 392, 889,
890, 0, 891, 0, 396, 397, 398, 399, 400, 892,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
0, 421, 422, 423, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
0, 438, 439, 440, 441, 442, 443, 444, 445, 893,
447, 894, 449, 450, 451, 452, 453, 454, 455, 456,
0, 0, 459, 0, 460, 461, 462, 463, 0, 0,
465, 895, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 2742,
480, 481, 482, 0, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
0, 500, 0, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 896, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 535,
536, 537, 538, 539, 540, 0, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 2743, 560, 561, 562, 563,
564, 898, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 0,
583, 0, 584, 585, 0, 0, 586, 587, 588, 589,
590, 591, 592, 593, 0, 594, 899, 900, 0, 0,
597, 598, 0, 600, 0, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 0,
901, 2744, 623, 624, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
879, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 648, 649, 650, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
257, 0, 880, 260, 881, 882, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 883, 884,
274, 0, 275, 276, 277, 278, 0, 0, 280, 0,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 298,
299, 300, 301, 0, 0, 0, 302, 0, 0, 0,
303, 304, 305, 306, 307, 308, 885, 886, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 887, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 0, 343, 344,
345, 346, 0, 0, 348, 0, 349, 350, 351, 888,
353, 0, 354, 0, 355, 356, 357, 0, 358, 359,
360, 361, 362, 0, 363, 0, 0, 0, 366, 367,
0, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 387, 0, 389, 390, 391, 392, 889, 890,
0, 891, 0, 396, 397, 398, 399, 400, 892, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 0,
421, 422, 423, 0, 424, 425, 426, 0, 0, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 0,
438, 439, 440, 441, 442, 443, 444, 445, 893, 447,
894, 449, 450, 451, 452, 453, 454, 455, 456, 0,
0, 459, 0, 460, 461, 462, 463, 2823, 0, 465,
895, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 474, 475, 476, 0, 0, 477, 478, 0, 480,
481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 0,
500, 0, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 896, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 535, 536,
537, 538, 539, 540, 0, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 0, 557, 558, 2743, 560, 561, 562, 563, 564,
898, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 0, 583,
0, 584, 585, 0, 4647, 586, 587, 588, 589, 590,
591, 592, 593, 0, 594, 899, 900, 0, 0, 597,
598, 0, 600, 0, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 0, 901,
0, 623, 624, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 879,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648, 649, 650, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 0, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
0, 880, 260, 881, 882, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 883, 884, 274,
0, 275, 276, 277, 278, 0, 0, 280, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 0, 0, 0, 302, 0, 0, 0, 303,
304, 305, 306, 307, 308, 885, 886, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 887, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
337, 0, 338, 339, 340, 341, 0, 343, 344, 345,
346, 0, 0, 348, 0, 349, 350, 351, 888, 353,
0, 354, 0, 355, 356, 357, 0, 358, 359, 360,
361, 362, 0, 363, 0, 0, 0, 366, 367, 0,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
0, 378, 379, 380, 381, 382, 383, 384, 385, 0,
386, 387, 0, 389, 390, 391, 392, 889, 890, 0,
891, 0, 396, 397, 398, 399, 400, 892, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 412, 413,
414, 415, 416, 417, 418, 0, 0, 419, 0, 421,
422, 423, 0, 424, 425, 426, 0, 0, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 0, 438,
439, 440, 441, 442, 443, 444, 445, 893, 447, 894,
449, 450, 451, 452, 453, 454, 455, 456, 2904, 0,
459, 0, 460, 461, 462, 463, 0, 0, 465, 895,
467, 468, 469, 470, 0, 471, 472, 473, 0, 0,
474, 475, 476, 0, 0, 477, 478, 0, 480, 481,
482, 0, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 0, 496, 497, 498, 0, 500,
0, 502, 503, 504, 0, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 896, 517, 518, 519,
0, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 0, 533, 534, 535, 536, 537,
538, 539, 540, 0, 542, 543, 544, 545, 546, 547,
548, 549, 550, 551, 0, 552, 553, 554, 555, 556,
0, 557, 558, 897, 560, 561, 562, 563, 564, 898,
566, 0, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 583, 0,
584, 585, 0, 0, 586, 587, 588, 589, 590, 591,
592, 593, 0, 594, 899, 900, 0, 0, 597, 598,
0, 600, 0, 0, 602, 603, 604, 605, 606, 607,
608, 609, 610, 0, 0, 611, 612, 613, 614, 615,
0, 0, 616, 617, 618, 619, 620, 0, 901, 0,
623, 624, 625, 626, 627, 628, 629, 0, 0, 630,
0, 0, 631, 632, 633, 634, 635, 636, 879, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 648,
649, 650, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 0, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 254, 255, 256, 257, 0,
880, 260, 881, 882, 0, 263, 264, 265, 266, 267,
268, 269, 0, 0, 270, 271, 883, 884, 274, 0,
275, 276, 277, 278, 0, 0, 280, 0, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 298, 299, 300,
301, 0, 0, 0, 302, 0, 0, 0, 303, 304,
305, 306, 307, 308, 885, 886, 311, 0, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 887, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 337,
0, 338, 339, 340, 341, 0, 343, 344, 345, 346,
0, 0, 348, 0, 349, 350, 351, 888, 353, 0,
354, 0, 355, 356, 357, 0, 358, 359, 360, 361,
362, 0, 363, 0, 0, 0, 366, 367, 0, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 0,
378, 379, 380, 381, 382, 383, 384, 385, 0, 386,
387, 0, 389, 390, 391, 392, 889, 890, 0, 891,
0, 396, 397, 398, 399, 400, 892, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 412, 413, 414,
415, 416, 417, 418, 0, 0, 419, 0, 421, 422,
423, 0, 424, 425, 426, 0, 0, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 0, 438, 439,
440, 441, 442, 443, 444, 445, 893, 447, 894, 449,
450, 451, 452, 453, 454, 455, 456, 4441, 0, 459,
0, 460, 461, 462, 463, 0, 0, 465, 895, 467,
468, 469, 470, 0, 471, 472, 473, 0, 0, 474,
475, 476, 0, 0, 477, 478, 0, 480, 481, 482,
0, 484, 485, 486, 487, 488, 489, 490, 491, 492,
493, 494, 495, 0, 496, 497, 498, 0, 500, 0,
502, 503, 504, 0, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 896, 517, 518, 519, 0,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 0, 533, 534, 535, 536, 537, 538,
539, 540, 0, 542, 543, 544, 545, 546, 547, 548,
549, 550, 551, 0, 552, 553, 554, 555, 556, 0,
557, 558, 897, 560, 561, 562, 563, 564, 898, 566,
0, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 0, 583, 0, 584,
585, 0, 0, 586, 587, 588, 589, 590, 591, 592,
593, 0, 594, 899, 900, 0, 0, 597, 598, 0,
600, 0, 0, 602, 603, 604, 605, 606, 607, 608,
609, 610, 0, 0, 611, 612, 613, 614, 615, 0,
0, 616, 617, 618, 619, 620, 0, 901, 0, 623,
624, 625, 626, 627, 628, 629, 0, 0, 630, 0,
0, 631, 632, 633, 634, 635, 636, 879, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 648, 649,
650, 0, 0, 0, 0, 0, 235, 236, 237, 238,
239, 240, 241, 242, 243, 0, 244, 245, 246, 0,
0, 0, 0, 0, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 0, 880,
260, 881, 882, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 883, 884, 274, 0, 275,
276, 277, 278, 0, 0, 280, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 301,
0, 0, 0, 302, 0, 0, 0, 303, 304, 305,
306, 307, 308, 885, 886, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 887, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 337, 0,
338, 339, 340, 341, 0, 343, 344, 345, 346, 0,
0, 348, 0, 349, 350, 351, 888, 353, 6065, 354,
0, 355, 356, 357, 0, 358, 359, 360, 361, 362,
0, 363, 0, 0, 0, 366, 367, 0, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, 0, 378,
379, 380, 381, 382, 383, 384, 385, 0, 386, 387,
0, 389, 390, 391, 392, 889, 890, 0, 891, 0,
396, 397, 398, 399, 400, 892, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 412, 413, 414, 415,
416, 417, 418, 0, 0, 419, 0, 421, 422, 423,
0, 424, 425, 426, 0, 0, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 0, 438, 439, 440,
441, 442, 443, 444, 445, 893, 447, 894, 449, 450,
451, 452, 453, 454, 455, 456, 0, 0, 459, 0,
460, 461, 462, 463, 0, 0, 465, 895, 467, 468,
469, 470, 0, 471, 472, 473, 0, 0, 474, 475,
476, 0, 0, 477, 478, 0, 480, 481, 482, 0,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 0, 496, 497, 498, 0, 500, 0, 502,
503, 504, 0, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 896, 517, 518, 519, 0, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 0, 533, 534, 535, 536, 537, 538, 539,
540, 0, 542, 543, 544, 545, 546, 547, 548, 549,
550, 551, 0, 552, 553, 554, 555, 556, 0, 557,
558, 897, 560, 561, 562, 563, 564, 898, 566, 0,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 0, 583, 0, 584, 585,
0, 0, 586, 587, 588, 589, 590, 591, 592, 593,
0, 594, 899, 900, 0, 0, 597, 598, 0, 600,
0, 0, 602, 603, 604, 605, 606, 607, 608, 609,
610, 0, 0, 611, 612, 613, 614, 615, 0, 0,
616, 617, 618, 619, 620, 0, 901, 0, 623, 624,
625, 626, 627, 628, 629, 0, 0, 630, 0, 0,
631, 632, 633, 634, 635, 636, 879, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 648, 649, 650,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 0, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 0, 880, 260,
881, 882, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 883, 884, 274, 0, 275, 276,
277, 278, 0, 0, 280, 0, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 298, 299, 300, 301, 0,
0, 0, 302, 0, 0, 0, 303, 304, 305, 306,
307, 308, 885, 886, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 887, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 337, 0, 338,
339, 340, 341, 0, 343, 344, 345, 346, 0, 0,
348, 0, 349, 350, 351, 888, 353, 6429, 354, 0,
355, 356, 357, 0, 358, 359, 360, 361, 362, 0,
363, 0, 0, 0, 366, 367, 0, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 0, 378, 379,
380, 381, 382, 383, 384, 385, 0, 386, 387, 0,
389, 390, 391, 392, 889, 890, 0, 891, 0, 396,
397, 398, 399, 400, 892, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 412, 413, 414, 415, 416,
417, 418, 0, 0, 419, 0, 421, 422, 423, 0,
424, 425, 426, 0, 0, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 0, 438, 439, 440, 441,
442, 443, 444, 445, 893, 447, 894, 449, 450, 451,
452, 453, 454, 455, 456, 0, 0, 459, 0, 460,
461, 462, 463, 0, 0, 465, 895, 467, 468, 469,
470, 0, 471, 472, 473, 0, 0, 474, 475, 476,
0, 0, 477, 478, 0, 480, 481, 482, 0, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 0, 496, 497, 498, 0, 500, 0, 502, 503,
504, 0, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 896, 517, 518, 519, 0, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 0, 533, 534, 535, 536, 537, 538, 539, 540,
0, 542, 543, 544, 545, 546, 547, 548, 549, 550,
551, 0, 552, 553, 554, 555, 556, 0, 557, 558,
897, 560, 561, 562, 563, 564, 898, 566, 0, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 0, 583, 0, 584, 585, 0,
0, 586, 587, 588, 589, 590, 591, 592, 593, 0,
594, 899, 900, 0, 0, 597, 598, 0, 600, 0,
0, 602, 603, 604, 605, 606, 607, 608, 609, 610,
0, 0, 611, 612, 613, 614, 615, 0, 0, 616,
617, 618, 619, 620, 0, 901, 0, 623, 624, 625,
626, 627, 628, 629, 0, 0, 630, 0, 0, 631,
632, 633, 634, 635, 636, 879, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 648, 649, 650, 0,
0, 0, 0, 0, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 254, 255, 256, 257, 0, 880, 260, 881,
882, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 883, 884, 274, 0, 275, 276, 277,
278, 0, 0, 280, 0, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 298, 299, 300, 301, 0, 0,
0, 302, 0, 0, 0, 303, 304, 305, 306, 307,
308, 885, 886, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 887, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 337, 0, 338, 339,
340, 341, 0, 343, 344, 345, 346, 0, 0, 348,
0, 349, 350, 351, 888, 353, 0, 354, 0, 355,
356, 357, 0, 358, 359, 360, 361, 362, 0, 363,
0, 0, 0, 366, 367, 0, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 0, 378, 379, 380,
381, 382, 383, 384, 385, 0, 386, 387, 0, 389,
390, 391, 392, 889, 890, 0, 891, 0, 396, 397,
398, 399, 400, 892, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 412, 413, 414, 415, 416, 417,
418, 0, 0, 419, 0, 421, 422, 423, 0, 424,
425, 426, 0, 0, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 0, 438, 439, 440, 441, 442,
443, 444, 445, 893, 447, 894, 449, 450, 451, 452,
453, 454, 455, 456, 0, 0, 459, 0, 460, 461,
462, 463, 0, 0, 465, 895, 467, 468, 469, 470,
0, 471, 472, 473, 0, 0, 474, 475, 476, 0,
0, 477, 478, 0, 480, 481, 482, 0, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
0, 496, 497, 498, 0, 500, 0, 502, 503, 504,
0, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 896, 517, 518, 519, 0, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
0, 533, 534, 535, 536, 537, 538, 539, 540, 0,
542, 543, 544, 545, 546, 547, 548, 549, 550, 551,
0, 552, 553, 554, 555, 556, 0, 557, 558, 897,
560, 561, 562, 563, 564, 898, 566, 0, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 0, 583, 0, 584, 585, 0, 0,
586, 587, 588, 589, 590, 591, 592, 593, 0, 594,
899, 900, 0, 0, 597, 598, 0, 600, 0, 0,
602, 603, 604, 605, 606, 607, 608, 609, 610, 0,
0, 611, 612, 613, 614, 615, 0, 0, 616, 617,
618, 619, 620, 0, 901, 0, 623, 624, 625, 626,
627, 628, 629, 0, 0, 630, 0, 0, 631, 632,
633, 634, 635, 636, 879, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 648, 649, 650, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 0, 244, 245, 246, 0, 0, 0, 0,
0, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 254, 255, 256, 257, 0, 880, 260, 881, 882,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 883, 884, 274, 0, 275, 276, 277, 278,
0, 0, 280, 0, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 298, 299, 300, 301, 0, 0, 0,
302, 0, 0, 0, 303, 304, 305, 306, 307, 308,
885, 886, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 887, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 337, 0, 338, 339, 340,
341, 0, 343, 344, 345, 346, 0, 0, 348, 0,
349, 350, 351, 888, 353, 0, 354, 0, 355, 356,
357, 0, 358, 359, 360, 361, 362, 0, 363, 0,
0, 0, 366, 367, 0, 368, 369, 370, 371, 1155,
373, 374, 375, 376, 377, 0, 378, 379, 380, 381,
382, 383, 384, 385, 0, 386, 387, 0, 389, 390,
391, 392, 889, 890, 0, 891, 0, 396, 397, 398,
399, 400, 892, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 412, 413, 414, 415, 416, 417, 418,
0, 0, 419, 0, 421, 422, 423, 0, 424, 425,
426, 0, 0, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 0, 438, 439, 440, 441, 442, 443,
444, 445, 893, 447, 894, 449, 450, 451, 452, 453,
454, 455, 456, 0, 0, 459, 0, 460, 461, 462,
463, 0, 0, 465, 895, 467, 468, 469, 470, 0,
471, 472, 473, 0, 0, 474, 475, 476, 0, 0,
477, 478, 0, 480, 481, 482, 0, 484, 485, 486,
487, 488, 489, 490, 491, 492, 493, 494, 495, 0,
496, 497, 498, 0, 500, 0, 502, 503, 504, 0,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 896, 517, 518, 519, 0, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 0,
533, 534, 535, 536, 537, 538, 539, 540, 0, 542,
543, 544, 545, 546, 547, 548, 549, 550, 551, 0,
552, 553, 554, 555, 556, 0, 557, 558, 897, 560,
561, 562, 563, 564, 898, 566, 0, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 0, 583, 0, 584, 585, 0, 0, 586,
587, 588, 589, 590, 591, 592, 593, 0, 594, 899,
900, 0, 0, 597, 598, 0, 600, 0, 0, 602,
603, 604, 605, 606, 607, 608, 609, 610, 0, 0,
611, 612, 613, 614, 615, 0, 0, 616, 617, 618,
619, 620, 0, 901, 0, 623, 624, 625, 626, 627,
628, 629, 0, 0, 630, 0, 0, 631, 632, 633,
634, 635, 636, 879, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 648, 649, 650, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 0, 244, 245, 246, 0, 0, 0, 0, 0,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
254, 255, 256, 257, 0, 880, 260, 881, 882, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 883, 884, 274, 0, 275, 276, 277, 278, 0,
0, 280, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 0, 0, 0, 302,
0, 0, 0, 303, 304, 305, 306, 307, 308, 885,
886, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 887, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 337, 0, 338, 339, 340, 341,
0, 343, 344, 345, 346, 0, 0, 348, 0, 349,
350, 351, 888, 353, 0, 354, 0, 355, 356, 357,
0, 358, 359, 360, 361, 362, 0, 363, 0, 0,
0, 366, 367, 0, 368, 369, 370, 371, 1187, 373,
374, 375, 376, 377, 0, 378, 379, 380, 381, 382,
383, 384, 385, 0, 386, 387, 0, 389, 390, 391,
392, 889, 890, 0, 891, 0, 396, 397, 398, 399,
400, 892, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 412, 413, 414, 415, 416, 417, 418, 0,
0, 419, 0, 421, 422, 423, 0, 424, 425, 426,
0, 0, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 0, 438, 439, 440, 441, 442, 443, 444,
445, 893, 447, 894, 449, 450, 451, 452, 453, 454,
455, 456, 0, 0, 459, 0, 460, 461, 462, 463,
0, 0, 465, 895, 467, 468, 469, 470, 0, 471,
472, 473, 0, 0, 474, 475, 476, 0, 0, 477,
478, 0, 480, 481, 482, 0, 484, 485, 486, 487,
488, 489, 490, 491, 492, 493, 494, 495, 0, 496,
497, 498, 0, 500, 0, 502, 503, 504, 0, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
896, 517, 518, 519, 0, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 0, 533,
534, 535, 536, 537, 538, 539, 540, 0, 542, 543,
544, 545, 546, 547, 548, 549, 550, 551, 0, 552,
553, 554, 555, 556, 0, 557, 558, 897, 560, 561,
562, 563, 564, 898, 566, 0, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 0, 583, 0, 584, 585, 0, 0, 586, 587,
588, 589, 590, 591, 592, 593, 0, 594, 899, 900,
0, 0, 597, 598, 0, 600, 0, 0, 602, 603,
604, 605, 606, 607, 608, 609, 610, 0, 0, 611,
612, 613, 614, 615, 0, 0, 616, 617, 618, 619,
620, 0, 901, 0, 623, 624, 625, 626, 627, 628,
629, 0, 0, 630, 0, 0, 631, 632, 633, 634,
635, 636, 879, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 648, 649, 650, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 0, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
255, 256, 257, 0, 880, 260, 881, 882, 0, 263,
264, 265, 266, 267, 268, 269, 0, 0, 270, 271,
883, 884, 274, 0, 275, 276, 277, 278, 0, 0,
280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 298, 299, 300, 301, 0, 0, 0, 302, 0,
0, 0, 303, 304, 305, 306, 307, 308, 885, 886,
311, 0, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
887, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 337, 0, 338, 339, 340, 341, 0,
343, 344, 345, 346, 0, 0, 348, 0, 349, 350,
351, 888, 353, 0, 354, 0, 355, 356, 357, 0,
358, 359, 360, 361, 362, 0, 363, 0, 0, 0,
366, 367, 0, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 0, 378, 379, 380, 381, 382, 383,
384, 385, 0, 386, 387, 0, 389, 390, 391, 392,
889, 890, 0, 891, 0, 396, 397, 398, 399, 400,
892, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 412, 413, 414, 415, 416, 417, 418, 0, 0,
419, 0, 421, 422, 423, 0, 424, 425, 426, 0,
0, 427, 428, 429, 430, 431, 432, 433, 434, 435,
436, 0, 438, 439, 440, 441, 442, 443, 444, 445,
893, 447, 894, 449, 450, 451, 452, 453, 454, 455,
456, 0, 0, 459, 0, 460, 461, 462, 463, 0,
0, 465, 895, 467, 468, 469, 470, 0, 471, 472,
473, 0, 0, 474, 475, 476, 0, 0, 477, 478,
0, 480, 481, 482, 0, 484, 485, 486, 487, 488,
489, 490, 491, 492, 493, 494, 495, 0, 496, 497,
498, 0, 500, 0, 502, 503, 504, 0, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 896,
517, 518, 519, 0, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 0, 533, 534,
535, 536, 537, 538, 539, 540, 0, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 0, 552, 553,
554, 555, 556, 0, 557, 558, 2743, 560, 561, 562,
563, 564, 898, 566, 0, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 580, 581,
0, 583, 0, 584, 585, 0, 0, 586, 587, 588,
589, 590, 591, 592, 593, 0, 594, 899, 900, 0,
0, 597, 598, 0, 600, 0, 0, 602, 603, 604,
605, 606, 607, 608, 609, 610, 0, 0, 611, 612,
613, 614, 615, 0, 0, 616, 617, 618, 619, 620,
0, 901, 0, 623, 624, 625, 626, 627, 628, 629,
0, 0, 630, 0, 0, 631, 632, 633, 634, 635,
636, 879, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 648, 649, 650, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 0,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 0, 880, 260, 881, 882, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 883,
884, 274, 0, 275, 276, 277, 278, 0, 0, 280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 0, 0, 0, 302, 0, 0,
0, 303, 304, 305, 306, 307, 308, 885, 886, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 887,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 337, 0, 338, 339, 340, 341, 0, 343,
344, 345, 346, 0, 0, 348, 0, 349, 350, 351,
888, 353, 0, 354, 0, 355, 356, 357, 0, 358,
359, 360, 361, 362, 0, 363, 0, 0, 0, 366,
367, 0, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, 0, 378, 379, 380, 381, 382, 383, 384,
385, 0, 386, 387, 0, 389, 390, 391, 392, 889,
890, 0, 891, 0, 396, 397, 398, 399, 400, 892,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
412, 413, 414, 415, 416, 417, 418, 0, 0, 419,
0, 421, 422, 423, 0, 424, 425, 426, 0, 0,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
0, 438, 439, 440, 441, 442, 443, 444, 445, 893,
447, 894, 449, 450, 451, 452, 453, 454, 455, 456,
0, 0, 459, 0, 460, 461, 462, 463, 0, 0,
465, 895, 467, 468, 469, 470, 0, 471, 472, 473,
0, 0, 474, 475, 476, 0, 0, 477, 478, 0,
480, 481, 482, 0, 484, 485, 486, 487, 488, 489,
490, 491, 492, 493, 494, 495, 0, 496, 497, 498,
0, 500, 0, 502, 503, 504, 0, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 896, 517,
518, 519, 0, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 0, 533, 534, 535,
536, 537, 538, 539, 540, 0, 542, 543, 544, 545,
546, 547, 548, 549, 550, 551, 0, 552, 553, 554,
555, 556, 0, 557, 558, 0, 560, 561, 562, 563,
564, 898, 566, 0, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 0,
583, 0, 584, 585, 0, 0, 586, 587, 588, 589,
590, 591, 592, 593, 0, 594, 899, 900, 0, 0,
597, 598, 0, 600, 0, 0, 602, 603, 604, 605,
606, 607, 608, 609, 610, 0, 0, 611, 612, 613,
614, 615, 0, 0, 616, 617, 618, 619, 620, 0,
901, 0, 623, 624, 625, 626, 627, 628, 629, 0,
0, 630, 0, 0, 631, 632, 633, 634, 635, 636,
879, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 648, 649, 650, 0, 0, 0, 0, 0, 235,
236, 237, 238, 239, 240, 241, 242, 243, 0, 244,
245, 246, 0, 0, 0, 0, 0, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
257, 0, 0, 260, 0, 0, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 0, 0,
274, 0, 275, 276, 277, 278, 0, 0, 280, 0,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 298,
299, 300, 301, 0, 0, 0, 302, 0, 0, 0,
303, 304, 305, 306, 307, 308, 0, 0, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 337, 0, 338, 339, 340, 341, 0, 343, 344,
345, 346, 0, 0, 348, 0, 349, 350, 351, 0,
353, 0, 354, 0, 355, 356, 357, 0, 358, 359,
360, 361, 362, 0, 363, 0, 0, 0, 366, 367,
0, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 0, 378, 379, 380, 381, 382, 383, 384, 385,
0, 386, 387, 0, 389, 390, 391, 392, 0, 0,
0, 0, 0, 396, 397, 398, 399, 400, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 412,
413, 414, 415, 416, 417, 418, 0, 0, 419, 0,
421, 422, 423, 0, 424, 425, 426, 0, 0, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 0,
438, 439, 440, 441, 442, 443, 444, 445, 0, 447,
0, 449, 450, 451, 452, 453, 454, 455, 456, 0,
0, 459, 0, 460, 461, 462, 463, 0, 0, 465,
0, 467, 468, 469, 470, 0, 471, 472, 473, 0,
0, 474, 475, 476, 0, 0, 477, 478, 0, 480,
481, 482, 0, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 0, 496, 497, 498, 0,
500, 0, 502, 503, 504, 0, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 0, 517, 518,
519, 0, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 0, 533, 534, 535, 536,
537, 538, 539, 540, 0, 542, 543, 544, 545, 546,
547, 548, 549, 550, 551, 0, 552, 553, 554, 555,
556, 0, 557, 558, 0, 560, 561, 562, 563, 564,
0, 566, 0, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 0, 583,
0, 584, 585, 0, 0, 586, 587, 588, 589, 590,
591, 592, 593, 0, 594, 0, 0, 0, 0, 597,
598, 0, 600, 0, 0, 602, 603, 604, 605, 606,
607, 608, 609, 610, 0, 0, 611, 612, 613, 614,
615, 0, 0, 616, 617, 618, 619, 620, 0, 0,
0, 623, 624, 625, 626, 627, 628, 629, 0, 0,
630, 0, 0, 631, 632, 633, 634, 635, 636, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
648, 649, 650
};
static const yytype_int16 yycheck[] =
{
6, 0, 0, 665, 0, 0, 0, 0, 0, 1041,
56, 0, 0, 0, 206, 211, 0, 23, 36, 25,
0, 0, 214, 29, 1050, 217, 21, 0, 34, 35,
36, 942, 38, 686, 1013, 41, 42, 22, 44, 840,
46, 1581, 21, 28, 1167, 1045, 1030, 53, 54, 55,
1507, 0, 897, 1664, 0, 843, 718, 936, 189, 938,
2852, 0, 1014, 2046, 211, 2725, 799, 800, 801, 0,
885, 886, 805, 916, 1574, 1597, 1275, 1039, 3080, 1581,
895, 1586, 2726, 867, 45, 1116, 3255, 44, 197, 1262,
3437, 216, 3439, 3205, 763, 3145, 718, 850, 2747, 2748,
833, 2976, 1904, 765, 3107, 230, 1090, 0, 6, 2035,
1094, 954, 3737, 3935, 1228, 1099, 3532, 1574, 900, 3962,
741, 3092, 1247, 4370, 3620, 1109, 1251, 1043, 3984, 1254,
1255, 1627, 1628, 2073, 755, 1631, 2072, 1732, 2998, 1123,
23, 3951, 4286, 667, 4612, 873, 3887, 3683, 2087, 3685,
8, 4850, 2054, 36, 3490, 866, 818, 15, 3542, 4308,
4329, 175, 2111, 3655, 2113, 3657, 1013, 1564, 191, 1464,
1154, 4618, 5248, 764, 1976, 1022, 979, 1699, 1700, 191,
4623, 4635, 2, 5384, 846, 1032, 5342, 5168, 1693, 980,
754, 197, 198, 199, 4417, 739, 202, 1917, 742, 5478,
206, 1004, 208, 3506, 4580, 211, 1009, 2601, 214, 871,
50, 217, 2606, 3088, 220, 1720, 222, 3484, 4866, 225,
4868, 2710, 35, 229, 846, 231, 41, 1624, 2712, 42,
2068, 2069, 2070, 2071, 3299, 3552, 2074, 1105, 2076, 2077,
5119, 963, 5375, 2642, 1641, 3949, 4622, 4942, 6, 5514,
5526, 3396, 3391, 1121, 965, 5163, 11, 5475, 4750, 1050,
4752, 0, 939, 939, 23, 6, 1547, 3045, 225, 3047,
3048, 933, 5176, 3540, 3052, 3053, 3054, 5768, 3056, 3057,
3058, 23, 1004, 0, 0, 13, 40, 1009, 5167, 0,
2689, 4471, 97, 39, 11, 0, 5440, 5441, 80, 65,
5433, 3489, 0, 3491, 3492, 5784, 883, 884, 34, 6,
11, 49, 6, 11, 31, 12, 6, 894, 12, 6,
6, 2041, 12, 45, 174, 12, 12, 11, 6, 15,
16, 39, 39, 31, 12, 0, 6038, 15, 16, 6,
6, 122, 65, 1054, 124, 12, 12, 6, 15, 16,
45, 1084, 82, 12, 4788, 6, 21, 6, 181, 6,
39, 12, 6, 12, 6, 12, 27, 82, 12, 51,
12, 160, 180, 151, 144, 3, 159, 5, 6, 6,
65, 122, 90, 11, 12, 12, 180, 1883, 1050, 65,
1156, 56, 102, 129, 87, 13, 1162, 5, 56, 53,
6, 6082, 15, 11, 124, 65, 1172, 174, 49, 180,
1176, 13, 23, 4636, 1180, 6169, 1182, 31, 313, 23,
1420, 122, 1188, 3622, 38, 5465, 78, 6, 1194, 47,
150, 1197, 318, 204, 37, 65, 5, 1106, 6045, 180,
191, 180, 11, 115, 326, 1476, 1408, 124, 65, 229,
259, 4713, 4714, 4715, 759, 4717, 4718, 4719, 4720, 4721,
274, 174, 80, 180, 180, 204, 105, 122, 1468, 180,
392, 181, 387, 398, 1202, 180, 44, 65, 1293, 1294,
182, 142, 180, 392, 362, 5393, 4954, 204, 204, 27,
406, 82, 299, 204, 122, 33, 450, 5988, 168, 204,
450, 31, 82, 94, 41, 215, 204, 162, 38, 382,
1325, 370, 437, 6427, 94, 295, 328, 89, 5997, 495,
230, 5786, 485, 295, 475, 485, 191, 49, 300, 122,
96, 82, 435, 6287, 5515, 34, 374, 268, 50, 686,
1625, 300, 197, 253, 145, 71, 72, 336, 1464, 5682,
189, 152, 229, 1174, 1336, 6, 481, 1642, 300, 684,
122, 73, 61, 13, 295, 690, 542, 405, 6482, 27,
375, 474, 282, 139, 13, 538, 1576, 702, 538, 359,
358, 174, 396, 31, 356, 13, 256, 538, 542, 736,
38, 450, 542, 405, 82, 132, 224, 47, 170, 481,
495, 474, 180, 82, 142, 412, 1268, 358, 47, 487,
376, 82, 314, 538, 1235, 1406, 538, 1208, 295, 291,
1411, 1412, 538, 538, 180, 1246, 180, 1355, 94, 538,
80, 259, 39, 180, 202, 94, 65, 388, 180, 448,
295, 80, 1263, 538, 187, 1356, 1268, 373, 34, 6330,
1465, 127, 291, 376, 127, 316, 542, 309, 6412, 372,
666, 387, 187, 389, 187, 138, 672, 246, 674, 197,
676, 381, 6, 679, 1658, 1386, 4417, 1661, 1527, 6158,
686, 5329, 359, 204, 142, 691, 5904, 693, 538, 300,
5730, 376, 671, 699, 300, 187, 300, 3896, 1730, 1731,
376, 6308, 25, 1550, 4445, 1282, 1283, 1435, 491, 450,
225, 433, 450, 374, 375, 538, 376, 723, 1670, 765,
450, 491, 671, 377, 495, 671, 732, 516, 495, 455,
736, 5996, 671, 739, 542, 450, 742, 542, 433, 475,
671, 1403, 480, 1320, 405, 4894, 376, 528, 542, 1411,
1412, 180, 758, 499, 536, 769, 464, 477, 540, 376,
538, 1552, 542, 1631, 326, 1612, 1728, 25, 25, 4591,
2051, 1562, 465, 1501, 25, 4955, 542, 31, 671, 6270,
538, 1403, 537, 542, 538, 764, 4966, 528, 376, 5933,
484, 499, 499, 6272, 779, 6497, 781, 5778, 783, 540,
542, 415, 541, 1648, 789, 811, 534, 6509, 447, 1612,
4632, 942, 529, 530, 820, 1683, 1684, 1494, 1494, 542,
499, 4631, 519, 520, 541, 541, 1737, 4452, 529, 530,
541, 529, 530, 4458, 840, 841, 541, 843, 844, 480,
5274, 538, 848, 541, 538, 529, 530, 450, 538, 536,
1572, 538, 538, 540, 811, 1978, 862, 542, 1649, 450,
538, 867, 1653, 1654, 1441, 1442, 542, 873, 1064, 1061,
450, 538, 538, 1065, 5782, 1067, 6355, 6095, 6096, 538,
538, 4373, 542, 4375, 6149, 415, 6162, 538, 2011, 538,
2004, 538, 519, 520, 538, 4636, 538, 304, 6177, 450,
2023, 529, 530, 1625, 3779, 3780, 3555, 930, 3557, 3784,
867, 538, 542, 4249, 920, 528, 534, 1064, 930, 481,
1642, 529, 530, 536, 6403, 542, 495, 540, 934, 531,
532, 533, 534, 932, 932, 793, 932, 932, 932, 932,
932, 947, 265, 932, 932, 932, 1055, 405, 932, 1865,
519, 3922, 932, 932, 542, 6088, 962, 956, 480, 932,
529, 530, 450, 392, 542, 5660, 1619, 415, 5230, 4114,
4115, 450, 423, 424, 6107, 981, 538, 934, 4682, 450,
986, 987, 538, 932, 391, 4124, 932, 373, 542, 455,
947, 450, 180, 932, 4261, 542, 538, 473, 4265, 542,
473, 932, 336, 495, 4321, 962, 671, 265, 265, 6274,
538, 5992, 1018, 1019, 265, 473, 1884, 542, 1867, 542,
31, 542, 3511, 1547, 65, 122, 115, 542, 3512, 844,
5498, 25, 4097, 848, 874, 1041, 1042, 312, 39, 932,
2072, 180, 25, 4539, 3919, 209, 728, 192, 4540, 1055,
542, 1057, 3451, 2053, 4199, 1061, 1847, 486, 1064, 1065,
4248, 1067, 4250, 4251, 27, 5667, 1072, 158, 127, 392,
74, 122, 754, 480, 25, 127, 196, 6278, 6279, 529,
530, 531, 532, 533, 534, 40, 340, 3865, 155, 6354,
1096, 5995, 531, 532, 533, 534, 5975, 1103, 1104, 764,
765, 529, 530, 531, 532, 533, 534, 62, 2108, 115,
6243, 6187, 5991, 333, 313, 296, 127, 440, 6, 1125,
1126, 1127, 313, 1129, 1429, 1131, 116, 1133, 1134, 5505,
181, 10, 6, 5380, 13, 392, 166, 70, 17, 18,
19, 392, 4445, 65, 25, 25, 400, 180, 471, 3543,
318, 5719, 156, 5721, 274, 363, 223, 5725, 5726, 114,
219, 1167, 115, 1169, 1170, 158, 6445, 219, 1830, 6150,
208, 4667, 176, 91, 497, 158, 378, 6333, 1628, 142,
1913, 1631, 440, 440, 5407, 1951, 27, 4603, 442, 440,
444, 13, 115, 1959, 1633, 66, 1202, 101, 295, 1638,
91, 192, 127, 74, 6405, 1018, 1019, 315, 219, 291,
157, 5859, 271, 471, 471, 538, 134, 242, 10, 209,
471, 2137, 1228, 117, 1230, 17, 18, 19, 1234, 1208,
1236, 181, 2020, 2021, 127, 189, 6, 312, 3887, 497,
497, 40, 12, 134, 6463, 296, 497, 313, 442, 142,
444, 318, 207, 291, 1260, 6159, 1262, 25, 80, 206,
1266, 10, 450, 538, 13, 930, 6485, 932, 17, 18,
19, 265, 480, 437, 1280, 1714, 396, 25, 6169, 1718,
538, 538, 186, 127, 83, 315, 311, 538, 370, 491,
2747, 295, 473, 27, 219, 392, 495, 5765, 39, 33,
291, 142, 196, 304, 495, 5907, 5774, 5750, 2813, 1355,
265, 450, 6468, 402, 265, 270, 1322, 408, 538, 1139,
275, 333, 5165, 192, 2052, 316, 2054, 1948, 3977, 5776,
5152, 54, 2060, 5189, 479, 376, 291, 5780, 2066, 2067,
528, 1962, 5796, 2845, 348, 1351, 1352, 1353, 5158, 1355,
2078, 6427, 540, 1211, 1975, 1213, 5824, 1215, 291, 1217,
2088, 1219, 1220, 1221, 5856, 328, 2094, 4370, 1226, 291,
1376, 3091, 327, 5749, 542, 219, 6280, 1941, 1060, 3315,
274, 122, 332, 277, 265, 265, 2681, 398, 259, 1071,
3329, 3330, 25, 2898, 2105, 3334, 6287, 1988, 392, 30,
467, 1945, 392, 5779, 387, 1087, 6482, 370, 142, 1973,
1424, 1417, 300, 331, 473, 408, 1960, 450, 4910, 1963,
375, 473, 291, 291, 475, 408, 300, 457, 382, 1435,
538, 437, 2085, 1883, 500, 314, 2833, 3376, 3377, 3034,
331, 392, 405, 4935, 399, 435, 440, 437, 3, 6353,
6018, 27, 345, 91, 376, 204, 1479, 1480, 94, 1482,
6364, 411, 473, 94, 468, 420, 101, 1479, 1480, 2013,
1482, 122, 1619, 2017, 2018, 1481, 199, 471, 227, 1485,
1486, 204, 312, 405, 437, 5654, 121, 328, 479, 440,
1496, 1497, 1498, 1499, 3443, 1501, 134, 265, 3, 5648,
6404, 6, 396, 497, 302, 6204, 355, 12, 4892, 5977,
117, 392, 392, 3124, 437, 4851, 471, 265, 1524, 3,
471, 6412, 314, 74, 159, 443, 538, 2051, 182, 370,
300, 173, 255, 458, 350, 6439, 318, 37, 93, 1496,
122, 1498, 204, 1208, 538, 475, 497, 27, 473, 185,
182, 182, 443, 1559, 398, 122, 126, 60, 1564, 440,
440, 1567, 1244, 126, 405, 314, 142, 6471, 32, 6383,
27, 2603, 328, 209, 1580, 1581, 33, 318, 145, 306,
5116, 3, 313, 1589, 539, 152, 1592, 538, 4855, 196,
471, 471, 147, 4860, 328, 137, 4863, 139, 4648, 166,
74, 4604, 6433, 328, 6435, 2605, 333, 176, 538, 93,
479, 1276, 117, 1619, 370, 1621, 497, 497, 1624, 513,
94, 1627, 1628, 259, 392, 1631, 6155, 6156, 131, 473,
291, 1296, 265, 137, 1633, 1641, 370, 478, 1644, 1638,
5887, 1647, 6456, 3143, 392, 370, 514, 526, 527, 528,
529, 530, 531, 532, 533, 534, 226, 538, 538, 159,
314, 437, 142, 226, 148, 1671, 5407, 274, 6499, 347,
277, 405, 440, 5516, 669, 326, 1981, 475, 6146, 29,
405, 317, 3139, 1689, 306, 142, 3143, 410, 124, 538,
1355, 196, 440, 331, 5504, 1701, 1702, 1703, 1704, 1705,
122, 343, 52, 471, 183, 2010, 536, 262, 370, 2014,
540, 333, 374, 1719, 2019, 1714, 174, 2022, 300, 1718,
352, 352, 538, 471, 1730, 1731, 1732, 211, 186, 497,
4605, 366, 1689, 300, 526, 527, 528, 529, 530, 531,
532, 533, 534, 405, 295, 2771, 204, 398, 171, 497,
4528, 4611, 328, 295, 1946, 4533, 220, 539, 389, 392,
542, 1957, 5906, 398, 495, 2681, 761, 347, 4417, 274,
538, 425, 277, 328, 452, 4567, 102, 526, 527, 528,
529, 530, 531, 532, 533, 534, 437, 528, 243, 396,
538, 295, 135, 229, 370, 536, 4445, 538, 539, 540,
6268, 542, 437, 146, 405, 443, 442, 440, 444, 1956,
1957, 538, 6, 538, 1479, 1480, 192, 1482, 479, 455,
498, 295, 453, 1829, 455, 42, 1935, 6356, 459, 405,
481, 31, 468, 495, 1840, 471, 291, 405, 471, 56,
835, 114, 1848, 1849, 495, 4848, 481, 781, 782, 783,
387, 335, 786, 787, 788, 181, 3, 519, 1864, 295,
495, 327, 796, 286, 497, 450, 405, 171, 519, 405,
220, 328, 452, 295, 353, 2641, 1882, 1883, 300, 168,
387, 372, 6350, 31, 519, 440, 374, 538, 443, 215,
457, 396, 1898, 1899, 1900, 1901, 113, 426, 2743, 124,
318, 1907, 469, 538, 230, 538, 513, 386, 1914, 35,
36, 1917, 269, 370, 336, 291, 538, 405, 498, 94,
405, 400, 380, 359, 125, 150, 1932, 253, 155, 1935,
437, 538, 2660, 1615, 328, 2723, 473, 137, 2085, 1945,
1946, 542, 5785, 528, 248, 5767, 93, 122, 405, 6093,
1956, 1957, 328, 408, 1960, 540, 282, 1963, 138, 438,
489, 10, 405, 2934, 13, 2944, 2882, 256, 17, 18,
19, 316, 1978, 1979, 542, 101, 370, 395, 414, 1985,
2771, 1987, 466, 328, 5794, 328, 312, 4636, 37, 137,
474, 452, 2908, 477, 370, 121, 2843, 270, 2004, 200,
147, 218, 275, 542, 495, 2011, 542, 2013, 513, 1988,
2016, 2017, 2018, 10, 2020, 2021, 13, 2023, 473, 308,
17, 18, 19, 2069, 2030, 370, 2044, 370, 519, 256,
155, 2037, 327, 159, 2040, 2041, 6283, 498, 2044, 219,
37, 2047, 2048, 168, 3015, 3168, 2052, 5543, 2054, 174,
125, 542, 5221, 2059, 2060, 381, 2035, 542, 5325, 4042,
2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075,
2076, 2077, 2078, 2030, 291, 300, 2082, 4060, 2084, 2085,
2086, 2087, 2088, 2089, 2090, 2091, 2035, 306, 2094, 2035,
2096, 2097, 3008, 159, 2100, 3552, 2035, 2944, 223, 542,
125, 306, 5404, 479, 2035, 3562, 327, 327, 185, 2771,
405, 2117, 2118, 2119, 333, 262, 5118, 3028, 3029, 3030,
295, 370, 492, 392, 17, 200, 2994, 29, 333, 2135,
180, 256, 1990, 26, 1992, 2982, 1994, 3637, 1996, 5142,
1998, 486, 2035, 442, 2002, 444, 5448, 5990, 495, 475,
52, 3762, 6008, 422, 204, 5157, 405, 2948, 3074, 328,
1842, 6408, 4098, 3362, 2047, 2956, 5137, 4103, 2959, 2175,
3017, 1853, 542, 4113, 4076, 200, 3160, 394, 227, 5989,
3637, 328, 259, 308, 405, 405, 5355, 1869, 5357, 2922,
5537, 2924, 497, 318, 2997, 542, 4135, 4136, 4137, 4138,
114, 370, 4141, 4142, 4143, 4144, 4145, 4146, 4147, 4148,
4149, 4150, 5748, 2924, 243, 765, 4018, 182, 6, 366,
2841, 27, 168, 370, 12, 536, 168, 374, 174, 540,
227, 5106, 174, 5108, 155, 74, 405, 542, 185, 3735,
366, 1923, 495, 3111, 3112, 3113, 3114, 168, 3116, 3844,
175, 216, 31, 174, 389, 3850, 1938, 328, 405, 1941,
1942, 175, 291, 370, 4102, 314, 4205, 4206, 818, 4107,
4108, 389, 398, 3141, 5386, 1209, 328, 2283, 1212, 538,
1214, 3786, 1216, 122, 1218, 362, 211, 93, 1222, 542,
1972, 1973, 245, 440, 375, 366, 443, 211, 405, 370,
124, 5079, 223, 5081, 5082, 5083, 85, 5799, 6151, 88,
256, 437, 259, 4239, 256, 3231, 95, 314, 370, 538,
455, 871, 269, 1988, 405, 5821, 150, 159, 3833, 135,
359, 2337, 398, 538, 405, 256, 142, 455, 269, 155,
146, 362, 467, 5346, 123, 184, 2683, 3546, 495, 495,
174, 285, 168, 405, 452, 481, 270, 5773, 174, 485,
3, 275, 308, 82, 295, 442, 308, 444, 387, 495,
2035, 437, 82, 519, 124, 94, 310, 5380, 399, 408,
328, 5728, 4956, 933, 94, 28, 181, 308, 2394, 213,
4964, 3157, 538, 519, 471, 362, 3162, 318, 3164, 328,
150, 3134, 421, 0, 2069, 184, 155, 223, 3174, 4247,
487, 3177, 538, 3179, 3180, 481, 437, 3183, 197, 168,
215, 3187, 370, 3189, 3093, 174, 3192, 3218, 2093, 495,
6273, 210, 399, 328, 2116, 230, 3958, 3353, 2683, 13,
256, 370, 528, 3359, 473, 374, 387, 359, 389, 1886,
93, 6495, 541, 519, 540, 537, 295, 405, 253, 371,
542, 300, 6284, 213, 495, 6090, 487, 291, 6512, 1906,
437, 295, 538, 47, 223, 370, 405, 526, 527, 528,
529, 530, 531, 532, 533, 534, 542, 5, 519, 401,
3256, 10, 308, 11, 13, 442, 285, 444, 17, 18,
19, 19, 318, 416, 536, 148, 80, 256, 540, 348,
405, 542, 312, 450, 455, 538, 495, 317, 37, 37,
487, 310, 328, 5526, 471, 364, 183, 3438, 441, 526,
527, 528, 529, 530, 531, 532, 533, 534, 475, 5886,
519, 291, 350, 174, 6484, 295, 467, 174, 174, 5684,
74, 102, 15, 16, 5689, 5690, 80, 5669, 6498, 308,
366, 204, 37, 1008, 370, 495, 398, 198, 211, 318,
94, 198, 198, 2579, 2580, 2581, 2582, 2583, 2584, 2585,
2586, 2587, 1027, 2589, 455, 1030, 381, 3298, 304, 519,
247, 519, 520, 2599, 2600, 6, 487, 2603, 122, 405,
124, 12, 5605, 3331, 2610, 437, 412, 495, 2804, 497,
538, 2803, 6, 2805, 2806, 3343, 519, 520, 12, 4558,
6442, 539, 6, 2288, 542, 6, 150, 533, 12, 468,
181, 12, 538, 6, 540, 538, 2642, 6461, 2644, 12,
6464, 2647, 2648, 422, 395, 2651, 425, 2653, 2643, 481,
2656, 467, 3380, 3444, 2660, 6, 6, 2804, 15, 16,
184, 12, 12, 495, 215, 531, 3791, 2972, 246, 2974,
536, 3623, 538, 2978, 540, 5453, 538, 2683, 540, 230,
5, 3463, 3464, 2689, 2690, 2642, 11, 519, 3441, 213,
538, 2800, 335, 10, 2700, 3423, 13, 539, 538, 5,
542, 297, 253, 2709, 2710, 11, 538, 3659, 227, 536,
3553, 538, 4695, 540, 533, 2840, 5, 2723, 467, 538,
536, 540, 11, 539, 540, 2731, 273, 2733, 4711, 386,
47, 282, 2689, 2690, 6, 6, 393, 54, 3738, 382,
12, 12, 455, 400, 6236, 3398, 395, 531, 3563, 6241,
6242, 5801, 536, 6, 538, 2773, 540, 2775, 5407, 12,
56, 312, 22, 80, 2674, 2675, 2676, 2773, 28, 2775,
3107, 295, 35, 36, 537, 668, 300, 3624, 4389, 542,
372, 438, 3444, 2789, 312, 2683, 3497, 5662, 1004, 317,
536, 434, 538, 1009, 2800, 314, 98, 2803, 2804, 2805,
2806, 269, 398, 2809, 461, 4741, 2812, 103, 2933, 269,
398, 4613, 4748, 4749, 287, 288, 289, 290, 495, 539,
497, 3587, 542, 466, 348, 718, 719, 2833, 519, 520,
381, 474, 128, 3947, 477, 2728, 153, 387, 388, 2845,
364, 437, 209, 539, 296, 297, 542, 4352, 538, 437,
540, 147, 273, 2859, 2860, 2812, 3342, 153, 3344, 3345,
2866, 455, 3107, 3710, 4321, 4387, 89, 4389, 539, 2875,
4372, 542, 539, 487, 539, 542, 6223, 542, 539, 175,
5529, 542, 199, 179, 5887, 481, 4059, 204, 442, 3014,
444, 2897, 539, 481, 442, 542, 444, 3928, 194, 495,
539, 198, 3668, 542, 3670, 6397, 3890, 495, 387, 388,
3215, 539, 2918, 495, 542, 497, 0, 61, 6087, 539,
4425, 814, 542, 519, 539, 2931, 539, 542, 395, 542,
539, 519, 539, 542, 539, 542, 246, 542, 255, 3601,
538, 834, 538, 539, 468, 541, 398, 485, 2954, 842,
538, 2957, 845, 846, 847, 11, 3577, 3578, 326, 539,
539, 2918, 542, 542, 539, 435, 539, 542, 539, 542,
3886, 542, 539, 539, 538, 542, 542, 2983, 2984, 3601,
539, 387, 388, 542, 2649, 437, 2971, 539, 387, 388,
542, 5994, 2998, 5637, 3000, 3001, 539, 314, 539, 542,
3733, 542, 392, 539, 300, 3738, 542, 526, 527, 528,
529, 530, 531, 532, 533, 534, 3884, 101, 2683, 539,
2098, 5305, 542, 2101, 5308, 312, 3032, 3033, 3034, 481,
398, 539, 3038, 542, 542, 5910, 5911, 61, 539, 539,
3046, 542, 542, 495, 539, 487, 539, 542, 3814, 542,
5672, 5673, 539, 3059, 3820, 542, 495, 538, 497, 3065,
356, 3067, 6409, 2728, 137, 50, 139, 519, 155, 437,
3262, 155, 3264, 3265, 3080, 539, 5848, 5849, 542, 3085,
4620, 168, 6051, 6052, 168, 3091, 538, 174, 3094, 539,
174, 539, 542, 410, 542, 539, 180, 495, 542, 497,
3106, 3107, 186, 4625, 229, 189, 3727, 4306, 539, 193,
541, 3117, 539, 481, 539, 542, 539, 542, 540, 542,
2802, 3127, 539, 3129, 515, 542, 2808, 495, 3749, 539,
539, 539, 542, 542, 542, 539, 223, 315, 542, 223,
6487, 4641, 539, 6145, 3481, 542, 539, 3484, 312, 542,
3259, 519, 539, 539, 174, 542, 542, 1050, 315, 6162,
539, 312, 3168, 542, 3170, 539, 3172, 50, 542, 256,
538, 515, 256, 539, 2856, 515, 542, 539, 4178, 539,
542, 229, 542, 3916, 4641, 539, 531, 539, 542, 10,
542, 539, 13, 179, 542, 3532, 17, 18, 19, 3205,
517, 539, 539, 3540, 542, 542, 542, 539, 539, 3107,
542, 542, 529, 530, 531, 532, 533, 534, 5878, 40,
539, 308, 538, 542, 308, 539, 539, 541, 312, 542,
3892, 318, 3894, 3126, 318, 539, 3481, 484, 542, 3484,
4006, 4230, 4008, 4232, 4010, 539, 539, 539, 542, 542,
542, 3398, 538, 3259, 3260, 4171, 3262, 4371, 3264, 3265,
4374, 3267, 4046, 4377, 539, 344, 539, 542, 3274, 542,
3892, 4233, 3894, 3279, 6277, 3580, 4067, 39, 539, 4279,
6283, 542, 4837, 538, 4839, 3331, 3907, 3532, 3909, 10,
539, 539, 13, 542, 378, 3540, 17, 18, 19, 539,
539, 538, 542, 542, 10, 539, 539, 13, 542, 542,
539, 17, 18, 19, 3976, 61, 4316, 5253, 5254, 539,
180, 5260, 542, 3329, 3330, 3331, 539, 539, 3334, 542,
542, 37, 539, 225, 3380, 542, 3342, 3343, 3344, 3345,
539, 40, 539, 542, 539, 542, 539, 542, 1241, 542,
54, 55, 3358, 437, 3976, 3361, 225, 3363, 539, 3506,
4971, 542, 539, 62, 538, 542, 539, 0, 538, 542,
3376, 3377, 6164, 539, 3380, 1268, 542, 540, 539, 539,
467, 542, 542, 467, 3066, 539, 539, 539, 542, 542,
542, 4266, 3398, 4268, 3400, 1496, 3402, 1498, 3404, 499,
40, 538, 4130, 538, 4388, 6408, 227, 370, 492, 539,
494, 495, 542, 204, 538, 114, 160, 3423, 540, 160,
3426, 312, 62, 204, 3430, 370, 312, 160, 160, 204,
160, 312, 516, 370, 4936, 174, 4164, 160, 3484, 254,
124, 4062, 475, 538, 312, 3451, 304, 174, 539, 536,
74, 295, 536, 540, 40, 539, 540, 541, 295, 499,
538, 3126, 312, 295, 1357, 50, 50, 295, 101, 460,
3431, 3432, 3433, 1366, 114, 3481, 295, 93, 3484, 3485,
4208, 328, 487, 3489, 3490, 3491, 3492, 487, 4216, 1382,
3536, 89, 3498, 314, 3451, 455, 174, 3503, 351, 160,
4416, 4344, 4418, 4318, 160, 160, 227, 538, 207, 160,
1403, 499, 3518, 1406, 1407, 160, 160, 542, 1411, 1412,
174, 227, 155, 160, 160, 160, 3532, 312, 4444, 160,
3536, 160, 160, 3539, 3540, 168, 3542, 160, 160, 160,
160, 174, 160, 437, 184, 538, 40, 180, 174, 254,
4664, 312, 4536, 186, 10, 174, 189, 13, 6, 538,
193, 538, 4514, 538, 3246, 174, 265, 207, 538, 5552,
538, 270, 538, 538, 538, 324, 275, 3583, 302, 3261,
538, 538, 538, 3481, 3266, 538, 3484, 538, 538, 538,
223, 47, 291, 314, 538, 538, 538, 538, 54, 538,
538, 3607, 3608, 538, 538, 538, 538, 538, 314, 538,
538, 538, 538, 4524, 6406, 3297, 538, 538, 538, 538,
538, 538, 538, 256, 80, 265, 538, 538, 327, 3934,
270, 496, 169, 225, 3532, 275, 542, 3643, 5577, 542,
40, 105, 3540, 254, 40, 3651, 39, 448, 538, 448,
450, 291, 536, 450, 4445, 450, 536, 450, 180, 538,
542, 174, 308, 174, 306, 10, 3331, 405, 13, 5608,
450, 70, 17, 18, 19, 308, 375, 450, 392, 312,
450, 486, 450, 392, 540, 318, 450, 327, 256, 392,
450, 450, 81, 450, 528, 3701, 450, 153, 392, 94,
399, 160, 312, 251, 397, 526, 527, 528, 529, 530,
531, 532, 533, 534, 450, 3380, 450, 300, 130, 3725,
440, 420, 450, 474, 312, 333, 4031, 387, 306, 3735,
538, 5188, 450, 450, 197, 375, 538, 94, 3403, 542,
3887, 328, 130, 199, 204, 378, 160, 130, 204, 197,
475, 116, 450, 475, 3419, 450, 130, 61, 206, 399,
450, 450, 450, 450, 450, 450, 214, 450, 450, 217,
61, 450, 471, 279, 450, 1668, 450, 316, 450, 450,
420, 4697, 355, 1676, 355, 450, 355, 450, 440, 333,
333, 450, 450, 49, 542, 227, 539, 450, 543, 255,
450, 227, 312, 227, 437, 526, 527, 528, 529, 530,
531, 532, 533, 534, 227, 312, 3481, 227, 227, 3484,
526, 527, 528, 529, 530, 531, 532, 533, 534, 227,
227, 471, 40, 227, 467, 227, 450, 137, 3844, 139,
160, 538, 312, 460, 3850, 160, 295, 122, 475, 160,
160, 160, 486, 295, 312, 3861, 262, 295, 314, 492,
295, 494, 495, 40, 40, 538, 166, 3532, 174, 538,
246, 3536, 538, 394, 160, 3540, 160, 160, 475, 475,
160, 304, 227, 516, 450, 180, 491, 4887, 299, 538,
13, 539, 3898, 3899, 3900, 279, 450, 279, 4689, 542,
538, 189, 323, 536, 197, 452, 539, 540, 541, 3915,
542, 515, 4678, 538, 515, 4681, 197, 396, 277, 408,
492, 536, 3604, 3929, 4261, 538, 223, 539, 4265, 243,
3612, 231, 539, 539, 313, 475, 539, 539, 40, 539,
475, 3947, 3948, 3949, 4710, 61, 321, 3953, 542, 542,
539, 392, 486, 300, 410, 4800, 538, 300, 300, 3965,
450, 538, 450, 450, 4585, 4586, 300, 174, 312, 314,
5510, 50, 312, 538, 414, 243, 295, 300, 243, 387,
254, 254, 254, 273, 312, 450, 440, 287, 288, 289,
290, 4870, 130, 542, 294, 295, 312, 542, 1891, 312,
300, 204, 1895, 370, 312, 198, 450, 450, 3965, 495,
359, 318, 402, 5127, 405, 4021, 4261, 40, 227, 539,
4265, 246, 475, 475, 354, 528, 160, 306, 174, 4035,
4036, 40, 487, 4370, 438, 3717, 176, 3719, 355, 538,
4046, 402, 160, 538, 306, 160, 160, 475, 495, 295,
40, 295, 312, 4059, 29, 312, 246, 306, 4786, 195,
195, 517, 1486, 174, 40, 175, 246, 402, 3961, 174,
312, 295, 4078, 529, 530, 531, 532, 533, 534, 204,
4086, 542, 4088, 4214, 204, 204, 450, 204, 61, 4046,
180, 204, 542, 276, 499, 312, 4102, 542, 304, 538,
4106, 4107, 4108, 5087, 3997, 542, 540, 4113, 495, 542,
4116, 180, 539, 4119, 539, 180, 318, 539, 480, 4125,
539, 4127, 542, 539, 4130, 4370, 378, 542, 324, 4135,
4136, 4137, 4138, 3815, 137, 4141, 4142, 4143, 4144, 4145,
4146, 4147, 4148, 4149, 4150, 516, 5668, 334, 4154, 4155,
4156, 4917, 180, 294, 539, 180, 542, 457, 4164, 539,
515, 539, 4208, 4169, 537, 542, 4212, 4173, 538, 469,
4961, 539, 2065, 539, 450, 4181, 539, 3859, 4184, 539,
4186, 526, 527, 528, 529, 530, 531, 532, 533, 534,
542, 539, 269, 539, 492, 189, 4202, 518, 539, 4205,
4206, 538, 4208, 539, 537, 4211, 4212, 538, 4974, 4975,
4216, 538, 4218, 4219, 538, 473, 538, 0, 519, 264,
4873, 4227, 4228, 4229, 542, 492, 538, 481, 312, 528,
61, 312, 315, 538, 312, 538, 160, 450, 450, 450,
217, 4247, 4248, 4249, 4250, 4251, 300, 4253, 4254, 163,
450, 4257, 295, 538, 160, 4261, 538, 209, 425, 4265,
4239, 4222, 4223, 4224, 4225, 4271, 4603, 4604, 6207, 6208,
4417, 211, 6211, 3955, 538, 723, 405, 160, 160, 209,
254, 312, 163, 528, 732, 397, 450, 475, 397, 397,
4239, 739, 4298, 4239, 742, 163, 3961, 392, 4445, 256,
4239, 492, 335, 5069, 5070, 335, 472, 4313, 4239, 4315,
163, 4932, 266, 137, 130, 139, 422, 3999, 101, 450,
450, 266, 450, 450, 266, 392, 450, 295, 450, 450,
392, 392, 3997, 392, 405, 160, 49, 49, 539, 227,
539, 539, 166, 450, 192, 5802, 4239, 450, 537, 450,
450, 450, 450, 450, 227, 539, 316, 539, 4603, 4604,
3, 542, 174, 4261, 4370, 4371, 4372, 4265, 4374, 460,
50, 4377, 155, 4379, 5107, 115, 539, 542, 4683, 4684,
4685, 4686, 4687, 174, 538, 168, 539, 40, 160, 5300,
450, 174, 4398, 160, 174, 528, 306, 180, 192, 4081,
475, 538, 475, 186, 160, 392, 189, 231, 392, 392,
193, 392, 392, 402, 158, 158, 5037, 227, 227, 227,
227, 227, 227, 227, 5335, 227, 227, 149, 231, 468,
468, 61, 536, 312, 5200, 312, 312, 5203, 5204, 13,
223, 312, 486, 180, 324, 539, 542, 4453, 294, 542,
539, 539, 4134, 539, 539, 542, 538, 5223, 322, 539,
230, 537, 230, 287, 288, 289, 290, 539, 439, 539,
294, 539, 4370, 256, 4459, 539, 300, 4159, 319, 61,
538, 538, 193, 538, 447, 378, 4471, 480, 92, 4636,
460, 174, 40, 475, 246, 450, 475, 217, 61, 440,
160, 88, 422, 4509, 460, 184, 475, 397, 163, 10,
539, 4848, 13, 450, 5135, 450, 6127, 450, 4855, 450,
392, 450, 392, 4860, 539, 308, 4863, 539, 370, 312,
538, 495, 538, 61, 481, 318, 4542, 440, 174, 5340,
80, 312, 5458, 4208, 160, 115, 47, 4212, 460, 227,
4556, 539, 4558, 54, 227, 227, 227, 243, 212, 450,
4566, 499, 312, 40, 542, 312, 4572, 539, 333, 3,
309, 538, 538, 538, 4239, 460, 46, 4583, 186, 80,
542, 542, 5705, 450, 5707, 538, 187, 538, 402, 539,
115, 180, 4598, 227, 147, 378, 4261, 4603, 4604, 244,
4265, 300, 244, 4848, 300, 4611, 300, 1055, 300, 180,
4855, 539, 539, 1061, 4620, 4860, 539, 1065, 4863, 1067,
539, 539, 61, 539, 4630, 542, 324, 493, 493, 333,
539, 539, 230, 457, 538, 542, 4642, 4643, 538, 538,
494, 306, 528, 495, 305, 469, 180, 4653, 2072, 2073,
10, 447, 153, 13, 437, 450, 211, 495, 4664, 4665,
460, 80, 198, 2087, 542, 198, 40, 300, 300, 528,
61, 440, 2096, 542, 450, 74, 4682, 450, 160, 542,
163, 539, 227, 1131, 467, 1133, 1134, 47, 450, 450,
5716, 538, 129, 182, 54, 122, 40, 291, 199, 5487,
204, 306, 538, 204, 40, 4603, 4604, 402, 176, 492,
295, 494, 495, 402, 306, 475, 495, 4723, 61, 86,
80, 440, 40, 180, 312, 538, 4873, 174, 5381, 2622,
365, 495, 315, 516, 4740, 214, 4629, 225, 180, 5853,
538, 5046, 5047, 542, 5049, 480, 539, 539, 61, 539,
419, 539, 4758, 536, 255, 395, 539, 540, 541, 40,
83, 538, 94, 538, 205, 539, 5419, 138, 312, 450,
324, 40, 538, 160, 160, 450, 539, 174, 40, 538,
4786, 539, 539, 4789, 539, 538, 300, 5408, 211, 5903,
538, 4797, 4798, 153, 267, 402, 538, 538, 475, 4805,
4806, 539, 538, 160, 4810, 5142, 538, 538, 538, 4815,
115, 40, 4818, 314, 4820, 539, 316, 180, 417, 460,
4826, 417, 539, 174, 4830, 4831, 4832, 4833, 542, 40,
539, 312, 208, 539, 114, 538, 5950, 5951, 538, 199,
542, 538, 4848, 40, 204, 4851, 37, 440, 538, 4855,
538, 542, 480, 364, 4860, 5583, 197, 4863, 4864, 174,
4866, 475, 4868, 440, 538, 4871, 312, 4873, 64, 5597,
209, 539, 6, 167, 499, 538, 388, 315, 2771, 388,
4886, 74, 74, 541, 4890, 138, 4892, 143, 479, 5655,
4908, 5619, 495, 495, 491, 255, 312, 5142, 5626, 480,
152, 539, 4908, 171, 100, 171, 334, 4589, 539, 410,
40, 5827, 538, 542, 538, 405, 5942, 446, 268, 446,
180, 440, 300, 440, 312, 5716, 538, 312, 402, 40,
4936, 4937, 40, 315, 2827, 315, 182, 182, 4603, 159,
205, 499, 499, 538, 357, 5711, 4952, 5863, 538, 357,
4848, 387, 156, 319, 314, 61, 61, 4855, 83, 40,
371, 61, 4860, 539, 4629, 4863, 538, 61, 164, 127,
4955, 473, 5700, 5701, 450, 539, 6, 402, 538, 143,
5959, 4966, 312, 499, 499, 312, 37, 539, 5325, 538,
300, 4884, 4885, 296, 296, 538, 405, 538, 26, 391,
542, 391, 450, 387, 542, 201, 6120, 83, 312, 5346,
387, 320, 5018, 5318, 481, 538, 517, 180, 538, 5025,
152, 2914, 428, 5939, 5329, 428, 480, 122, 529, 530,
531, 532, 533, 534, 542, 159, 539, 319, 417, 495,
5702, 481, 5048, 5380, 417, 2938, 495, 539, 336, 182,
410, 182, 538, 475, 5716, 251, 480, 5063, 538, 5825,
83, 539, 5536, 538, 3444, 2982, 2891, 972, 3659, 1018,
932, 1019, 4416, 1412, 4391, 6111, 1717, 3009, 3063, 5461,
5325, 3878, 40, 5939, 6251, 6199, 6200, 64, 5094, 4583,
5510, 4389, 4389, 5096, 5486, 3584, 5734, 3646, 4949, 295,
6339, 5346, 6240, 5380, 6340, 5111, 64, 5969, 5968, 3002,
6131, 6277, 5118, 3006, 3652, 5142, 4630, 4604, 4615, 5912,
4573, 5127, 3077, 100, 4411, 6239, 3077, 3684, 5136, 4599,
3926, 5493, 3970, 329, 4666, 5380, 5142, 6365, 6501, 1014,
5814, 6476, 100, 5871, 5477, 5873, 3886, 4638, 6143, 5155,
3043, 5157, 3045, 5421, 3047, 3048, 5687, 517, 1877, 3052,
3053, 3054, 5424, 3056, 3057, 3058, 18, 28, 667, 529,
530, 531, 532, 533, 534, 4035, 4694, 5183, 374, 6361,
376, 5653, 3093, 379, 1236, 2748, 4697, 164, 5194, 5526,
4855, 3562, 388, 3981, 4641, 4860, 5536, 1932, 4863, 5802,
1956, 397, 752, 1918, 3818, 1921, 164, 3008, 4444, 405,
3735, 6169, 719, 861, 6412, 4670, 4672, 3110, 3039, 4884,
4885, 2690, 418, 5419, 201, 6251, 5418, 6335, 4313, 1531,
4886, 427, 5648, 6077, 5381, 1830, 432, 4919, 5651, 1387,
40, 5247, 3135, 201, 5142, 40, 3503, 4740, 1489, 1428,
1488, 5257, 5905, 3518, 5260, 2700, 6070, 5263, 5264, 5265,
5407, 5154, 5875, 1491, 4249, 4267, 3484, 5326, 5605, 3481,
5605, 5463, 5419, 5604, 251, 4314, 2700, 3481, 6389, 6064,
5942, 5526, 5288, 5289, 6212, 3481, 5862, 5293, 246, 6428,
1445, 4973, 5581, 251, 490, 4173, 2594, 5876, 3421, 5877,
2595, 2089, 3275, 3038, 3401, 5311, 5826, 3391, 6430, 5315,
3312, 5616, 4105, 4995, 291, 5321, 2600, 2688, 295, 5325,
920, -1, -1, 5329, -1, -1, 5332, -1, 5334, -1,
-1, -1, -1, -1, 5340, -1, -1, 295, -1, -1,
5346, -1, -1, 5349, -1, -1, -1, -1, -1, -1,
-1, 328, 329, -1, -1, -1, -1, -1, -1, -1,
5605, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 329, -1, -1, 5380, 5381, 5382, -1, 5384, -1,
5386, -1, -1, -1, -1, -1, 5068, -1, -1, -1,
-1, -1, -1, 370, -1, -1, -1, 374, -1, -1,
-1, -1, 379, -1, 5709, -1, -1, -1, -1, -1,
-1, 388, 5418, 5419, -1, -1, 374, -1, -1, -1,
397, 379, -1, 6455, -1, -1, -1, 5325, 405, -1,
388, -1, -1, -1, -1, -1, 5773, -1, -1, 397,
-1, 418, -1, -1, -1, -1, -1, 405, 5346, 6111,
427, -1, -1, -1, -1, 432, -1, 5463, -1, -1,
418, -1, -1, -1, -1, -1, -1, 6233, -1, 427,
-1, 5477, -1, -1, 432, -1, 5482, -1, -1, -1,
5338, 5487, 5380, -1, 1932, -1, -1, 1935, -1, 5154,
5496, -1, -1, -1, -1, 453, -1, 1945, 1946, 6415,
5506, -1, 10, -1, 5510, 13, -1, 5513, 5190, 17,
18, 19, 1960, 490, -1, 1963, -1, -1, 5524, 5525,
5526, -1, -1, -1, -1, -1, -1, -1, 5773, 37,
-1, -1, 490, 6, -1, -1, 494, 5536, 5536, 47,
5536, 5536, 5536, 5536, 5536, -1, 54, 5536, 5536, 5536,
5887, 3444, 5536, -1, 5560, -1, 5536, 5536, -1, -1,
6476, -1, -1, 5536, -1, 2013, 6477, -1, 5525, 2017,
2018, 5577, 80, -1, -1, 5581, -1, 5583, 51, -1,
5626, -1, -1, -1, -1, 6501, -1, 5536, -1, 6251,
5536, 5597, -1, -1, -1, -1, -1, 5536, 5491, 5605,
-1, -1, 5608, -1, -1, 5536, 5612, -1, 0, -1,
-1, -1, -1, 5619, -1, 6348, 6349, 6345, -1, -1,
5626, -1, -1, -1, -1, -1, -1, -1, 5526, 5522,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5887, 5536, -1, -1, -1, -1, -1, 5331,
-1, -1, -1, 45, -1, -1, -1, 5994, -1, -1,
5325, -1, -1, 5669, -1, -1, 6394, -1, -1, -1,
-1, -1, 5678, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5694, -1,
-1, 199, -1, -1, 5700, 5701, 204, -1, -1, 5705,
5706, 5707, 5708, -1, -1, -1, -1, 5605, 3601, 101,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 227,
228, -1, -1, -1, 197, -1, -1, -1, -1, 207,
5736, -1, -1, 206, 207, -1, -1, -1, 216, 5745,
-1, 214, -1, 216, 217, -1, -1, 255, -1, 5994,
-1, -1, 230, -1, -1, -1, -1, 230, 5905, -1,
-1, -1, -1, 155, 5770, -1, -1, 5773, -1, -1,
-1, -1, -1, -1, -1, -1, 168, -1, -1, -1,
-1, -1, 174, -1, -1, -1, -1, -1, 180, -1,
298, -1, 5798, -1, 186, -1, 3689, 189, -1, -1,
-1, 193, -1, -1, -1, -1, 314, -1, -1, 317,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5826, -1, -1, -1, -1, 6162, 5491, -1, -1, -1,
-1, 223, 5838, 225, -1, -1, -1, -1, -1, -1,
-1, 5847, 5848, 5849, -1, -1, -1, 5853, -1, -1,
-1, -1, -1, 5859, 3747, -1, 5862, 5522, -1, -1,
-1, -1, -1, -1, 256, 5871, -1, 5873, -1, 5875,
5876, 5536, -1, -1, -1, 5773, -1, -1, -1, -1,
-1, 5887, 5775, -1, 10, -1, -1, 13, 5894, -1,
-1, -1, -1, -1, -1, -1, -1, 5903, -1, 5905,
-1, -1, 410, 5909, -1, 3329, 3330, -1, 5914, 6101,
3334, -1, -1, -1, -1, -1, 308, 6162, -1, -1,
312, 47, 10, -1, 3817, 13, 318, -1, 54, 17,
18, 19, -1, -1, -1, -1, -1, -1, -1, -1,
6277, -1, -1, -1, 5950, 5951, 6283, -1, -1, -1,
-1, -1, 3376, 3377, 80, -1, -1, -1, -1, 47,
-1, 5626, -1, -1, -1, -1, 54, -1, -1, -1,
-1, -1, 3865, -1, 5980, -1, -1, -1, 6170, 6171,
-1, -1, -1, -1, 3877, 3878, 378, -1, 5994, 5887,
-1, 5884, 80, -1, 3887, -1, -1, -1, -1, 3892,
-1, 3894, 5684, -1, -1, -1, -1, 5689, 5690, 517,
-1, -1, -1, -1, -1, -1, -1, -1, 526, 527,
528, 529, 530, 531, 532, 533, 534, 153, -1, -1,
-1, -1, 6277, -1, -1, 543, -1, -1, 6283, 6045,
-1, 433, -1, -1, -1, -1, -1, 3940, -1, -1,
-1, -1, -1, -1, 6060, -1, -1, -1, 6064, -1,
-1, -1, -1, -1, 6070, -1, -1, -1, -1, -1,
-1, 6408, 6078, 199, -1, 467, 6082, -1, 204, -1,
-1, -1, 3975, 3976, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 6101, 5994, -1, -1, -1,
492, -1, 494, 495, -1, -1, -1, 6113, 5773, -1,
5775, 199, -1, -1, 6120, -1, 204, -1, -1, -1,
-1, 5803, -1, -1, 516, -1, -1, -1, -1, 255,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 6145,
-1, -1, -1, -1, -1, -1, 6152, 539, -1, 541,
542, -1, -1, -1, -1, -1, 6162, -1, -1, -1,
-1, -1, -1, 6408, 6170, 6171, 6172, 255, -1, -1,
6176, -1, 10, -1, -1, 13, -1, -1, -1, -1,
-1, -1, -1, -1, 5866, -1, -1, -1, 314, -1,
6169, -1, 665, 6199, 6200, 6201, -1, -1, -1, -1,
-1, 6207, 6208, -1, -1, 6211, 684, -1, 6214, 47,
-1, 684, 690, -1, -1, -1, 54, 690, -1, 5884,
6169, -1, -1, -1, 702, -1, 314, -1, -1, 702,
6169, -1, -1, 6239, -1, 2683, -1, -1, 6169, 6245,
-1, 6287, 80, -1, -1, 718, -1, -1, -1, -1,
723, 6144, -1, -1, -1, 728, -1, -1, -1, 732,
733, -1, -1, -1, 6162, -1, 739, -1, 741, 742,
-1, 6277, 6278, 6279, -1, -1, 6169, 6283, -1, -1,
-1, 754, 755, -1, 410, -1, -1, 4180, -1, -1,
-1, -1, 765, -1, -1, 6301, -1, 6489, 6490, -1,
-1, -1, 6308, -1, -1, -1, -1, -1, 6287, -1,
6316, -1, -1, -1, 22, 153, -1, -1, 6324, -1,
28, -1, 410, -1, 6330, -1, -1, -1, -1, 6335,
-1, -1, -1, -1, -1, -1, -1, -1, 6287, 6345,
-1, -1, -1, -1, -1, 818, -1, -1, 6287, -1,
-1, -1, 2800, -1, -1, 2803, 6287, 2805, 2806, -1,
-1, 199, -1, -1, -1, -1, 204, 840, 841, -1,
-1, -1, -1, 846, -1, 6381, 6382, 6383, 6384, 6277,
-1, -1, -1, 6389, -1, 6283, 10, -1, 6394, 13,
-1, 517, -1, -1, 6287, -1, -1, -1, 871, 6405,
873, -1, 6408, 529, 530, 531, 532, 533, 534, -1,
-1, -1, -1, -1, -1, -1, -1, 255, -1, -1,
-1, -1, 6428, 47, 897, -1, -1, -1, -1, 517,
54, -1, -1, 6412, -1, -1, -1, -1, 526, 527,
528, 529, 530, 531, 532, 533, 534, 920, -1, 6455,
6456, -1, -1, -1, -1, -1, 80, -1, -1, -1,
933, -1, -1, 6412, -1, -1, 6472, -1, -1, -1,
-1, -1, -1, 6412, -1, -1, 314, -1, -1, 6144,
40, 6412, -1, 6489, 6490, -1, -1, 6493, -1, 6495,
-1, 27, -1, -1, -1, -1, -1, 33, -1, -1,
-1, -1, 62, -1, 6169, -1, 6512, -1, -1, -1,
6408, -1, 48, -1, -1, -1, -1, -1, -1, 6412,
-1, -1, -1, -1, 4417, -1, -1, -1, 88, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 78, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4445, -1, 114, 115, -1, -1, -1, -1,
-1, -1, 122, -1, -1, -1, -1, 4460, 1041, 1042,
1043, 4464, 410, 4466, -1, 199, -1, 1050, -1, -1,
204, -1, 1055, -1, -1, -1, -1, 1060, 1061, -1,
-1, -1, 1065, -1, 1067, -1, -1, 133, 1071, 135,
-1, -1, 162, -1, -1, -1, 142, -1, -1, -1,
146, -1, -1, -1, 1087, -1, -1, -1, -1, 4512,
-1, -1, 6287, -1, 184, -1, -1, -1, -1, 10,
-1, 255, 13, -1, -1, 4528, 17, 18, 19, 175,
4533, -1, -1, -1, -1, -1, -1, 207, -1, -1,
-1, -1, -1, -1, -1, -1, 37, -1, 1131, 3107,
1133, 1134, -1, -1, -1, -1, 47, -1, -1, -1,
-1, -1, -1, 54, -1, 211, -1, -1, -1, 517,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4113,
314, 529, 530, 531, 532, 533, 534, -1, -1, 80,
-1, 1174, -1, -1, -1, 265, 6388, -1, -1, -1,
270, 4135, 4136, 4137, 4138, 275, -1, 4141, 4142, 4143,
4144, 4145, 4146, 4147, 4148, 4149, 4150, -1, -1, 1202,
-1, 291, -1, -1, -1, 295, -1, -1, -1, -1,
4633, -1, 27, 4636, -1, 4169, -1, 6412, 33, -1,
-1, -1, 40, -1, -1, 291, -1, -1, -1, 295,
-1, -1, 1235, 48, -1, -1, -1, 327, -1, -1,
306, 1244, -1, 1246, -1, -1, 64, -1, -1, -1,
316, 4205, 4206, -1, -1, -1, 410, -1, -1, -1,
1263, -1, 328, 78, -1, 1268, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1280, -1, -1,
-1, 3259, 100, -1, 3262, 375, 3264, 3265, 199, 4712,
4713, 4714, 4715, 204, 4717, 4718, 4719, 4720, 4721, 4253,
-1, -1, -1, -1, 370, -1, -1, 373, 374, 399,
-1, -1, -1, -1, -1, -1, 227, 228, 133, 1322,
135, -1, -1, -1, -1, -1, -1, 142, -1, -1,
420, 146, 422, -1, -1, 425, -1, -1, -1, 405,
-1, -1, -1, -1, 255, -1, 164, -1, 1351, 1352,
1353, -1, 1355, -1, -1, -1, -1, -1, -1, -1,
175, -1, -1, 517, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1376, -1, 529, 530, 531, 532, 533,
534, 471, -1, 201, -1, -1, -1, 298, -1, 0,
-1, -1, -1, -1, -1, -1, 211, -1, -1, -1,
1403, -1, -1, 314, -1, -1, 317, -1, 1411, 1412,
-1, 22, 478, -1, -1, 4838, -1, 4840, -1, -1,
-1, -1, 33, -1, 35, 36, -1, -1, 246, -1,
-1, -1, 1435, 251, -1, -1, -1, -1, -1, -1,
-1, -1, 53, -1, -1, -1, -1, -1, 538, -1,
-1, -1, 63, -1, -1, -1, -1, -1, -1, -1,
-1, 1464, -1, -1, 75, -1, 77, 78, -1, -1,
-1, -1, -1, 84, -1, 86, 291, 295, 1481, -1,
295, -1, 1485, 1486, -1, -1, -1, -1, 99, -1,
101, 306, -1, -1, -1, -1, -1, -1, 1501, 410,
-1, 316, -1, 3481, 1507, -1, 3484, 118, -1, -1,
121, 329, -1, 328, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 136, -1, 138, -1, -1,
-1, 142, -1, -1, -1, -1, -1, -1, 149, -1,
-1, 779, -1, 781, -1, 783, -1, -1, 159, -1,
161, 789, 790, 791, 3532, 370, 374, 168, 373, 374,
-1, 379, 3540, -1, -1, -1, -1, -1, -1, -1,
388, 1574, -1, -1, -1, 186, -1, -1, -1, 397,
-1, -1, -1, -1, -1, -1, -1, 405, -1, -1,
405, -1, 203, -1, -1, -1, -1, -1, -1, -1,
418, -1, -1, -1, 4558, -1, 517, -1, -1, 427,
-1, -1, 1615, -1, 432, 526, 527, 528, 529, 530,
531, 532, 533, 534, -1, -1, -1, -1, 539, -1,
-1, 542, -1, -1, -1, 453, -1, -1, -1, -1,
-1, -1, -1, 5066, 5067, 1648, 257, 258, -1, -1,
-1, -1, 263, -1, -1, -1, 5079, -1, 5081, 5082,
5083, -1, -1, 478, -1, -1, -1, 278, -1, -1,
-1, -1, 490, -1, -1, -1, 494, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 297, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 27, -1,
-1, -1, -1, -1, 33, -1, -1, 1715, -1, -1,
-1, -1, 1715, -1, -1, -1, -1, -1, -1, 48,
-1, -1, -1, -1, -1, 5148, -1, 1730, 1731, 1732,
10, -1, -1, 13, -1, 346, -1, 17, 18, 19,
-1, -1, 980, -1, -1, -1, -1, -1, -1, 78,
361, -1, -1, -1, -1, 366, 367, 37, 369, -1,
-1, -1, -1, 374, 5187, -1, -1, 47, -1, 380,
-1, -1, 383, -1, 54, -1, -1, -1, -1, 390,
-1, -1, -1, -1, -1, -1, 397, 398, -1, -1,
-1, -1, -1, -1, 405, -1, -1, -1, 409, -1,
80, -1, -1, -1, -1, -1, 135, 5230, -1, 420,
-1, -1, 1050, 142, -1, -1, -1, 146, -1, -1,
-1, -1, -1, -1, -1, -1, 437, 1830, -1, -1,
-1, -1, -1, -1, -1, 4789, -1, -1, -1, 1842,
-1, -1, -1, -1, -1, -1, 175, 458, -1, -1,
1853, -1, -1, -1, -1, -1, -1, -1, -1, 470,
-1, -1, 1865, -1, -1, 476, 1869, -1, -1, -1,
481, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1888, -1, 211, -1, 495, 1888, -1, -1, 1896, -1,
-1, -1, -1, 1896, -1, -1, 1904, -1, -1, -1,
-1, 1904, -1, -1, -1, -1, -1, -1, 519, -1,
521, 522, 523, 524, 525, -1, -1, -1, -1, 199,
1923, -1, -1, -1, 204, -1, -1, 538, -1, 1932,
541, -1, 1935, -1, -1, 1938, -1, -1, 1941, 1942,
-1, 1949, 1945, 1946, -1, 1948, 1949, 227, 228, -1,
-1, -1, -1, -1, -1, -1, -1, 1960, -1, 1962,
1963, -1, 291, -1, -1, -1, 295, -1, 1976, 1972,
1973, -1, 1975, 1976, -1, 255, -1, 306, -1, -1,
-1, -1, 10, -1, 5407, 13, -1, 316, -1, 17,
18, 19, -1, -1, -1, -1, -1, -1, -1, 328,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 37,
2013, -1, -1, -1, 2017, 2018, -1, -1, 298, 47,
-1, -1, -1, -1, -1, -1, 54, -1, -1, -1,
5453, -1, -1, -1, 314, -1, -1, 317, -1, 5462,
-1, 370, -1, -1, 373, 374, -1, -1, -1, 2052,
-1, 2054, 80, -1, -1, -1, 2059, 2060, -1, -1,
-1, -1, -1, 2066, 2067, 2068, 2069, 2070, 2071, 2072,
2073, 2074, 2075, 2076, 2077, 2078, 405, -1, -1, 2082,
-1, 2084, -1, 2086, 2087, 2088, 2089, 2090, 2091, -1,
-1, 2094, -1, 2096, 2097, -1, -1, 2100, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 64, -1,
-1, -1, -1, 2116, 2117, 2118, 2119, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
410, -1, 2135, -1, 2137, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 100, -1, -1, -1, 10, 478,
-1, 13, -1, -1, -1, 17, 18, 19, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1406, -1,
-1, 199, -1, 1411, 1412, 37, 204, -1, -1, -1,
-1, -1, -1, -1, -1, 47, -1, -1, -1, -1,
-1, -1, 54, -1, -1, -1, -1, -1, -1, 227,
228, 1439, -1, 64, -1, -1, -1, -1, 164, -1,
1448, -1, 1450, -1, -1, -1, 1454, -1, 80, -1,
-1, -1, -1, 1461, -1, -1, -1, 255, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 517, -1, 100,
-1, -1, -1, -1, -1, 201, 526, 527, 528, 529,
530, 531, 532, 533, 534, -1, -1, -1, -1, -1,
-1, -1, 542, -1, -1, -1, -1, -1, -1, -1,
298, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2283, -1, -1, 4261, -1, -1, 314, 4265, -1, 317,
-1, -1, -1, 5716, -1, 251, -1, 5720, -1, -1,
-1, -1, -1, 164, -1, -1, 5260, -1, -1, -1,
-1, -1, -1, -1, 1552, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1562, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2337, 291, -1, 199, 27, 295,
201, -1, 204, 10, 33, -1, 13, -1, -1, -1,
17, 18, 19, -1, -1, -1, -1, -1, -1, -1,
-1, 5315, -1, -1, -1, 227, 228, -1, 1606, 1607,
37, -1, 328, 329, -1, -1, -1, -1, -1, -1,
47, -1, 410, -1, -1, -1, -1, 54, -1, 78,
251, 2394, 4370, 255, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1649, -1, 80, 370, 1653, 1654, -1, 374, -1,
-1, -1, -1, 379, -1, -1, -1, -1, -1, -1,
291, -1, 388, -1, 295, -1, 298, -1, -1, -1,
-1, 397, -1, -1, -1, -1, 135, -1, -1, 405,
-1, -1, 314, 142, -1, 317, -1, 146, -1, -1,
-1, -1, 418, -1, -1, -1, -1, 328, 329, -1,
-1, 427, -1, -1, -1, -1, 432, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 175, -1, -1, 517,
-1, -1, -1, -1, -1, -1, -1, -1, 526, 527,
528, 529, 530, 531, 532, 533, 534, -1, -1, 370,
-1, -1, -1, 374, 542, -1, -1, -1, 379, 5942,
-1, -1, 211, 5946, -1, 5948, -1, 388, -1, 5952,
5953, -1, 199, -1, 490, -1, 397, 204, -1, -1,
-1, -1, -1, -1, 405, -1, -1, -1, 410, -1,
-1, -1, -1, -1, -1, -1, -1, 418, -1, -1,
227, 228, -1, -1, -1, -1, 427, -1, -1, -1,
-1, 432, -1, -1, -1, -1, 2579, 2580, 2581, 2582,
2583, 2584, 2585, 2586, 2587, -1, 2589, -1, 255, -1,
-1, -1, -1, -1, -1, -1, -1, 2600, -1, -1,
2603, -1, 291, -1, -1, -1, 295, -1, -1, 1847,
-1, -1, -1, -1, -1, -1, -1, 306, -1, -1,
-1, -1, -1, 5577, -1, 4603, 4604, 316, -1, 490,
-1, 298, -1, -1, -1, -1, -1, -1, -1, 328,
-1, 2644, -1, -1, -1, 2648, -1, 314, 2651, -1,
2653, -1, -1, 2656, 5608, 517, -1, 2660, -1, -1,
-1, -1, -1, -1, 526, 527, 528, 529, 530, 531,
532, 533, 534, 27, -1, -1, -1, 539, 2681, 33,
2683, 370, -1, -1, 373, 374, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2700, -1, -1,
-1, -1, -1, -1, -1, -1, 2709, 2710, -1, -1,
-1, -1, -1, -1, -1, -1, 405, -1, -1, -1,
-1, -1, -1, -1, 78, -1, -1, -1, 2736, -1,
-1, -1, -1, 2736, -1, -1, -1, -1, -1, -1,
2743, -1, -1, 410, 2747, 2748, 2754, -1, -1, -1,
2758, 2754, -1, -1, 2762, 2758, -1, -1, -1, 2762,
-1, -1, -1, -1, -1, -1, -1, -1, 2771, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2786, -1,
-1, 135, -1, 2786, -1, -1, 2789, -1, 142, 478,
51, -1, 146, -1, -1, -1, -1, 2800, -1, 2802,
2803, -1, 2805, 2806, -1, 2808, -1, -1, -1, -1,
-1, -1, 2820, -1, -1, -1, -1, 2820, -1, -1,
-1, 175, -1, -1, 2062, 2063, -1, -1, 6251, -1,
-1, -1, 2840, -1, -1, -1, -1, 2840, 2841, -1,
-1, 2079, 2080, -1, -1, -1, -1, -1, -1, 27,
517, -1, -1, 2856, -1, 33, -1, 211, -1, 526,
527, 528, 529, 530, 531, 532, 533, 534, -1, -1,
4848, 2879, -1, -1, 2112, 2878, 2879, 4855, -1, 2882,
-1, -1, 4860, -1, -1, 4863, 4864, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2906, -1,
78, -1, -1, 2906, 2912, 2908, -1, -1, 5862, 2912,
-1, -1, -1, -1, -1, -1, -1, -1, 2926, -1,
-1, -1, -1, 2926, -1, 2933, -1, -1, 2936, -1,
2933, -1, -1, 2936, 2942, -1, -1, 291, -1, 2942,
-1, 295, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 306, -1, 2962, -1, -1, 135, -1, 2962,
2968, -1, 316, -1, 142, 2968, -1, 2975, 146, -1,
-1, -1, 2975, -1, 328, -1, -1, -1, -1, -1,
-1, 2989, -1, -1, -1, -1, 2989, -1, -1, -1,
-1, -1, 6415, -1, -1, 3003, -1, 175, -1, 6422,
3003, -1, -1, 6426, -1, 3008, 3014, -1, -1, -1,
-1, 3014, -1, -1, -1, -1, 370, -1, -1, 373,
374, -1, -1, -1, -1, -1, -1, -1, -1, 3032,
3033, 3034, -1, 211, -1, 3038, -1, -1, -1, 6462,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 405, -1, 6476, -1, -1, -1, -1, -1, -1,
-1, -1, 3065, 3066, -1, -1, -1, -1, -1, -1,
-1, 3074, -1, -1, -1, -1, -1, -1, 6501, -1,
-1, 6504, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3107, -1, 6060, -1, -1, -1,
-1, -1, -1, 291, -1, -1, -1, 295, -1, -1,
-1, -1, -1, -1, 478, -1, -1, -1, 306, -1,
0, -1, -1, 5111, -1, -1, 3139, -1, 316, -1,
3143, -1, -1, -1, -1, -1, -1, -1, -1, -1,
328, -1, 22, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 33, 5142, 35, 36, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 53, -1, -1, -1, -1, -1, -1,
-1, -1, 370, 63, -1, 373, 374, -1, -1, -1,
-1, -1, -1, -1, -1, 75, -1, 77, 78, -1,
-1, -1, -1, -1, 84, -1, 86, -1, -1, -1,
-1, 3229, -1, -1, -1, -1, 3229, 405, 3231, 99,
-1, 101, -1, -1, -1, -1, -1, -1, -1, -1,
3248, -1, -1, 3246, -1, 3248, -1, 3255, 118, -1,
-1, 121, 3255, 6207, 6208, -1, 3259, 6211, 3261, 3262,
-1, 3264, 3265, 3266, -1, -1, 136, -1, 138, -1,
-1, 3274, 142, -1, -1, -1, 3279, -1, -1, 149,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 159,
-1, 161, -1, -1, 3297, -1, -1, -1, 168, -1,
478, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 186, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3329, 3330, 3331, -1,
-1, 3334, -1, 203, -1, -1, -1, -1, -1, 3342,
3343, 3344, 3345, -1, -1, -1, -1, 5325, -1, -1,
3353, -1, -1, -1, -1, 3358, 3359, -1, 3361, -1,
3363, -1, -1, -1, -1, -1, -1, -1, 5346, -1,
-1, -1, -1, 3376, 3377, -1, -1, 3380, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 257, 258, -1,
-1, -1, -1, 263, -1, -1, -1, 3400, -1, 3402,
-1, 3404, 5380, -1, -1, -1, -1, -1, 278, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3423, -1, -1, -1, -1, -1, -1, 297, -1, -1,
-1, -1, -1, 2671, 2672, -1, -1, -1, -1, 2677,
5418, 3444, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 728, -1, -1,
-1, 2709, 2710, -1, 27, -1, 346, -1, 3481, -1,
33, 3484, -1, -1, -1, 5463, -1, 40, -1, -1,
-1, 361, -1, 754, -1, 3498, 366, 367, -1, 369,
3503, -1, -1, -1, 374, -1, -1, -1, -1, 62,
380, -1, -1, 383, -1, 3518, -1, -1, -1, -1,
390, -1, -1, -1, -1, 78, -1, 397, 398, 3532,
-1, -1, -1, 2771, -1, 405, -1, 3540, -1, 409,
-1, -1, -1, -1, -1, -1, -1, -1, 5526, 3552,
420, -1, 3555, -1, 3557, -1, -1, -1, -1, 3562,
-1, 114, -1, -1, -1, -1, -1, 437, -1, -1,
-1, -1, -1, -1, 3577, 3578, -1, -1, -1, -1,
3583, -1, 135, -1, -1, -1, -1, -1, 458, 142,
3598, -1, -1, 146, -1, 3598, -1, -1, 3601, -1,
470, 3604, -1, -1, -1, -1, 476, -1, -1, 3612,
-1, 481, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2859, 175, -1, -1, 495, -1, 5605, -1, -1,
-1, -1, -1, -1, 3637, 27, 897, -1, -1, -1,
3643, 33, -1, -1, -1, -1, -1, -1, -1, 519,
-1, -1, -1, -1, 207, -1, -1, -1, 211, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 538, -1,
-1, 541, -1, -1, -1, -1, -1, -1, -1, -1,
3683, 3684, 3685, -1, -1, -1, 78, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3708, -1, -1, -1, -1, 3708, -1, -1, -1, -1,
2948, -1, 265, -1, 3717, -1, 3719, 270, 2956, -1,
-1, 2959, 275, -1, 3727, -1, -1, -1, -1, -1,
-1, -1, -1, 2971, -1, -1, -1, -1, 291, -1,
-1, -1, 295, 135, -1, -1, 3749, -1, -1, -1,
142, -1, -1, 306, 146, -1, -1, -1, -1, -1,
-1, -1, -1, 316, -1, -1, -1, 5745, -1, 10,
-1, -1, 13, -1, 327, 328, 17, 18, 19, -1,
1041, -1, -1, 175, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5773, 37, -1, -1, 1060,
-1, -1, -1, -1, -1, -1, 47, -1, -1, -1,
1071, -1, 3815, 54, -1, -1, -1, 370, -1, 211,
373, 374, 375, -1, -1, -1, 1087, -1, -1, -1,
-1, 3839, -1, -1, -1, -1, 3839, -1, -1, 80,
-1, 3844, -1, -1, -1, -1, 399, 3850, -1, -1,
-1, -1, 405, -1, -1, -1, 3859, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 420, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3886, 3887, -1, -1, -1, -1, 3892,
-1, 3894, -1, -1, -1, -1, -1, -1, -1, 291,
-1, -1, -1, 295, 3907, -1, 3909, -1, -1, 5887,
-1, -1, -1, -1, 306, -1, -1, -1, 471, -1,
-1, -1, -1, -1, 316, 478, 3929, -1, -1, -1,
-1, -1, 10, -1, -1, 13, 328, -1, -1, 17,
18, 19, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3955, -1, -1, -1, -1, -1, 199, 37,
-1, -1, -1, 204, -1, -1, -1, -1, -1, 47,
-1, -1, -1, 3976, 3977, -1, 54, -1, 370, -1,
3218, 373, 374, 1244, 51, -1, 227, 228, -1, -1,
-1, -1, -1, -1, -1, -1, 3999, -1, -1, -1,
-1, -1, 80, -1, -1, -1, -1, -1, -1, -1,
4018, -1, -1, 405, 255, 4018, 5994, -1, -1, -1,
-1, -1, -1, 10, -1, -1, 13, -1, -1, 4037,
17, 18, 19, 4041, 4037, -1, -1, -1, 4041, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
37, -1, -1, -1, -1, -1, -1, 298, -1, 4062,
47, -1, -1, -1, -1, -1, -1, 54, -1, -1,
-1, -1, -1, 314, -1, 4078, 317, -1, 4081, -1,
-1, -1, -1, 4086, -1, 4088, 478, -1, -1, -1,
-1, -1, -1, 80, -1, -1, -1, -1, -1, 4102,
-1, -1, -1, 4106, 4107, 4108, -1, -1, -1, -1,
4113, -1, -1, 4116, -1, -1, 4119, -1, -1, -1,
-1, 199, 4125, 6101, 4127, -1, 204, 4130, -1, -1,
-1, 4134, 4135, 4136, 4137, 4138, -1, -1, 4141, 4142,
4143, 4144, 4145, 4146, 4147, 4148, 4149, 4150, -1, 227,
228, 4154, 4155, 4156, -1, -1, 4159, -1, -1, -1,
-1, 4164, -1, -1, -1, -1, 4169, -1, 4171, 410,
4173, -1, -1, -1, -1, -1, -1, 255, 4181, -1,
-1, 4184, -1, 4186, 6162, -1, -1, -1, -1, -1,
-1, -1, 6170, 6171, -1, -1, -1, -1, -1, 4202,
-1, -1, 4205, 4206, 3442, 4208, 3444, -1, 4211, 4212,
-1, -1, 199, 4216, -1, 4218, -1, 204, -1, -1,
298, -1, 3460, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 314, -1, -1, 317,
227, 228, -1, -1, 4247, -1, 1507, -1, -1, -1,
4253, -1, -1, -1, -1, -1, -1, -1, 4261, -1,
-1, -1, 4265, -1, -1, -1, -1, -1, 255, -1,
-1, -1, 3510, 3511, -1, -1, 517, -1, -1, -1,
-1, -1, -1, -1, -1, 526, 527, 528, 529, 530,
531, 532, 533, 534, -1, 4298, -1, -1, 539, 6277,
-1, -1, -1, -1, -1, 6283, -1, -1, -1, -1,
-1, 298, 4315, 1574, -1, -1, -1, -1, 4321, -1,
-1, -1, -1, 6301, -1, -1, -1, 314, -1, -1,
317, -1, 410, -1, -1, -1, -1, -1, -1, 4347,
-1, -1, -1, -1, 4347, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1615, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4370, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 27, -1, -1, 1648, -1, -1,
33, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 6383, -1, -1, 4411, -1,
-1, -1, -1, 4416, 4417, 4418, -1, -1, -1, -1,
-1, -1, -1, 410, -1, -1, -1, -1, -1, -1,
6408, -1, -1, -1, -1, 78, -1, 10, -1, 517,
13, 4444, 4445, -1, 17, 18, 19, -1, 526, 527,
528, 529, 530, 531, 532, 533, 534, -1, -1, -1,
-1, 539, -1, -1, 37, -1, -1, -1, -1, 1730,
1731, 1732, -1, -1, 47, -1, -1, -1, 6456, -1,
-1, 54, -1, 4491, -1, -1, 4494, -1, 4491, -1,
-1, 4494, 135, -1, 6472, -1, -1, -1, -1, 142,
-1, -1, -1, 146, -1, -1, -1, 80, -1, -1,
-1, 6489, 6490, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
517, -1, 175, -1, -1, -1, -1, -1, -1, 526,
527, 528, 529, 530, 531, 532, 533, 534, -1, -1,
-1, -1, 539, -1, -1, 4558, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 211, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1842, 4585, 4586, -1, 27, 4589, -1, 4596, -1,
-1, 33, 1853, 4596, -1, -1, -1, -1, -1, -1,
4603, 4604, -1, -1, -1, 4613, -1, -1, 1869, -1,
4613, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 199, -1, -1, -1,
-1, 204, -1, 4636, -1, -1, 78, -1, 4641, 4642,
4643, -1, -1, -1, -1, -1, -1, -1, 291, 3887,
4653, -1, 295, -1, 227, 228, -1, -1, -1, -1,
-1, 728, 1923, 306, -1, -1, -1, -1, -1, -1,
-1, -1, 3910, 316, -1, -1, -1, 1938, -1, -1,
1941, 1942, 255, -1, -1, 328, 4694, 754, -1, -1,
-1, 4694, -1, 135, 4697, -1, -1, -1, -1, -1,
142, -1, -1, -1, 146, -1, -1, -1, -1, -1,
-1, 1972, 1973, -1, -1, -1, -1, -1, -1, 10,
4723, -1, 13, -1, -1, 298, 17, 18, 19, -1,
373, 374, -1, 175, -1, -1, -1, 4740, -1, -1,
-1, 314, -1, -1, 317, -1, 37, -1, -1, -1,
-1, -1, -1, -1, -1, 4758, 47, -1, -1, -1,
-1, -1, 405, 54, -1, -1, -1, -1, -1, 211,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4786, -1, -1, 4789, -1, -1, 80,
-1, -1, -1, -1, 4797, 4798, -1, 4800, -1, -1,
-1, -1, 4805, 4806, -1, -1, -1, 4810, -1, -1,
-1, 2072, 4815, -1, -1, 4818, -1, 4820, -1, -1,
-1, -1, -1, 4826, -1, 2086, -1, -1, 2089, 4067,
897, -1, -1, -1, -1, 478, -1, 410, -1, -1,
-1, -1, -1, -1, -1, 4848, -1, -1, -1, 291,
-1, -1, 4855, 295, -1, 2116, -1, 4860, -1, -1,
4863, 4864, -1, -1, 306, -1, -1, -1, 4871, 27,
-1, -1, -1, -1, 316, 33, -1, -1, -1, -1,
-1, -1, 8, -1, -1, -1, 328, 4890, 14, 15,
-1, -1, -1, -1, 20, -1, 22, -1, -1, -1,
-1, -1, 28, -1, 30, -1, -1, -1, 199, -1,
-1, -1, -1, 204, -1, -1, 4919, -1, -1, -1,
78, -1, -1, 49, 50, -1, -1, -1, 370, 4932,
-1, 373, 374, -1, 4937, -1, 227, 228, -1, -1,
-1, -1, -1, -1, 517, -1, -1, -1, -1, -1,
-1, -1, -1, 526, 527, 528, 529, 530, 531, 532,
533, 534, -1, 405, 255, -1, 539, -1, -1, -1,
4973, -1, -1, -1, -1, -1, -1, 135, -1, -1,
-1, -1, 4990, -1, 142, -1, -1, 4990, 146, -1,
-1, -1, 4995, 1060, 5002, -1, -1, -1, -1, 5002,
-1, -1, -1, -1, 1071, -1, -1, 298, -1, -1,
-1, -1, -1, -1, 25, 5018, -1, 175, -1, 30,
1087, -1, 5025, 314, -1, -1, 317, -1, -1, -1,
-1, -1, -1, -1, 5037, -1, 478, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 211, -1, -1, -1, 68, -1, -1,
-1, -1, -1, -1, -1, 5068, -1, -1, -1, -1,
81, -1, -1, -1, 200, -1, -1, -1, 204, -1,
-1, -1, -1, -1, -1, -1, 212, 98, -1, 215,
-1, 5094, 218, 219, -1, 221, -1, 223, -1, -1,
226, -1, 228, -1, -1, 116, 51, -1, 5111, -1,
-1, -1, -1, 5116, -1, -1, -1, -1, 51, 410,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 140,
-1, -1, 5135, 291, -1, -1, -1, 295, -1, 5142,
-1, -1, -1, 154, -1, -1, -1, -1, 306, -1,
-1, -1, 163, -1, -1, -1, -1, -1, 316, -1,
-1, -1, -1, -1, -1, 176, -1, -1, -1, -1,
328, 182, -1, -1, -1, -1, -1, 1244, 189, 4417,
-1, -1, -1, -1, -1, 5188, -1, 5190, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 209, -1,
-1, -1, -1, -1, -1, -1, -1, 4445, -1, -1,
-1, -1, 370, 5221, -1, 373, 374, -1, 5221, -1,
-1, 4459, -1, -1, -1, -1, 517, -1, -1, -1,
-1, -1, -1, 4471, -1, 526, 527, 528, 529, 530,
531, 532, 533, 534, 5247, -1, -1, 405, 539, -1,
-1, -1, -1, 27, 5257, -1, -1, 5260, 269, 33,
5263, 5264, 5265, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5288, 5289, -1, -1, -1,
5293, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 314, 78, -1, -1, -1, 5311, 4547,
4548, -1, 5315, -1, -1, -1, 327, -1, 5321, -1,
478, -1, 5325, -1, -1, -1, -1, -1, 5331, 5332,
341, -1, -1, -1, -1, -1, -1, 5340, -1, 1406,
351, 352, 2603, 5346, 355, -1, 5349, 5355, -1, 5357,
-1, -1, 5355, -1, 5357, -1, -1, -1, -1, -1,
-1, 135, -1, -1, -1, -1, -1, -1, 142, -1,
-1, 382, 146, -1, 385, -1, -1, 5380, 389, -1,
-1, 392, -1, -1, -1, -1, -1, -1, 399, -1,
-1, 402, -1, -1, -1, -1, -1, -1, 4636, -1,
-1, 175, -1, -1, 5407, 5408, -1, -1, -1, -1,
-1, 422, -1, -1, -1, 5418, -1, -1, -1, 430,
-1, -1, -1, -1, -1, -1, 437, -1, -1, 440,
-1, -1, -1, -1, 445, -1, -1, 211, -1, -1,
1507, -1, 453, -1, 455, -1, -1, -1, -1, 460,
-1, 4689, -1, -1, -1, 5458, -1, -1, -1, -1,
5463, -1, -1, 474, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 487, -1, -1, -1,
-1, -1, 2743, -1, -1, -1, 2747, 2748, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1574, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 291, -1, -1,
-1, 295, -1, 5526, -1, -1, 5529, -1, -1, -1,
-1, -1, 306, -1, -1, -1, -1, -1, -1, -1,
666, 2802, 316, -1, -1, -1, -1, 2808, 1615, -1,
-1, 677, -1, -1, 328, 681, -1, 5560, -1, -1,
-1, -1, 688, 689, -1, -1, 692, -1, 694, 695,
-1, -1, -1, -1, 5577, -1, -1, -1, 5581, -1,
5583, 1648, -1, 709, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5597, 2856, 370, -1, -1, 373,
374, 727, 5605, -1, -1, 5608, -1, -1, -1, -1,
-1, -1, 10, -1, -1, 13, 5619, -1, -1, 17,
18, 19, 748, 5626, 750, -1, -1, -1, -1, -1,
-1, 405, -1, -1, 760, -1, -1, -1, 51, 37,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
-1, -1, -1, -1, -1, -1, 54, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 793, -1, -1,
-1, -1, -1, -1, -1, 5678, -1, -1, -1, -1,
-1, 5684, 80, -1, -1, -1, 5689, 5690, -1, -1,
-1, 5694, -1, -1, -1, -1, -1, 5700, 5701, 5702,
-1, -1, -1, -1, 478, -1, -1, -1, -1, -1,
-1, -1, -1, 5716, -1, -1, -1, 4955, -1, -1,
-1, -1, -1, 4961, -1, -1, -1, -1, 4966, -1,
-1, -1, -1, 5736, -1, -1, -1, -1, -1, -1,
-1, -1, 5745, -1, 10, 5748, -1, 13, 874, -1,
-1, 17, 18, 19, -1, 4993, 4994, -1, -1, -1,
4998, 4999, -1, -1, -1, -1, -1, -1, -1, -1,
5773, 37, -1, 3034, -1, 1842, -1, -1, -1, -1,
-1, 47, -1, 728, -1, -1, 1853, -1, 54, -1,
-1, -1, -1, -1, -1, 728, -1, -1, -1, 5802,
5803, 199, 1869, -1, -1, 3066, 204, -1, -1, 754,
-1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
-1, 754, -1, 5826, 5827, -1, -1, -1, -1, 227,
228, -1, -1, 959, -1, 5838, -1, -1, -1, -1,
-1, -1, -1, -1, 5847, 5848, 5849, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1923, 255, -1, 5862,
5863, -1, -1, 5866, -1, -1, -1, -1, 5871, -1,
5873, 1938, 5875, -1, 1941, 1942, -1, -1, 3139, -1,
-1, -1, 3143, -1, 5887, -1, -1, -1, -1, -1,
-1, 5894, -1, -1, -1, -1, -1, -1, -1, -1,
298, -1, -1, -1, -1, 1972, 1973, 1033, -1, -1,
-1, 5914, -1, -1, -1, -1, 314, -1, -1, 317,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1058, 199, -1, -1, 5939, -1, 204, 5942,
-1, -1, -1, -1, -1, -1, -1, 1073, -1, 1075,
-1, -1, 897, -1, -1, -1, -1, -1, -1, 1085,
-1, 227, 228, -1, 897, -1, 1092, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3246, -1, -1, -1, 255,
-1, 5994, -1, -1, -1, -1, -1, -1, -1, -1,
3261, -1, -1, -1, -1, 3266, -1, -1, -1, 1135,
-1, 1137, 410, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 10, -1, -1, 13,
-1, -1, 298, 17, 18, 19, 3297, -1, -1, -1,
-1, -1, 6045, -1, -1, -1, -1, -1, 314, 2116,
-1, 317, -1, 37, -1, -1, -1, 6060, -1, -1,
-1, -1, -1, 47, -1, -1, -1, 6070, -1, -1,
54, -1, -1, -1, -1, -1, -1, -1, -1, 6087,
-1, -1, -1, -1, 6087, 1211, -1, 1213, -1, 1215,
-1, 1217, -1, 1219, 1220, 1221, 80, -1, 6101, -1,
1226, -1, -1, -1, -1, -1, -1, -1, 6111, -1,
-1, -1, 1238, -1, -1, 1060, -1, -1, -1, 517,
-1, -1, -1, -1, -1, -1, 1071, 1060, 526, 527,
528, 529, 530, 531, 532, 533, 534, -1, 1071, -1,
-1, 539, 1087, -1, 410, -1, -1, -1, -1, 6152,
-1, -1, -1, -1, 1087, -1, -1, -1, -1, 6162,
-1, -1, -1, -1, -1, -1, -1, 6170, 6171, 5407,
-1, -1, -1, 6176, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 6207, 6208, -1, -1, 6211, -1,
-1, -1, -1, -1, -1, 199, -1, -1, -1, -1,
204, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 227, 228, -1, -1, -1, 6251, -1,
-1, 517, -1, -1, -1, -1, -1, -1, -1, -1,
526, 527, 528, 529, 530, 531, 532, 533, 534, -1,
-1, 255, -1, 539, 6277, -1, -1, -1, -1, -1,
6283, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3552, -1, -1, 3555, -1, 3557, -1, 6301, 1244,
-1, 3562, 1428, -1, -1, 6308, -1, -1, -1, -1,
-1, 1244, -1, -1, 298, 728, -1, -1, -1, -1,
-1, 6324, -1, -1, -1, -1, -1, -1, -1, -1,
314, -1, -1, 317, -1, -1, -1, -1, -1, -1,
-1, 754, 6345, 3604, -1, -1, -1, -1, -1, -1,
-1, 3612, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 10, -1, -1, 13, -1, -1, -1, 17,
18, 19, -1, -1, -1, -1, 3637, -1, -1, -1,
6383, -1, -1, -1, -1, 6388, -1, -1, -1, 37,
-1, 6394, -1, -1, -1, -1, -1, -1, -1, 47,
-1, -1, -1, -1, -1, 6408, 54, -1, -1, -1,
10, -1, 6415, 13, -1, -1, -1, 17, 18, 19,
-1, -1, 1548, -1, -1, -1, 410, -1, -1, -1,
-1, -1, 80, -1, -1, -1, -1, 37, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 47, -1, -1,
-1, -1, 6455, 6456, 54, -1, 3717, -1, 3719, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 6472,
-1, -1, -1, 6476, -1, -1, -1, -1, 5716, -1,
80, -1, -1, -1, 897, -1, 6489, 6490, -1, -1,
-1, -1, -1, -1, 1620, -1, -1, -1, 6501, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 517, -1, -1, -1, -1, -1, -1,
-1, -1, 526, 527, 528, 529, 530, 531, 532, 533,
534, 199, -1, -1, 3815, 539, 204, -1, -1, -1,
-1, -1, 1507, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1507, -1, -1, -1, -1, 227,
228, -1, -1, 3844, -1, -1, -1, -1, -1, 3850,
-1, -1, -1, -1, -1, -1, -1, -1, 3859, 199,
-1, -1, -1, -1, 204, -1, -1, 255, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3887, 227, 228, 1574,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1574, -1, -1, -1, -1, -1, 1060, -1, -1,
298, -1, -1, -1, -1, 255, -1, -1, 1071, -1,
-1, -1, -1, -1, -1, -1, 314, -1, -1, 317,
1615, -1, -1, -1, 1087, -1, 2743, -1, -1, -1,
2747, 2748, 1615, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5931, 3955, -1, -1, -1, 298, -1,
-1, -1, -1, 1648, -1, -1, -1, -1, -1, -1,
-1, -1, 1838, -1, 314, 1648, 3977, 317, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2802, -1, -1, 3999, -1,
-1, 2808, -1, -1, -1, -1, -1, 1873, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 10, -1, -1,
13, -1, 410, -1, 17, 18, 19, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 37, -1, -1, -1, -1, 2856,
-1, -1, -1, 1919, 47, -1, -1, -1, -1, -1,
-1, 54, -1, -1, -1, -1, -1, -1, -1, -1,
410, -1, -1, 1939, -1, -1, -1, -1, -1, -1,
4081, -1, -1, -1, -1, -1, -1, 80, -1, -1,
-1, 1244, -1, -1, -1, -1, -1, -1, -1, 1965,
-1, 1967, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1982, -1, 1984, -1,
-1, -1, -1, -1, 1990, -1, 1992, -1, 1994, 517,
1996, -1, 1998, 4134, -1, -1, 2002, -1, 526, 527,
528, 529, 530, 531, 532, 533, 534, -1, -1, -1,
-1, 539, -1, -1, -1, -1, -1, 1842, 4159, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1853, 1842,
-1, -1, -1, 2039, -1, -1, -1, 517, -1, -1,
1853, -1, -1, -1, 1869, -1, 526, 527, 528, 529,
530, 531, 532, 533, 534, -1, 1869, -1, -1, 539,
-1, -1, -1, -1, -1, -1, 199, -1, -1, -1,
-1, 204, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 227, 228, -1, -1, 1923, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1923, -1, -1, 1938, -1, -1, 1941, 1942, -1, 3066,
-1, -1, 255, 51, -1, 1938, -1, -1, 1941, 1942,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1972, 1973, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1972,
1973, -1, -1, -1, -1, 298, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 25, -1,
4321, 314, -1, 30, 317, -1, 10, -1, -1, 13,
-1, -1, 3139, 17, 18, 19, 3143, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 37, 1507, -1, -1, -1, -1, -1,
-1, 68, -1, 47, -1, -1, -1, 25, -1, -1,
54, -1, -1, -1, 81, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 43, -1, -1, -1, -1,
-1, 98, -1, -1, -1, -1, 80, -1, -1, 51,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
68, -1, -1, -1, -1, -1, 4417, 410, -1, -1,
-1, 1574, -1, 81, -1, -1, -1, -1, -1, -1,
-1, 2116, -1, 140, -1, -1, -1, 6415, -1, 3246,
98, -1, -1, 2116, 4445, -1, -1, 154, -1, -1,
-1, -1, -1, -1, 3261, -1, 163, -1, 116, 3266,
-1, -1, 1615, -1, 122, -1, -1, -1, -1, 176,
-1, -1, -1, -1, -1, 182, -1, -1, -1, -1,
-1, -1, 140, -1, -1, -1, -1, -1, -1, -1,
3297, -1, -1, -1, -1, 1648, 154, -1, 6476, -1,
-1, -1, 209, -1, -1, 163, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 199, -1, -1, 176, -1,
204, -1, -1, 6501, 517, -1, -1, 185, -1, -1,
-1, 189, -1, 526, 527, 528, 529, 530, 531, 532,
533, 534, -1, 227, 228, -1, 539, -1, -1, -1,
-1, 209, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 269, -1, -1, -1, -1, -1, -1, -1,
-1, 255, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4589, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 259, -1, -1, -1, -1, -1, 314, -1, -1,
-1, 269, -1, -1, 298, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
314, -1, -1, 317, -1, 4636, -1, -1, -1, -1,
4641, -1, -1, 10, 351, 352, 13, -1, 355, -1,
17, 18, 19, -1, -1, -1, 314, -1, -1, 317,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
37, -1, -1, -1, -1, 382, -1, -1, 385, -1,
47, -1, -1, 341, -1, 392, -1, 54, -1, 1842,
-1, -1, 399, -1, -1, 402, -1, 355, -1, -1,
1853, -1, -1, -1, 362, -1, -1, -1, -1, -1,
-1, -1, -1, 80, -1, 422, 1869, -1, -1, -1,
-1, -1, -1, 430, 382, -1, 410, -1, -1, -1,
437, -1, -1, 440, 392, -1, -1, -1, 445, -1,
-1, 399, -1, -1, 402, 3552, 453, -1, 3555, -1,
3557, -1, -1, 460, -1, 3562, -1, -1, -1, -1,
-1, -1, -1, -1, 422, -1, -1, -1, -1, -1,
1923, -1, 430, -1, -1, -1, -1, -1, -1, 437,
487, -1, 440, -1, 442, 1938, 444, 445, 1941, 1942,
-1, -1, -1, -1, -1, -1, -1, 3604, -1, 4800,
-1, -1, 460, -1, -1, 3612, -1, -1, -1, -1,
468, -1, -1, 471, -1, -1, 474, -1, -1, 1972,
1973, -1, -1, -1, -1, -1, -1, -1, -1, 487,
3637, -1, 199, 517, -1, -1, -1, 204, -1, -1,
-1, -1, 526, 527, 528, 529, 530, 531, 532, 533,
534, -1, -1, -1, -1, 539, -1, -1, -1, -1,
227, 228, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2737, 2738, -1, 51, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 255, -1,
2756, 2757, -1, 2759, 2760, -1, -1, -1, 2764, 2765,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3717, -1, 3719, 2779, -1, -1, -1, 2783, 4919, -1,
-1, 2787, 2788, -1, -1, 2791, 2792, -1, -1, -1,
-1, 298, 2798, -1, -1, -1, -1, -1, -1, -1,
728, -1, -1, -1, 2810, -1, -1, 314, -1, -1,
317, -1, -1, -1, -1, -1, 2822, -1, -1, -1,
-1, 2827, -1, 2116, -1, -1, 754, -1, -1, -1,
-1, -1, 4973, -1, -1, -1, 2842, -1, -1, -1,
2846, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2858, -1, 4995, 2861, -1, 2863, 2864, 2865,
-1, -1, -1, -1, 2870, 2871, -1, -1, 3815, -1,
-1, -1, -1, -1, 2880, -1, -1, -1, -1, -1,
2886, -1, -1, -1, 2890, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2902, 2903, -1, -1,
-1, 2907, -1, 410, -1, -1, 10, 2913, 2914, 13,
-1, -1, 3859, 17, 18, 19, -1, -1, 2743, -1,
-1, 2927, 2747, 2748, 2930, -1, -1, 5068, -1, -1,
2743, 2937, 2938, 37, 2747, 2748, 728, 2943, -1, -1,
3887, -1, -1, 47, -1, -1, -1, -1, -1, 2955,
54, -1, 2958, -1, -1, -1, -1, 2963, -1, -1,
-1, -1, 754, 2969, 2970, -1, -1, -1, -1, 897,
-1, 2977, -1, -1, -1, 2981, 80, 2802, -1, 2985,
2986, 2987, 2988, 2808, 2990, -1, -1, -1, -1, 2802,
-1, -1, -1, -1, -1, 2808, -1, -1, 3004, 3005,
-1, 3007, -1, -1, -1, -1, -1, -1, 3955, -1,
517, -1, 3018, 3019, 3020, -1, -1, -1, -1, 526,
527, 528, 529, 530, 531, 532, 533, 534, -1, -1,
3977, 2856, 539, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2856, -1, -1, -1, 5188, -1, 5190,
-1, -1, 3999, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 10, -1, -1, 13, 3075,
-1, -1, 17, 18, 19, -1, -1, 3083, -1, -1,
-1, -1, -1, -1, -1, -1, 51, -1, -1, -1,
-1, -1, 37, -1, -1, 199, 3102, -1, -1, -1,
204, -1, 47, -1, -1, 897, -1, -1, -1, 54,
10, -1, -1, 13, -1, -1, -1, 17, 18, 19,
-1, -1, -1, 227, 228, -1, -1, -1, -1, -1,
-1, -1, 1060, -1, 4081, 80, -1, 37, -1, -1,
-1, -1, -1, 1071, -1, -1, 3152, 47, -1, -1,
-1, 255, -1, -1, 54, -1, -1, -1, -1, 1087,
-1, -1, -1, -1, -1, 3171, -1, 3173, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
80, -1, -1, -1, -1, -1, -1, 4134, -1, -1,
5331, -1, -1, -1, 298, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
314, -1, 4159, 317, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3066, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3066, 199, -1, -1, -1, -1, 204,
-1, -1, 3268, -1, -1, -1, 5407, -1, 1060, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1071,
-1, -1, 227, 228, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1087, -1, -1, -1, 199,
-1, -1, -1, -1, 204, -1, 410, -1, -1, -1,
255, -1, -1, -1, 3139, -1, 1244, -1, 3143, -1,
-1, -1, -1, -1, -1, -1, 3139, 227, 228, -1,
3143, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 298, -1, 255, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 314,
-1, -1, 317, -1, 4321, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5529, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 298, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 728, -1, 517, 314, -1, -1, 317, -1, -1,
-1, 3246, 526, 527, 528, 529, 530, 531, 532, 533,
534, -1, -1, 3246, -1, 539, 3261, 754, -1, -1,
-1, 3266, -1, -1, -1, -1, -1, -1, 3261, -1,
2743, -1, 1244, 3266, 2747, 2748, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 410, -1, -1, -1, -1,
4417, -1, 3297, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3297, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4445, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2802,
410, -1, -1, -1, -1, 2808, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5684, -1, -1, -1, -1, 5689, 5690,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2856, -1, -1, -1, -1, -1, -1,
-1, -1, 517, -1, -1, -1, -1, -1, -1, 1507,
897, 526, 527, 528, 529, 530, 531, 532, 533, 534,
-1, -1, -1, 3599, 539, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3616, -1, -1, -1, 3620, -1, -1, 517, -1, 3625,
3626, 3627, -1, -1, -1, -1, 526, 527, 528, 529,
530, 531, 532, 533, 534, -1, -1, -1, -1, 539,
-1, 3647, 4589, -1, -1, -1, 1574, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5802, 5803, -1, -1, 3671, 3672, 3673, 3674, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1615, -1, 4636,
-1, -1, -1, -1, 4641, -1, -1, -1, -1, -1,
-1, 10, -1, 3709, 13, 3711, 3712, 3713, 17, 18,
19, -1, -1, -1, -1, 1507, -1, -1, -1, -1,
1648, -1, -1, -1, -1, 5866, -1, 3552, 37, -1,
3555, -1, 3557, -1, -1, -1, -1, 3562, 47, 3552,
-1, -1, 3555, 1060, 3557, 54, -1, -1, -1, 3562,
-1, -1, -1, -1, 1071, -1, -1, -1, -1, -1,
-1, -1, -1, 728, -1, -1, -1, -1, -1, -1,
1087, 80, -1, 3066, -1, -1, -1, -1, -1, 3604,
-1, -1, 1574, -1, -1, -1, -1, 3612, -1, 754,
-1, 3604, -1, -1, -1, -1, -1, -1, -1, 3612,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3637, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1615, 3637, 3831, -1, -1, -1, -1,
-1, -1, -1, -1, 3840, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3139, -1, -1, -1,
3143, -1, -1, 4800, -1, -1, 1648, -1, -1, -1,
3866, 3867, -1, -1, -1, 3871, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3893, -1, -1,
199, -1, 3717, -1, 3719, 204, -1, -1, -1, -1,
-1, -1, -1, -1, 3717, -1, 3719, -1, -1, -1,
-1, -1, -1, -1, 1842, -1, -1, -1, 227, 228,
-1, -1, -1, -1, -1, 1853, -1, 1244, -1, -1,
-1, -1, 897, -1, -1, -1, -1, -1, -1, 3945,
-1, 1869, -1, -1, 3950, -1, 255, -1, -1, -1,
3956, -1, -1, 3246, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3261, -1,
-1, -1, 4919, 3266, -1, -1, -1, -1, -1, -1,
3986, -1, -1, -1, -1, -1, -1, -1, -1, 298,
3815, -1, -1, -1, -1, 1923, -1, -1, -1, -1,
-1, -1, 3815, -1, 3297, 314, -1, -1, 317, 4015,
1938, 4017, -1, 1941, 1942, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4973, -1, -1, -1,
-1, -1, -1, -1, 3859, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1972, 1973, 3859, -1, 4995, -1,
1842, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1853, 3887, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3887, -1, -1, 1869, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1060, -1, -1, -1, -1,
-1, 410, -1, -1, -1, -1, 1071, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5068, 1087, -1, -1, -1, -1, -1, -1, -1,
3955, 1923, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3955, -1, -1, -1, 1938, -1, -1, 1941,
1942, -1, 3977, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3977, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3999, -1, -1, -1, -1, -1,
1972, 1973, -1, -1, -1, -1, 3999, -1, 2116, -1,
1507, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 517, -1,
-1, -1, -1, -1, -1, -1, -1, 526, 527, 528,
529, 530, 531, 532, 533, 534, -1, -1, -1, -1,
539, -1, -1, 10, -1, -1, 13, -1, -1, -1,
17, 18, 19, 5190, -1, -1, -1, 6388, -1, -1,
-1, -1, -1, -1, -1, -1, 4081, 1574, -1, 3552,
37, -1, 3555, -1, 3557, -1, -1, -1, 4081, 3562,
47, -1, -1, -1, -1, -1, -1, 54, -1, 1244,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1615, -1,
-1, -1, -1, 80, -1, -1, -1, -1, -1, 4134,
-1, 3604, -1, -1, 6455, -1, -1, -1, -1, 3612,
-1, 4134, -1, -1, 2116, -1, -1, 4333, -1, 4335,
10, 1648, -1, 13, 4159, -1, -1, 17, 18, 19,
-1, -1, 4348, -1, 3637, -1, 4159, -1, -1, -1,
-1, -1, -1, -1, 4360, -1, -1, 37, 4364, -1,
-1, -1, -1, -1, -1, -1, -1, 47, -1, -1,
4376, -1, -1, -1, 54, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5331, -1, -1, -1, -1, -1,
4396, -1, -1, -1, -1, -1, -1, -1, -1, -1,
80, -1, -1, -1, -1, -1, -1, -1, 4414, -1,
-1, -1, -1, -1, -1, -1, 4422, -1, -1, -1,
-1, -1, 199, -1, 3717, -1, 3719, 204, -1, -1,
-1, 27, -1, -1, -1, -1, -1, 33, -1, -1,
-1, 4447, -1, -1, 40, 4451, -1, -1, -1, -1,
227, 228, -1, -1, -1, -1, -1, -1, -1, -1,
5407, 4467, 4468, 4469, 4470, -1, 62, -1, -1, -1,
-1, 4477, 4478, 4479, 4480, -1, -1, -1, 255, -1,
4486, 4487, 78, -1, -1, -1, 4492, 4493, -1, 4495,
4496, 4497, 4498, 4499, 4500, 4501, 4321, -1, -1, -1,
-1, -1, -1, -1, -1, 4511, -1, -1, 4321, 4515,
4516, 4517, 4518, -1, -1, -1, -1, -1, 114, 199,
-1, 298, 3815, -1, 204, 1842, -1, -1, -1, -1,
-1, -1, -1, 4539, -1, -1, 1853, 314, -1, 135,
317, -1, 1507, -1, -1, -1, 142, 227, 228, -1,
146, 4557, 1869, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3859, -1, -1, -1,
-1, -1, -1, -1, -1, 255, -1, -1, -1, 175,
-1, -1, 5529, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4417, -1, 3887, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4417, -1, 1923, -1, -1, 1574,
-1, 207, -1, -1, -1, 211, -1, -1, 298, -1,
4445, 1938, -1, -1, 1941, 1942, -1, -1, 4634, -1,
-1, -1, 4445, 410, 314, -1, -1, 317, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1615, -1, -1, -1, -1, 1972, 1973, -1, -1, -1,
-1, 4667, 3955, -1, -1, -1, -1, -1, 4674, 265,
4676, -1, -1, -1, 270, -1, -1, -1, -1, 275,
-1, -1, -1, 1648, 3977, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 291, -1, -1, 4704, 295,
-1, -1, -1, -1, -1, -1, 3999, -1, -1, -1,
306, -1, -1, -1, -1, -1, -1, -1, -1, -1,
316, -1, -1, -1, -1, -1, -1, -1, -1, -1,
410, 327, 328, -1, -1, -1, -1, 5684, -1, -1,
517, -1, 5689, 5690, -1, -1, -1, -1, -1, 526,
527, 528, 529, 530, 531, 532, 533, 534, -1, -1,
-1, -1, 539, -1, 4589, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 370, -1, 4589, 373, 374, 375,
-1, -1, -1, -1, -1, -1, -1, -1, 4081, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2116,
-1, -1, -1, 399, -1, -1, -1, -1, -1, 405,
-1, 4636, -1, -1, -1, 2743, 4641, -1, -1, 2747,
2748, -1, -1, 4636, 420, -1, -1, -1, 4641, -1,
-1, -1, -1, -1, -1, -1, -1, 517, -1, -1,
-1, 4134, -1, -1, -1, -1, 526, 527, 528, 529,
530, 531, 532, 533, 534, -1, 5803, -1, -1, 539,
-1, -1, -1, -1, -1, -1, 4159, -1, -1, -1,
-1, -1, -1, -1, 2802, 471, -1, 1842, -1, -1,
2808, -1, 478, -1, -1, -1, -1, -1, 1853, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1869, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4920, 4921, 4922, -1, -1, 5866,
4926, 4927, 4928, 4929, -1, -1, -1, 4933, 2856, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2743, -1, -1, -1, 2747, 2748, -1, 1923, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1938, -1, 4800, 1941, 1942, -1, 4985,
4986, 4987, 4988, 4989, -1, 4991, 4992, 4800, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5003, 5004, -1,
-1, -1, -1, -1, -1, -1, -1, 1972, 1973, -1,
2802, -1, 10, -1, -1, 13, 2808, -1, -1, 17,
18, 19, -1, -1, -1, -1, -1, -1, 4321, -1,
-1, -1, 5038, -1, -1, -1, -1, -1, -1, 37,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
-1, -1, -1, -1, -1, -1, 54, -1, -1, -1,
-1, -1, -1, -1, 2856, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
198, 199, 80, -1, 202, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4919, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 222, -1, 4919, -1, -1, -1,
-1, 229, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4417, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5141, -1, -1, 3066, -1,
-1, -1, -1, -1, -1, -1, 10, -1, 4973, 13,
-1, 2116, 4445, 17, 18, 19, -1, -1, -1, -1,
4973, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4995, -1, -1, 37, -1, -1, -1, -1, -1, -1,
-1, -1, 4995, 47, -1, -1, -1, -1, -1, -1,
54, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5206, 199, -1, -1, -1, -1, 204, -1, -1, -1,
-1, 3139, -1, -1, -1, 3143, 80, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 227,
228, -1, 5238, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5068, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5068, -1, 255, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3066, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4589, -1, -1, -1,
298, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 314, -1, 3246, 317,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5338, 3261, -1, 199, -1, -1, 3266, -1,
204, -1, -1, 4636, -1, -1, -1, 3139, 4641, -1,
-1, 3143, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 227, 228, 5190, -1, -1, -1, 3297,
-1, -1, -1, -1, -1, -1, -1, 5190, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 255, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5409, -1, -1, -1, -1, -1, -1,
-1, -1, 410, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5428, -1, -1, -1, 2743, -1, 5434, 5435,
2747, 2748, -1, -1, 298, -1, -1, -1, 5444, -1,
-1, 6388, -1, -1, -1, 5451, -1, -1, -1, -1,
314, -1, -1, 317, 3246, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3261,
-1, -1, -1, -1, 3266, -1, -1, -1, -1, -1,
-1, -1, 5488, 5489, -1, 2802, -1, -1, -1, -1,
-1, 2808, -1, -1, -1, 5501, -1, 5503, -1, -1,
-1, -1, -1, -1, -1, 3297, 5331, 4800, -1, -1,
-1, -1, 5518, -1, -1, -1, -1, -1, 5331, 517,
-1, -1, -1, -1, -1, -1, -1, -1, 526, 527,
528, 529, 530, 531, 532, 533, 534, 5543, -1, 2856,
10, 539, -1, 13, -1, 5551, 410, 17, 18, 19,
-1, -1, -1, -1, -1, -1, 674, -1, 676, -1,
-1, 679, -1, -1, -1, -1, -1, 37, -1, -1,
-1, -1, -1, -1, -1, 693, -1, 47, -1, -1,
-1, 699, 5407, -1, 54, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5407, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 206, 207, -1, -1,
80, -1, -1, -1, 214, -1, 216, 217, -1, -1,
-1, -1, -1, -1, 3552, -1, 4919, 3555, -1, 3557,
230, -1, -1, -1, 3562, -1, -1, 5643, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5657, -1, 517, -1, -1, -1, -1, -1, -1,
-1, -1, 526, 527, 528, 529, 530, 531, 532, 533,
534, -1, -1, -1, -1, 539, 3604, 5683, -1, -1,
4973, -1, -1, -1, 3612, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4995, -1, 5529, -1, -1, -1, -1, 3637,
-1, -1, -1, -1, -1, -1, 5529, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 199,
-1, -1, -1, -1, 204, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5751, -1, -1, -1, 3066,
-1, -1, -1, -1, -1, -1, -1, 227, 228, -1,
3552, -1, -1, 3555, -1, 3557, -1, -1, -1, -1,
3562, -1, -1, -1, -1, 5068, -1, -1, 2743, -1,
-1, -1, 2747, 2748, -1, 255, -1, 10, -1, 3717,
13, 3719, -1, -1, 17, 18, 19, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3604, -1, -1, 5821, -1, -1, -1, -1,
3612, -1, 3139, -1, 47, -1, 3143, -1, 298, -1,
-1, 54, -1, -1, -1, -1, -1, 2802, -1, -1,
-1, -1, -1, 2808, 314, 3637, -1, 317, -1, 5855,
-1, -1, -1, -1, -1, -1, -1, 80, -1, 5684,
-1, -1, -1, -1, 5689, 5690, -1, 208, 986, 987,
-1, 5684, -1, -1, -1, -1, 5689, 5690, -1, 220,
-1, -1, -1, -1, -1, -1, -1, 3815, -1, -1,
231, 2856, -1, -1, -1, 5901, -1, 5190, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5926, -1, -1, -1, -1, 3717, -1, 3719, -1, 3246,
-1, 3859, -1, -1, -1, -1, -1, -1, -1, 1057,
410, -1, -1, -1, 3261, -1, -1, -1, -1, 3266,
-1, -1, -1, -1, 1072, -1, -1, -1, -1, 3887,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 199, -1, 5803, 5985,
3297, 204, -1, -1, -1, 1103, 1104, -1, -1, -1,
5803, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 227, 228, -1, -1, -1, -1,
-1, 1129, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3815, -1, -1, -1, 3955, -1, -1,
-1, -1, 255, -1, -1, -1, -1, -1, 5331, -1,
-1, 5866, -1, -1, -1, -1, -1, 517, -1, 3977,
-1, 1169, 1170, 5866, -1, -1, 526, 527, 528, 529,
530, 531, 532, 533, 534, 665, -1, 3859, -1, 539,
-1, 3999, -1, -1, -1, 298, -1, -1, -1, -1,
-1, -1, -1, -1, 684, -1, -1, -1, -1, -1,
690, 314, -1, -1, 6100, 3887, -1, -1, -1, -1,
-1, 3066, 702, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5407, -1, -1, -1, 718, -1,
-1, -1, -1, 6129, -1, -1, -1, -1, -1, -1,
-1, -1, 732, 733, 6140, -1, -1, -1, -1, 739,
-1, 741, 742, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4081, -1, 755, -1, -1, -1, -1,
-1, -1, -1, 3955, -1, 765, -1, -1, -1, -1,
-1, -1, 10, -1, 3139, 13, -1, -1, 3143, 17,
18, 19, -1, -1, -1, 3977, -1, 410, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 37,
-1, -1, -1, -1, -1, -1, 4134, 3999, -1, 47,
-1, -1, -1, -1, -1, -1, 54, -1, 818, -1,
-1, 10, -1, -1, 13, -1, -1, -1, 17, 18,
19, 4159, -1, -1, -1, 3552, 5529, -1, 3555, -1,
3557, -1, 80, -1, -1, 3562, 846, -1, 37, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 47, -1,
-1, 6267, -1, -1, -1, 54, -1, -1, -1, -1,
-1, 871, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3246, -1, -1, -1, -1, -1, 3604, -1, 4081,
-1, 80, -1, -1, 517, 3612, 3261, -1, -1, -1,
-1, 3266, -1, 526, 527, 528, 529, 530, 531, 532,
533, 534, -1, -1, 10, -1, -1, 13, -1, -1,
3637, 17, 18, 19, -1, 666, -1, -1, -1, -1,
-1, 672, 3297, 933, -1, -1, -1, -1, -1, -1,
-1, -1, 4134, -1, -1, -1, -1, -1, -1, -1,
-1, 47, -1, -1, -1, -1, -1, -1, 54, -1,
-1, 199, -1, -1, -1, -1, 204, 4159, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 80, -1, -1, -1, -1, 227,
228, 5684, -1, 4321, -1, -1, 5689, 5690, -1, -1,
3717, -1, 3719, -1, 207, -1, -1, -1, -1, -1,
199, -1, -1, 216, -1, 204, -1, 255, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 230, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 227, 228,
-1, -1, -1, 1043, -1, -1, -1, -1, -1, 1567,
1050, -1, -1, -1, -1, -1, -1, -1, -1, -1,
298, 1061, -1, -1, -1, 1065, 255, 1067, -1, -1,
-1, -1, -1, 6479, 1592, -1, 314, -1, -1, 317,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4417,
-1, -1, -1, -1, -1, -1, -1, -1, 3815, -1,
-1, -1, 843, 199, -1, -1, -1, -1, 204, 298,
5803, -1, -1, -1, -1, -1, -1, 4445, -1, -1,
-1, 862, -1, -1, -1, 314, -1, -1, 317, 4321,
-1, 227, 228, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3859, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1671, -1, -1, -1, -1, -1, 255,
-1, -1, -1, 6388, -1, -1, -1, -1, -1, -1,
3887, -1, 410, 5866, 1174, 6388, -1, -1, -1, -1,
-1, -1, -1, 1701, 1702, 1703, 1704, 3552, -1, -1,
3555, -1, 3557, -1, -1, -1, -1, 3562, -1, -1,
-1, -1, 298, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 314, -1,
-1, 410, -1, -1, -1, 4417, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1235, -1, -1, 3955, 3604,
981, -1, -1, -1, -1, -1, 1246, 3612, -1, -1,
-1, -1, -1, 4445, -1, -1, -1, -1, -1, -1,
3977, 4589, -1, 1263, -1, -1, -1, -1, 1268, -1,
-1, -1, 3637, -1, -1, -1, -1, -1, -1, 517,
-1, -1, 3999, -1, -1, -1, -1, -1, 526, 527,
528, 529, 530, 531, 532, 533, 534, -1, -1, -1,
-1, 539, -1, -1, -1, -1, -1, -1, 4636, -1,
-1, -1, -1, 4641, 410, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 517, -1,
1848, 1849, -1, -1, -1, -1, -1, 526, 527, 528,
529, 530, 531, 532, 533, 534, 1864, -1, 537, -1,
-1, -1, 3717, -1, 3719, 1096, -1, -1, -1, -1,
-1, -1, -1, -1, 4081, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1898, 1899, 1900, 1901, 1125, 1126, 1127, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4589, -1, -1,
-1, -1, -1, 1403, -1, -1, -1, -1, -1, -1,
-1, 1411, 1412, -1, -1, -1, -1, 4134, -1, -1,
-1, 517, -1, -1, -1, -1, -1, -1, -1, -1,
526, 527, 528, 529, 530, 531, 532, 533, 534, -1,
-1, -1, 4159, -1, 4636, -1, -1, -1, -1, 4641,
3815, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1979, 665, -1, 1464, -1, -1, 1985, -1, -1,
-1, -1, 4800, -1, -1, -1, -1, -1, -1, -1,
-1, 684, -1, -1, -1, -1, -1, 690, -1, -1,
-1, -1, -1, 1234, 3859, -1, -1, -1, -1, 702,
-1, -1, -1, -1, -1, 10, -1, -1, 13, -1,
-1, -1, 17, 18, 19, 718, -1, -1, -1, -1,
-1, 1262, 3887, -1, -1, -1, -1, -1, -1, -1,
733, -1, 37, -1, -1, -1, 41, -1, 741, -1,
-1, -1, 47, -1, -1, -1, -1, -1, -1, 54,
10, -1, 755, 13, -1, -1, -1, 17, 18, 19,
-1, -1, 765, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 80, -1, 37, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 47, -1, -1,
3955, 4919, -1, -1, 54, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4321, -1, -1, -1, 4800, -1,
-1, -1, 3977, -1, -1, 818, -1, -1, -1, -1,
80, -1, -1, -1, -1, -1, -1, 132, -1, -1,
-1, -1, -1, 10, 3999, -1, 13, -1, -1, -1,
17, 18, 19, 846, -1, 4973, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2175, -1, -1,
37, -1, -1, -1, -1, -1, -1, 4995, 871, -1,
47, -1, -1, -1, -1, -1, 1417, 54, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 199, 6388, -1, -1, -1, 204,
4417, -1, -1, 80, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 174, 1715, 4081, -1, -1, -1,
180, -1, 227, 228, -1, -1, -1, 4919, 4445, -1,
933, -1, -1, -1, -1, -1, -1, -1, -1, 199,
5068, -1, -1, -1, 204, -1, -1, -1, -1, -1,
255, -1, -1, -1, -1, -1, 1497, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 227, 228, 4134,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4973, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 298, 4159, 255, 173, 10, -1, -1,
13, -1, -1, 4995, 17, 18, 19, -1, -1, 314,
-1, -1, 317, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 199, -1, 37, -1, -1, 204, -1, -1,
1830, -1, -1, -1, 47, -1, -1, -1, 298, 1580,
1043, 54, -1, -1, -1, -1, -1, 1050, 1589, -1,
227, 228, -1, -1, 314, -1, -1, 317, -1, -1,
-1, -1, 5190, -1, -1, 1865, -1, 80, -1, -1,
-1, -1, 4589, -1, -1, -1, 5068, -1, 255, -1,
1621, -1, -1, -1, -1, -1, 1627, 1628, 1888, -1,
1631, -1, -1, -1, -1, -1, 1896, -1, -1, -1,
-1, -1, -1, 1644, 1904, 410, 1647, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4636,
-1, 298, -1, -1, 4641, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 314, -1, -1,
317, -1, -1, -1, -1, 1945, 1946, -1, 1948, 1949,
410, -1, -1, -1, -1, -1, 4321, -1, -1, -1,
1960, -1, 1962, 1963, 1705, -1, 343, -1, -1, -1,
475, 1174, -1, -1, -1, 1975, 1976, -1, 1719, -1,
-1, -1, -1, -1, -1, -1, 199, -1, -1, -1,
-1, 204, -1, -1, -1, -1, -1, -1, 5190, -1,
-1, -1, -1, 5331, -1, -1, -1, -1, -1, -1,
-1, -1, 517, 2013, 227, 228, -1, 2017, 2018, -1,
-1, 526, 527, 528, 529, 530, 531, 532, 533, 534,
-1, -1, 1235, 410, -1, -1, -1, -1, -1, -1,
-1, -1, 255, 1246, -1, -1, -1, -1, -1, -1,
-1, -1, 4417, -1, -1, -1, -1, 517, -1, -1,
1263, -1, -1, -1, -1, 1268, 526, 527, 528, 529,
530, 531, 532, 533, 534, -1, -1, -1, -1, 5407,
4445, -1, -1, 4800, -1, 298, -1, -1, 1829, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1840,
-1, 314, -1, -1, 317, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2647,
-1, -1, 345, -1, -1, -1, -1, 2137, -1, 5331,
517, 1882, 1883, -1, -1, -1, -1, -1, -1, 526,
527, 528, 529, 530, 531, 532, 533, 534, -1, -1,
-1, -1, -1, -1, -1, -1, 1907, -1, -1, -1,
-1, -1, -1, 1914, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 410, -1, -1,
1403, 5529, 4919, 10, -1, -1, 13, -1, 1411, 1412,
17, 18, 19, -1, -1, 5407, 429, -1, -1, -1,
-1, -1, -1, -1, 4589, -1, -1, -1, -1, -1,
37, -1, -1, 40, -1, -1, -1, -1, -1, -1,
47, -1, -1, -1, -1, -1, 1987, 54, -1, -1,
-1, -1, -1, -1, -1, -1, 4973, -1, -1, -1,
-1, 1464, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4636, -1, 80, -1, -1, 4641, -1, 4995, 2020,
2021, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2809, -1, -1, -1, -1, 2037, -1, -1, 2040,
-1, -1, -1, -1, 517, -1, -1, -1, -1, -1,
-1, -1, -1, 526, 527, 528, 529, 530, 531, 532,
533, 534, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5529, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5068, -1, -1, -1, -1, 5684, -1, -1, -1,
-1, 5689, 5690, -1, -1, -1, -1, -1, 10, -1,
-1, 13, -1, -1, -1, 17, 18, 19, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 199, -1, -1, 37, -1, 204, -1, -1,
10, -1, -1, 13, -1, 47, -1, 17, 18, 19,
-1, -1, 54, -1, -1, -1, -1, -1, -1, -1,
227, 228, -1, -1, -1, -1, -1, 37, -1, -1,
-1, -1, -1, -1, -1, 4800, 2954, 47, 80, 2957,
-1, -1, -1, -1, 54, -1, -1, -1, 255, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
80, -1, -1, 5190, -1, 5803, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 298, 5684, -1, -1, -1, -1, 5689, 5690, -1,
-1, -1, -1, -1, -1, -1, -1, 314, -1, -1,
317, -1, 1715, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3046, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5866, -1,
-1, 3059, -1, -1, -1, -1, -1, -1, -1, 3067,
-1, -1, -1, -1, 4919, -1, -1, 199, -1, -1,
-1, -1, 204, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 227, 228, -1, 3106, 199,
-1, -1, -1, -1, 204, -1, -1, -1, -1, -1,
-1, -1, -1, 410, -1, -1, -1, -1, 4973, 3127,
-1, 5803, -1, 255, 5331, -1, -1, 227, 228, -1,
-1, -1, -1, -1, -1, -1, -1, 1830, -1, -1,
4995, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 255, -1, -1, -1, -1,
-1, -1, 3170, -1, 3172, -1, 298, -1, -1, -1,
-1, -1, 1865, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 314, -1, 5866, 317, -1, -1, -1, -1,
-1, 2681, -1, -1, -1, 1888, -1, -1, 298, -1,
5407, -1, -1, 1896, -1, -1, -1, -1, -1, -1,
-1, 1904, -1, 5068, 314, -1, -1, 317, -1, -1,
517, -1, -1, -1, -1, -1, -1, -1, -1, 526,
527, 528, 529, 530, 531, 532, 533, 534, 338, -1,
-1, -1, -1, -1, -1, -1, 2736, -1, -1, -1,
-1, -1, 3260, -1, -1, 1948, 1949, -1, -1, 3267,
-1, -1, -1, -1, 2754, -1, -1, -1, 2758, 1962,
-1, -1, 2762, -1, -1, -1, -1, -1, 410, -1,
-1, 2771, 1975, 1976, -1, -1, -1, -1, -1, -1,
10, -1, -1, 13, -1, -1, 2786, 17, 18, 19,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
410, -1, -1, 2803, -1, 2805, 2806, 37, -1, -1,
40, -1, 5529, -1, -1, -1, -1, 47, -1, -1,
2820, -1, -1, -1, 54, 5190, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2840, 2841, -1, -1, -1, -1, -1, -1, -1, -1,
80, -1, -1, -1, -1, -1, -1, -1, 2599, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2610,
-1, -1, -1, -1, 516, 517, -1, -1, 2878, 2879,
-1, -1, 2882, -1, 526, 527, 528, 529, 530, 531,
532, 533, 534, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2906, 517, 2908, -1,
-1, -1, 2912, -1, -1, -1, 526, 527, 528, 529,
530, 531, 532, 533, 534, -1, 2926, -1, -1, -1,
-1, -1, -1, 2933, 2137, -1, 2936, -1, -1, -1,
-1, -1, 2942, -1, -1, -1, -1, -1, -1, -1,
10, -1, -1, 13, -1, -1, -1, 17, 18, 19,
-1, -1, 2962, -1, -1, -1, 5331, 5684, 2968, 199,
-1, -1, 5689, 5690, 204, 2975, -1, 37, -1, -1,
-1, -1, 2723, -1, -1, -1, -1, 47, -1, 2989,
-1, -1, -1, -1, 54, -1, -1, 227, 228, -1,
-1, -1, -1, 3003, -1, -1, -1, -1, 3008, -1,
-1, -1, -1, -1, 3014, -1, -1, -1, -1, -1,
80, -1, -1, -1, -1, 255, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5407, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6388, -1, -1, -1, -1, -1, -1, -1, 298, -1,
-1, -1, -1, -1, 3074, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 314, -1, 5803, 317, 10, 3607,
3608, 13, -1, -1, -1, 17, 18, 19, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 37, -1, -1, 40, 2860,
180, -1, -1, -1, -1, 47, -1, -1, 10, -1,
-1, 13, 54, -1, 2875, 17, 18, 19, -1, 199,
-1, -1, -1, -1, 204, -1, -1, -1, -1, 5866,
-1, -1, -1, -1, -1, 37, 2897, -1, 80, -1,
-1, -1, -1, -1, 5529, 47, -1, 227, 228, -1,
-1, -1, 54, -1, -1, -1, -1, -1, -1, -1,
410, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 255, 6388, -1, 80, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3229,
-1, 3231, -1, -1, -1, -1, -1, -1, 298, -1,
-1, -1, 2983, 2984, -1, -1, -1, -1, 3248, -1,
-1, -1, -1, -1, 314, 3255, -1, 317, -1, -1,
-1, -1, 3262, -1, 3264, 3265, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 199, -1, -1,
-1, -1, 204, -1, -1, -1, -1, 517, -1, -1,
-1, -1, -1, -1, -1, -1, 526, 527, 528, 529,
530, 531, 532, 533, 534, 227, 228, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 199, -1, 5684,
-1, -1, 204, -1, 5689, 5690, -1, -1, -1, -1,
-1, -1, -1, 255, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3861, 3085, 227, 228, -1, -1, -1,
410, -1, -1, 3353, -1, -1, -1, -1, -1, 3359,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 255, -1, -1, 298, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 314, -1, -1, 317, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 298, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 314, -1, -1, 317, -1, -1, 5803, -1,
-1, -1, -1, -1, 3444, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 517, -1, -1,
-1, -1, -1, -1, -1, -1, 526, 527, 528, 529,
530, 531, 532, 533, 534, -1, -1, -1, 2681, -1,
-1, -1, -1, 10, -1, -1, 13, -1, 410, -1,
17, 18, 19, -1, -1, -1, -1, -1, -1, -1,
-1, 5866, -1, 4021, -1, -1, -1, -1, -1, -1,
37, -1, -1, 40, -1, -1, -1, -1, -1, -1,
47, -1, -1, -1, -1, -1, -1, 54, 410, -1,
-1, -1, -1, 2736, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2754, -1, 80, -1, 2758, -1, -1, -1, 2762,
-1, -1, -1, -1, 446, -1, -1, -1, 2771, -1,
-1, -1, -1, -1, -1, -1, -1, 3577, 3578, -1,
-1, -1, -1, 2786, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 517, -1, -1, 3598, -1,
-1, 3601, -1, -1, 526, 527, 528, 529, 530, 531,
532, 533, 534, -1, -1, -1, -1, 2820, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 517, -1, 2840, 2841, -1,
-1, -1, -1, -1, 526, 527, 528, 529, 530, 531,
532, 533, 534, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 6388, 199, -1, -1, 2878, 2879, 204, -1, 2882,
-1, -1, -1, 3683, 3684, 3685, -1, -1, -1, 3430,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
227, 228, -1, 2906, -1, 2908, -1, -1, 3708, 2912,
10, -1, -1, 13, -1, -1, -1, 17, 18, 19,
-1, -1, -1, 2926, -1, -1, -1, 3727, 255, -1,
2933, -1, -1, 2936, -1, -1, -1, 37, -1, 2942,
-1, -1, -1, 840, 841, -1, -1, 47, -1, 3749,
-1, -1, -1, -1, 54, -1, -1, -1, -1, 2962,
-1, -1, -1, -1, -1, 2968, -1, -1, -1, -1,
-1, 298, 2975, -1, -1, -1, -1, -1, -1, -1,
80, -1, -1, -1, -1, -1, 2989, 314, -1, -1,
317, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3003, -1, -1, -1, -1, 3008, -1, -1, -1, -1,
-1, 3014, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 920, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 10, 3839,
-1, 13, -1, -1, -1, 17, 18, 19, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 37, -1, -1, -1, -1,
-1, 3074, -1, -1, -1, 47, -1, -1, -1, -1,
-1, -1, 54, 410, -1, -1, 3886, -1, -1, -1,
-1, -1, 3892, -1, 3894, -1, -1, -1, -1, 199,
-1, -1, -1, -1, 204, -1, -1, 3907, 80, 3909,
-1, -1, -1, -1, -1, 10, -1, -1, 13, -1,
-1, -1, 17, 18, 19, -1, -1, 227, 228, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 37, -1, 1041, 1042, -1, -1, -1, -1,
-1, -1, 47, -1, -1, 255, -1, -1, -1, 54,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3976, -1, -1, -1,
-1, -1, -1, -1, 3725, 80, -1, -1, -1, -1,
517, -1, -1, -1, 3735, -1, -1, -1, 298, 526,
527, 528, 529, 530, 531, 532, 533, 534, 180, -1,
-1, -1, -1, -1, 314, -1, -1, 317, 4018, -1,
-1, -1, -1, 6388, 4542, -1, 3229, 199, 3231, -1,
-1, -1, 204, -1, 334, -1, -1, 4037, 4556, -1,
-1, 4041, -1, -1, -1, 3248, -1, -1, -1, -1,
-1, -1, 3255, -1, -1, 227, 228, -1, -1, -1,
-1, -1, 4062, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1368, -1, -1, -1, -1, -1,
-1, -1, -1, 255, -1, 180, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 199, -1, -1, -1, -1, 204,
410, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 298, -1, -1, -1,
-1, 1425, 227, 228, -1, -1, -1, -1, -1, -1,
-1, -1, 314, -1, -1, 317, -1, -1, -1, -1,
3353, -1, -1, -1, -1, -1, 3359, 3898, 3899, 3900,
255, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4171, -1, -1, 3915, -1, -1, -1, -1, -1,
-1, -1, -1, 1280, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 298, -1, -1, -1, 3948, 3949, -1,
-1, -1, 3953, -1, -1, -1, -1, 517, -1, 314,
-1, -1, 317, -1, -1, 1322, 526, 527, 528, 529,
530, 531, 532, 533, 534, -1, -1, -1, 410, -1,
-1, 3444, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1351, 1352, 1353, -1, 1355, 10,
-1, -1, 13, -1, -1, -1, 17, 18, 19, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1376,
10, -1, -1, 13, -1, -1, 37, 17, 18, 19,
-1, -1, -1, -1, -1, -1, 47, -1, -1, -1,
-1, -1, -1, 54, -1, -1, -1, 37, -1, -1,
-1, -1, -1, -1, -1, 410, -1, 47, 4059, -1,
-1, -1, -1, -1, 54, -1, -1, -1, -1, 80,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 517, -1, 4347, -1, -1,
80, -1, -1, -1, 526, 527, 528, 529, 530, 531,
532, 533, 534, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3577, 3578, -1, -1, -1, -1,
-1, -1, -1, -1, 1481, -1, -1, -1, 1485, 1486,
-1, -1, -1, -1, -1, 3598, -1, -1, 3601, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4411, -1, -1, -1, -1, 4416, -1, 4418, -1,
-1, -1, 517, 174, -1, -1, -1, -1, -1, -1,
-1, 526, 527, 528, 529, 530, 531, 532, 533, 534,
-1, -1, 1736, -1, 4444, -1, 1740, -1, 199, -1,
-1, -1, -1, 204, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 199,
-1, -1, -1, -1, 204, -1, 227, 228, -1, -1,
3683, 3684, 3685, -1, -1, -1, 4227, 4228, 4229, -1,
-1, 4491, -1, -1, 4494, -1, -1, 227, 228, -1,
-1, -1, -1, -1, 255, 3708, -1, 10, -1, -1,
13, -1, -1, -1, 17, 18, 19, -1, -1, -1,
-1, -1, -1, -1, 3727, 255, -1, -1, -1, -1,
5048, -1, -1, -1, 37, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 47, 5063, 3749, 298, -1, -1,
-1, 54, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 314, -1, -1, 317, -1, 298, -1,
-1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
-1, -1, -1, -1, 314, 4585, 4586, 317, -1, -1,
-1, -1, -1, -1, -1, -1, 4596, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4613, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1730, 1731, 1732, 3839, 5155, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
153, -1, -1, -1, -1, -1, -1, -1, -1, 410,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
410, -1, -1, 3886, -1, -1, -1, -1, -1, 3892,
-1, 3894, -1, -1, 4694, -1, 199, 4697, -1, -1,
-1, 204, -1, -1, 3907, -1, 3909, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 227, 228, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 255, -1, -1, -1, -1, -1, -1, -1,
-1, 491, -1, 2057, -1, -1, 517, -1, -1, -1,
-1, -1, -1, 3976, -1, 526, 527, 528, 529, 530,
531, 532, 533, 534, -1, -1, -1, 517, -1, 2083,
-1, -1, -1, 2087, -1, 298, 526, 527, 528, 529,
530, 531, 532, 533, 534, -1, -1, -1, 2102, 2103,
2104, 314, 2106, -1, 317, 4018, -1, -1, -1, -1,
-1, -1, -1, -1, 10, 4566, -1, 13, -1, -1,
-1, 17, 18, 19, 4037, -1, -1, -1, 4041, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 37, -1, -1, -1, -1, -1, 4598, -1, 4062,
-1, 47, -1, -1, 5382, -1, 5384, -1, 54, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4630,
-1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 410, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4665, -1, -1, -1, -1, -1,
-1, -1, 4932, -1, -1, -1, -1, -1, -1, -1,
-1, 4682, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2059, -1, -1, -1, -1, -1, 4171, -1,
-1, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076,
2077, -1, -1, -1, -1, 2082, -1, 2084, 174, 2086,
4990, -1, 2089, 2090, 2091, -1, -1, -1, -1, -1,
2097, -1, 5002, 2100, -1, -1, 5524, -1, -1, -1,
-1, -1, -1, 199, 517, -1, -1, -1, 204, -1,
2117, 2118, 2119, 526, 527, 528, 529, 530, 531, 532,
533, 534, -1, -1, -1, -1, -1, 5037, 2135, -1,
-1, 227, 228, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 255,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4830,
4831, 4832, 4833, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 298, -1, -1, -1, 5116, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 314, -1,
-1, 317, -1, 10, -1, 5135, 13, -1, -1, -1,
17, 18, 19, -1, 4347, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
37, -1, -1, 40, -1, -1, -1, -1, -1, -1,
47, -1, -1, -1, -1, -1, -1, 54, -1, -1,
-1, -1, -1, -1, -1, -1, 2283, -1, 5706, -1,
5708, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 80, -1, -1, -1, -1, 4411, -1,
-1, -1, -1, 4416, -1, 4418, -1, -1, -1, -1,
-1, 5221, -1, -1, 410, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2337, 4444, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 10, -1, -1, 13, -1, -1, -1, 17,
18, 19, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4491, 37,
-1, 4494, -1, -1, -1, -1, -1, 2394, -1, 47,
-1, -1, 2596, -1, -1, -1, 54, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 199, -1, -1, -1, -1, 204, -1, -1,
-1, 517, 80, -1, -1, -1, -1, -1, -1, -1,
526, 527, 528, 529, 530, 531, 532, 533, 534, -1,
227, 228, -1, -1, -1, 5355, -1, 5357, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 255, -1,
-1, -1, 4585, 4586, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4596, -1, -1, -1, -1, -1, -1,
-1, -1, 2696, -1, -1, -1, -1, -1, 5408, -1,
4613, -1, -1, -1, 2708, -1, -1, -1, 5418, 2713,
-1, 298, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 314, -1, -1,
317, -1, 5183, -1, -1, 25, -1, -1, -1, -1,
30, 199, -1, 5194, -1, -1, 204, -1, 5458, -1,
-1, -1, 5980, 5463, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 227,
228, -1, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586,
2587, 4694, 2589, -1, 4697, -1, -1, -1, -1, -1,
-1, 81, 82, 2600, -1, -1, 2603, 255, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 98, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 410, -1, -1, 116, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2644, -1, -1,
298, 2648, -1, -1, 2651, -1, 2653, -1, -1, 2656,
140, -1, -1, -1, -1, -1, 314, -1, -1, 317,
-1, -1, -1, -1, 154, -1, -1, -1, -1, -1,
-1, -1, -1, 163, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 6113, 176, -1, -1, -1,
-1, -1, 182, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2709, 2710, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 209,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
517, -1, -1, -1, -1, -1, -1, -1, -1, 526,
527, 528, 529, 530, 531, 532, 533, 534, -1, -1,
-1, -1, 410, -1, -1, -1, -1, 247, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 269,
-1, -1, 2789, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5702, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5716, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 6245, -1, 4932,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5482, -1, -1, -1, -1, 5487, -1, 5748, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6278, 6279, -1, -1, -1, 5506, -1, -1, -1, 517,
-1, 351, 352, -1, -1, 355, -1, -1, 526, 527,
528, 529, 530, 531, 532, 533, 534, 4990, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5002,
-1, -1, 382, -1, -1, 385, -1, -1, -1, -1,
-1, -1, 392, -1, -1, -1, -1, -1, -1, 399,
-1, -1, 402, -1, -1, -1, -1, 5827, -1, -1,
-1, -1, -1, -1, 5037, -1, -1, -1, -1, -1,
-1, -1, 422, -1, -1, -1, -1, -1, -1, -1,
430, -1, -1, -1, -1, -1, -1, 437, -1, -1,
440, -1, -1, 5863, -1, 445, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
460, -1, -1, -1, -1, -1, -1, 6405, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 487, -1, -1,
-1, -1, -1, 5116, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5135, -1, -1, 3032, 3033, 3034, -1, 5939,
-1, 3038, 5942, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3065, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3277, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3295, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3305, -1, -1, -1, -1, -1, 3311, 5221, -1,
3314, -1, -1, -1, -1, -1, -1, 3321, 3322, 5770,
3324, -1, -1, -1, -1, 3329, 3330, -1, 3332, -1,
3334, -1, -1, -1, 3338, -1, -1, 3341, -1, -1,
-1, -1, 3346, -1, -1, -1, -1, 5798, -1, -1,
-1, 3355, -1, -1, -1, -1, 3360, -1, -1, -1,
-1, -1, -1, -1, 3368, 3369, 3370, 3371, -1, -1,
-1, -1, 3376, 3377, -1, 3379, -1, 6087, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 6101, -1, 3397, -1, 3399, -1, -1, -1, -1,
-1, 6111, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413,
3414, 3415, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5355, 22, 5357, -1, -1, -1, 3452, -1,
-1, -1, -1, -1, 33, -1, 35, 36, 5909, -1,
6170, 6171, -1, -1, -1, -1, -1, 3274, -1, -1,
-1, -1, 3279, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 63, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5408, 75, -1, 77, 78,
-1, -1, -1, -1, -1, 84, -1, 86, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
99, -1, 101, -1, 3331, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3342, -1, 3344, 3345, 118,
-1, 6251, 121, -1, -1, 5458, -1, -1, -1, -1,
-1, 3358, -1, -1, 3361, -1, 3363, 136, -1, 138,
-1, -1, -1, 142, -1, -1, -1, -1, -1, -1,
149, -1, -1, -1, -1, -1, -1, -1, 25, -1,
159, -1, 161, 30, -1, -1, -1, -1, 3592, 168,
-1, -1, -1, 3400, -1, 3402, -1, 3404, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 186, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 68, -1, -1, 203, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 81, 82, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 94, -1, -1,
-1, 98, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 116,
-1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
-1, -1, -1, -1, 263, -1, -1, -1, -1, -1,
-1, 3498, -1, 140, -1, -1, 3503, -1, -1, 278,
-1, -1, -1, -1, -1, 6415, -1, 154, -1, -1,
-1, 3518, -1, -1, -1, -1, 163, -1, 297, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 176,
-1, -1, -1, -1, -1, 182, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 209, -1, -1, -1, 6476, 346, -1, -1,
-1, -1, -1, -1, -1, -1, 3583, -1, -1, 6489,
6490, -1, 361, -1, -1, -1, -1, 366, 367, 5702,
369, 6501, -1, -1, -1, 374, -1, -1, 377, -1,
247, 380, -1, 5716, 383, -1, -1, -1, -1, -1,
-1, 390, -1, -1, -1, -1, -1, -1, 397, 398,
-1, -1, 269, -1, -1, -1, 405, -1, -1, -1,
409, -1, -1, -1, -1, 5748, 3643, -1, -1, -1,
-1, 420, -1, -1, 3848, 3849, -1, -1, -1, 3853,
-1, -1, -1, -1, -1, -1, -1, -1, 437, -1,
-1, -1, -1, -1, -1, -1, -1, 314, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3882, 458,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 470, -1, -1, 341, -1, -1, 476, -1, -1,
-1, -1, 481, -1, 351, 352, -1, -1, 355, -1,
-1, -1, -1, -1, 5827, -1, 495, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 382, -1, -1, 385, -1,
519, -1, 389, -1, -1, 392, -1, -1, -1, -1,
5863, -1, 399, -1, -1, 402, -1, -1, -1, 538,
-1, -1, 541, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 422, -1, -1, -1, -1,
-1, -1, -1, 430, -1, -1, -1, -1, -1, -1,
437, -1, -1, 440, -1, -1, -1, -1, 445, -1,
-1, -1, -1, -1, -1, -1, 453, -1, 455, -1,
-1, -1, -1, 460, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5939, -1, -1, 5942,
-1, -1, -1, -1, -1, -1, -1, 3844, -1, -1,
487, -1, -1, 3850, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4077, -1, -1, -1, -1, -1, 4083,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 30, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3929, -1, -1, -1, -1, 4131, 4132, -1,
-1, 4135, 4136, 4137, 4138, -1, -1, 4141, 4142, 4143,
4144, 4145, 4146, 4147, 4148, 4149, 4150, 4151, -1, -1,
-1, -1, -1, -1, -1, 81, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4174, -1, 98, 4177, 6087, 4179, -1, -1, 4182, 4183,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
116, -1, -1, -1, -1, -1, 122, -1, 6111, -1,
4204, 4205, 4206, 4207, -1, -1, 4210, -1, -1, -1,
-1, -1, -1, -1, 140, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 154, -1,
-1, -1, -1, -1, -1, -1, -1, 163, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
176, -1, -1, -1, -1, -1, 182, -1, -1, -1,
-1, -1, -1, 189, -1, -1, -1, -1, -1, -1,
-1, 4078, -1, -1, -1, -1, 4280, -1, -1, 4086,
-1, 4088, -1, 209, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4102, -1, -1, -1, 4106,
4107, 4108, -1, -1, -1, -1, 4113, -1, -1, 4116,
-1, -1, 4119, -1, -1, -1, -1, -1, 4125, -1,
4127, 247, -1, -1, -1, -1, 4330, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 6251, -1,
-1, -1, -1, 269, -1, -1, -1, 4154, 4155, 4156,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4365, -1, -1, -1, -1, 4173, -1, -1, -1,
-1, -1, -1, -1, 4181, -1, -1, 4184, -1, 4186,
-1, -1, -1, -1, -1, -1, -1, -1, 314, -1,
-1, -1, -1, -1, -1, 4202, -1, -1, -1, -1,
-1, -1, -1, -1, 4211, 4212, -1, -1, -1, -1,
-1, 4218, -1, -1, -1, 341, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 351, 352, -1, -1, 355,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4247, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 382, -1, -1, 385,
-1, -1, -1, 389, -1, -1, 392, -1, -1, -1,
-1, -1, -1, 399, -1, -1, 402, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4298, -1, -1, -1, -1, 422, -1, -1, -1,
-1, -1, 6415, -1, 430, -1, -1, -1, 4315, 435,
-1, 437, -1, -1, 440, -1, -1, -1, -1, 445,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 455,
-1, -1, -1, -1, 460, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 474, -1,
-1, -1, -1, -1, 4558, -1, -1, -1, -1, -1,
-1, 487, -1, 6476, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 6501, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4602, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4724, -1, -1, -1, 4728, 4729, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4742, -1,
-1, -1, -1, -1, -1, -1, 4750, -1, 4752, -1,
4754, 4755, -1, -1, -1, -1, 4760, 4761, 4762, 4763,
-1, -1, -1, 4767, 4768, 4769, 4770, 4771, 4772, 4773,
4774, 4775, 4776, 4777, 4778, 4779, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4804, -1, -1, 4807, -1, 4809, -1, -1, -1, 4813,
-1, -1, 4816, 4817, -1, -1, -1, 4821, 4822, -1,
-1, -1, -1, 4827, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4642, 4643, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4653, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4881, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4895, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4723, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4740, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4758, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4797, 4798, -1, -1, -1, -1, -1, -1, 4805, 4806,
-1, -1, -1, 4810, -1, -1, -1, -1, 4815, -1,
-1, 4818, -1, 4820, -1, -1, -1, -1, -1, 4826,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4871, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4890, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5097, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4937, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5185, 5186, -1, -1, -1, -1, -1, -1, 5193,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5018, -1, -1, -1, -1, -1, -1, 5025, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5236, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5259, 5260, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5278, -1, 5280, -1, -1, -1,
5284, 5285, 5286, 5287, -1, -1, 5290, 5094, 5292, -1,
-1, -1, -1, 5297, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5315, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5333,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5348, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5378, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5429, -1, 5431, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5247, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5257, -1, -1, -1, -1, -1, 5263, 5264, 5265, -1,
-1, -1, 5466, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5288, 5289, -1, -1, -1, 5293, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5311, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5321, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5332, -1, -1, -1, -1,
-1, -1, -1, 5340, -1, -1, -1, -1, -1, -1,
-1, -1, 5349, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5574, -1, 5576, 5577, 5578, 5579, 5580, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5593,
5594, 5595, -1, -1, -1, -1, -1, -1, -1, 5603,
-1, -1, -1, -1, 5608, -1, -1, 5611, -1, -1,
-1, 5615, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5633,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5652, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5560, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5581, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5626,
-1, -1, -1, -1, 5828, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5839, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5860, -1, 5862, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5678, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5694, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5913,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5925, -1, -1, -1, -1, -1, -1, -1, 5736,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5961, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5826,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5838, -1, -1, -1, -1, -1, 6041, -1, -1,
5847, 5848, 5849, -1, 6048, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5875, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6084, -1, -1, -1, -1, -1, -1, 5894, -1, -1,
-1, -1, -1, -1, -1, 6099, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5914, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 6207, 6208, -1, -1, 6211, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 6045, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 6070, -1, -1, -1, -1, -1, -1,
-1, 6275, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 6300, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 6318, 6319, -1, 6321, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 6152, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 6176,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 6390, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, 5, 6, -1, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, 6308, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, -1, -1, 6324, -1, 39,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
120, 121, 122, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, 137, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, 167, 6455, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, 179,
-1, 181, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, 199,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, 215, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, 253, 254, 255, -1, 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, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, 436, -1, 438, 439,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, 468, 469,
470, 471, 472, 473, 474, -1, 476, 477, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, -1, 517, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 529,
530, 531, -1, -1, -1, -1, -1, -1, 538, 539,
3, -1, 5, 6, -1, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, 39, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, 81, -1,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, 179, -1, 181, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
253, 254, 255, -1, 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, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 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, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, 468, 469, 470, 471, 472,
473, 474, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, 485, 486, 487, 488, 489, 490, -1, -1,
493, -1, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, -1, 517, -1, 519, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 529, 530, -1, -1,
-1, -1, -1, -1, -1, 538, 539, 3, -1, 5,
6, -1, 8, 9, 10, 11, 12, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, 39, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
116, 117, 118, 119, 120, 121, 122, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, 179, -1, 181, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, 215,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, 253, 254, 255,
-1, 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, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
436, -1, 438, 439, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, 468, 469, 470, 471, 472, 473, 474, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, 485,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
-1, 517, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 529, 530, -1, -1, -1, -1, -1,
-1, -1, 538, 539, 3, -1, 5, 6, -1, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
39, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, 67, 68,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
179, -1, 181, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, 253, 254, 255, -1, 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, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, 436, -1, 438,
439, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, 468,
469, 470, 471, 472, 473, 474, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, 485, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, -1, 517, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
529, 530, -1, -1, -1, -1, -1, -1, -1, 538,
539, 3, -1, 5, 6, -1, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, 81,
-1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, 179, -1, 181,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, 253, 254, 255, -1, 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, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, 436, -1, 438, 439, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, 468, 469, 470, 471,
472, 473, 474, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, 485, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, -1, 517, -1, -1, -1, 3,
-1, -1, -1, -1, -1, -1, -1, 529, 530, -1,
-1, -1, -1, -1, -1, -1, 538, 539, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, 40, -1, 42, 43,
44, -1, 46, 47, 48, 49, -1, 51, 52, 53,
54, 55, -1, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, -1, -1, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, 102, 103,
104, 105, -1, -1, -1, -1, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, -1, -1, 181, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, -1, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, -1, -1, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, 253,
254, -1, -1, 257, 258, 259, -1, -1, 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, -1, 296, 297, -1, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, -1, 323,
-1, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, -1, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, -1, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, -1, -1, -1, -1, -1, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 539, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, 50, 51, 52, 53, -1, 55,
56, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, -1, -1, 81, -1, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, 102, 103, 104, 105,
-1, -1, -1, 109, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, -1, 161, 162, 163, 164, -1,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, 179, -1, 181, 182, 183, 184, 185,
-1, 187, -1, -1, -1, 191, 192, -1, 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, -1, 224, -1,
226, 227, 228, 229, 230, 231, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, -1, 253, 254, 255,
-1, 257, 258, 259, -1, -1, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, -1, 273, 274, 275,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, -1, -1, 294, -1,
296, 297, 298, 299, -1, -1, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, 322, 323, 324, -1,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, -1, 343, -1, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, 381, 382, 383, 384, 385,
386, -1, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, -1, 432, -1, 434, 435,
-1, -1, 438, 439, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, -1, 455,
-1, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, -1, 482, 483, 484, 485,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 513, 514, 515,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, -1, 539, -1, 42, 43, 44, -1, 46,
47, 48, 49, 50, 51, 52, 53, -1, 55, 56,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, -1, -1, 81, -1, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, 102, 103, 104, 105, -1,
-1, -1, 109, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, -1, 161, 162, 163, 164, -1, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, 179, -1, 181, 182, 183, 184, 185, -1,
187, -1, -1, -1, 191, 192, -1, 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, -1, 224, -1, 226,
227, 228, 229, 230, 231, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, -1, 253, 254, 255, -1,
257, 258, 259, -1, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, -1, 273, 274, 275, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, -1, -1, 294, -1, 296,
297, 298, 299, -1, -1, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, 322, 323, 324, -1, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, -1, 343, -1, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
-1, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, -1, 432, -1, 434, 435, -1,
-1, 438, 439, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, -1, 455, -1,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, -1, 482, 483, 484, 485, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 3, -1, 5, 6, -1,
8, 9, 10, 11, 12, -1, 513, 514, 515, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, 39, 539, -1, 42, 43, 44, -1, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, 67,
68, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
118, 119, 120, 121, 122, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, 179, -1, 181, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, 199, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, 215, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, 253, 254, 255, -1, 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,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 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, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
468, 469, 470, 471, 472, 473, 474, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, 485, 486, 487,
488, 489, 490, -1, -1, 493, -1, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, -1, 517,
-1, 519, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 529, 530, -1, -1, -1, 3, -1, 5, 6,
538, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, 179, -1, 181, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, 253, 254, 255, -1,
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, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 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, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, 468, 469, 470, 471, 472, 473, 474, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, 485, 486,
487, 488, 489, 490, -1, -1, 493, -1, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, -1,
517, -1, 519, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 529, 530, -1, -1, -1, 3, -1, 5,
6, 538, 8, 9, 10, 11, 12, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, 39, -1, -1, 42, 43, 44, -1,
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, -1, 75,
76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
116, 117, 118, 119, 120, 121, 122, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, 179, 180, 181, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, 215,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, 250, 251, 252, 253, 254, 255,
-1, 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, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
436, -1, 438, 439, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, 451, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, 468, 469, 470, 471, 472, 473, 474, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, 485,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
-1, 517, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 529, 530, -1, -1, -1, 3, -1,
5, 6, 538, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
-1, -1, -1, 38, 39, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, 81, -1, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, 179, -1, 181, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
215, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, 253, 254,
255, -1, 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, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 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, -1, 434,
435, 436, -1, 438, 439, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, 468, 469, 470, 471, 472, 473, 474,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
485, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, -1, 517, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 529, 530, -1, -1, -1, 3,
-1, 5, 6, 538, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, 31, 32, 33,
34, -1, -1, -1, 38, 39, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, 81, -1, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, 179, -1, 181, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, 253,
254, 255, -1, 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, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 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, -1,
434, 435, 436, -1, 438, 439, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, 468, 469, 470, 471, 472, 473,
474, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, 485, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, -1, 517, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 529, 530, -1, -1, -1,
3, -1, 5, 6, 538, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, 39, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, 81, -1,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, 179, -1, 181, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
253, 254, 255, -1, 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, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, 436, -1, 438, 439, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, 468, 469, 470, 471, 472,
473, 474, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, 485, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, -1, 517, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 529, 530, -1, -1,
-1, -1, -1, 536, 537, 538, 3, -1, 5, 6,
-1, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, 179, -1, 181, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, 253, 254, 255, -1,
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, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, 436,
-1, 438, 439, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, 468, 469, 470, 471, 472, 473, 474, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, 485, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, -1,
517, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 529, 530, 531, -1, -1, 3, -1, 5,
6, 538, 8, 9, 10, 11, 12, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
-1, -1, -1, 39, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
116, 117, 118, 119, 120, 121, 122, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, 179, -1, 181, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, 215,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, 253, 254, 255,
-1, 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, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
436, -1, 438, 439, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, 468, 469, 470, 471, 472, 473, 474, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, 485,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
-1, 517, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 529, 530, -1, -1, -1, 3, -1,
5, 6, 538, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, 39, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, 81, -1, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, 179, -1, 181, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
215, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, 253, 254,
255, -1, 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, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
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, -1, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, 436, -1, 438, 439, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, 468, 469, 470, 471, 472, 473, 474,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
485, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, -1, 517, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 529, 530, -1, -1, -1, 3,
-1, 5, 6, 538, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, 39, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, 81, -1, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, 179, -1, 181, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, 253,
254, 255, -1, 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, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, 436, -1, 438, 439, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, 468, 469, 470, 471, 472, 473,
474, -1, 476, 477, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, -1, 517, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 529, 530, -1, -1, -1,
3, -1, 5, 6, 538, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, 39, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, 81, -1,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, 179, 180, 181, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
253, 254, 255, -1, 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, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, 436, -1, 438, 439, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, 468, 469, 470, 471, 472,
473, 474, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, 485, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, -1, 517, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 529, 530, -1, -1,
-1, 3, -1, 5, 6, 538, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, 81,
-1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, 179, -1, 181,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, 253, 254, 255, -1, 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, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, 436, -1, 438, 439, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, 450, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, 468, 469, 470, 471,
472, 473, 474, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, 485, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, -1, 517, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 529, 530, -1,
-1, -1, 3, -1, 5, 6, 538, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, 39, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
81, -1, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
121, 122, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, 179, -1,
181, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, 253, 254, 255, -1, 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, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, 436, -1, 438, 439, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, 468, 469, 470,
471, 472, 473, 474, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, 485, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, -1, 517, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 529, 530,
-1, -1, -1, 3, -1, 5, 6, 538, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, 39,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
120, 121, 122, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, 179,
-1, 181, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, 199,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, 215, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, 253, 254, 255, -1, 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, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, 436, -1, 438, 439,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, 468, 469,
470, 471, 472, 473, 474, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, 485, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, -1, 517, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 529,
530, -1, -1, -1, 3, -1, 5, 6, 538, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
39, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, 67, 68,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
179, -1, 181, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, 253, 254, 255, -1, 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, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, 436, -1, 438,
439, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, 468,
469, 470, 471, 472, 473, 474, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, 485, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, -1, 517, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
529, 530, -1, -1, -1, 3, -1, 5, 6, 538,
8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, 39, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, 67,
68, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
118, 119, 120, 121, 122, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, 179, -1, 181, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, 199, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, 215, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, 253, 254, 255, -1, 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,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, 436, -1,
438, 439, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
468, 469, 470, 471, 472, 473, 474, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, 485, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, -1, 517,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 529, 530, -1, -1, -1, 3, -1, 5, 6,
538, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, 120, 121, 122, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, 179, -1, 181, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, 253, 254, 255, -1,
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, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, 436,
-1, 438, 439, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, 468, 469, 470, 471, 472, 473, 474, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, 485, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, -1,
517, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 529, 530, -1, -1, -1, 3, -1, 5,
6, 538, 8, 9, 10, 11, 12, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, 39, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
116, 117, 118, 119, 120, 121, 122, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, 179, -1, 181, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, 215,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, 253, 254, 255,
-1, 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, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
436, -1, 438, 439, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, 468, 469, 470, 471, 472, 473, 474, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, 485,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
-1, 517, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 529, 530, -1, -1, -1, 3, -1,
5, 6, 538, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, 39, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, 81, -1, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, 179, -1, 181, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
215, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, 253, 254,
255, -1, 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, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, 436, -1, 438, 439, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, 468, 469, 470, 471, 472, 473, 474,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
485, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, -1, 517, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 529, 530, -1, -1, -1, 3,
-1, 5, 6, 538, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, 39, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, 81, -1, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, 122, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, 179, -1, 181, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, 253,
254, 255, -1, 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, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, 436, -1, 438, 439, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, 468, 469, 470, 471, 472, 473,
474, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, 485, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, -1, 517, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 529, 530, -1, -1, -1,
3, -1, 5, 6, 538, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, 39, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, 81, -1,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, 120, 121, 122,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, 179, -1, 181, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
253, 254, 255, -1, 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, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, 436, -1, 438, 439, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, 468, 469, 470, 471, 472,
473, 474, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, 485, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, -1, 517, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 529, 530, -1, -1,
-1, 3, -1, 5, 6, 538, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, 81,
-1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, 179, -1, 181,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, 253, 254, 255, -1, 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, -1, 296, 297, 298, 299, 300, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, 436, -1, 438, 439, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, 474, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, 485, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 529, 530, -1,
-1, -1, 3, -1, 5, 6, 538, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, 39, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
81, -1, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
121, 122, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, 179, -1,
181, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, -1, -1, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, 253, 254, 255, -1, 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, -1, 299, 300,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, 436, -1, 438, 439, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, 468, 469, 470,
471, 472, 473, 474, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, 485, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, -1, 517, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 529, 530,
-1, -1, -1, 3, -1, 5, 6, 538, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, 39,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, 179,
-1, 181, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, 199,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, 215, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, 253, 254, 255, -1, 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, -1, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, 436, -1, 438, 439,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, 474, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, 485, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 529,
530, 3, -1, 5, 6, -1, 8, 9, 538, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, 81,
-1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, 179, -1, 181,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, 253, 254, 255, -1, 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, -1, 296, 297, 298, 299, 300, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, 436, -1, 438, 439, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, 474, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, 485, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 529, 530, 3,
-1, 5, 6, -1, 8, 9, 538, 11, 12, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, 39, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, 81, -1, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, 179, -1, 181, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, 253,
254, 255, -1, 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, -1, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, 436, -1, 438, 439, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
474, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, 485, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, -1, -1, -1, -1, 3, -1, 5, 6,
-1, 8, 9, -1, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, 538, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, 39, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, 179, -1, 181, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, 253, 254, 255, -1,
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, -1, 296,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, 436,
-1, 438, 439, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, 474, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, 485, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, -1,
-1, -1, -1, 3, -1, 5, 6, -1, 8, 9,
-1, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, 538, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, 39,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, 179,
-1, 181, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, 199,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, 215, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, 253, 254, 255, -1, 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, -1, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, 436, -1, 438, 439,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, 474, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, 485, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, -1, -1, -1, -1,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 538, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, 68, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, 81, -1,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, -1, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, 179, -1, 181, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, -1, 251, 252,
253, 254, 255, -1, 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, -1, 296, 297, 298, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, -1,
313, 314, 315, 316, -1, -1, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 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, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, 474, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, 485, 486, 487, 488, 489, 490, -1, -1,
493, -1, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, -1, -1, -1, 519, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 538, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, 68, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, 179, -1, 181, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, 215,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, -1, 251, 252, 253, 254, 255,
-1, 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, -1,
296, 297, 298, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, 313, 314, 315,
316, -1, -1, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
436, -1, 438, 439, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, 474, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, 485,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
-1, -1, -1, -1, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 538, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, 68,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
179, -1, 181, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, 253, 254, 255, -1, 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, -1, 296, 297, 298,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, 436, -1, 438,
439, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, 474, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, 485, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, -1, -1, -1,
-1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 538,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, 68, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, 81,
-1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, 179, -1, 181,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, 253, 254, 255, -1, 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, -1, 296, 297, 298, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, 436, -1, 438, 439, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, 474, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, 485, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, -1, -1, -1, -1, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 538, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, 68, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, 81, -1, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, 179, -1, 181, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
215, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, 253, 254,
255, -1, 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,
-1, 296, 297, 298, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, 436, -1, 438, 439, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, 474,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
485, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, -1, -1, -1, -1, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 538, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
68, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, 179, -1, 181, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, 199, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, 215, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, 253, 254, 255, -1, 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, -1, 296, 297,
298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, 436, -1,
438, 439, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, 474, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, 485, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, -1, -1,
-1, -1, 3, -1, 5, 6, -1, -1, -1, -1,
11, -1, -1, -1, -1, -1, -1, -1, -1, -1,
538, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
81, -1, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, 102, 103, 104, 105, -1, -1, -1, 109, -1,
-1, -1, 113, 114, 115, 116, 117, 118, 119, 120,
121, 122, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, 179, -1,
181, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, 253, 254, 255, -1, 257, 258, 259, -1,
-1, 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, -1, 296, 297, 298, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, 312, -1, 314, 315, 316, -1, -1, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, -1, -1, 438, 439, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, 485, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, -1, -1, -1, -1, 3,
-1, -1, -1, -1, -1, -1, -1, -1, 529, 530,
531, -1, -1, -1, -1, -1, -1, 538, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, 35, 36, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, 81, -1, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, 102, 103,
104, 105, -1, -1, -1, 109, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, 179, -1, 181, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, 253,
254, 255, -1, 257, 258, 259, -1, -1, 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, -1, 296, 297, 298, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 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,
-1, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, 437, 438, 439, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, 485, 486, 487, 488, 489, 490, -1, -1, 493,
-1, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, -1, -1, 519, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 538, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, 102, 103, 104, 105, -1,
-1, -1, 109, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, 179, -1, 181, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, 253, 254, 255, -1,
257, 258, 259, -1, -1, 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, -1, 296,
297, 298, 299, -1, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, -1,
-1, 438, 439, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, 485, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, -1,
-1, -1, -1, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 538, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
-1, 51, 52, 53, 54, 55, -1, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, -1, -1, 83, 84, 85, 86, 87, 88, -1,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, -1, 103, 104, 105, -1, -1, -1, -1,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, -1,
-1, -1, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, -1,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, -1, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, -1, -1, 229,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, -1, 254, -1, -1, 257, 258, 259,
-1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, -1, 296, 297, -1, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, -1, 323, -1, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, -1, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, 398, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, 437, 438, -1,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, -1, 486, 487, 488, 489,
490, -1, -1, 493, -1, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, -1, -1, -1, 519,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 538, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, -1, 51, 52,
53, 54, 55, -1, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, -1, -1,
83, 84, 85, 86, 87, 88, -1, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, -1,
103, 104, 105, -1, -1, -1, 109, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, -1, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, -1, -1, -1, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, -1, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, -1, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, -1, -1, 229, -1, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
-1, 254, -1, -1, 257, 258, 259, -1, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, -1,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, -1, 296, 297, -1, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, -1,
313, 314, 315, 316, -1, -1, 319, 320, 321, -1,
323, -1, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, -1, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, -1, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, -1, 437, 438, -1, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, -1, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, -1, -1, -1, -1, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 538, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, -1, 51, 52, 53, 54, 55,
-1, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, -1, -1, 83, 84, 85,
86, 87, 88, -1, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, -1, 103, 104, 105,
-1, -1, -1, -1, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, -1, -1, -1, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, -1, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, -1, -1, 229, -1, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, -1, 254, -1,
-1, 257, 258, 259, -1, -1, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, -1, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
296, 297, -1, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, -1, 323, -1, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, -1, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, -1, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, -1,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
-1, -1, -1, -1, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 538, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, -1, 51, 52, 53, 54, 55, -1, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, -1, -1, 83, 84, 85, 86, 87, 88,
-1, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, -1, 103, 104, 105, -1, -1, -1,
-1, -1, -1, -1, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
-1, -1, -1, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
-1, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, -1, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, -1, -1,
229, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, -1, 254, -1, -1, 257, 258,
259, -1, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, -1, 296, 297, -1,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, -1, 323, -1, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, -1, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, -1, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, -1, -1, 438,
-1, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, -1, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, -1, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, -1, -1, -1,
-1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 538,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, -1, 51,
52, 53, 54, 55, -1, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, -1,
-1, 83, 84, 85, 86, 87, 88, -1, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
-1, 103, 104, 105, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, -1, -1, -1,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, -1, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, -1, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, -1, -1, 229, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, -1, 254, -1, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
-1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, -1, 296, 297, -1, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
-1, 323, -1, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, -1,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, -1, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, -1, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, -1, -1, -1, -1, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 538, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, -1, 51, 52, 53, 54,
55, -1, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, -1, -1, 83, 84,
85, 86, 87, 88, -1, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, -1, 103, 104,
105, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, -1, -1, -1, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, -1, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
-1, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, -1, -1, 229, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, -1, 254,
-1, -1, 257, 258, 259, -1, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, -1, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
-1, 296, 297, -1, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, -1, 323, -1,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, -1, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, -1, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
-1, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, -1, -1, -1, -1, 3, -1, -1, -1, -1,
-1, -1, 10, -1, -1, 13, -1, -1, -1, 17,
18, 19, -1, 538, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 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, 64, 65, 66, 67,
68, 69, 70, -1, -1, 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, -1, 102, 103, 104, 105, 106, 107,
108, 109, 110, 111, 112, 113, 114, 115, 116, -1,
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, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
-1, -1, 170, 171, 172, 173, -1, 175, 176, 177,
178, 179, -1, 181, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, -1, 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, -1, 224, -1, 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,
258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, -1, 275, 276, -1,
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,
-1, 309, 310, 311, -1, 313, 314, 315, 316, 317,
-1, 319, 320, 321, 322, -1, -1, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, 341, 342, 343, -1, 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,
-1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, -1, 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, -1, 451, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
478, 479, 480, 481, 482, 483, -1, 485, 486, 487,
488, 489, 490, 491, -1, 493, -1, -1, -1, -1,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, -1, 514, 515, -1, 517,
-1, -1, -1, -1, -1, -1, -1, -1, 526, 527,
528, 529, 530, 531, 532, 533, 534, 3, -1, 5,
6, -1, -1, -1, 10, 11, -1, -1, -1, -1,
-1, 17, 18, 19, -1, -1, 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, -1, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, -1, 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, -1, 161, 162, 163, 164, -1,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, 187, -1, 189, -1, 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,
-1, 217, 218, 219, 220, 221, 222, 223, 224, 225,
226, 227, 228, 229, 230, 231, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, -1, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, -1, 273, 274, 275,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, -1, 294, 295,
296, 297, 298, 299, 300, -1, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, 317, 318, 319, 320, -1, 322, 323, 324, -1,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, -1, 343, -1, 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, -1, 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, -1, 432, 433, 434, 435,
436, 437, 438, 439, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, -1, 455,
-1, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 478, 479, 480, -1, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 493, 494, 495,
496, 497, 498, 499, 500, 501, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 513, 514, 515,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
526, 527, 528, 529, 530, 531, 532, 533, 534, 3,
-1, 5, 6, -1, -1, -1, 10, 11, -1, -1,
-1, -1, -1, 17, 18, 19, -1, -1, 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,
-1, 55, 56, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, 70, 71, 72, 73,
74, 75, 76, 77, 78, -1, 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, -1, 161, 162, 163,
164, -1, 166, 167, 168, 169, 170, 171, 172, 173,
174, 175, 176, 177, 178, 179, 180, 181, 182, 183,
184, 185, 186, 187, -1, 189, -1, 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, -1, 217, 218, 219, 220, 221, 222, 223,
224, 225, 226, 227, 228, 229, 230, 231, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, -1, 253,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, -1, 273,
274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, -1,
294, 295, 296, 297, 298, 299, 300, -1, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 316, 317, 318, 319, 320, -1, 322, 323,
324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, 341, -1, 343,
-1, 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, -1, 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, -1, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
-1, 455, -1, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 493,
494, 495, 496, 497, 498, 499, 500, 501, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 513,
514, 515, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 526, 527, 528, 529, 530, 531, 532, 533,
534, 3, -1, -1, -1, -1, -1, -1, 10, -1,
-1, -1, -1, -1, -1, 17, 18, 19, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, -1, 51,
52, 53, 54, 55, -1, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, -1,
-1, 83, 84, 85, 86, 87, 88, -1, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
-1, 103, 104, 105, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, -1, -1, -1,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, -1, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, -1, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, -1, -1, 229, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, -1, 254, -1, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
-1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, -1, 296, 297, -1, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
-1, 323, -1, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, -1,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, -1, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, -1, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 526, 527, 528, 529, 530, 531,
532, 533, 534, 3, -1, -1, -1, -1, -1, -1,
10, -1, -1, -1, -1, -1, -1, 17, 18, 19,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
-1, 51, 52, 53, 54, 55, -1, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, -1, -1, 83, 84, 85, 86, 87, 88, -1,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, -1, 103, 104, 105, -1, -1, -1, -1,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, -1,
-1, -1, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, -1,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, -1, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, -1, -1, 229,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, -1, 254, -1, -1, 257, 258, 259,
-1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, -1, 296, 297, -1, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, -1, 323, -1, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, -1, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, -1, 438, -1,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, -1, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 526, 527, 528, 529,
530, 531, 532, 533, 534, 3, -1, -1, -1, -1,
-1, -1, 10, -1, -1, -1, -1, -1, -1, 17,
18, 19, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, -1, 51, 52, 53, 54, 55, -1, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, -1, -1, 83, 84, 85, 86, 87,
88, -1, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, -1, 103, 104, 105, -1, -1,
-1, -1, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, -1, -1, -1, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, -1, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, -1, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, -1,
-1, 229, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, -1, 254, -1, -1, 257,
258, 259, -1, -1, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, -1, 296, 297,
-1, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, -1, 323, -1, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, -1, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, -1, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, -1, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 526, 527,
528, 529, 530, 531, 532, 533, 534, 3, -1, -1,
-1, -1, -1, -1, 10, -1, -1, -1, -1, -1,
-1, 17, 18, 19, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, -1, 51, 52, 53, 54, 55,
-1, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, -1, -1, 83, 84, 85,
86, 87, 88, -1, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, -1, 103, 104, 105,
-1, -1, -1, -1, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, -1, -1, -1, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, -1, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, -1, -1, 229, -1, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, -1, 254, -1,
-1, 257, 258, 259, -1, -1, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, -1, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
296, 297, -1, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, -1, 323, -1, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, -1, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, -1, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, -1,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
526, 527, 528, 529, 530, 531, 532, 533, 534, 3,
-1, -1, -1, -1, -1, -1, 10, -1, -1, -1,
-1, -1, -1, 17, 18, 19, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, -1, 51, 52, 53,
54, 55, -1, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, -1, -1, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, -1, 103,
104, 105, -1, -1, -1, -1, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, -1, -1, -1, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, -1, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, -1, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, -1, -1, 229, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, -1,
254, -1, -1, 257, 258, 259, -1, -1, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, -1, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, -1, 296, 297, -1, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, -1, 323,
-1, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, -1, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, -1, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, -1, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 526, 527, 528, 529, 530, 531, 532, 533,
534, 3, -1, -1, -1, -1, -1, -1, 10, -1,
-1, -1, -1, -1, -1, 17, 18, 19, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, -1, 51,
52, 53, 54, 55, -1, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, -1,
-1, 83, 84, 85, 86, 87, 88, -1, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
-1, 103, 104, 105, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, -1, -1, -1,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, -1, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, -1, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, -1, -1, 229, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, -1, 254, -1, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
-1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, -1, 296, 297, -1, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
-1, 323, -1, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, -1,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, -1, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, -1, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 526, 527, 528, 529, 530, 531,
532, 533, 534, 3, -1, -1, -1, -1, -1, -1,
10, -1, -1, -1, -1, -1, -1, 17, 18, 19,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
-1, 51, 52, 53, 54, 55, -1, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, -1, -1, 83, 84, 85, 86, 87, 88, -1,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, -1, 103, 104, 105, -1, -1, -1, -1,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, -1,
-1, -1, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, -1,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, -1, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, -1, -1, 229,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, -1, 254, -1, -1, 257, 258, 259,
-1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, -1, 296, 297, -1, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, -1, 323, -1, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, -1, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, -1, 438, -1,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, -1, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 526, 527, 528, 529,
530, 531, 532, 533, 534, 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,
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, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 531, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, -1, 51, 52, 53,
54, 55, -1, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, -1, -1, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, -1, 103,
104, 105, -1, -1, -1, -1, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, -1, -1, -1, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, -1, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, -1, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, -1, -1, 229, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, -1,
254, -1, -1, 257, 258, 259, -1, -1, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, -1, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, -1, 296, 297, -1, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, -1, 323,
-1, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, -1, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, -1, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, -1, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 531, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, -1,
51, 52, 53, 54, 55, -1, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
-1, -1, 83, 84, 85, 86, 87, 88, -1, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, -1, 103, 104, 105, -1, -1, -1, -1, -1,
-1, -1, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, -1, -1,
-1, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, -1, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, -1, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, -1, -1, 229, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, -1, 254, -1, -1, 257, 258, 259, -1,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, -1, 296, 297, -1, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, -1, 323, -1, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
-1, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, -1,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, -1, -1, 438, -1, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, -1, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
531, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, -1, 51, 52, 53, 54, 55, -1, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, -1, -1, 83, 84, 85, 86, 87,
88, -1, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, -1, 103, 104, 105, -1, -1,
-1, -1, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, -1, -1, -1, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, -1, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, -1, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, -1,
-1, 229, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, -1, 254, -1, -1, 257,
258, 259, -1, -1, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, -1, 296, 297,
-1, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, -1, 323, -1, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, -1, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, -1, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, -1, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 531, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, -1, 51, 52, 53, 54,
55, -1, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, -1, -1, 83, 84,
85, 86, 87, 88, -1, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, -1, 103, 104,
105, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, -1, -1, -1, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, -1, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
-1, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, -1, -1, 229, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, -1, 254,
-1, -1, 257, 258, 259, -1, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, -1, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
-1, 296, 297, -1, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, -1, 323, -1,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, -1, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, -1, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
-1, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 531, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, -1, 55, 56, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, -1, -1, 81,
-1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
102, 103, 104, 105, -1, -1, -1, 109, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, -1, 161,
162, 163, 164, -1, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, 179, -1, 181,
182, 183, 184, 185, -1, 187, -1, -1, -1, 191,
192, -1, 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, -1, 224, -1, 226, 227, 228, 229, 230, 231,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
-1, 253, 254, 255, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
-1, 273, 274, 275, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, -1, 294, -1, 296, 297, 298, 299, -1, -1,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, 318, 319, 320, 321,
322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
-1, 343, -1, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
382, 383, 384, 385, 386, -1, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
432, -1, 434, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, -1, 455, -1, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, -1,
482, 483, 484, 485, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
-1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 513, 514, 515, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, 531,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, -1, 55, 56, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, -1, -1, 81,
-1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
102, 103, 104, 105, -1, -1, -1, 109, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, -1, 161,
162, 163, 164, -1, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, 179, -1, 181,
182, 183, 184, 185, -1, 187, -1, -1, -1, 191,
192, -1, 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, -1, 224, -1, 226, 227, 228, 229, 230, 231,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
-1, 253, 254, 255, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
-1, 273, 274, 275, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, -1, 294, -1, 296, 297, 298, 299, -1, -1,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, 318, 319, 320, 321,
322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
-1, 343, -1, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
382, 383, 384, 385, 386, -1, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
432, -1, 434, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, -1, 455, -1, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, -1,
482, 483, 484, 485, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
-1, 3, -1, 5, 6, -1, -1, -1, -1, 11,
12, 513, 514, 515, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, 531,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, 81,
-1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
102, 103, 104, 105, -1, -1, -1, 109, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, 179, -1, 181,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, 253, 254, 255, -1, 257, 258, 259, -1, -1,
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, -1, 296, 297, 298, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
312, -1, 314, 315, 316, -1, -1, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, 485, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 3, -1, 5, 6, -1, -1,
-1, -1, 11, 12, -1, -1, -1, 529, 530, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, 102, 103, 104, 105, -1, -1, -1,
109, -1, -1, -1, 113, 114, 115, 116, 117, 118,
119, 120, 121, 122, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
179, -1, 181, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, 253, 254, 255, -1, 257, 258,
259, -1, -1, 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, -1, 296, 297, 298,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, 312, -1, 314, 315, 316, -1, -1,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, -1, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, 485, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 3, -1, 5,
6, -1, -1, -1, -1, 11, -1, -1, -1, -1,
529, 530, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, 102, 103, 104, 105,
-1, -1, -1, 109, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, 122, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, 179, -1, 181, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, 215,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, 253, 254, 255,
-1, 257, 258, 259, -1, -1, 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, -1,
296, 297, 298, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, 312, -1, 314, 315,
316, -1, -1, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, 439, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, 485,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
3, -1, 5, 6, -1, -1, -1, -1, 11, 12,
-1, -1, -1, 529, 530, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, 81, -1,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, 102,
103, 104, 105, -1, -1, -1, 109, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, 179, -1, 181, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
253, 254, 255, -1, 257, 258, 259, -1, -1, 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, -1, 296, 297, 298, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, 312,
-1, 314, 315, 316, -1, -1, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, -1, -1, 438, 439, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, 485, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 3, -1, 5, 6, -1, -1, -1,
-1, 11, -1, -1, -1, -1, 529, 530, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, 102, 103, 104, 105, -1, -1, -1, 109,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, 179,
-1, 181, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, 199,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, 215, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, 253, 254, 255, -1, 257, 258, 259,
-1, -1, 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, -1, 296, 297, 298, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, 312, -1, 314, 315, 316, -1, -1, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, -1, 438, 439,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, 485, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 3, -1, -1, -1,
-1, -1, -1, -1, 11, -1, -1, -1, -1, 529,
530, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, -1, 51, 52, 53, 54, 55, -1,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, -1, -1, 83, 84, 85, 86,
87, 88, -1, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, -1, 103, 104, 105, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, -1, 180, -1, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, -1, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, -1, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
-1, -1, 229, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, -1, 254, -1, -1,
257, 258, 259, -1, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, 281, -1, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, -1, 296,
297, -1, 299, -1, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, -1, 323, -1, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, -1, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, -1, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, -1,
-1, 438, -1, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, -1, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 529, 530, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, 35, 36, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, 81, -1, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, 102, 103,
104, 105, -1, -1, -1, 109, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, 179, -1, 181, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, 253,
254, 255, -1, 257, 258, 259, -1, -1, 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, -1, 296, 297, 298, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, 485, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 3, -1, 5, 6, -1, -1, -1,
-1, 11, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 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, 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, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 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,
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, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 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, 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, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, 68, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
81, -1, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, 179, -1,
181, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, 253, 254, 255, -1, 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, -1, 296, 297, 298, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, 436, -1, 438, 439, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, 474, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, 485, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 3, -1, 5, 6, -1,
8, 9, -1, 11, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, 102, 103, 104, 105, -1, -1,
-1, 109, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, 179, -1, 181, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, 199, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, 215, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, 253, 254, 255, -1, 257,
258, 259, -1, -1, 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, -1, 296, 297,
298, 299, 300, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, 439, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, 485, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, 81, -1, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, 102, 103, 104,
105, -1, -1, 108, 109, -1, -1, 112, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, 179, -1, 181, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
215, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, 253, 254,
255, -1, 257, 258, 259, -1, -1, 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,
-1, 296, 297, 298, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, 439, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
485, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, 81,
-1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
102, 103, 104, 105, -1, -1, 108, 109, -1, -1,
112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, 179, -1, 181,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, 253, 254, 255, -1, 257, 258, 259, -1, -1,
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, -1, 296, 297, 298, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, 485, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, 102, 103, 104, 105, -1, -1, 108,
109, -1, -1, 112, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
179, -1, 181, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, 253, 254, 255, -1, 257, 258,
259, -1, -1, 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, -1, 296, 297, 298,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, 474, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, 485, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, 102, 103, 104, 105,
-1, -1, 108, 109, -1, -1, 112, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, 179, -1, 181, 182, 183, 184, 185,
-1, 187, 188, 189, 190, 191, 192, -1, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, 215,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, 253, 254, 255,
-1, 257, 258, 259, -1, -1, 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, -1,
296, 297, 298, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, 439, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, 485,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
3, -1, -1, 6, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, 81, -1,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, 102,
103, 104, 105, -1, -1, -1, 109, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, 179, -1, 181, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
253, 254, 255, -1, 257, 258, 259, -1, -1, 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, -1, 296, 297, 298, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, 312,
-1, 314, 315, 316, -1, -1, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, -1, -1, 438, 439, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, 485, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, 102, 103, 104, 105, -1, -1, 108, 109,
-1, -1, 112, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, 179,
-1, 181, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, 199,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, 215, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, 253, 254, 255, -1, 257, 258, 259,
-1, -1, 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, -1, 296, 297, 298, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, -1, 438, 439,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, 485, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, 102, 103, 104, 105, -1,
-1, 108, 109, -1, -1, 112, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, 179, -1, 181, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, 253, 254, 255, -1,
257, 258, 259, -1, -1, 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, -1, 296,
297, 298, 299, -1, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, -1,
-1, 438, 439, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, 485, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, 81, -1, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, 102, 103,
104, 105, -1, -1, 108, 109, -1, -1, 112, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, 179, -1, 181, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, 253,
254, 255, -1, 257, 258, 259, -1, -1, 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, -1, 296, 297, 298, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, 485, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
81, -1, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, 102, 103, 104, 105, -1, -1, 108, 109, -1,
-1, 112, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, 179, -1,
181, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, 253, 254, 255, -1, 257, 258, 259, -1,
-1, 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, -1, 296, 297, 298, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, -1, -1, 438, 439, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, 485, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, 81, -1, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, 102, 103, 104, 105, -1, -1,
108, 109, -1, -1, 112, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, 179, -1, 181, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, 199, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, 215, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, 253, 254, 255, -1, 257,
258, 259, -1, -1, 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, -1, 296, 297,
298, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, 439, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, 485, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 3, -1,
-1, 6, -1, -1, -1, -1, -1, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, 56, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, 81, -1, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, 102, 103, 104,
105, -1, -1, -1, 109, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, 179, -1, 181, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
215, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, 253, 254,
255, -1, 257, 258, 259, -1, -1, 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,
-1, 296, 297, 298, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, 439, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
485, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 3, -1, -1, 6, -1, -1, -1, -1, -1,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 56, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, 81,
-1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
102, 103, 104, 105, -1, -1, -1, 109, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, 179, -1, 181,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, 253, 254, 255, -1, 257, 258, 259, -1, -1,
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, -1, 296, 297, 298, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, 485, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 3, -1, -1, 6, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, 81, -1, 83, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, 102, 103, 104, 105, -1, -1, -1,
109, -1, -1, -1, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
179, -1, 181, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, 253, 254, 255, -1, 257, 258,
259, -1, -1, 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, -1, 296, 297, 298,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, -1, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, 485, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, 81, -1, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, 102, 103, 104, 105,
-1, -1, -1, 109, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, 179, -1, 181, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, 215,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, 253, 254, 255,
-1, 257, 258, 259, -1, -1, 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, -1,
296, 297, 298, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, 439, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, 485,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, 81, -1,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, 102,
103, 104, 105, -1, -1, -1, 109, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, -1, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, 179, -1, 181, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
253, 254, 255, -1, 257, 258, 259, -1, -1, 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, -1, 296, 297, 298, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, -1, -1, 438, 439, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, 485, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, 102, 103, 104, 105, -1, -1, -1, 109,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, 179,
-1, 181, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, 199,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, 215, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, 253, 254, 255, -1, 257, 258, 259,
-1, -1, 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, -1, 296, 297, 298, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, -1, 438, 439,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, 485, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, 81, -1, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, 102, 103, 104, 105, -1,
-1, -1, 109, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, 179, -1, 181, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, 253, 254, 255, -1,
257, 258, 259, -1, -1, 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, -1, 296,
297, 298, 299, -1, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, -1,
-1, 438, 439, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, 485, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, 81, -1, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, 102, 103,
104, 105, -1, -1, -1, 109, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, 179, -1, 181, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, 253,
254, 255, -1, 257, 258, 259, -1, -1, 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, -1, 296, 297, 298, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, 485, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, 56, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
81, -1, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, 102, 103, 104, 105, -1, -1, -1, 109, -1,
-1, -1, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, 179, -1,
181, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, 253, 254, 255, -1, 257, 258, 259, -1,
-1, 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, -1, 296, 297, 298, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, -1, -1, 438, 439, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, 485, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, -1, 51, 52, 53, 54, 55, -1, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, 74, 75, 76, 77,
78, 79, -1, -1, 82, 83, 84, 85, 86, 87,
88, -1, 90, 91, 92, 93, 94, 95, 96, 97,
98, 99, 100, -1, -1, 103, 104, 105, -1, -1,
-1, -1, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, 176, 177,
178, -1, -1, -1, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, -1, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, -1, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, -1,
-1, 229, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, -1, 254, -1, -1, 257,
258, 259, -1, -1, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
-1, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, -1, 323, -1, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 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, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, -1, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, -1, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
468, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, -1, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, -1, 51, 52, 53, 54,
55, -1, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, 74,
75, 76, 77, 78, 79, -1, -1, -1, 83, 84,
85, 86, 87, 88, -1, 90, 91, 92, 93, 94,
95, 96, 97, 98, 99, 100, -1, -1, 103, 104,
105, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, 176, 177, 178, -1, -1, -1, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, -1, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
-1, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, -1, -1, 229, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, -1, 254,
255, -1, 257, 258, 259, -1, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, -1, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, -1, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, -1, 323, -1,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 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, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, -1, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, -1, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, 468, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
-1, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, -1, 51,
52, 53, 54, 55, -1, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, 74, 75, 76, 77, 78, 79, -1, -1,
-1, 83, 84, 85, 86, 87, 88, -1, 90, 91,
92, 93, 94, 95, 96, 97, 98, 99, 100, -1,
-1, 103, 104, 105, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, 176, 177, 178, -1, -1, -1,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, -1, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, -1, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, -1, -1, 229, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, -1, 254, -1, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
-1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, -1, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
-1, 323, -1, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 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, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, -1,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, -1, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, 468, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, -1, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, -1, 51, 52, 53, 54, 55, -1, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, -1, -1, 83, 84, 85, 86, 87, 88,
-1, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, 101, -1, 103, 104, 105, -1, -1, -1,
-1, -1, -1, -1, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
-1, -1, -1, 182, 183, 184, 185, 186, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
-1, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, -1, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, -1, -1,
229, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, -1, 254, -1, -1, 257, 258,
259, -1, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, -1, 296, 297, -1,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, -1, 323, -1, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
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, -1,
379, 380, -1, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, -1, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, -1, -1, 438,
-1, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, -1, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, -1, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, -1, 51, 52, 53, 54, 55,
-1, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, -1, -1, 83, 84, 85,
86, 87, 88, -1, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, 101, -1, 103, 104, 105,
-1, -1, -1, -1, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, -1, -1, -1, 182, 183, 184, 185,
186, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, -1, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, -1, -1, 229, -1, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, -1, 254, -1,
-1, 257, 258, 259, -1, -1, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, -1, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
296, 297, -1, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, -1, 323, -1, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 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, -1, 379, 380, -1, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, 398, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, -1, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, -1,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, -1, 51, 52,
53, 54, 55, -1, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, -1, -1,
83, 84, 85, 86, 87, 88, -1, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, 101, -1,
103, 104, 105, -1, -1, -1, -1, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, -1, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, -1, -1, -1, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, -1, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, -1, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, -1, -1, 229, -1, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
-1, 254, -1, -1, 257, 258, 259, -1, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, -1,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, -1, 296, 297, -1, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, -1,
323, -1, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 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, -1, 379, 380, -1, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, -1, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, -1, -1, 438, -1, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, -1, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
-1, 51, 52, 53, 54, 55, -1, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, -1, -1, 83, 84, 85, 86, 87, 88, -1,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, -1, 103, 104, 105, -1, -1, -1, 109,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, -1,
-1, -1, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, -1,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, -1, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, -1, -1, 229,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, -1, 254, -1, -1, 257, 258, 259,
-1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, -1, 296, 297, -1, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, 313, 314, 315, 316, -1, -1, 319,
320, 321, -1, 323, -1, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, -1, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, 437, 438, -1,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, -1, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, -1, 51, 52, 53, 54, 55, -1,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, -1, -1, 83, 84, 85, 86,
87, 88, -1, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, -1, 103, 104, 105, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, 176,
177, 178, -1, -1, -1, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, -1, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, -1, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
-1, -1, 229, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, -1, 254, -1, -1,
257, 258, 259, -1, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, 281, -1, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, -1, 296,
297, -1, 299, -1, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, -1, 323, -1, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, -1, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, -1, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, -1,
437, 438, -1, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, -1, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, -1, 51, 52, 53,
54, 55, -1, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, -1, -1, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, 101, -1, 103,
104, 105, -1, -1, -1, -1, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, -1, -1, -1, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, -1, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, -1, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, -1, -1, 229, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, -1,
254, -1, -1, 257, 258, 259, -1, -1, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, -1, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, -1, 296, 297, -1, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, -1, 323,
-1, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 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, -1, 379, 380, -1, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, -1, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, -1, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, -1,
51, 52, 53, 54, 55, -1, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
-1, -1, 83, 84, 85, 86, 87, 88, -1, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, -1, 103, 104, 105, -1, -1, -1, 109, -1,
-1, -1, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, -1, -1,
-1, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, -1, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, -1, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, -1, -1, 229, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, -1, 254, -1, -1, 257, 258, 259, -1,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, -1, 296, 297, -1, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, 313, 314, 315, 316, -1, -1, 319, 320,
321, -1, 323, -1, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
-1, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, -1,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, -1, 437, 438, -1, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, -1, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, -1, 51, 52, 53, 54, 55, -1, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, -1, -1, 83, 84, 85, 86, 87,
88, -1, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, -1, 103, 104, 105, -1, -1,
-1, -1, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, -1, -1, -1, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, -1, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, -1, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, -1,
-1, 229, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, -1, 254, -1, -1, 257,
258, 259, -1, -1, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, -1, 296, 297,
-1, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, 313, 314, 315, 316, -1,
-1, 319, 320, 321, -1, 323, -1, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, -1, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, -1, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, -1, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 3, -1,
-1, 6, -1, -1, -1, -1, -1, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, -1, 51, 52, 53, 54,
55, -1, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, -1, -1, 83, 84,
85, 86, 87, 88, -1, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, -1, 103, 104,
105, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, -1, -1, -1, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, -1, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
-1, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, -1, -1, 229, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, -1, 254,
-1, -1, 257, 258, 259, -1, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, -1, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
-1, 296, 297, -1, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, -1, 323, -1,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, -1, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, -1, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
-1, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, -1, 51,
52, 53, 54, 55, -1, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, -1,
-1, 83, 84, 85, 86, 87, 88, -1, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
-1, 103, 104, 105, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, -1, -1, -1,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, -1, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, -1, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, -1, -1, 229, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, -1, 254, -1, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
-1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, -1, 296, 297, -1, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
-1, 323, -1, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, -1,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, -1, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, 474, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, -1, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, -1, 51, 52, 53, 54, 55, -1, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, -1, -1, 83, 84, 85, 86, 87, 88,
-1, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, -1, 103, 104, 105, -1, -1, -1,
-1, -1, -1, -1, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
-1, -1, -1, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
-1, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, -1, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, -1, -1,
229, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, -1, 254, -1, -1, 257, 258,
259, -1, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, -1, 296, 297, -1,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, -1, 323, -1, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, -1, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, -1, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, -1, -1, 438,
-1, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, 474, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, -1, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, -1, 51, 52, 53, 54, 55,
-1, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, -1, -1, 83, 84, 85,
86, 87, 88, -1, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, -1, 103, 104, 105,
-1, -1, -1, -1, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, -1, -1, -1, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, -1, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, -1, -1, 229, -1, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, -1, 254, -1,
-1, 257, 258, 259, -1, -1, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, -1, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
296, 297, -1, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, -1, 323, -1, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, -1, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, -1, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, -1,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, -1, 51, 52,
53, 54, 55, -1, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, -1, -1,
83, 84, 85, 86, 87, 88, -1, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, -1,
103, 104, 105, -1, -1, -1, -1, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, -1, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, -1, -1, -1, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, -1, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, -1, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, -1, -1, 229, -1, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
-1, 254, -1, -1, 257, 258, 259, -1, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, -1,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, -1, 296, 297, -1, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, -1,
323, -1, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, -1, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, -1, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, -1, -1, 438, -1, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, -1, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
-1, 51, 52, 53, 54, 55, -1, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, -1, -1, 83, 84, 85, 86, 87, 88, -1,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, -1, 103, 104, 105, -1, -1, -1, -1,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, -1,
-1, -1, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, -1,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, -1, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, -1, -1, 229,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, -1, 254, -1, -1, 257, 258, 259,
-1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, -1, 296, 297, -1, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, -1, 323, -1, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, -1, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, -1, 438, -1,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, -1, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, 31, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, -1, 51, 52, 53, 54, 55, -1,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, -1, -1, 83, 84, 85, 86,
87, 88, -1, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, -1, 103, 104, 105, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, -1, -1, -1, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, -1, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, -1, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
-1, -1, 229, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, -1, 254, -1, -1,
257, 258, 259, -1, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, 281, -1, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, -1, 296,
297, -1, 299, -1, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, -1, 323, -1, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, -1, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, -1, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, -1,
-1, 438, -1, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, -1, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, -1, 51, 52, 53,
54, 55, -1, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, -1, -1, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, -1, 103,
104, 105, -1, -1, -1, -1, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, -1, -1, -1, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, -1, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, -1, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, -1, -1, 229, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, -1,
254, -1, -1, 257, 258, 259, -1, -1, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, -1, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, -1, 296, 297, -1, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, 313,
314, 315, 316, -1, -1, 319, 320, 321, -1, 323,
-1, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, -1, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, -1, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, -1, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 3, -1, -1, -1, -1, -1, -1, -1,
-1, 12, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, -1,
51, 52, 53, 54, 55, -1, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
-1, -1, 83, 84, 85, 86, 87, 88, -1, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, -1, 103, 104, 105, -1, -1, -1, -1, -1,
-1, -1, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, -1, -1,
-1, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, -1, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, -1, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, -1, -1, 229, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, -1, 254, -1, -1, 257, 258, 259, -1,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, -1, 296, 297, -1, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, -1, 323, -1, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
-1, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, -1,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, -1, -1, 438, -1, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, -1, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, -1, 51, 52, 53, 54, 55, -1, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, -1, -1, 83, 84, 85, 86, 87,
88, -1, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, -1, 103, 104, 105, -1, -1,
-1, -1, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, -1, -1, -1, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, -1, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, -1, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, -1,
-1, 229, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, -1, 254, -1, -1, 257,
258, 259, -1, -1, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, -1, 296, 297,
-1, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, -1, 323, -1, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, -1, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, -1, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, -1, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, -1, 51, 52, 53, 54,
55, -1, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, -1, -1, 83, 84,
85, 86, 87, 88, -1, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, -1, 103, 104,
105, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, -1, -1, -1, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, -1, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
-1, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, -1, -1, 229, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, -1, 254,
-1, -1, 257, 258, 259, -1, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, -1, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
-1, 296, 297, -1, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, -1, 323, -1,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, -1, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, -1, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
-1, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, -1, 51,
52, 53, 54, 55, -1, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, -1,
-1, 83, 84, 85, 86, 87, 88, -1, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
-1, 103, 104, 105, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, -1, -1, -1,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, -1, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, -1, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, -1, -1, 229, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, -1, 254, -1, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
-1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, -1, 296, 297, -1, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
-1, 323, -1, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, -1,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, -1, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, -1, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, -1, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, -1, -1, 83, 84, 85, 86, 87, 88,
-1, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, -1, 103, 104, 105, -1, -1, -1,
-1, -1, -1, -1, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
-1, -1, -1, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
-1, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, -1, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, -1, -1,
229, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, -1, 254, -1, -1, 257, 258,
259, -1, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, -1, 296, 297, -1,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, -1, 323, -1, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, -1, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, -1, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, -1, -1, 438,
-1, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, -1, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, -1, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, -1, 51, 52, 53, 54, 55,
-1, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, -1, -1, 83, 84, 85,
86, 87, 88, -1, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, -1, 103, 104, 105,
-1, -1, -1, -1, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, -1, -1, -1, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, -1, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, -1, -1, 229, -1, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, -1, 254, -1,
-1, 257, 258, 259, -1, -1, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, -1, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
296, 297, -1, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, 313, 314, 315,
316, -1, -1, 319, 320, 321, -1, 323, -1, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, -1, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, -1, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, -1,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, -1, 51, 52,
53, 54, 55, -1, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, -1, -1,
83, 84, 85, 86, 87, 88, -1, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, -1,
103, 104, 105, -1, -1, -1, -1, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, -1, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, -1, -1, -1, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, -1, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, -1, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, -1, -1, 229, -1, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
-1, 254, -1, -1, 257, 258, 259, -1, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, -1,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, -1, 296, 297, -1, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, -1,
323, -1, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, -1, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, -1, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, -1, -1, 438, -1, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, -1, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
-1, 51, 52, 53, 54, 55, -1, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, -1, -1, 83, 84, 85, 86, 87, 88, -1,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, -1, 103, 104, 105, -1, -1, -1, -1,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, -1,
-1, -1, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, -1,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, -1, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, -1, -1, 229,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, -1, 254, -1, -1, 257, 258, 259,
-1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, -1, 296, 297, -1, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, -1, 323, -1, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, -1, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, -1, 438, -1,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, -1, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, -1, 51, 52, 53, 54, 55, -1,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, -1, -1, 83, 84, 85, 86,
87, 88, -1, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, -1, 103, 104, 105, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, -1, -1, -1, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, -1, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, -1, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
-1, -1, 229, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, -1, 254, -1, -1,
257, 258, 259, -1, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, 281, -1, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, -1, 296,
297, -1, 299, -1, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, -1, 323, -1, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, -1, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, -1, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, -1,
437, 438, -1, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, -1, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 3,
-1, -1, -1, -1, -1, -1, -1, 11, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, -1, 51, 52, 53,
54, 55, -1, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, -1, -1, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, -1, 103,
104, 105, -1, -1, -1, -1, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, -1, -1, -1, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, -1, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, -1, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, -1, -1, 229, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, -1,
254, -1, -1, 257, 258, 259, -1, -1, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, -1, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, -1, 296, 297, -1, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, -1, 323,
-1, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, -1, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, -1, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, -1, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, 40,
-1, 42, 43, 44, -1, 46, 47, 48, 49, -1,
51, 52, 53, 54, 55, -1, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
-1, -1, 83, 84, 85, 86, 87, 88, -1, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, -1, 103, 104, 105, -1, -1, -1, -1, -1,
-1, -1, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, -1, -1,
-1, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, -1, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, -1, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, -1, -1, 229, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, -1, 254, -1, -1, 257, 258, 259, -1,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, -1, 296, 297, -1, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, -1, 323, -1, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
-1, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, -1,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, -1, -1, 438, -1, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, -1, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, 40, -1, 42, 43, 44, -1, 46, 47,
48, 49, -1, 51, 52, 53, 54, 55, -1, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, -1, -1, 83, 84, 85, 86, 87,
88, -1, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, -1, 103, 104, 105, -1, -1,
-1, -1, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, -1, -1, -1, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, -1, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, -1, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, -1,
-1, 229, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, -1, 254, -1, -1, 257,
258, 259, -1, -1, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, -1, 296, 297,
-1, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, -1, 323, -1, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, -1, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, -1, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, -1, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, -1, 51, 52, 53, 54,
55, -1, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, -1, -1, 83, 84,
85, 86, 87, 88, -1, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, -1, 103, 104,
105, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, 122, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, -1, -1, -1, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, -1, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
-1, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, -1, -1, 229, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, -1, 254,
-1, -1, 257, 258, 259, -1, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, -1, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
-1, 296, 297, -1, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, -1, 323, -1,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, -1, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, -1, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
-1, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, -1, 51,
52, 53, 54, 55, -1, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, -1,
-1, 83, 84, 85, 86, 87, 88, -1, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
-1, 103, 104, 105, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
122, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, -1, -1, -1,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, -1, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, -1, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, -1, -1, 229, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, -1, 254, -1, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
-1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, -1, 296, 297, -1, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
-1, 323, -1, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, -1,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, -1, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, -1, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, -1, 51, 52, 53, 54, 55, -1, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, -1, -1, 83, 84, 85, 86, 87, 88,
-1, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, -1, 103, 104, 105, -1, -1, -1,
109, -1, -1, -1, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
-1, -1, -1, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
-1, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, -1, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, -1, -1,
229, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, -1, 254, -1, -1, 257, 258,
259, -1, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, -1, 296, 297, -1,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, -1, 323, -1, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, -1, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, -1, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, -1, -1, 438,
-1, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, -1, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, -1, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, -1, 51, 52, 53, 54, 55,
-1, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, -1, -1, 83, 84, 85,
86, 87, 88, -1, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, -1, 103, 104, 105,
-1, -1, -1, -1, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, 122, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, -1, -1, -1, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, -1, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, -1, -1, 229, -1, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, -1, 254, -1,
-1, 257, 258, 259, -1, -1, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, -1, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
296, 297, -1, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, -1, 323, -1, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, -1, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, -1, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, -1,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, -1, 51, 52,
53, 54, 55, -1, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, -1, -1,
83, 84, 85, 86, 87, 88, -1, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, -1,
103, 104, 105, -1, -1, -1, -1, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, -1, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, -1, -1, -1, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, -1, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, -1, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, -1, -1, 229, -1, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
-1, 254, -1, -1, 257, 258, 259, -1, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, -1,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, -1, 296, 297, -1, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, -1,
323, -1, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, -1, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, -1, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, -1, -1, 438, -1, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, -1, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
-1, 51, 52, 53, 54, 55, -1, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, -1, -1, 83, 84, 85, 86, 87, 88, -1,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, -1, 103, 104, 105, -1, -1, -1, -1,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, -1,
-1, -1, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, -1,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, -1, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, -1, -1, 229,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, -1, 254, -1, -1, 257, 258, 259,
-1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, -1, 296, 297, -1, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, -1, 323, -1, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, -1, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, -1, 438, -1,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, -1, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, -1, 51, 52, 53, 54, 55, -1,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, -1, -1, 83, 84, 85, 86,
87, 88, -1, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, -1, 103, 104, 105, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, -1, -1, -1, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, -1, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, -1, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
-1, -1, 229, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, -1, 254, -1, -1,
257, 258, 259, -1, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, 281, -1, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, -1, 296,
297, -1, 299, -1, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, -1, 323, -1, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, -1, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, -1, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, -1,
-1, 438, -1, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, -1, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, -1, 51, 52, 53,
54, 55, -1, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, -1, -1, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, -1, 103,
104, 105, -1, -1, -1, -1, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, -1, -1, -1, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, -1, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, -1, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, -1, -1, 229, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, -1,
254, -1, -1, 257, 258, 259, -1, -1, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, -1, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, -1, 296, 297, -1, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, -1, 323,
-1, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, -1, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, -1, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, -1, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, -1,
51, 52, 53, 54, 55, -1, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
-1, -1, 83, 84, 85, 86, 87, 88, -1, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, -1, 103, 104, 105, -1, -1, -1, -1, -1,
-1, -1, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, -1, -1,
-1, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, -1, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, -1, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, -1, -1, 229, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, -1, 254, -1, -1, 257, 258, 259, -1,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, -1, 296, 297, -1, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, -1, 323, -1, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
-1, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, -1,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, -1, -1, 438, -1, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, -1, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, -1, 51, 52, 53, 54, 55, -1, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, -1, -1, 83, 84, 85, 86, 87,
88, -1, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, -1, 103, 104, 105, -1, -1,
-1, -1, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, -1, -1, -1, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, -1, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, -1, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, -1,
-1, 229, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, -1, 254, -1, -1, 257,
258, 259, -1, -1, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, -1, 296, 297,
-1, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, -1, 323, -1, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, -1, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, -1, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, -1, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, -1, 51, 52, 53, 54,
55, -1, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, -1, -1, 83, 84,
85, 86, 87, 88, -1, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, -1, 103, 104,
105, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, -1, -1, -1, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, -1, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
-1, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, -1, -1, 229, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, -1, 254,
-1, -1, 257, 258, 259, -1, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, -1, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
-1, 296, 297, -1, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, -1, 323, -1,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, -1, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, -1, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
-1, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, -1, 51,
52, 53, 54, 55, -1, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, -1,
-1, 83, 84, 85, 86, 87, 88, -1, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
-1, 103, 104, 105, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, -1, -1, -1,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, -1, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, -1, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, -1, -1, 229, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, -1, 254, -1, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
-1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, -1, 296, 297, -1, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
-1, 323, -1, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, -1,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, -1, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, -1, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, -1, 51, 52, 53, 54, 55, -1, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, -1, -1, 83, 84, 85, 86, 87, 88,
-1, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, -1, 103, 104, 105, -1, -1, -1,
-1, -1, -1, -1, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
-1, -1, -1, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
-1, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, -1, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, -1, -1,
229, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, -1, 254, -1, -1, 257, 258,
259, -1, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, -1, 296, 297, -1,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, -1, 323, -1, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, -1, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, -1, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, -1, -1, 438,
-1, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, -1, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, -1, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, -1, 51, 52, 53, 54, 55,
-1, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, -1, -1, 83, 84, 85,
86, 87, 88, -1, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, -1, 103, 104, 105,
-1, -1, -1, -1, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, -1, -1, -1, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, -1, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, -1, -1, 229, -1, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, -1, 254, -1,
-1, 257, 258, 259, -1, -1, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, -1, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
296, 297, -1, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, -1, 323, -1, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, -1, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, -1, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, -1,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, -1, 51, 52,
53, 54, 55, -1, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, -1, -1,
83, 84, 85, 86, 87, 88, -1, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, -1,
103, 104, 105, -1, -1, -1, -1, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, -1, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, -1, -1, -1, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, -1, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, -1, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, -1, -1, 229, -1, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
-1, 254, -1, -1, 257, 258, 259, -1, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, -1,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, -1, 296, 297, -1, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, -1,
323, -1, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, -1, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, -1, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, -1, -1, 438, -1, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, -1, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
-1, 51, 52, 53, 54, 55, -1, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, -1, -1, 83, 84, 85, 86, 87, 88, -1,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, -1, 103, 104, 105, -1, -1, -1, -1,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, -1,
-1, -1, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, -1,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, -1, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, -1, -1, 229,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, -1, 254, -1, -1, 257, 258, 259,
-1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, -1, 296, 297, -1, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, -1, 323, -1, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, -1, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, -1, 438, -1,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, -1, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, -1, 51, 52, 53, 54, 55, -1,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, -1, -1, 83, 84, 85, 86,
87, 88, -1, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, -1, 103, 104, 105, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, -1, -1, -1, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, -1, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, -1, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
-1, -1, 229, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, -1, 254, -1, -1,
257, 258, 259, -1, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, 281, -1, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, -1, 296,
297, -1, 299, -1, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, -1, 323, -1, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, -1, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, -1, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, -1,
-1, 438, -1, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, -1, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, -1, 51, 52, 53,
54, 55, -1, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, -1, -1, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, -1, 103,
104, 105, -1, -1, -1, -1, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, -1, -1, -1, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, -1, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, -1, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, -1, -1, 229, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, -1,
254, -1, -1, 257, 258, 259, -1, -1, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, -1, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, -1, 296, 297, -1, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, -1, 323,
-1, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, -1, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, -1, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, -1, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, -1,
51, 52, 53, 54, 55, -1, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
-1, -1, 83, 84, 85, 86, 87, 88, -1, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, -1, 103, 104, 105, -1, -1, -1, -1, -1,
-1, -1, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, -1, -1,
-1, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, -1, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, -1, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, -1, -1, 229, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, -1, 254, -1, -1, 257, 258, 259, -1,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, -1, 296, 297, -1, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, -1, 323, -1, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
-1, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, -1,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, -1, -1, 438, -1, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, -1, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, -1, 51, 52, 53, 54, 55, -1, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, -1, -1, 83, 84, 85, 86, 87,
88, -1, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, -1, 103, 104, 105, -1, -1,
-1, -1, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, -1, -1, -1, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, -1, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, -1, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, -1,
-1, 229, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, -1, 254, -1, -1, 257,
258, 259, -1, -1, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, -1, 296, 297,
-1, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, -1, 323, -1, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, -1, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, -1, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, -1, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, -1, 51, 52, 53, 54,
55, -1, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, -1, -1, 83, 84,
85, 86, 87, 88, -1, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, -1, 103, 104,
105, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, -1, -1, -1, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, -1, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
-1, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, -1, -1, 229, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, -1, 254,
-1, -1, 257, 258, 259, -1, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, -1, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
-1, 296, 297, -1, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, -1, 323, -1,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, -1, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, -1, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
-1, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, -1, 51,
52, 53, 54, 55, -1, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, -1,
-1, 83, 84, 85, 86, 87, 88, -1, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
-1, 103, 104, 105, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, -1, -1, -1,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, -1, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, -1, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, -1, -1, 229, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, -1, 254, -1, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
-1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, -1, 296, 297, -1, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
-1, 323, -1, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, -1,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, -1, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, -1, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, -1, 51, 52, 53, 54, 55, -1, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, -1, -1, 83, 84, 85, 86, 87, 88,
-1, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, -1, 103, 104, 105, -1, -1, -1,
-1, -1, -1, -1, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
-1, -1, -1, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
-1, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, -1, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, -1, -1,
229, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, -1, 254, -1, -1, 257, 258,
259, -1, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, -1, 296, 297, -1,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, -1, 323, -1, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, -1, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, -1, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, -1, -1, 438,
-1, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, -1, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, -1, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, -1, 51, 52, 53, 54, 55,
-1, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, -1, -1, 83, 84, 85,
86, 87, 88, -1, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, -1, 103, 104, 105,
-1, -1, -1, -1, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, -1, -1, -1, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, -1, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, -1, -1, 229, -1, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, -1, 254, -1,
-1, 257, 258, 259, -1, -1, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, -1, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
296, 297, -1, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, -1, 323, -1, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, -1, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, -1, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, -1,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, -1, 51, 52,
53, 54, 55, -1, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, -1, -1,
83, 84, 85, 86, 87, 88, -1, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, -1,
103, 104, 105, -1, -1, -1, -1, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, -1, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, -1, -1, -1, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, -1, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, -1, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, -1, -1, 229, -1, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
-1, 254, -1, -1, 257, 258, 259, -1, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, -1,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, -1, 296, 297, -1, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, -1,
323, -1, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, -1, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, -1, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, -1, -1, 438, -1, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, -1, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
-1, 51, 52, 53, 54, 55, -1, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, -1, -1, 83, 84, 85, 86, 87, 88, -1,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, -1, 103, 104, 105, -1, -1, -1, -1,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, -1,
-1, -1, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, -1,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, -1, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, -1, -1, 229,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, -1, 254, -1, -1, 257, 258, 259,
-1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, -1, 296, 297, -1, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, -1, 323, -1, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, -1, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, -1, 438, -1,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, -1, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, -1, 51, 52, 53, 54, 55, -1,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, -1, -1, 83, 84, 85, 86,
87, 88, -1, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, -1, 103, 104, 105, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, -1, -1, -1, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, -1, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, -1, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
-1, -1, 229, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, -1, 254, -1, -1,
257, 258, 259, -1, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, 281, -1, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, -1, 296,
297, -1, 299, -1, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, -1, 323, -1, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, -1, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, -1, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, -1,
-1, 438, -1, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, -1, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, -1, 51, 52, 53,
54, 55, -1, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, -1, -1, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, -1, 103,
104, 105, -1, -1, -1, -1, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, -1, -1, -1, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, -1, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, -1, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, -1, -1, 229, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, -1,
254, -1, -1, 257, 258, 259, -1, -1, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, -1, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, -1, 296, 297, -1, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, -1, 323,
-1, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, -1, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, -1, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, -1, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, -1,
51, 52, 53, 54, 55, -1, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
-1, -1, 83, 84, 85, 86, 87, 88, -1, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, -1, 103, 104, 105, -1, -1, -1, -1, -1,
-1, -1, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, -1, -1,
-1, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, -1, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, -1, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, -1, -1, 229, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, -1, 254, -1, -1, 257, 258, 259, -1,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, -1, 296, 297, -1, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, -1, 323, -1, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
-1, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, -1,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, -1, -1, 438, -1, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, -1, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, -1, 51, 52, 53, 54, 55, -1, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, -1, -1, 83, 84, 85, 86, 87,
88, -1, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, -1, 103, 104, 105, -1, -1,
-1, -1, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, -1, -1, -1, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, -1, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, -1, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, -1,
-1, 229, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, -1, 254, -1, -1, 257,
258, 259, -1, -1, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, -1, 296, 297,
-1, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, -1, 323, -1, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, -1, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, -1, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, -1, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, -1, 51, 52, 53, 54,
55, -1, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, -1, -1, 83, 84,
85, 86, 87, 88, -1, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, -1, 103, 104,
105, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, -1, -1, -1, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, -1, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
-1, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, -1, -1, 229, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, -1, 254,
-1, -1, 257, 258, 259, -1, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, -1, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
-1, 296, 297, -1, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, -1, 323, -1,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, -1, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, -1, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
-1, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, -1, 51,
52, 53, 54, 55, -1, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, -1,
-1, 83, 84, 85, 86, 87, 88, -1, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
-1, 103, 104, 105, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, -1, -1, -1,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, -1, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, -1, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, -1, -1, 229, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, -1, 254, -1, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
-1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, -1, 296, 297, -1, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
-1, 323, -1, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, -1,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, -1, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, -1, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
-1, 40, -1, 42, 43, 44, -1, 46, 47, 48,
49, -1, 51, 52, 53, 54, 55, -1, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, -1, -1, 83, 84, 85, 86, 87, 88,
-1, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, -1, 103, 104, 105, -1, -1, -1,
-1, -1, -1, -1, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
-1, -1, -1, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
-1, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, -1, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, -1, -1,
229, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, -1, 254, -1, -1, 257, 258,
259, -1, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, -1, 296, 297, -1,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, -1, 323, -1, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, -1, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, -1, -1, 406, 407, 408,
409, -1, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, -1, -1, 438,
-1, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, -1, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, -1, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, -1, 51, 52, 53, 54, 55,
-1, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, -1, -1, 83, 84, 85,
86, 87, 88, -1, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, -1, 103, 104, 105,
-1, -1, -1, -1, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, -1, -1, -1, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, -1, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, -1, -1, 229, -1, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, -1, 254, -1,
-1, 257, 258, 259, -1, -1, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, -1, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
296, 297, -1, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, -1, 323, -1, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, -1, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, -1, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, -1,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, -1, 51, 52,
53, 54, 55, -1, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, -1, -1,
83, 84, 85, 86, 87, 88, -1, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, -1,
103, 104, 105, -1, -1, -1, -1, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, -1, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, -1, -1, -1, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, -1, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, -1, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, -1, -1, 229, -1, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
-1, 254, -1, -1, 257, 258, 259, -1, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, -1,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, -1, 296, 297, -1, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, -1,
323, -1, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, -1, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, -1, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, -1, -1, 438, -1, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, -1, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
-1, 51, 52, 53, 54, 55, -1, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, -1, -1, 83, 84, 85, 86, 87, 88, -1,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, -1, 103, 104, 105, -1, -1, -1, -1,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, -1,
-1, -1, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, -1,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, -1, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, -1, -1, 229,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, -1, 254, -1, -1, 257, 258, 259,
-1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, -1, 296, 297, -1, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, -1, 323, -1, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, -1, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, -1, 438, -1,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, -1, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, -1, 51, 52, 53, 54, 55, -1,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, -1, -1, 83, 84, 85, 86,
87, 88, -1, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, -1, 103, 104, 105, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, -1, -1, -1, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, -1, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, -1, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
-1, -1, 229, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, -1, 254, -1, -1,
257, 258, 259, -1, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, 281, -1, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, -1, 296,
297, -1, 299, -1, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, -1, 323, -1, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, -1, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, -1, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, -1,
-1, 438, -1, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, -1, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, -1, 51, 52, 53,
54, 55, -1, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, -1, -1, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, -1, 103,
104, 105, -1, -1, -1, -1, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, -1, -1, -1, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, -1, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, -1, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, -1, -1, 229, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, -1,
254, -1, -1, 257, 258, 259, -1, -1, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, -1, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, -1, 296, 297, -1, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, -1, 323,
-1, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, -1, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, -1, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, -1, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, -1,
51, 52, 53, 54, 55, -1, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
-1, -1, 83, 84, 85, 86, 87, 88, -1, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, -1, 103, 104, 105, -1, -1, -1, -1, -1,
-1, -1, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, -1, -1,
-1, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, -1, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, -1, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, -1, -1, 229, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, -1, 254, -1, -1, 257, 258, 259, -1,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, -1, 296, 297, -1, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, -1, 323, -1, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
-1, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, -1,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, -1, -1, 438, -1, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, -1, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, -1, 51, 52, 53, 54, 55, -1, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, -1, -1, 83, 84, 85, 86, 87,
88, -1, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, -1, 103, 104, 105, -1, -1,
-1, -1, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, -1, -1, -1, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, -1, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, -1, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, -1,
-1, 229, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, -1, 254, -1, -1, 257,
258, 259, -1, -1, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, -1, 296, 297,
-1, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, -1, 323, -1, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, -1, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, -1, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, -1, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, -1, 51, 52, 53, 54,
55, -1, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, -1, -1, 83, 84,
85, 86, 87, 88, -1, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, -1, 103, 104,
105, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, -1, -1, -1, 182, 183, 184,
185, -1, 187, 188, -1, 190, 191, 192, -1, 194,
195, 196, 197, 198, -1, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
-1, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, -1, -1, 229, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, -1, 254,
-1, -1, 257, 258, 259, -1, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, -1, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
-1, 296, 297, -1, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, -1, 323, -1,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, -1, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, -1, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
-1, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, -1, 51,
52, 53, 54, 55, -1, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, 79, -1, -1,
-1, 83, 84, 85, 86, 87, 88, -1, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
-1, 103, 104, 105, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, -1, -1, -1,
182, 183, 184, 185, -1, 187, 188, -1, 190, 191,
192, -1, 194, 195, 196, 197, 198, -1, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, -1, 216, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, -1, -1, 229, -1, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
252, -1, 254, -1, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
-1, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, -1, 296, 297, -1, 299, -1, 301,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
-1, 323, -1, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
342, 343, 344, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, -1,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, -1, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, -1, 434, 435, -1, -1, 438, -1, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, 454, 455, 456, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, 481,
482, -1, 484, -1, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, -1, 51, 52, 53, 54, 55, -1, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
79, -1, -1, -1, 83, 84, 85, 86, 87, 88,
-1, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, -1, 103, 104, 105, -1, -1, -1,
-1, -1, -1, -1, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
-1, -1, -1, 182, 183, 184, 185, -1, 187, 188,
-1, 190, 191, 192, -1, 194, 195, 196, 197, 198,
-1, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, -1, 216, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, -1, -1,
229, -1, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, 252, -1, 254, -1, -1, 257, 258,
259, -1, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, -1, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, -1, 296, 297, -1,
299, -1, 301, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, 321, -1, 323, -1, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, -1, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, -1, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, -1, 434, 435, -1, -1, 438,
-1, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, 454, 455, 456, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, -1, -1, 476, 477, 478,
479, 480, 481, 482, -1, 484, -1, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, -1, 51, 52, 53, 54, 55,
-1, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, 79, -1, -1, -1, 83, 84, 85,
86, 87, 88, -1, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, -1, 103, 104, 105,
-1, -1, -1, -1, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
-1, 167, -1, 169, 170, 171, 172, 173, -1, 175,
-1, 177, 178, -1, -1, -1, 182, 183, 184, 185,
-1, 187, 188, -1, 190, 191, 192, -1, 194, 195,
196, 197, 198, -1, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, -1,
216, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, -1, -1, 229, -1, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, 252, -1, 254, -1,
-1, 257, 258, 259, -1, -1, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, -1, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, -1,
296, 297, -1, 299, -1, 301, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, 321, -1, 323, -1, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, 342, 343, 344, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, -1, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, -1, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, 431, 432, -1, 434, 435,
-1, -1, 438, -1, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, 454, 455,
456, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, 481, 482, -1, 484, -1,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, -1, 51, 52,
53, 54, 55, -1, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, 79, -1, -1, -1,
83, 84, 85, 86, 87, 88, -1, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, -1,
103, 104, 105, -1, -1, -1, -1, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, -1, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, -1, -1, -1, 182,
183, 184, 185, -1, 187, 188, -1, 190, 191, 192,
-1, 194, 195, 196, 197, 198, -1, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, -1, 216, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, -1, -1, 229, -1, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, 252,
-1, 254, -1, -1, 257, 258, 259, -1, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, -1,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, -1, 296, 297, -1, 299, -1, 301, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, 321, -1,
323, -1, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, 342,
343, 344, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, -1, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, -1, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, 431, 432,
-1, 434, 435, -1, -1, 438, -1, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, 454, 455, 456, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, 481, 482,
-1, 484, -1, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
-1, 51, 52, 53, 54, 55, -1, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, 79,
-1, -1, -1, 83, 84, 85, 86, 87, 88, -1,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, -1, 103, 104, 105, -1, -1, -1, -1,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, -1,
-1, -1, 182, 183, 184, 185, -1, 187, 188, -1,
190, 191, 192, -1, 194, 195, 196, 197, 198, -1,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, -1, 216, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, -1, -1, 229,
-1, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, 252, -1, 254, -1, -1, 257, 258, 259,
-1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, -1, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, -1, 296, 297, -1, 299,
-1, 301, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, 321, -1, 323, -1, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, 342, 343, 344, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, -1, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
-1, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, 431, 432, -1, 434, 435, -1, -1, 438, -1,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, 454, 455, 456, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, 481, 482, -1, 484, -1, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, -1, 51, 52, 53, 54, 55, -1,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, 79, -1, -1, -1, 83, 84, 85, 86,
87, 88, -1, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, -1, 103, 104, 105, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, -1,
167, -1, 169, 170, 171, 172, 173, -1, 175, -1,
177, 178, -1, -1, -1, 182, 183, 184, 185, -1,
187, 188, -1, 190, 191, 192, -1, 194, 195, 196,
197, 198, -1, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, -1, 216,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
-1, -1, 229, -1, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, 252, -1, 254, -1, -1,
257, 258, 259, -1, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, 281, -1, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, -1, 296,
297, -1, 299, -1, 301, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, 321, -1, 323, -1, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, 342, 343, 344, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, -1, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, -1, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, -1, 434, 435, -1,
-1, 438, -1, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, 454, 455, 456,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, 481, 482, -1, 484, -1, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 513, 514, 515, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, -1, 51, 52, 53,
54, 55, -1, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, 79, -1, -1, -1, 83,
84, 85, 86, 87, 88, -1, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, -1, 103,
104, 105, -1, -1, -1, -1, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, -1, -1, -1, 182, 183,
184, 185, -1, 187, 188, -1, 190, 191, 192, -1,
194, 195, 196, 197, 198, -1, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, -1, 216, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, -1, -1, 229, -1, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, 252, -1,
254, -1, -1, 257, 258, 259, -1, -1, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, -1, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
294, -1, 296, 297, -1, 299, -1, 301, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, 321, -1, 323,
-1, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, 342, 343,
344, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, -1, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, -1, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, 431, 432, -1,
434, 435, -1, -1, 438, -1, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
454, 455, 456, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, 481, 482, -1,
484, -1, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, -1,
51, 52, 53, 54, 55, -1, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, 79, -1,
-1, -1, 83, 84, 85, 86, 87, 88, -1, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, -1, 103, 104, 105, -1, -1, -1, -1, -1,
-1, -1, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, -1, -1,
-1, 182, 183, 184, 185, -1, 187, 188, -1, 190,
191, 192, -1, 194, 195, 196, 197, 198, -1, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, -1, 216, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, -1, -1, 229, -1,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, 252, -1, 254, -1, -1, 257, 258, 259, -1,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, 272, 273, 274, 275, 276, 277, 278, 279, 280,
281, -1, 283, 284, 285, 286, 287, 288, 289, 290,
291, 292, 293, 294, -1, 296, 297, -1, 299, -1,
301, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
321, -1, 323, -1, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, 342, 343, 344, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
-1, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, -1,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
431, 432, -1, 434, 435, -1, -1, 438, -1, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, 454, 455, 456, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
481, 482, -1, 484, -1, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, -1, 51, 52, 53, 54, 55, -1, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, 79, -1, -1, -1, 83, 84, 85, 86, 87,
88, -1, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, -1, 103, 104, 105, -1, -1,
-1, -1, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, -1, -1, -1, 182, 183, 184, 185, -1, 187,
188, -1, 190, 191, 192, -1, 194, 195, 196, 197,
198, -1, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, -1, 216, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, -1,
-1, 229, -1, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, 252, -1, 254, -1, -1, 257,
258, 259, -1, -1, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, 294, -1, 296, 297,
-1, 299, -1, 301, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, 321, -1, 323, -1, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, -1, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, -1, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, 431, 432, -1, 434, 435, -1, -1,
438, -1, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, 454, 455, 456, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, 481, 482, -1, 484, -1, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, -1, 51, 52, 53, 54,
55, -1, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, 79, -1, -1, -1, 83, 84,
85, 86, 87, 88, -1, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, -1, 103, 104,
105, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, -1, -1, -1, 182, 183, 184,
185, -1, 187, 188, -1, 190, -1, 192, -1, 194,
195, 196, 197, 198, -1, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
-1, 216, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, -1, -1, 229, -1, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, 252, -1, 254,
-1, -1, 257, 258, 259, -1, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, -1, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
-1, 296, 297, -1, 299, -1, 301, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, 321, -1, 323, -1,
325, 326, 327, 328, 329, 330, 331, 332, -1, 334,
335, 336, 337, -1, 339, 340, 341, 342, 343, 344,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, -1, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, -1, 382, 383, 384,
385, 386, 387, -1, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, -1, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, -1, 434,
435, -1, -1, 438, -1, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, 454,
455, 456, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, 481, 482, -1, 484,
-1, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, -1, 55, 56, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, -1, -1, 81,
-1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
102, 103, 104, 105, -1, -1, -1, 109, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, -1, 161,
162, 163, 164, -1, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, 179, -1, 181,
182, 183, 184, 185, -1, 187, -1, -1, -1, 191,
192, -1, 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, -1, 224, -1, 226, 227, 228, 229, 230, 231,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
-1, 253, 254, 255, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
-1, 273, 274, 275, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, -1, 294, -1, 296, 297, 298, 299, -1, -1,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, 321,
322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
-1, 343, -1, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
382, 383, 384, 385, 386, -1, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
432, -1, 434, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, -1, 455, -1, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, -1,
482, 483, 484, 485, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 513, 514, 515, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, 50, 51, 52,
53, -1, 55, 56, 57, 58, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, 71, 72,
73, -1, 75, 76, 77, 78, -1, -1, 81, -1,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, 102,
103, 104, 105, -1, -1, -1, 109, -1, -1, -1,
113, 114, 115, 116, 117, 118, 119, 120, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, -1, 161, 162,
163, 164, -1, -1, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, 177, 178, 179, -1, 181, 182,
183, 184, 185, -1, 187, -1, -1, -1, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, 215, -1, 217, 218, 219, 220, 221, 222,
-1, 224, -1, 226, 227, 228, 229, 230, 231, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, -1,
253, 254, 255, -1, 257, 258, 259, -1, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, -1,
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, -1,
-1, 294, -1, 296, 297, 298, 299, 300, -1, 302,
303, 304, 305, 306, 307, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, -1, 322,
323, 324, -1, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, -1,
343, -1, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
383, 384, 385, 386, -1, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, -1, 432,
-1, 434, 435, -1, 437, 438, 439, 440, 441, 442,
443, 444, 445, -1, 447, 448, 449, -1, -1, 452,
453, -1, 455, -1, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, -1, 482,
-1, 484, 485, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
513, 514, 515, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, 30, -1, 32, 33,
34, -1, -1, -1, -1, -1, -1, -1, 42, 43,
44, -1, 46, 47, 48, 49, 50, 51, 52, 53,
-1, 55, 56, 57, 58, -1, 60, 61, 62, 63,
64, 65, 66, -1, -1, 69, 70, 71, 72, 73,
-1, 75, 76, 77, 78, -1, -1, 81, -1, 83,
84, 85, 86, 87, 88, 89, 90, 91, 92, 93,
-1, 95, 96, 97, 98, 99, 100, -1, 102, 103,
104, 105, -1, -1, -1, 109, -1, -1, -1, 113,
114, 115, 116, 117, 118, 119, 120, 121, -1, 123,
-1, 125, 126, 127, 128, 129, 130, 131, -1, 133,
134, 135, 136, -1, -1, 139, 140, 141, 142, 143,
-1, 145, 146, 147, 148, -1, 150, 151, 152, 153,
154, -1, 156, 157, 158, 159, -1, 161, 162, 163,
164, -1, -1, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, 177, 178, 179, -1, 181, 182, 183,
184, 185, -1, 187, -1, -1, -1, 191, 192, -1,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
-1, 205, 206, 207, 208, 209, 210, 211, 212, -1,
214, 215, -1, 217, 218, 219, 220, 221, 222, -1,
224, -1, 226, 227, 228, 229, 230, 231, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 242, 243,
244, 245, 246, 247, 248, -1, -1, 251, -1, 253,
254, 255, -1, 257, 258, 259, -1, -1, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, -1, 273,
274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, -1,
294, -1, 296, 297, 298, 299, -1, -1, 302, 303,
304, 305, 306, 307, -1, 309, 310, 311, -1, -1,
314, 315, 316, -1, -1, 319, 320, -1, 322, 323,
324, -1, 326, 327, 328, 329, 330, 331, 332, 333,
334, 335, 336, 337, -1, 339, 340, 341, -1, 343,
-1, 345, 346, 347, -1, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
-1, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, -1, 379, 380, 381, 382, 383,
384, 385, 386, -1, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, -1,
434, 435, -1, -1, 438, 439, 440, 441, 442, 443,
444, 445, -1, 447, 448, 449, -1, -1, 452, 453,
-1, 455, -1, -1, 458, 459, 460, 461, 462, 463,
464, 465, 466, -1, -1, 469, 470, 471, 472, 473,
-1, -1, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, 488, 489, 490, -1, -1, 493,
-1, -1, 496, 497, 498, 499, 500, 501, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 513,
514, 515, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, -1, 32, 33, 34,
-1, -1, -1, -1, -1, -1, -1, 42, 43, 44,
-1, 46, 47, 48, 49, 50, 51, 52, 53, -1,
55, 56, 57, 58, -1, 60, 61, 62, 63, 64,
65, 66, -1, -1, 69, 70, 71, 72, 73, -1,
75, 76, 77, 78, -1, -1, 81, -1, 83, 84,
85, 86, 87, 88, 89, 90, 91, 92, 93, -1,
95, 96, 97, 98, 99, 100, -1, 102, 103, 104,
105, -1, -1, -1, 109, -1, -1, -1, 113, 114,
115, 116, 117, 118, 119, 120, 121, -1, 123, -1,
125, 126, 127, 128, 129, 130, 131, -1, 133, 134,
135, 136, -1, -1, 139, 140, 141, 142, 143, -1,
145, 146, 147, 148, -1, 150, 151, 152, 153, 154,
-1, 156, 157, 158, 159, -1, 161, 162, 163, 164,
-1, -1, 167, -1, 169, 170, 171, 172, 173, -1,
175, -1, 177, 178, 179, -1, 181, 182, 183, 184,
185, -1, 187, -1, -1, -1, 191, 192, -1, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, -1,
205, 206, 207, 208, 209, 210, 211, 212, -1, 214,
215, -1, 217, 218, 219, 220, 221, 222, -1, 224,
-1, 226, 227, 228, 229, 230, 231, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 242, 243, 244,
245, 246, 247, 248, -1, -1, 251, -1, 253, 254,
255, -1, 257, 258, 259, -1, -1, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, -1, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, -1, 294,
-1, 296, 297, 298, 299, -1, -1, 302, 303, 304,
305, 306, 307, -1, 309, 310, 311, -1, -1, 314,
315, 316, -1, -1, 319, 320, -1, 322, 323, 324,
-1, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, -1, 339, 340, 341, -1, 343, -1,
345, 346, 347, -1, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, -1,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, -1, 379, 380, 381, 382, 383, 384,
385, 386, -1, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, -1, 432, -1, 434,
435, -1, -1, 438, 439, 440, 441, 442, 443, 444,
445, -1, 447, 448, 449, -1, -1, 452, 453, -1,
455, -1, -1, 458, 459, 460, 461, 462, 463, 464,
465, 466, -1, -1, 469, 470, 471, 472, 473, -1,
-1, 476, 477, 478, 479, 480, -1, 482, -1, 484,
485, 486, 487, 488, 489, 490, -1, -1, 493, -1,
-1, 496, 497, 498, 499, 500, 501, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 513, 514,
515, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, -1, 32, 33, 34, -1,
-1, -1, -1, -1, -1, -1, 42, 43, 44, -1,
46, 47, 48, 49, 50, 51, 52, 53, -1, 55,
56, 57, 58, -1, 60, 61, 62, 63, 64, 65,
66, -1, -1, 69, 70, 71, 72, 73, -1, 75,
76, 77, 78, -1, -1, 81, -1, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, -1, 95,
96, 97, 98, 99, 100, -1, 102, 103, 104, 105,
-1, -1, -1, 109, -1, -1, -1, 113, 114, 115,
116, 117, 118, 119, 120, 121, -1, 123, -1, 125,
126, 127, 128, 129, 130, 131, -1, 133, 134, 135,
136, -1, -1, 139, 140, 141, 142, 143, -1, 145,
146, 147, 148, -1, 150, 151, 152, 153, 154, -1,
156, 157, 158, 159, -1, 161, 162, 163, 164, -1,
-1, 167, -1, 169, 170, 171, 172, 173, 174, 175,
-1, 177, 178, 179, -1, 181, 182, 183, 184, 185,
-1, 187, -1, -1, -1, 191, 192, -1, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, -1, 205,
206, 207, 208, 209, 210, 211, 212, -1, 214, 215,
-1, 217, 218, 219, 220, 221, 222, -1, 224, -1,
226, 227, 228, 229, 230, 231, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 242, 243, 244, 245,
246, 247, 248, -1, -1, 251, -1, 253, 254, 255,
-1, 257, 258, 259, -1, -1, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, -1, 273, 274, 275,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, -1, -1, 294, -1,
296, 297, 298, 299, -1, -1, 302, 303, 304, 305,
306, 307, -1, 309, 310, 311, -1, -1, 314, 315,
316, -1, -1, 319, 320, -1, 322, 323, 324, -1,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, -1, 339, 340, 341, -1, 343, -1, 345,
346, 347, -1, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, 362, 363, -1, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 377, -1, 379, 380, 381, 382, 383, 384, 385,
386, -1, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, -1, 432, -1, 434, 435,
-1, -1, 438, 439, 440, 441, 442, 443, 444, 445,
-1, 447, 448, 449, -1, -1, 452, 453, -1, 455,
-1, -1, 458, 459, 460, 461, 462, 463, 464, 465,
466, -1, -1, 469, 470, 471, 472, 473, -1, -1,
476, 477, 478, 479, 480, -1, 482, -1, 484, 485,
486, 487, 488, 489, 490, -1, -1, 493, -1, -1,
496, 497, 498, 499, 500, 501, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 513, 514, 515,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, -1, -1, -1, 42, 43, 44, -1, 46,
47, 48, 49, 50, 51, 52, 53, -1, 55, 56,
57, 58, -1, 60, 61, 62, 63, 64, 65, 66,
-1, -1, 69, 70, 71, 72, 73, -1, 75, 76,
77, 78, -1, -1, 81, -1, 83, 84, 85, 86,
87, 88, 89, 90, 91, 92, 93, -1, 95, 96,
97, 98, 99, 100, -1, 102, 103, 104, 105, -1,
-1, -1, 109, -1, -1, -1, 113, 114, 115, 116,
117, 118, 119, 120, 121, -1, 123, -1, 125, 126,
127, 128, 129, 130, 131, -1, 133, 134, 135, 136,
-1, -1, 139, 140, 141, 142, 143, -1, 145, 146,
147, 148, -1, 150, 151, 152, 153, 154, -1, 156,
157, 158, 159, -1, 161, 162, 163, 164, -1, -1,
167, -1, 169, 170, 171, 172, 173, 174, 175, -1,
177, 178, 179, -1, 181, 182, 183, 184, 185, -1,
187, -1, -1, -1, 191, 192, -1, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, -1, 205, 206,
207, 208, 209, 210, 211, 212, -1, 214, 215, -1,
217, 218, 219, 220, 221, 222, -1, 224, -1, 226,
227, 228, 229, 230, 231, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 242, 243, 244, 245, 246,
247, 248, -1, -1, 251, -1, 253, 254, 255, -1,
257, 258, 259, -1, -1, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, -1, 273, 274, 275, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, -1, -1, 294, -1, 296,
297, 298, 299, -1, -1, 302, 303, 304, 305, 306,
307, -1, 309, 310, 311, -1, -1, 314, 315, 316,
-1, -1, 319, 320, -1, 322, 323, 324, -1, 326,
327, 328, 329, 330, 331, 332, 333, 334, 335, 336,
337, -1, 339, 340, 341, -1, 343, -1, 345, 346,
347, -1, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, -1, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, -1, 379, 380, 381, 382, 383, 384, 385, 386,
-1, 388, 389, 390, 391, 392, 393, 394, 395, 396,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, -1, 432, -1, 434, 435, -1,
-1, 438, 439, 440, 441, 442, 443, 444, 445, -1,
447, 448, 449, -1, -1, 452, 453, -1, 455, -1,
-1, 458, 459, 460, 461, 462, 463, 464, 465, 466,
-1, -1, 469, 470, 471, 472, 473, -1, -1, 476,
477, 478, 479, 480, -1, 482, -1, 484, 485, 486,
487, 488, 489, 490, -1, -1, 493, -1, -1, 496,
497, 498, 499, 500, 501, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 513, 514, 515, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, 30, -1, 32, 33, 34, -1, -1, -1,
-1, -1, -1, -1, 42, 43, 44, -1, 46, 47,
48, 49, 50, 51, 52, 53, -1, 55, 56, 57,
58, -1, 60, 61, 62, 63, 64, 65, 66, -1,
-1, 69, 70, 71, 72, 73, -1, 75, 76, 77,
78, -1, -1, 81, -1, 83, 84, 85, 86, 87,
88, 89, 90, 91, 92, 93, -1, 95, 96, 97,
98, 99, 100, -1, 102, 103, 104, 105, -1, -1,
-1, 109, -1, -1, -1, 113, 114, 115, 116, 117,
118, 119, 120, 121, -1, 123, -1, 125, 126, 127,
128, 129, 130, 131, -1, 133, 134, 135, 136, -1,
-1, 139, 140, 141, 142, 143, -1, 145, 146, 147,
148, -1, 150, 151, 152, 153, 154, -1, 156, 157,
158, 159, -1, 161, 162, 163, 164, -1, -1, 167,
-1, 169, 170, 171, 172, 173, -1, 175, -1, 177,
178, 179, -1, 181, 182, 183, 184, 185, -1, 187,
-1, -1, -1, 191, 192, -1, 194, 195, 196, 197,
198, 199, 200, 201, 202, 203, -1, 205, 206, 207,
208, 209, 210, 211, 212, -1, 214, 215, -1, 217,
218, 219, 220, 221, 222, -1, 224, -1, 226, 227,
228, 229, 230, 231, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 242, 243, 244, 245, 246, 247,
248, -1, -1, 251, -1, 253, 254, 255, -1, 257,
258, 259, -1, -1, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, -1, 273, 274, 275, 276, 277,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, -1, -1, 294, -1, 296, 297,
298, 299, -1, -1, 302, 303, 304, 305, 306, 307,
-1, 309, 310, 311, -1, -1, 314, 315, 316, -1,
-1, 319, 320, -1, 322, 323, 324, -1, 326, 327,
328, 329, 330, 331, 332, 333, 334, 335, 336, 337,
-1, 339, 340, 341, -1, 343, -1, 345, 346, 347,
-1, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, 362, 363, -1, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
-1, 379, 380, 381, 382, 383, 384, 385, 386, -1,
388, 389, 390, 391, 392, 393, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, -1, 432, -1, 434, 435, -1, -1,
438, 439, 440, 441, 442, 443, 444, 445, -1, 447,
448, 449, -1, -1, 452, 453, -1, 455, -1, -1,
458, 459, 460, 461, 462, 463, 464, 465, 466, -1,
-1, 469, 470, 471, 472, 473, -1, -1, 476, 477,
478, 479, 480, -1, 482, -1, 484, 485, 486, 487,
488, 489, 490, -1, -1, 493, -1, -1, 496, 497,
498, 499, 500, 501, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 513, 514, 515, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, 30, -1, 32, 33, 34, -1, -1, -1, -1,
-1, -1, -1, 42, 43, 44, -1, 46, 47, 48,
49, 50, 51, 52, 53, -1, 55, 56, 57, 58,
-1, 60, 61, 62, 63, 64, 65, 66, -1, -1,
69, 70, 71, 72, 73, -1, 75, 76, 77, 78,
-1, -1, 81, -1, 83, 84, 85, 86, 87, 88,
89, 90, 91, 92, 93, -1, 95, 96, 97, 98,
99, 100, -1, 102, 103, 104, 105, -1, -1, -1,
109, -1, -1, -1, 113, 114, 115, 116, 117, 118,
119, 120, 121, -1, 123, -1, 125, 126, 127, 128,
129, 130, 131, -1, 133, 134, 135, 136, -1, -1,
139, 140, 141, 142, 143, -1, 145, 146, 147, 148,
-1, 150, 151, 152, 153, 154, -1, 156, 157, 158,
159, -1, 161, 162, 163, 164, -1, -1, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, 177, 178,
179, -1, 181, 182, 183, 184, 185, -1, 187, -1,
-1, -1, 191, 192, -1, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, -1, 205, 206, 207, 208,
209, 210, 211, 212, -1, 214, 215, -1, 217, 218,
219, 220, 221, 222, -1, 224, -1, 226, 227, 228,
229, 230, 231, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 242, 243, 244, 245, 246, 247, 248,
-1, -1, 251, -1, 253, 254, 255, -1, 257, 258,
259, -1, -1, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, -1, 273, 274, 275, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, -1, -1, 294, -1, 296, 297, 298,
299, -1, -1, 302, 303, 304, 305, 306, 307, -1,
309, 310, 311, -1, -1, 314, 315, 316, -1, -1,
319, 320, -1, 322, 323, 324, -1, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, -1,
339, 340, 341, -1, 343, -1, 345, 346, 347, -1,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, -1, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, -1,
379, 380, 381, 382, 383, 384, 385, 386, -1, 388,
389, 390, 391, 392, 393, 394, 395, 396, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, -1, 432, -1, 434, 435, -1, -1, 438,
439, 440, 441, 442, 443, 444, 445, -1, 447, 448,
449, -1, -1, 452, 453, -1, 455, -1, -1, 458,
459, 460, 461, 462, 463, 464, 465, 466, -1, -1,
469, 470, 471, 472, 473, -1, -1, 476, 477, 478,
479, 480, -1, 482, -1, 484, 485, 486, 487, 488,
489, 490, -1, -1, 493, -1, -1, 496, 497, 498,
499, 500, 501, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 513, 514, 515, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
30, -1, 32, 33, 34, -1, -1, -1, -1, -1,
-1, -1, 42, 43, 44, -1, 46, 47, 48, 49,
50, 51, 52, 53, -1, 55, 56, 57, 58, -1,
60, 61, 62, 63, 64, 65, 66, -1, -1, 69,
70, 71, 72, 73, -1, 75, 76, 77, 78, -1,
-1, 81, -1, 83, 84, 85, 86, 87, 88, 89,
90, 91, 92, 93, -1, 95, 96, 97, 98, 99,
100, -1, 102, 103, 104, 105, -1, -1, -1, 109,
-1, -1, -1, 113, 114, 115, 116, 117, 118, 119,
120, 121, -1, 123, -1, 125, 126, 127, 128, 129,
130, 131, -1, 133, 134, 135, 136, -1, -1, 139,
140, 141, 142, 143, -1, 145, 146, 147, 148, -1,
150, 151, 152, 153, 154, -1, 156, 157, 158, 159,
-1, 161, 162, 163, 164, -1, -1, 167, -1, 169,
170, 171, 172, 173, -1, 175, -1, 177, 178, 179,
-1, 181, 182, 183, 184, 185, -1, 187, -1, -1,
-1, 191, 192, -1, 194, 195, 196, 197, 198, 199,
200, 201, 202, 203, -1, 205, 206, 207, 208, 209,
210, 211, 212, -1, 214, 215, -1, 217, 218, 219,
220, 221, 222, -1, 224, -1, 226, 227, 228, 229,
230, 231, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 242, 243, 244, 245, 246, 247, 248, -1,
-1, 251, -1, 253, 254, 255, -1, 257, 258, 259,
-1, -1, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, -1, 273, 274, 275, 276, 277, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, -1, -1, 294, -1, 296, 297, 298, 299,
-1, -1, 302, 303, 304, 305, 306, 307, -1, 309,
310, 311, -1, -1, 314, 315, 316, -1, -1, 319,
320, -1, 322, 323, 324, -1, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, -1, 339,
340, 341, -1, 343, -1, 345, 346, 347, -1, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, -1, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 377, -1, 379,
380, 381, 382, 383, 384, 385, 386, -1, 388, 389,
390, 391, 392, 393, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, -1, 432, -1, 434, 435, -1, -1, 438, 439,
440, 441, 442, 443, 444, 445, -1, 447, 448, 449,
-1, -1, 452, 453, -1, 455, -1, -1, 458, 459,
460, 461, 462, 463, 464, 465, 466, -1, -1, 469,
470, 471, 472, 473, -1, -1, 476, 477, 478, 479,
480, -1, 482, -1, 484, 485, 486, 487, 488, 489,
490, -1, -1, 493, -1, -1, 496, 497, 498, 499,
500, 501, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 513, 514, 515, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, -1, -1,
-1, 42, 43, 44, -1, 46, 47, 48, 49, 50,
51, 52, 53, -1, 55, 56, 57, 58, -1, 60,
61, 62, 63, 64, 65, 66, -1, -1, 69, 70,
71, 72, 73, -1, 75, 76, 77, 78, -1, -1,
81, -1, 83, 84, 85, 86, 87, 88, 89, 90,
91, 92, 93, -1, 95, 96, 97, 98, 99, 100,
-1, 102, 103, 104, 105, -1, -1, -1, 109, -1,
-1, -1, 113, 114, 115, 116, 117, 118, 119, 120,
121, -1, 123, -1, 125, 126, 127, 128, 129, 130,
131, -1, 133, 134, 135, 136, -1, -1, 139, 140,
141, 142, 143, -1, 145, 146, 147, 148, -1, 150,
151, 152, 153, 154, -1, 156, 157, 158, 159, -1,
161, 162, 163, 164, -1, -1, 167, -1, 169, 170,
171, 172, 173, -1, 175, -1, 177, 178, 179, -1,
181, 182, 183, 184, 185, -1, 187, -1, -1, -1,
191, 192, -1, 194, 195, 196, 197, 198, 199, 200,
201, 202, 203, -1, 205, 206, 207, 208, 209, 210,
211, 212, -1, 214, 215, -1, 217, 218, 219, 220,
221, 222, -1, 224, -1, 226, 227, 228, 229, 230,
231, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 242, 243, 244, 245, 246, 247, 248, -1, -1,
251, -1, 253, 254, 255, -1, 257, 258, 259, -1,
-1, 262, 263, 264, 265, 266, 267, 268, 269, 270,
271, -1, 273, 274, 275, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, -1, -1, 294, -1, 296, 297, 298, 299, -1,
-1, 302, 303, 304, 305, 306, 307, -1, 309, 310,
311, -1, -1, 314, 315, 316, -1, -1, 319, 320,
-1, 322, 323, 324, -1, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, -1, 339, 340,
341, -1, 343, -1, 345, 346, 347, -1, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, 362, 363, -1, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, -1, 379, 380,
381, 382, 383, 384, 385, 386, -1, 388, 389, 390,
391, 392, 393, 394, 395, 396, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
-1, 432, -1, 434, 435, -1, -1, 438, 439, 440,
441, 442, 443, 444, 445, -1, 447, 448, 449, -1,
-1, 452, 453, -1, 455, -1, -1, 458, 459, 460,
461, 462, 463, 464, 465, 466, -1, -1, 469, 470,
471, 472, 473, -1, -1, 476, 477, 478, 479, 480,
-1, 482, -1, 484, 485, 486, 487, 488, 489, 490,
-1, -1, 493, -1, -1, 496, 497, 498, 499, 500,
501, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 513, 514, 515, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, -1,
32, 33, 34, -1, -1, -1, -1, -1, -1, -1,
42, 43, 44, -1, 46, 47, 48, 49, 50, 51,
52, 53, -1, 55, 56, 57, 58, -1, 60, 61,
62, 63, 64, 65, 66, -1, -1, 69, 70, 71,
72, 73, -1, 75, 76, 77, 78, -1, -1, 81,
-1, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, -1, 95, 96, 97, 98, 99, 100, -1,
102, 103, 104, 105, -1, -1, -1, 109, -1, -1,
-1, 113, 114, 115, 116, 117, 118, 119, 120, 121,
-1, 123, -1, 125, 126, 127, 128, 129, 130, 131,
-1, 133, 134, 135, 136, -1, -1, 139, 140, 141,
142, 143, -1, 145, 146, 147, 148, -1, 150, 151,
152, 153, 154, -1, 156, 157, 158, 159, -1, 161,
162, 163, 164, -1, -1, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, 177, 178, 179, -1, 181,
182, 183, 184, 185, -1, 187, -1, -1, -1, 191,
192, -1, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, -1, 205, 206, 207, 208, 209, 210, 211,
212, -1, 214, 215, -1, 217, 218, 219, 220, 221,
222, -1, 224, -1, 226, 227, 228, 229, 230, 231,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
242, 243, 244, 245, 246, 247, 248, -1, -1, 251,
-1, 253, 254, 255, -1, 257, 258, 259, -1, -1,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
-1, 273, 274, 275, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, -1, 294, -1, 296, 297, 298, 299, -1, -1,
302, 303, 304, 305, 306, 307, -1, 309, 310, 311,
-1, -1, 314, 315, 316, -1, -1, 319, 320, -1,
322, 323, 324, -1, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, -1, 339, 340, 341,
-1, 343, -1, 345, 346, 347, -1, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
362, 363, -1, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, -1, 379, 380, 381,
382, 383, 384, 385, 386, -1, 388, 389, 390, 391,
392, 393, 394, 395, 396, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, -1, 408, 409, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
432, -1, 434, 435, -1, -1, 438, 439, 440, 441,
442, 443, 444, 445, -1, 447, 448, 449, -1, -1,
452, 453, -1, 455, -1, -1, 458, 459, 460, 461,
462, 463, 464, 465, 466, -1, -1, 469, 470, 471,
472, 473, -1, -1, 476, 477, 478, 479, 480, -1,
482, -1, 484, 485, 486, 487, 488, 489, 490, -1,
-1, 493, -1, -1, 496, 497, 498, 499, 500, 501,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 513, 514, 515, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, 30, -1, 32,
33, 34, -1, -1, -1, -1, -1, -1, -1, 42,
43, 44, -1, 46, 47, 48, 49, 50, 51, 52,
53, -1, -1, 56, -1, -1, -1, 60, 61, 62,
63, 64, 65, 66, -1, -1, 69, 70, -1, -1,
73, -1, 75, 76, 77, 78, -1, -1, 81, -1,
83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
93, -1, 95, 96, 97, 98, 99, 100, -1, 102,
103, 104, 105, -1, -1, -1, 109, -1, -1, -1,
113, 114, 115, 116, 117, 118, -1, -1, 121, -1,
123, -1, 125, 126, 127, 128, 129, 130, 131, -1,
133, 134, 135, 136, -1, -1, 139, 140, 141, 142,
143, -1, 145, 146, 147, 148, -1, 150, 151, 152,
153, 154, -1, 156, 157, 158, 159, -1, 161, 162,
163, 164, -1, -1, 167, -1, 169, 170, 171, -1,
173, -1, 175, -1, 177, 178, 179, -1, 181, 182,
183, 184, 185, -1, 187, -1, -1, -1, 191, 192,
-1, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, -1, 205, 206, 207, 208, 209, 210, 211, 212,
-1, 214, 215, -1, 217, 218, 219, 220, -1, -1,
-1, -1, -1, 226, 227, 228, 229, 230, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 242,
243, 244, 245, 246, 247, 248, -1, -1, 251, -1,
253, 254, 255, -1, 257, 258, 259, -1, -1, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, -1,
273, 274, 275, 276, 277, 278, 279, 280, -1, 282,
-1, 284, 285, 286, 287, 288, 289, 290, 291, -1,
-1, 294, -1, 296, 297, 298, 299, -1, -1, 302,
-1, 304, 305, 306, 307, -1, 309, 310, 311, -1,
-1, 314, 315, 316, -1, -1, 319, 320, -1, 322,
323, 324, -1, 326, 327, 328, 329, 330, 331, 332,
333, 334, 335, 336, 337, -1, 339, 340, 341, -1,
343, -1, 345, 346, 347, -1, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, -1, 361, 362,
363, -1, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 377, -1, 379, 380, 381, 382,
383, 384, 385, 386, -1, 388, 389, 390, 391, 392,
393, 394, 395, 396, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, -1, 408, 409, 410, 411, 412,
-1, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, -1, 432,
-1, 434, 435, -1, -1, 438, 439, 440, 441, 442,
443, 444, 445, -1, 447, -1, -1, -1, -1, 452,
453, -1, 455, -1, -1, 458, 459, 460, 461, 462,
463, 464, 465, 466, -1, -1, 469, 470, 471, 472,
473, -1, -1, 476, 477, 478, 479, 480, -1, -1,
-1, 484, 485, 486, 487, 488, 489, 490, -1, -1,
493, -1, -1, 496, 497, 498, 499, 500, 501, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
513, 514, 515
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
0, 22, 33, 35, 36, 53, 63, 75, 77, 78,
84, 86, 99, 101, 118, 121, 136, 138, 142, 149,
159, 161, 168, 186, 203, 257, 258, 263, 278, 297,
346, 361, 366, 367, 369, 374, 380, 383, 390, 397,
398, 405, 409, 420, 437, 458, 470, 476, 481, 495,
519, 521, 522, 523, 524, 525, 538, 545, 546, 547,
548, 553, 554, 560, 561, 563, 564, 565, 566, 568,
571, 583, 588, 589, 592, 593, 594, 614, 617, 618,
633, 688, 691, 692, 695, 698, 699, 700, 708, 715,
717, 718, 721, 724, 725, 729, 738, 742, 743, 744,
747, 749, 750, 751, 752, 760, 762, 782, 786, 788,
789, 799, 801, 807, 808, 811, 812, 813, 814, 815,
824, 826, 828, 831, 835, 836, 846, 847, 852, 857,
868, 900, 903, 904, 905, 910, 913, 915, 917, 919,
920, 924, 925, 928, 930, 931, 935, 936, 937, 940,
941, 942, 943, 944, 951, 953, 954, 955, 956, 962,
964, 965, 971, 972, 973, 976, 977, 978, 979, 981,
982, 984, 985, 987, 988, 990, 1002, 1004, 1007, 1009,
1010, 1023, 1025, 1030, 1035, 1045, 1049, 1050, 1051, 1052,
1053, 1054, 1060, 1096, 452, 498, 957, 30, 81, 98,
116, 122, 140, 154, 163, 176, 182, 189, 209, 247,
269, 314, 341, 351, 352, 355, 382, 385, 389, 392,
399, 402, 422, 430, 435, 437, 440, 445, 455, 460,
474, 487, 714, 957, 3, 22, 23, 24, 25, 26,
27, 28, 29, 30, 32, 33, 34, 42, 43, 44,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 60, 61, 62, 63, 64, 65, 66,
69, 70, 71, 72, 73, 75, 76, 77, 78, 79,
81, 83, 84, 85, 86, 87, 88, 89, 90, 91,
92, 93, 95, 96, 97, 98, 99, 100, 102, 103,
104, 105, 109, 113, 114, 115, 116, 117, 118, 119,
120, 121, 123, 125, 126, 127, 128, 129, 130, 131,
133, 134, 135, 136, 139, 140, 141, 142, 143, 145,
146, 147, 148, 150, 151, 152, 153, 154, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, 167, 169,
170, 171, 172, 173, 175, 177, 178, 179, 181, 182,
183, 184, 185, 187, 188, 190, 191, 192, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, 205, 206,
207, 208, 209, 210, 211, 212, 214, 215, 216, 217,
218, 219, 220, 221, 222, 224, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 251,
252, 253, 254, 255, 257, 258, 259, 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,
296, 297, 298, 299, 301, 302, 303, 304, 305, 306,
307, 309, 310, 311, 314, 315, 316, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, 339, 340, 341, 342,
343, 344, 345, 346, 347, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
396, 397, 399, 400, 401, 402, 403, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 431, 432, 434, 435, 438, 439, 440, 441,
442, 443, 444, 445, 447, 448, 449, 452, 453, 454,
455, 456, 458, 459, 460, 461, 462, 463, 464, 465,
466, 469, 470, 471, 472, 473, 476, 477, 478, 479,
480, 481, 482, 484, 485, 486, 487, 488, 489, 490,
493, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 1164, 1256, 1268, 1269, 1273, 1274, 1275, 3, 31,
1046, 1253, 1268, 1273, 485, 538, 995, 312, 347, 957,
56, 538, 625, 25, 43, 68, 81, 116, 122, 140,
154, 163, 176, 185, 189, 259, 314, 317, 341, 355,
382, 392, 402, 422, 430, 440, 442, 444, 445, 460,
468, 471, 474, 634, 697, 804, 858, 869, 31, 346,
1253, 1046, 31, 340, 400, 442, 444, 6, 246, 911,
912, 1259, 25, 30, 68, 81, 98, 116, 140, 154,
163, 176, 182, 189, 209, 269, 314, 327, 341, 352,
355, 382, 385, 389, 392, 399, 402, 422, 430, 437,
440, 445, 453, 455, 460, 474, 487, 714, 816, 818,
819, 957, 1253, 101, 485, 538, 692, 695, 698, 990,
1003, 1007, 1010, 1023, 1030, 1035, 1045, 1049, 11, 24,
31, 51, 171, 178, 180, 204, 248, 286, 349, 368,
529, 530, 832, 833, 1046, 1258, 1260, 31, 33, 101,
364, 398, 837, 838, 839, 1268, 176, 1268, 1255, 1259,
437, 1063, 832, 1268, 452, 1253, 327, 269, 538, 923,
390, 1268, 31, 403, 448, 452, 575, 584, 585, 1268,
186, 837, 838, 1268, 347, 957, 1268, 245, 31, 137,
1065, 1066, 69, 95, 259, 280, 382, 392, 403, 448,
452, 501, 572, 573, 574, 575, 31, 403, 448, 452,
575, 452, 313, 1108, 1109, 1251, 1268, 1063, 531, 1268,
181, 538, 996, 538, 362, 1055, 1056, 1253, 1055, 3,
55, 57, 58, 71, 72, 119, 120, 141, 172, 221,
222, 224, 231, 281, 283, 303, 360, 407, 413, 448,
449, 482, 1137, 1139, 1141, 1143, 1145, 1147, 1148, 1149,
1151, 1152, 1153, 1155, 1156, 1160, 1269, 1273, 1065, 1066,
1067, 1264, 12, 1265, 1266, 1268, 1265, 1265, 1050, 1051,
1054, 0, 541, 538, 995, 155, 223, 318, 467, 1068,
1069, 1050, 1052, 1053, 127, 219, 271, 473, 542, 37,
961, 885, 1256, 821, 1268, 821, 1253, 350, 821, 455,
1253, 115, 437, 873, 1256, 1268, 1275, 3, 108, 112,
404, 1261, 1262, 1270, 1273, 1274, 1275, 31, 198, 1251,
304, 487, 10, 17, 18, 19, 76, 167, 526, 527,
528, 529, 530, 531, 532, 533, 534, 907, 909, 1195,
1196, 1268, 198, 1253, 873, 1253, 31, 1261, 1262, 873,
1253, 1253, 198, 1251, 1253, 198, 821, 1253, 374, 405,
31, 198, 1108, 1253, 395, 1253, 821, 31, 266, 1261,
1262, 198, 1251, 246, 124, 229, 295, 359, 958, 959,
960, 538, 536, 540, 1220, 1222, 516, 989, 990, 991,
992, 1270, 1251, 1253, 1268, 30, 68, 82, 94, 116,
140, 182, 209, 247, 314, 352, 382, 385, 430, 440,
453, 460, 816, 817, 818, 819, 1259, 961, 1006, 1010,
1023, 1030, 1035, 1049, 1251, 273, 821, 538, 198, 821,
1253, 821, 455, 198, 1253, 115, 437, 442, 444, 1261,
1262, 442, 444, 76, 167, 907, 372, 1253, 1253, 1261,
198, 549, 1268, 198, 1253, 198, 550, 821, 1253, 1253,
395, 821, 266, 1261, 362, 399, 437, 487, 269, 98,
209, 30, 94, 182, 352, 389, 453, 455, 459, 709,
31, 1253, 1047, 582, 1259, 1270, 912, 273, 198, 885,
886, 198, 916, 198, 1253, 198, 823, 1137, 455, 115,
437, 198, 872, 873, 198, 1262, 1263, 89, 487, 76,
167, 198, 908, 909, 61, 198, 872, 198, 1263, 198,
872, 198, 1253, 198, 1253, 395, 916, 198, 823, 198,
266, 1263, 246, 198, 820, 821, 198, 1252, 1253, 198,
1253, 961, 538, 1008, 634, 1003, 481, 989, 995, 1260,
833, 834, 31, 834, 1260, 834, 31, 834, 1260, 834,
834, 834, 1260, 1258, 1258, 1046, 834, 350, 538, 435,
538, 663, 663, 663, 312, 450, 542, 663, 392, 1108,
1110, 542, 952, 1259, 538, 1005, 61, 487, 989, 116,
209, 392, 435, 437, 921, 922, 1268, 50, 515, 229,
540, 315, 312, 180, 315, 1259, 450, 961, 174, 829,
312, 5, 8, 9, 10, 12, 39, 55, 57, 58,
67, 68, 71, 72, 79, 81, 106, 107, 108, 109,
110, 111, 112, 119, 120, 122, 160, 165, 166, 172,
188, 190, 221, 222, 224, 231, 232, 233, 234, 235,
236, 237, 238, 239, 241, 252, 260, 261, 272, 281,
283, 293, 295, 300, 301, 303, 314, 325, 342, 360,
387, 404, 413, 431, 436, 448, 449, 454, 456, 457,
468, 474, 482, 503, 504, 505, 506, 508, 509, 510,
511, 517, 529, 530, 531, 538, 1050, 1140, 1143, 1146,
1147, 1148, 1150, 1151, 1152, 1155, 1156, 1160, 1161, 1163,
1164, 1165, 1167, 1191, 1192, 1193, 1197, 1214, 1219, 1245,
1248, 1249, 1256, 1257, 1258, 1259, 1268, 1247, 1248, 1259,
31, 590, 1250, 1251, 403, 572, 122, 581, 1259, 12,
582, 12, 1259, 50, 73, 572, 515, 414, 959, 315,
180, 450, 528, 50, 515, 229, 960, 538, 1251, 531,
1222, 1110, 989, 179, 997, 1161, 1200, 1055, 542, 538,
998, 484, 1154, 1154, 1154, 538, 1142, 1142, 344, 538,
1144, 71, 72, 1154, 1142, 1139, 519, 520, 538, 1157,
538, 1157, 39, 1138, 538, 117, 196, 274, 277, 396,
513, 538, 1158, 1159, 540, 822, 1142, 1247, 1223, 539,
539, 547, 989, 999, 1000, 1001, 1108, 31, 137, 1064,
1064, 61, 1064, 168, 174, 256, 308, 1072, 1074, 1075,
1090, 1092, 1093, 1094, 1068, 1069, 180, 225, 225, 1108,
1111, 538, 70, 291, 328, 370, 405, 538, 883, 328,
366, 370, 405, 822, 328, 370, 405, 3, 93, 147,
262, 328, 366, 370, 405, 440, 443, 495, 583, 586,
966, 967, 968, 969, 853, 27, 142, 328, 370, 405,
478, 599, 1253, 27, 142, 405, 473, 567, 499, 198,
1108, 64, 100, 164, 201, 251, 291, 295, 328, 329,
370, 379, 388, 397, 405, 418, 427, 432, 490, 583,
587, 889, 901, 929, 538, 870, 1222, 370, 567, 204,
160, 27, 33, 48, 78, 135, 142, 146, 175, 211,
291, 295, 306, 316, 328, 370, 373, 374, 405, 478,
595, 597, 598, 732, 929, 5, 529, 530, 706, 1260,
31, 198, 1251, 821, 821, 538, 906, 328, 405, 540,
160, 312, 328, 370, 405, 901, 929, 27, 142, 328,
370, 405, 204, 562, 370, 495, 519, 555, 562, 328,
370, 405, 901, 929, 312, 328, 370, 160, 40, 62,
114, 207, 265, 270, 275, 291, 327, 370, 375, 399,
405, 420, 471, 595, 703, 704, 328, 370, 486, 732,
740, 160, 328, 370, 405, 27, 93, 135, 142, 146,
328, 366, 370, 405, 412, 585, 573, 575, 204, 160,
48, 133, 291, 370, 405, 595, 596, 328, 370, 374,
405, 91, 134, 331, 443, 312, 27, 33, 142, 328,
370, 405, 615, 616, 562, 174, 370, 555, 562, 160,
370, 405, 595, 1253, 254, 124, 313, 500, 542, 958,
31, 137, 483, 531, 539, 878, 1161, 1201, 1202, 1269,
1161, 1221, 3, 31, 35, 36, 37, 38, 39, 40,
41, 45, 59, 67, 68, 74, 80, 82, 94, 101,
106, 107, 108, 110, 111, 112, 122, 124, 132, 137,
138, 144, 149, 155, 166, 168, 174, 176, 180, 186,
189, 193, 204, 213, 223, 225, 249, 250, 256, 260,
261, 295, 300, 308, 312, 313, 317, 318, 338, 348,
364, 378, 398, 404, 415, 433, 436, 437, 446, 450,
451, 457, 467, 468, 474, 475, 483, 491, 492, 494,
495, 531, 1254, 1271, 1273, 1274, 1275, 1276, 1220, 539,
542, 166, 312, 457, 579, 582, 706, 993, 475, 986,
312, 885, 538, 821, 1253, 1137, 873, 304, 76, 167,
909, 873, 873, 174, 1137, 821, 1253, 1253, 539, 663,
1253, 74, 1137, 295, 180, 538, 790, 555, 40, 980,
1253, 295, 555, 499, 198, 1251, 555, 821, 821, 790,
471, 634, 312, 174, 495, 897, 555, 295, 50, 569,
295, 460, 739, 295, 998, 93, 328, 716, 91, 134,
331, 443, 40, 790, 174, 198, 555, 487, 198, 1251,
198, 693, 1251, 1251, 487, 821, 89, 551, 1256, 455,
1256, 1256, 1253, 174, 1253, 714, 42, 56, 113, 218,
291, 394, 160, 65, 376, 542, 552, 160, 538, 160,
555, 160, 542, 552, 499, 160, 542, 552, 160, 542,
198, 820, 198, 821, 198, 821, 160, 542, 552, 1263,
160, 552, 160, 160, 552, 160, 552, 160, 91, 134,
331, 443, 174, 160, 552, 160, 174, 198, 160, 542,
552, 160, 542, 552, 160, 312, 1200, 437, 539, 1003,
834, 1046, 834, 1046, 834, 1046, 834, 1046, 834, 1046,
1046, 1046, 834, 1046, 538, 664, 667, 1268, 664, 31,
116, 140, 176, 182, 246, 247, 330, 352, 385, 392,
399, 437, 440, 460, 842, 1250, 1263, 839, 1253, 204,
542, 1026, 1259, 1137, 1204, 40, 1263, 551, 539, 551,
551, 551, 254, 1268, 174, 842, 1263, 174, 390, 1268,
582, 312, 538, 1223, 536, 1050, 1205, 1161, 1218, 538,
538, 174, 538, 538, 1050, 538, 538, 538, 538, 538,
538, 538, 538, 538, 538, 538, 538, 538, 538, 538,
538, 538, 538, 1161, 538, 538, 538, 538, 538, 538,
538, 538, 302, 650, 538, 538, 538, 538, 538, 538,
538, 538, 1161, 1161, 1161, 1050, 1161, 1200, 1222, 12,
1259, 12, 538, 1259, 3, 10, 13, 17, 18, 19,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 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, 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, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
116, 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, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
170, 171, 172, 173, 175, 176, 177, 178, 179, 181,
182, 183, 184, 185, 187, 188, 190, 191, 192, 194,
195, 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, 224, 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, 257, 258,
259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 275, 276, 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, 309, 310, 311,
313, 314, 315, 316, 317, 319, 320, 321, 322, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, 341, 342, 343, 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, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, 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, 451, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, 479, 480,
481, 482, 483, 485, 486, 487, 488, 489, 490, 491,
493, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 514, 515, 517, 526,
527, 528, 529, 530, 531, 532, 533, 534, 1195, 1197,
1199, 1272, 1277, 496, 1178, 324, 1161, 169, 1179, 225,
542, 1061, 12, 538, 1259, 1222, 1061, 125, 200, 591,
542, 73, 12, 122, 582, 40, 3, 12, 122, 259,
580, 706, 1156, 1259, 1259, 96, 139, 1173, 105, 12,
122, 576, 577, 579, 706, 122, 576, 254, 1251, 97,
375, 825, 539, 995, 37, 47, 54, 80, 199, 204,
227, 255, 314, 317, 410, 539, 542, 1056, 1252, 40,
538, 1200, 1258, 1154, 1154, 39, 1138, 448, 448, 1258,
1258, 536, 536, 1258, 450, 450, 450, 538, 450, 1258,
1254, 540, 1142, 180, 1097, 15, 528, 1220, 1267, 539,
542, 998, 1052, 1052, 1070, 1071, 1161, 1052, 171, 286,
1081, 243, 291, 359, 408, 473, 31, 1076, 1161, 529,
530, 1077, 1078, 1161, 1163, 1090, 1091, 1075, 1074, 1072,
1073, 174, 1093, 306, 1095, 1072, 1090, 1111, 1011, 1251,
1111, 40, 1268, 405, 1200, 70, 450, 450, 392, 204,
216, 318, 321, 407, 483, 531, 876, 877, 878, 880,
882, 884, 1137, 1269, 450, 486, 450, 392, 450, 450,
392, 256, 450, 81, 450, 440, 572, 328, 966, 968,
528, 970, 174, 186, 204, 380, 854, 855, 74, 94,
295, 659, 660, 94, 122, 295, 450, 94, 450, 122,
295, 392, 94, 135, 146, 328, 370, 787, 392, 722,
30, 68, 140, 182, 314, 352, 385, 453, 460, 816,
817, 1253, 160, 370, 405, 595, 312, 706, 397, 251,
450, 1268, 450, 300, 706, 126, 226, 392, 403, 452,
574, 821, 376, 405, 889, 902, 130, 539, 871, 876,
450, 474, 440, 1251, 74, 82, 94, 156, 176, 198,
295, 348, 468, 641, 657, 658, 1268, 82, 94, 926,
333, 312, 387, 389, 455, 94, 926, 34, 373, 387,
389, 455, 387, 1251, 175, 211, 306, 821, 538, 450,
450, 197, 538, 603, 25, 265, 440, 471, 497, 603,
94, 542, 130, 5, 5, 328, 204, 160, 370, 405,
595, 929, 475, 475, 292, 1137, 450, 392, 538, 907,
1253, 1251, 450, 450, 392, 902, 130, 109, 437, 438,
938, 939, 1109, 1251, 1268, 939, 450, 450, 790, 939,
116, 405, 586, 450, 557, 586, 450, 450, 392, 902,
130, 1251, 450, 450, 1251, 1139, 706, 61, 705, 706,
706, 114, 270, 275, 61, 450, 555, 279, 392, 555,
291, 704, 450, 450, 300, 1259, 732, 821, 450, 450,
392, 422, 355, 1259, 355, 450, 355, 450, 355, 790,
790, 440, 1108, 333, 333, 94, 450, 926, 392, 450,
450, 603, 603, 821, 821, 821, 821, 1251, 49, 480,
49, 49, 480, 450, 49, 450, 480, 392, 538, 542,
586, 474, 748, 1262, 450, 557, 586, 1251, 450, 926,
392, 328, 370, 359, 371, 401, 578, 958, 1201, 1201,
1202, 539, 15, 16, 542, 1068, 1069, 537, 543, 1251,
991, 1253, 1251, 227, 1137, 227, 312, 227, 227, 706,
821, 821, 227, 227, 227, 1137, 227, 227, 227, 312,
450, 180, 450, 619, 460, 538, 40, 160, 821, 791,
792, 1271, 966, 1137, 312, 160, 719, 1253, 295, 333,
538, 556, 804, 475, 362, 487, 1251, 31, 939, 790,
556, 160, 1262, 101, 186, 570, 633, 699, 762, 835,
857, 962, 160, 1259, 740, 741, 160, 312, 1259, 1262,
262, 821, 821, 821, 821, 151, 358, 538, 748, 295,
556, 1251, 295, 701, 703, 295, 40, 306, 333, 538,
663, 663, 198, 696, 1251, 174, 198, 549, 1268, 538,
794, 883, 1253, 538, 874, 874, 40, 1137, 29, 52,
220, 763, 246, 495, 497, 1048, 394, 886, 885, 1137,
1253, 538, 823, 1137, 872, 873, 1263, 1262, 160, 552,
160, 475, 160, 475, 908, 909, 552, 872, 1263, 872,
1253, 1253, 1137, 823, 1263, 748, 160, 820, 821, 1252,
1253, 1253, 821, 539, 198, 1251, 1003, 1046, 1046, 1046,
1046, 1046, 1046, 664, 539, 542, 539, 183, 353, 386,
400, 438, 1252, 820, 115, 402, 872, 1252, 304, 840,
841, 1268, 872, 872, 1252, 1250, 1250, 1252, 820, 450,
187, 495, 851, 155, 256, 745, 746, 25, 158, 387,
408, 1027, 1108, 299, 1028, 539, 542, 1006, 450, 1251,
1253, 1251, 549, 837, 838, 180, 851, 838, 1268, 30,
82, 140, 182, 247, 352, 385, 460, 816, 817, 1200,
537, 1200, 1205, 1206, 491, 1215, 1216, 1161, 1200, 538,
1258, 1258, 3, 12, 117, 196, 274, 277, 396, 513,
1207, 1208, 1259, 1200, 1200, 1161, 1233, 378, 1050, 1051,
1233, 1237, 1244, 1233, 1233, 1161, 1163, 1201, 1237, 1240,
1241, 1161, 1241, 1233, 1161, 1233, 1233, 1200, 1258, 1258,
539, 1161, 1161, 907, 1161, 1201, 1203, 1210, 387, 529,
530, 538, 1162, 1163, 1197, 1211, 539, 1200, 1161, 1203,
1212, 1161, 59, 180, 250, 451, 1161, 1200, 1213, 137,
295, 1050, 1200, 279, 1163, 1161, 1171, 1172, 1173, 279,
1161, 1173, 539, 542, 1158, 1258, 1158, 1137, 1161, 1161,
1161, 1161, 1271, 259, 448, 45, 433, 1224, 821, 1161,
538, 1050, 137, 139, 166, 231, 287, 288, 289, 290,
294, 295, 300, 457, 469, 1209, 1238, 1161, 538, 1161,
450, 54, 199, 204, 255, 410, 1161, 1161, 1161, 1161,
1161, 1161, 1161, 1161, 1161, 1161, 31, 38, 415, 1194,
189, 1179, 387, 538, 1191, 538, 323, 1183, 185, 259,
437, 442, 444, 471, 1062, 1251, 1249, 1097, 1201, 1097,
1251, 452, 538, 1259, 542, 539, 197, 197, 552, 1001,
990, 994, 1161, 539, 269, 295, 1057, 1200, 539, 539,
536, 515, 515, 539, 539, 1258, 537, 1258, 539, 196,
274, 1159, 274, 1159, 1159, 1258, 277, 539, 1254, 231,
240, 249, 388, 512, 538, 1050, 1098, 1099, 1100, 1108,
1114, 1124, 1131, 1164, 1166, 1167, 1245, 1268, 492, 1119,
1264, 1001, 999, 542, 41, 132, 475, 866, 387, 388,
529, 530, 1078, 1080, 1163, 408, 243, 313, 542, 5,
1079, 1258, 1079, 387, 388, 1080, 1250, 299, 412, 1029,
1091, 1073, 475, 1024, 122, 326, 538, 1012, 1049, 40,
475, 1268, 538, 1031, 1032, 1033, 1268, 539, 1262, 1253,
1253, 321, 61, 1269, 539, 878, 880, 877, 880, 1269,
318, 539, 542, 822, 1262, 1253, 1253, 1262, 1253, 1253,
1262, 486, 1253, 1253, 122, 579, 706, 382, 474, 837,
392, 186, 837, 538, 1253, 300, 198, 1253, 300, 1262,
1253, 1253, 1161, 300, 1253, 1253, 34, 373, 450, 450,
1253, 450, 723, 885, 538, 1137, 873, 76, 167, 909,
873, 873, 174, 1137, 821, 1253, 192, 291, 328, 370,
479, 726, 727, 728, 1108, 450, 926, 392, 300, 126,
226, 1262, 1253, 312, 1253, 312, 539, 542, 1261, 1263,
1253, 370, 595, 538, 198, 641, 1253, 475, 859, 243,
295, 300, 243, 475, 650, 687, 1137, 1253, 1258, 1268,
1251, 1253, 254, 1253, 31, 474, 1253, 198, 1253, 198,
1268, 389, 455, 389, 455, 254, 1253, 31, 474, 1253,
254, 387, 1251, 27, 142, 405, 733, 734, 735, 736,
1271, 1262, 1253, 122, 181, 296, 475, 602, 605, 606,
1271, 273, 1253, 78, 309, 1253, 598, 312, 450, 440,
1251, 450, 926, 392, 130, 1253, 1253, 542, 539, 542,
1262, 1253, 932, 933, 1271, 312, 370, 450, 756, 1262,
1253, 1253, 312, 1108, 204, 542, 663, 663, 1222, 1262,
1253, 1253, 1261, 3, 93, 148, 211, 335, 466, 474,
477, 558, 1262, 1253, 1253, 312, 370, 1262, 1253, 370,
405, 595, 703, 706, 821, 1253, 706, 821, 1253, 706,
1262, 1253, 405, 1262, 1253, 1253, 122, 609, 1260, 1252,
1252, 1262, 897, 1253, 1252, 1253, 370, 405, 595, 596,
1251, 1251, 1253, 1253, 1253, 1253, 1262, 1253, 27, 33,
142, 328, 370, 405, 328, 370, 405, 790, 370, 405,
370, 405, 370, 929, 1123, 1268, 198, 800, 1268, 198,
1268, 1259, 1262, 1253, 1253, 1259, 1253, 932, 27, 142,
616, 402, 1261, 370, 405, 595, 1253, 1253, 1253, 450,
450, 87, 465, 359, 542, 1068, 1068, 1068, 1161, 1161,
483, 1202, 539, 1161, 1221, 986, 300, 827, 1259, 40,
827, 140, 821, 827, 827, 227, 475, 475, 827, 827,
827, 246, 827, 827, 827, 821, 354, 620, 620, 209,
437, 761, 1161, 1137, 821, 539, 542, 528, 647, 1271,
1253, 65, 180, 392, 486, 720, 727, 728, 160, 306,
255, 635, 637, 639, 641, 654, 657, 28, 204, 382,
434, 558, 559, 174, 1253, 487, 1251, 40, 757, 438,
897, 549, 1268, 569, 634, 869, 1253, 176, 821, 538,
689, 690, 1166, 1268, 355, 1259, 790, 790, 790, 790,
538, 790, 1121, 1122, 1123, 402, 160, 538, 160, 160,
159, 1049, 821, 306, 635, 1268, 475, 682, 495, 604,
295, 40, 663, 1259, 295, 312, 3, 795, 796, 790,
29, 539, 875, 876, 881, 40, 246, 379, 453, 494,
887, 888, 889, 890, 887, 312, 246, 306, 127, 219,
458, 473, 764, 765, 1253, 195, 195, 174, 552, 40,
555, 175, 974, 975, 552, 552, 820, 821, 1253, 821,
1253, 552, 552, 552, 552, 246, 552, 402, 174, 552,
552, 312, 552, 295, 539, 667, 204, 204, 204, 204,
204, 499, 1252, 706, 707, 542, 540, 189, 843, 844,
1262, 61, 848, 849, 1271, 450, 538, 180, 158, 408,
158, 408, 387, 473, 276, 1137, 1262, 495, 694, 312,
843, 552, 180, 885, 821, 1137, 873, 304, 873, 873,
1137, 821, 1253, 539, 537, 537, 542, 1161, 144, 1216,
1217, 40, 539, 1161, 539, 539, 180, 539, 180, 539,
539, 516, 1234, 1235, 495, 497, 1239, 1137, 1235, 539,
23, 300, 542, 1243, 318, 1246, 542, 543, 480, 539,
539, 23, 300, 542, 1242, 1242, 542, 539, 1237, 542,
539, 539, 539, 539, 542, 542, 539, 338, 539, 539,
538, 1162, 1162, 1200, 13, 17, 18, 19, 204, 227,
314, 526, 527, 528, 529, 530, 531, 532, 533, 534,
1197, 1162, 539, 539, 174, 180, 410, 539, 539, 40,
1213, 1200, 1213, 1213, 180, 539, 137, 539, 1271, 334,
1176, 40, 539, 542, 1161, 1271, 542, 1161, 1223, 1161,
539, 515, 1162, 1162, 153, 1200, 180, 39, 304, 391,
480, 137, 139, 166, 294, 300, 457, 469, 1209, 1238,
294, 1239, 153, 907, 1161, 433, 1224, 1161, 538, 1050,
1161, 450, 538, 1050, 538, 1183, 538, 1200, 492, 538,
1184, 1268, 442, 444, 442, 444, 1251, 1063, 1063, 1063,
1119, 1068, 1119, 959, 1258, 1158, 577, 1001, 269, 538,
539, 1258, 1157, 1157, 537, 537, 539, 538, 1050, 1114,
1124, 1131, 180, 538, 1050, 1099, 1100, 40, 1101, 1102,
1268, 542, 102, 181, 215, 230, 253, 282, 381, 1105,
1102, 40, 1101, 1104, 1268, 1102, 1102, 519, 1118, 1222,
1161, 189, 1082, 1071, 314, 1195, 1198, 518, 867, 5,
1258, 1080, 313, 495, 473, 1077, 264, 1098, 492, 1120,
481, 435, 474, 1013, 1014, 1015, 1268, 312, 1016, 1268,
1099, 1033, 1034, 542, 1097, 528, 1223, 884, 822, 880,
880, 61, 882, 533, 1263, 1263, 312, 1252, 315, 312,
1161, 660, 780, 160, 552, 450, 1262, 1253, 582, 1137,
821, 821, 1137, 710, 1253, 192, 479, 450, 450, 710,
726, 732, 370, 405, 595, 1253, 1253, 1253, 217, 300,
163, 876, 327, 405, 450, 1161, 295, 156, 658, 1253,
538, 538, 160, 1268, 538, 687, 209, 538, 780, 425,
645, 646, 211, 780, 405, 27, 142, 374, 375, 405,
599, 607, 608, 732, 927, 397, 160, 552, 160, 552,
1253, 1253, 1253, 1253, 397, 397, 254, 735, 736, 735,
539, 542, 737, 1259, 209, 539, 542, 528, 540, 122,
610, 1268, 163, 1262, 1253, 370, 405, 595, 1253, 1253,
1253, 312, 328, 370, 405, 27, 142, 328, 370, 405,
1137, 292, 1137, 539, 542, 528, 1251, 450, 1263, 475,
753, 163, 663, 392, 938, 492, 672, 672, 663, 256,
335, 12, 300, 1259, 335, 1263, 472, 163, 450, 450,
392, 422, 897, 897, 897, 327, 405, 94, 450, 926,
392, 122, 174, 611, 170, 551, 450, 450, 266, 266,
266, 450, 450, 392, 450, 450, 392, 450, 392, 450,
392, 450, 130, 552, 1137, 295, 1259, 405, 927, 160,
552, 450, 450, 539, 1253, 450, 926, 392, 450, 1262,
1253, 539, 539, 539, 1202, 537, 1137, 821, 227, 827,
1253, 1253, 1253, 227, 423, 424, 621, 1259, 621, 192,
539, 539, 180, 790, 792, 292, 314, 529, 530, 706,
793, 880, 1198, 1259, 1276, 74, 80, 94, 122, 124,
150, 184, 213, 295, 300, 348, 364, 468, 648, 649,
653, 159, 491, 555, 582, 1253, 582, 316, 730, 1251,
1251, 1251, 539, 542, 1263, 189, 382, 1263, 1258, 460,
1251, 663, 3, 174, 758, 897, 50, 569, 437, 739,
115, 998, 1161, 180, 542, 1252, 604, 797, 798, 1259,
539, 542, 1253, 174, 664, 1251, 693, 1251, 1253, 694,
538, 636, 1251, 539, 1253, 495, 497, 683, 603, 40,
160, 1049, 682, 450, 160, 1108, 528, 539, 542, 764,
539, 542, 122, 528, 891, 1259, 582, 437, 879, 880,
174, 896, 53, 377, 892, 893, 890, 893, 127, 219,
398, 473, 949, 1253, 306, 312, 317, 192, 1049, 1137,
538, 539, 542, 552, 475, 552, 475, 552, 1253, 1253,
748, 821, 160, 392, 392, 392, 392, 392, 1252, 542,
841, 1268, 1262, 495, 542, 845, 1262, 542, 851, 166,
315, 457, 850, 1110, 402, 158, 158, 115, 291, 842,
851, 1263, 227, 227, 227, 227, 706, 227, 227, 227,
227, 227, 1205, 446, 1161, 149, 1137, 539, 1161, 1161,
231, 468, 468, 539, 1235, 1237, 312, 312, 1233, 1237,
61, 1243, 1161, 1233, 1233, 312, 312, 1241, 1239, 1239,
1161, 539, 1161, 1209, 1161, 1161, 539, 1200, 542, 1137,
1162, 1162, 1162, 1162, 137, 139, 295, 1162, 1162, 1162,
1162, 1162, 1162, 1162, 1162, 1162, 1162, 1161, 1161, 1161,
1137, 539, 539, 539, 1200, 539, 542, 61, 1163, 1177,
539, 1271, 1172, 345, 429, 1175, 539, 542, 486, 1168,
40, 539, 12, 1259, 1161, 37, 37, 1161, 539, 1161,
180, 294, 1239, 1161, 539, 153, 1162, 1162, 153, 1200,
153, 1161, 1161, 1069, 539, 1200, 542, 1161, 1185, 1268,
1063, 1063, 1063, 1063, 1251, 1251, 1251, 1082, 539, 1082,
539, 1006, 537, 1233, 1102, 1104, 1102, 1102, 538, 507,
1163, 539, 1268, 538, 1099, 230, 322, 1106, 1099, 1106,
230, 1105, 1106, 230, 439, 1112, 538, 1268, 538, 319,
61, 193, 1089, 538, 867, 171, 248, 313, 495, 447,
105, 1161, 378, 1018, 480, 539, 542, 1223, 92, 1018,
312, 539, 542, 1032, 1120, 1161, 539, 533, 884, 460,
183, 247, 386, 393, 400, 438, 461, 856, 174, 856,
539, 124, 150, 213, 291, 295, 781, 1253, 1253, 40,
475, 475, 246, 822, 1262, 1253, 450, 926, 392, 450,
217, 1253, 61, 440, 1253, 539, 160, 538, 670, 671,
862, 1166, 1268, 664, 641, 780, 664, 780, 1253, 664,
122, 1268, 88, 643, 644, 422, 184, 162, 197, 295,
603, 555, 115, 162, 184, 295, 422, 603, 643, 645,
704, 405, 608, 460, 1253, 1268, 397, 734, 1253, 606,
793, 1271, 1253, 327, 405, 450, 926, 392, 450, 163,
450, 450, 392, 182, 314, 425, 802, 803, 182, 314,
809, 810, 450, 450, 392, 539, 539, 539, 933, 292,
706, 880, 934, 1198, 1259, 1276, 370, 1253, 538, 495,
754, 1253, 672, 109, 1268, 538, 672, 1260, 12, 1259,
1259, 1259, 1253, 1253, 1253, 1253, 609, 61, 440, 1253,
1253, 1253, 1253, 481, 1253, 1253, 174, 174, 372, 174,
198, 1262, 1253, 1253, 1262, 1253, 1253, 1253, 1253, 1253,
1253, 1253, 312, 80, 600, 160, 29, 52, 460, 1268,
1253, 1259, 732, 1253, 1253, 1253, 1253, 1068, 539, 227,
827, 227, 227, 227, 827, 555, 475, 626, 627, 710,
780, 495, 497, 821, 538, 821, 1253, 1162, 34, 61,
651, 125, 200, 124, 150, 300, 243, 1251, 650, 182,
352, 776, 783, 784, 1268, 719, 538, 333, 538, 636,
655, 212, 677, 639, 1263, 1263, 1137, 538, 604, 31,
127, 219, 398, 473, 759, 450, 755, 1262, 198, 1251,
741, 499, 312, 539, 1098, 690, 897, 539, 542, 1123,
730, 748, 539, 701, 40, 306, 333, 538, 1008, 638,
640, 642, 657, 1268, 333, 678, 679, 636, 677, 603,
309, 312, 684, 1049, 696, 694, 604, 1259, 1253, 859,
793, 3, 796, 312, 881, 1161, 1161, 542, 538, 887,
460, 542, 46, 1161, 450, 538, 664, 1251, 765, 710,
539, 974, 975, 1253, 1253, 552, 402, 552, 1252, 1252,
1252, 1252, 1252, 706, 186, 844, 851, 849, 539, 1253,
115, 180, 552, 851, 300, 830, 1259, 830, 830, 830,
227, 830, 830, 830, 830, 830, 1161, 539, 147, 244,
244, 539, 300, 300, 539, 1070, 1237, 334, 1225, 300,
300, 1237, 1237, 1225, 1225, 539, 539, 180, 539, 1161,
180, 137, 139, 180, 174, 153, 539, 502, 1170, 1200,
363, 480, 61, 1177, 1163, 493, 493, 539, 1161, 291,
1161, 542, 1169, 1139, 1161, 1161, 1161, 1161, 37, 37,
1161, 539, 1161, 153, 539, 539, 539, 1161, 539, 333,
1186, 1251, 1251, 1251, 1251, 1089, 12, 1259, 1089, 1259,
539, 542, 1115, 1116, 1166, 538, 1176, 1101, 538, 1252,
1099, 312, 475, 1107, 1099, 230, 1099, 1256, 1122, 538,
1122, 1268, 1064, 1161, 494, 1180, 907, 447, 306, 495,
1019, 1049, 326, 1049, 1015, 312, 538, 1017, 1161, 528,
1033, 1018, 460, 539, 305, 450, 837, 180, 780, 125,
200, 211, 124, 150, 477, 552, 1137, 1253, 1253, 1253,
1253, 1253, 1253, 1253, 1263, 1253, 780, 641, 1161, 539,
542, 495, 80, 861, 865, 861, 542, 665, 497, 662,
662, 122, 1268, 730, 609, 651, 198, 198, 300, 706,
40, 651, 300, 609, 1137, 552, 552, 528, 61, 440,
1253, 1253, 1253, 1253, 1253, 1262, 1253, 1253, 1258, 1258,
1137, 542, 1258, 1258, 542, 1262, 1253, 1253, 450, 1161,
74, 1161, 1263, 1253, 450, 450, 180, 204, 495, 1252,
1252, 821, 1252, 160, 163, 821, 1259, 1259, 1137, 552,
552, 450, 539, 227, 827, 827, 827, 827, 538, 622,
623, 555, 129, 182, 216, 182, 1161, 295, 649, 122,
40, 291, 661, 897, 663, 897, 1256, 37, 159, 204,
731, 735, 306, 635, 611, 157, 206, 538, 402, 475,
664, 40, 1263, 753, 569, 295, 538, 176, 1253, 689,
1259, 402, 604, 159, 1049, 821, 306, 635, 694, 539,
542, 495, 647, 61, 682, 611, 678, 86, 440, 685,
495, 963, 40, 685, 180, 312, 538, 1251, 1259, 878,
898, 899, 1269, 893, 1137, 174, 894, 1251, 180, 450,
918, 365, 766, 214, 711, 552, 539, 552, 552, 1253,
315, 225, 843, 552, 830, 1253, 539, 1226, 1227, 1233,
122, 145, 152, 166, 300, 457, 469, 1229, 1230, 1232,
539, 539, 1237, 1237, 1161, 539, 1162, 180, 1161, 1161,
1161, 538, 539, 542, 539, 1177, 539, 480, 419, 539,
208, 291, 1174, 1161, 1161, 1161, 539, 61, 1068, 1180,
1180, 395, 1058, 1161, 539, 542, 40, 1117, 122, 1129,
1130, 1162, 83, 1252, 539, 1161, 538, 1099, 1107, 538,
539, 1122, 539, 104, 190, 384, 538, 1083, 1084, 1085,
1086, 1087, 1088, 1161, 1181, 1182, 1268, 1068, 539, 1046,
538, 1248, 1013, 94, 860, 862, 138, 491, 1036, 1037,
1038, 1039, 1161, 843, 312, 843, 539, 450, 405, 1028,
539, 205, 668, 671, 314, 907, 821, 550, 821, 337,
539, 324, 539, 539, 647, 40, 160, 160, 538, 600,
793, 1263, 1253, 450, 538, 873, 907, 909, 803, 538,
538, 810, 1253, 539, 538, 539, 405, 1028, 1253, 1253,
538, 538, 538, 495, 519, 983, 372, 983, 983, 174,
1253, 600, 1253, 827, 628, 629, 1271, 56, 103, 128,
147, 153, 175, 179, 194, 300, 356, 624, 622, 1259,
873, 40, 914, 914, 539, 197, 538, 211, 475, 686,
267, 669, 686, 538, 784, 776, 538, 539, 542, 1251,
539, 402, 31, 85, 88, 95, 123, 184, 197, 210,
422, 425, 656, 656, 1250, 1253, 1253, 539, 1049, 754,
160, 115, 730, 180, 1253, 40, 1253, 694, 636, 1251,
539, 640, 316, 1268, 683, 678, 682, 127, 142, 345,
1253, 66, 74, 259, 1049, 821, 1108, 860, 180, 779,
880, 539, 542, 460, 149, 548, 892, 895, 1119, 417,
417, 539, 285, 310, 767, 768, 769, 174, 772, 710,
291, 479, 712, 713, 1253, 851, 542, 40, 1161, 39,
304, 312, 539, 495, 497, 1228, 1229, 1231, 174, 1162,
1171, 1200, 291, 514, 208, 539, 1200, 191, 358, 388,
1187, 60, 131, 114, 1059, 40, 1132, 1118, 1115, 538,
1162, 539, 542, 40, 1125, 1126, 1268, 539, 1252, 1200,
539, 538, 406, 538, 539, 542, 542, 40, 1073, 285,
310, 1020, 1021, 1022, 480, 1253, 539, 542, 296, 473,
268, 295, 1018, 1037, 37, 1040, 1040, 845, 856, 552,
1253, 440, 861, 538, 897, 538, 866, 603, 667, 364,
668, 668, 197, 1161, 475, 601, 405, 1028, 1253, 1204,
174, 806, 806, 1204, 1204, 1161, 440, 1200, 1200, 612,
613, 1270, 820, 821, 820, 821, 1252, 552, 539, 542,
122, 531, 538, 579, 630, 706, 980, 1259, 980, 295,
300, 356, 980, 980, 1119, 914, 44, 202, 661, 538,
702, 1161, 209, 181, 332, 411, 312, 673, 674, 675,
539, 1256, 6, 785, 735, 636, 677, 1253, 539, 730,
167, 805, 604, 963, 1251, 499, 1098, 730, 1049, 1008,
678, 636, 677, 647, 538, 684, 682, 683, 388, 388,
74, 315, 74, 694, 859, 539, 1251, 780, 887, 898,
1137, 541, 138, 495, 495, 768, 387, 437, 770, 143,
773, 491, 775, 479, 710, 730, 552, 1227, 1271, 152,
39, 90, 464, 499, 39, 499, 242, 311, 1236, 312,
539, 1161, 539, 539, 480, 54, 105, 463, 1161, 1188,
1189, 1188, 1188, 539, 171, 171, 664, 1253, 1225, 1122,
542, 1130, 1271, 539, 542, 174, 1137, 539, 539, 1200,
538, 1200, 1084, 1182, 1184, 1091, 539, 542, 40, 1049,
1119, 862, 405, 268, 1161, 446, 446, 180, 1253, 664,
686, 907, 867, 866, 1251, 897, 897, 702, 539, 1161,
440, 539, 318, 395, 539, 539, 539, 1253, 539, 539,
539, 542, 1258, 983, 629, 579, 631, 632, 1259, 1259,
300, 531, 664, 531, 664, 1259, 1259, 703, 539, 440,
127, 473, 312, 675, 312, 674, 538, 539, 542, 611,
402, 730, 821, 40, 40, 538, 1253, 963, 694, 682,
611, 678, 538, 680, 681, 1166, 1268, 685, 683, 684,
315, 315, 538, 205, 863, 174, 893, 32, 220, 950,
182, 182, 980, 387, 421, 774, 538, 159, 499, 39,
499, 39, 499, 499, 357, 357, 1231, 145, 152, 1189,
387, 173, 343, 173, 343, 156, 1190, 1190, 1190, 61,
61, 405, 83, 539, 1163, 1126, 319, 3, 122, 295,
300, 336, 1127, 1128, 40, 1103, 371, 1113, 539, 1083,
539, 1021, 1268, 1031, 61, 127, 138, 473, 1041, 1042,
138, 219, 1043, 843, 1028, 539, 672, 539, 867, 538,
666, 686, 686, 1253, 873, 61, 1028, 450, 612, 821,
539, 542, 531, 664, 539, 426, 489, 652, 1253, 65,
291, 376, 405, 676, 676, 539, 6, 402, 1253, 802,
1049, 730, 683, 678, 682, 1161, 539, 542, 865, 865,
684, 685, 860, 538, 650, 143, 296, 538, 945, 947,
951, 1010, 1023, 1030, 1049, 1060, 873, 873, 771, 1268,
1161, 776, 499, 499, 312, 312, 539, 1229, 37, 105,
189, 291, 447, 664, 664, 1268, 538, 1176, 1162, 1162,
300, 1162, 1128, 1268, 538, 539, 1119, 416, 441, 296,
405, 296, 122, 326, 481, 538, 1044, 552, 780, 664,
669, 780, 780, 1028, 821, 538, 632, 26, 122, 300,
1253, 730, 963, 684, 682, 683, 539, 681, 550, 550,
685, 539, 862, 864, 604, 387, 946, 947, 948, 1050,
1051, 542, 542, 539, 1256, 391, 391, 312, 1189, 387,
320, 405, 405, 450, 475, 284, 1133, 1134, 1268, 83,
1161, 1031, 481, 1013, 538, 1014, 665, 673, 1200, 663,
663, 730, 685, 683, 684, 865, 863, 539, 542, 685,
775, 539, 541, 450, 180, 538, 428, 428, 152, 1268,
1268, 231, 1256, 1257, 1268, 336, 1135, 539, 542, 174,
1137, 1125, 539, 480, 1200, 539, 539, 780, 539, 684,
685, 550, 650, 862, 1119, 159, 948, 417, 417, 5,
777, 778, 1258, 1259, 1271, 538, 122, 1259, 1232, 1134,
319, 160, 336, 1136, 1234, 539, 1044, 539, 326, 1044,
685, 604, 776, 495, 495, 539, 542, 1201, 1257, 40,
83, 539, 1136, 1259, 1228, 1136, 1013, 685, 1256, 182,
182, 778, 1068, 475, 1253, 538, 1232, 1236, 1228, 480,
1119, 538, 873, 873, 539, 1268, 83, 1133, 1231, 1236,
1044, 777, 538, 539, 1231, 539, 1133, 539
};
#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 919 "gram.y"
{
pg_yyget_extra(yyscanner)->parsetree = (yyvsp[(1) - (1)].list);
(void) yynerrs; /* suppress compiler warning */
;}
break;
case 3:
#line 924 "gram.y"
{
pg_yyget_extra(yyscanner)->parsetree = list_make1((yyvsp[(2) - (2)].typnam));
;}
break;
case 4:
#line 928 "gram.y"
{
pg_yyget_extra(yyscanner)->parsetree =
list_make1(makeRawStmt((yyvsp[(2) - (2)].node), (yylsp[(2) - (2)])));
;}
break;
case 5:
#line 933 "gram.y"
{
PLAssignStmt *n = (PLAssignStmt *) (yyvsp[(2) - (2)].node);
n->nnames = 1;
pg_yyget_extra(yyscanner)->parsetree =
list_make1(makeRawStmt((Node *) n, (yylsp[(2) - (2)])));
;}
break;
case 6:
#line 941 "gram.y"
{
PLAssignStmt *n = (PLAssignStmt *) (yyvsp[(2) - (2)].node);
n->nnames = 2;
pg_yyget_extra(yyscanner)->parsetree =
list_make1(makeRawStmt((Node *) n, (yylsp[(2) - (2)])));
;}
break;
case 7:
#line 949 "gram.y"
{
PLAssignStmt *n = (PLAssignStmt *) (yyvsp[(2) - (2)].node);
n->nnames = 3;
pg_yyget_extra(yyscanner)->parsetree =
list_make1(makeRawStmt((Node *) n, (yylsp[(2) - (2)])));
;}
break;
case 8:
#line 965 "gram.y"
{
if ((yyvsp[(1) - (3)].list) != NIL)
{
/* update length of previous stmt */
updateRawStmtEnd(llast_node(RawStmt, (yyvsp[(1) - (3)].list)), (yylsp[(2) - (3)]));
}
if ((yyvsp[(3) - (3)].node) != NULL)
(yyval.list) = lappend((yyvsp[(1) - (3)].list), makeRawStmt((yyvsp[(3) - (3)].node), (yylsp[(3) - (3)])));
else
(yyval.list) = (yyvsp[(1) - (3)].list);
;}
break;
case 9:
#line 977 "gram.y"
{
if ((yyvsp[(1) - (1)].node) != NULL)
(yyval.list) = list_make1(makeRawStmt((yyvsp[(1) - (1)].node), (yylsp[(1) - (1)])));
else
(yyval.list) = NIL;
;}
break;
case 136:
#line 1120 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 137:
#line 1127 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 138:
#line 1128 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 139:
#line 1132 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 140:
#line 1133 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 141:
#line 1137 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 142:
#line 1138 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 143:
#line 1142 "gram.y"
{ (yyval.dbehavior) = DROP_CASCADE; ;}
break;
case 144:
#line 1143 "gram.y"
{ (yyval.dbehavior) = DROP_RESTRICT; ;}
break;
case 145:
#line 1144 "gram.y"
{ (yyval.dbehavior) = DROP_RESTRICT; /* default */ ;}
break;
case 146:
#line 1154 "gram.y"
{
CallStmt *n = makeNode(CallStmt);
n->funccall = castNode(FuncCall, (yyvsp[(2) - (2)].node));
(yyval.node) = (Node *) n;
;}
break;
case 147:
#line 1170 "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 151:
#line 1192 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 152:
#line 1193 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 153:
#line 1197 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 154:
#line 1198 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 155:
#line 1203 "gram.y"
{
(yyval.defelt) = makeDefElem("password",
(Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 156:
#line 1208 "gram.y"
{
(yyval.defelt) = makeDefElem("password",
(Node *)makeParamRef((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)])), (yylsp[(1) - (2)]));
;}
break;
case 157:
#line 1213 "gram.y"
{
(yyval.defelt) = makeDefElem("password", NULL, (yylsp[(1) - (2)]));
;}
break;
case 158:
#line 1217 "gram.y"
{
/*
* These days, passwords are always stored in encrypted
* form, so there is no difference between PASSWORD and
* ENCRYPTED PASSWORD.
*/
(yyval.defelt) = makeDefElem("password",
(Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 159:
#line 1227 "gram.y"
{
/*
* These days, passwords are always stored in encrypted
* form, so there is no difference between PASSWORD and
* ENCRYPTED PASSWORD.
*/
(yyval.defelt) = makeDefElem("password",
(Node *)makeParamRef((yyvsp[(3) - (3)].ival), (yylsp[(3) - (3)])), (yylsp[(1) - (3)]));
;}
break;
case 160:
#line 1237 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("UNENCRYPTED PASSWORD is no longer supported"),
errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
parser_errposition((yylsp[(1) - (3)]))));
;}
break;
case 161:
#line 1245 "gram.y"
{
(yyval.defelt) = makeDefElem("inherit", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 162:
#line 1249 "gram.y"
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *) makeInteger((yyvsp[(3) - (3)].ival)), (yylsp[(1) - (3)]));
;}
break;
case 163:
#line 1253 "gram.y"
{
(yyval.defelt) = makeDefElem("validUntil", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 164:
#line 1258 "gram.y"
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 165:
#line 1262 "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 *) makeBoolean(true), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "nosuperuser") == 0)
(yyval.defelt) = makeDefElem("superuser", (Node *) makeBoolean(false), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "createrole") == 0)
(yyval.defelt) = makeDefElem("createrole", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "nocreaterole") == 0)
(yyval.defelt) = makeDefElem("createrole", (Node *) makeBoolean(false), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "replication") == 0)
(yyval.defelt) = makeDefElem("isreplication", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "noreplication") == 0)
(yyval.defelt) = makeDefElem("isreplication", (Node *) makeBoolean(false), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "createdb") == 0)
(yyval.defelt) = makeDefElem("createdb", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "nocreatedb") == 0)
(yyval.defelt) = makeDefElem("createdb", (Node *) makeBoolean(false), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "login") == 0)
(yyval.defelt) = makeDefElem("canlogin", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "nologin") == 0)
(yyval.defelt) = makeDefElem("canlogin", (Node *) makeBoolean(false), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "bypassrls") == 0)
(yyval.defelt) = makeDefElem("bypassrls", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "nobypassrls") == 0)
(yyval.defelt) = makeDefElem("bypassrls", (Node *) makeBoolean(false), (yylsp[(1) - (1)]));
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 *) makeBoolean(false), (yylsp[(1) - (1)]));
}
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unrecognized role option \"%s\"", (yyvsp[(1) - (1)].str)),
parser_errposition((yylsp[(1) - (1)]))));
;}
break;
case 166:
#line 1309 "gram.y"
{ (yyval.defelt) = (yyvsp[(1) - (1)].defelt); ;}
break;
case 167:
#line 1312 "gram.y"
{
(yyval.defelt) = makeDefElem("sysid", (Node *) makeInteger((yyvsp[(2) - (2)].ival)), (yylsp[(1) - (2)]));
;}
break;
case 168:
#line 1316 "gram.y"
{
(yyval.defelt) = makeDefElem("adminmembers", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 169:
#line 1320 "gram.y"
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 170:
#line 1324 "gram.y"
{
(yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 171:
#line 1328 "gram.y"
{
(yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 172:
#line 1342 "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 173:
#line 1361 "gram.y"
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[(3) - (5)].rolespec);
n->action = +1; /* add, if there are members */
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 174:
#line 1370 "gram.y"
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[(3) - (5)].rolespec);
n->action = +1; /* add, if there are members */
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 175:
#line 1381 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 176:
#line 1382 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); ;}
break;
case 177:
#line 1387 "gram.y"
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = (yyvsp[(3) - (5)].rolespec);
n->database = (yyvsp[(4) - (5)].str);
n->setstmt = (yyvsp[(5) - (5)].vsetstmt);
(yyval.node) = (Node *) n;
;}
break;
case 178:
#line 1396 "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 179:
#line 1405 "gram.y"
{
AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
n->role = (yyvsp[(3) - (5)].rolespec);
n->database = (yyvsp[(4) - (5)].str);
n->setstmt = (yyvsp[(5) - (5)].vsetstmt);
(yyval.node) = (Node *) n;
;}
break;
case 180:
#line 1414 "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 181:
#line 1436 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *) n;
;}
break;
case 182:
#line 1444 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = true;
n->roles = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 183:
#line 1452 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *) n;
;}
break;
case 184:
#line 1460 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->roles = (yyvsp[(5) - (5)].list);
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 185:
#line 1468 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *) n;
;}
break;
case 186:
#line 1476 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = true;
n->roles = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 187:
#line 1494 "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 188:
#line 1513 "gram.y"
{
AlterRoleStmt *n = makeNode(AlterRoleStmt);
n->role = (yyvsp[(3) - (6)].rolespec);
n->action = (yyvsp[(4) - (6)].ival);
n->options = list_make1(makeDefElem("rolemembers",
(Node *) (yyvsp[(6) - (6)].list), (yylsp[(6) - (6)])));
(yyval.node) = (Node *) n;
;}
break;
case 189:
#line 1524 "gram.y"
{ (yyval.ival) = +1; ;}
break;
case 190:
#line 1525 "gram.y"
{ (yyval.ival) = -1; ;}
break;
case 191:
#line 1537 "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)].rolespec);
n->schemaElts = (yyvsp[(6) - (6)].list);
n->if_not_exists = false;
(yyval.node) = (Node *) n;
;}
break;
case 192:
#line 1548 "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 193:
#line 1559 "gram.y"
{
CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
/* schema name can be omitted here, too */
n->schemaname = (yyvsp[(6) - (9)].str);
n->authrole = (yyvsp[(8) - (9)].rolespec);
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 194:
#line 1575 "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 195:
#line 1594 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node));
;}
break;
case 196:
#line 1598 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 203:
#line 1626 "gram.y"
{
VariableSetStmt *n = (yyvsp[(2) - (2)].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
;}
break;
case 204:
#line 1633 "gram.y"
{
VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
n->is_local = true;
(yyval.node) = (Node *) n;
;}
break;
case 205:
#line 1640 "gram.y"
{
VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
;}
break;
case 206:
#line 1650 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "TRANSACTION";
n->args = (yyvsp[(2) - (2)].list);
n->jumble_args = true;
n->location = -1;
(yyval.vsetstmt) = n;
;}
break;
case 207:
#line 1661 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "SESSION CHARACTERISTICS";
n->args = (yyvsp[(5) - (5)].list);
n->jumble_args = true;
n->location = -1;
(yyval.vsetstmt) = n;
;}
break;
case 209:
#line 1676 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = (yyvsp[(1) - (3)].str);
n->args = (yyvsp[(3) - (3)].list);
n->location = (yylsp[(3) - (3)]);
(yyval.vsetstmt) = n;
;}
break;
case 210:
#line 1686 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = (yyvsp[(1) - (3)].str);
n->args = (yyvsp[(3) - (3)].list);
n->location = (yylsp[(3) - (3)]);
(yyval.vsetstmt) = n;
;}
break;
case 211:
#line 1696 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[(1) - (3)].str);
n->location = -1;
(yyval.vsetstmt) = n;
;}
break;
case 212:
#line 1705 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[(1) - (3)].str);
n->location = -1;
(yyval.vsetstmt) = n;
;}
break;
case 213:
#line 1716 "gram.y"
{(yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt);;}
break;
case 214:
#line 1718 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_CURRENT;
n->name = (yyvsp[(1) - (3)].str);
n->location = -1;
(yyval.vsetstmt) = n;
;}
break;
case 215:
#line 1728 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "timezone";
n->location = -1;
n->jumble_args = true;
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 216:
#line 1742 "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 217:
#line 1750 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "search_path";
n->args = list_make1(makeStringConst((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)])));
n->location = (yylsp[(2) - (2)]);
(yyval.vsetstmt) = n;
;}
break;
case 218:
#line 1760 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "search_path";
n->args = list_make1(makeParamRef((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)])));
(yyval.vsetstmt) = n;
;}
break;
case 219:
#line 1768 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "client_encoding";
n->location = (yylsp[(2) - (2)]);
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 220:
#line 1781 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "role";
n->args = list_make1(makeStringConst((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)])));
n->location = (yylsp[(2) - (2)]);
(yyval.vsetstmt) = n;
;}
break;
case 221:
#line 1791 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "role";
n->args = list_make1(makeParamRef((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)])));
(yyval.vsetstmt) = n;
;}
break;
case 222:
#line 1799 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "session_authorization";
n->args = list_make1(makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)])));
n->location = (yylsp[(3) - (3)]);
(yyval.vsetstmt) = n;
;}
break;
case 223:
#line 1809 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "session_authorization";
n->args = list_make1(makeParamRef((yyvsp[(3) - (3)].ival), (yylsp[(3) - (3)])));
(yyval.vsetstmt) = n;
;}
break;
case 224:
#line 1817 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = "session_authorization";
n->location = -1;
(yyval.vsetstmt) = n;
;}
break;
case 225:
#line 1826 "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)])));
n->jumble_args = true;
n->location = -1;
(yyval.vsetstmt) = n;
;}
break;
case 226:
#line 1838 "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)])));
n->location = (yylsp[(3) - (3)]);
(yyval.vsetstmt) = n;
;}
break;
case 227:
#line 1849 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 228:
#line 1851 "gram.y"
{ (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); ;}
break;
case 229:
#line 1854 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 230:
#line 1855 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 231:
#line 1859 "gram.y"
{ (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;}
break;
case 232:
#line 1861 "gram.y"
{ (yyval.node) = makeAConst((yyvsp[(1) - (1)].node), (yylsp[(1) - (1)])); ;}
break;
case 233:
#line 1863 "gram.y"
{ (yyval.node) = makeParamRef((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;}
break;
case 234:
#line 1866 "gram.y"
{ (yyval.str) = "read uncommitted"; ;}
break;
case 235:
#line 1867 "gram.y"
{ (yyval.str) = "read committed"; ;}
break;
case 236:
#line 1868 "gram.y"
{ (yyval.str) = "repeatable read"; ;}
break;
case 237:
#line 1869 "gram.y"
{ (yyval.str) = "serializable"; ;}
break;
case 238:
#line 1873 "gram.y"
{ (yyval.str) = "true"; ;}
break;
case 239:
#line 1874 "gram.y"
{ (yyval.str) = "false"; ;}
break;
case 240:
#line 1875 "gram.y"
{ (yyval.str) = "on"; ;}
break;
case 241:
#line 1881 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 242:
#line 1894 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 243:
#line 1898 "gram.y"
{
(yyval.node) = makeParamRef((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)]));
;}
break;
case 244:
#line 1902 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 245:
#line 1906 "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.ival.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 246:
#line 1923 "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 247:
#line 1930 "gram.y"
{ (yyval.node) = makeAConst((yyvsp[(1) - (1)].node), (yylsp[(1) - (1)])); ;}
break;
case 248:
#line 1931 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 249:
#line 1932 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 250:
#line 1936 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 251:
#line 1937 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 252:
#line 1938 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 253:
#line 1942 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 254:
#line 1943 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 255:
#line 1947 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(2) - (2)].vsetstmt); ;}
break;
case 256:
#line 1951 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt); ;}
break;
case 257:
#line 1953 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "timezone";
n->location = -1;
(yyval.vsetstmt) = n;
;}
break;
case 258:
#line 1962 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "transaction_isolation";
n->location = -1;
(yyval.vsetstmt) = n;
;}
break;
case 259:
#line 1971 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "session_authorization";
n->location = -1;
(yyval.vsetstmt) = n;
;}
break;
case 260:
#line 1983 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = (yyvsp[(1) - (1)].str);
n->location = -1;
(yyval.vsetstmt) = n;
;}
break;
case 261:
#line 1992 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET_ALL;
n->location = -1;
(yyval.vsetstmt) = n;
;}
break;
case 262:
#line 2003 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;}
break;
case 263:
#line 2004 "gram.y"
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;}
break;
case 264:
#line 2009 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;}
break;
case 265:
#line 2010 "gram.y"
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;}
break;
case 266:
#line 2016 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 267:
#line 2023 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "timezone";
(yyval.node) = (Node *) n;
;}
break;
case 268:
#line 2030 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "transaction_isolation";
(yyval.node) = (Node *) n;
;}
break;
case 269:
#line 2037 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "session_authorization";
(yyval.node) = (Node *) n;
;}
break;
case 270:
#line 2044 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "all";
(yyval.node) = (Node *) n;
;}
break;
case 271:
#line 2055 "gram.y"
{
ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
n->constraints = (yyvsp[(3) - (4)].list);
n->deferred = (yyvsp[(4) - (4)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 272:
#line 2065 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 273:
#line 2066 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 274:
#line 2070 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 275:
#line 2071 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 276:
#line 2080 "gram.y"
{
CheckPointStmt *n = makeNode(CheckPointStmt);
(yyval.node) = (Node *) n;
;}
break;
case 277:
#line 2096 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_ALL;
(yyval.node) = (Node *) n;
;}
break;
case 278:
#line 2103 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
;}
break;
case 279:
#line 2110 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
;}
break;
case 280:
#line 2117 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_PLANS;
(yyval.node) = (Node *) n;
;}
break;
case 281:
#line 2124 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_SEQUENCES;
(yyval.node) = (Node *) n;
;}
break;
case 282:
#line 2144 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = (yyvsp[(4) - (4)].list);
n->objtype = OBJECT_TABLE;
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 283:
#line 2154 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = (yyvsp[(6) - (6)].list);
n->objtype = OBJECT_TABLE;
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 284:
#line 2164 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = list_make1((yyvsp[(4) - (4)].node));
n->objtype = OBJECT_TABLE;
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 285:
#line 2174 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = list_make1((yyvsp[(6) - (6)].node));
n->objtype = OBJECT_TABLE;
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 286:
#line 2184 "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 287:
#line 2196 "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 288:
#line 2208 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = (yyvsp[(4) - (4)].list);
n->objtype = OBJECT_INDEX;
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 289:
#line 2218 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = (yyvsp[(6) - (6)].list);
n->objtype = OBJECT_INDEX;
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 290:
#line 2228 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = list_make1((yyvsp[(4) - (4)].node));
n->objtype = OBJECT_INDEX;
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 291:
#line 2238 "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 292:
#line 2250 "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 293:
#line 2262 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = (yyvsp[(4) - (4)].list);
n->objtype = OBJECT_SEQUENCE;
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 294:
#line 2272 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = (yyvsp[(6) - (6)].list);
n->objtype = OBJECT_SEQUENCE;
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 295:
#line 2282 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = (yyvsp[(4) - (4)].list);
n->objtype = OBJECT_VIEW;
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 296:
#line 2292 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = (yyvsp[(6) - (6)].list);
n->objtype = OBJECT_VIEW;
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 297:
#line 2302 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(4) - (5)].range);
n->cmds = (yyvsp[(5) - (5)].list);
n->objtype = OBJECT_MATVIEW;
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 298:
#line 2312 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(6) - (7)].range);
n->cmds = (yyvsp[(7) - (7)].list);
n->objtype = OBJECT_MATVIEW;
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 299:
#line 2322 "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 300:
#line 2334 "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 301:
#line 2346 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(4) - (5)].range);
n->cmds = (yyvsp[(5) - (5)].list);
n->objtype = OBJECT_FOREIGN_TABLE;
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 302:
#line 2356 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(6) - (7)].range);
n->cmds = (yyvsp[(7) - (7)].list);
n->objtype = OBJECT_FOREIGN_TABLE;
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 303:
#line 2368 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 304:
#line 2369 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 305:
#line 2375 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
PartitionCmd *cmd = makeNode(PartitionCmd);
n->subtype = AT_AttachPartition;
cmd->name = (yyvsp[(3) - (4)].range);
cmd->bound = (yyvsp[(4) - (4)].partboundspec);
cmd->concurrent = false;
n->def = (Node *) cmd;
(yyval.node) = (Node *) n;
;}
break;
case 306:
#line 2389 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
PartitionCmd *cmd = makeNode(PartitionCmd);
n->subtype = AT_DetachPartition;
cmd->name = (yyvsp[(3) - (4)].range);
cmd->bound = NULL;
cmd->concurrent = (yyvsp[(4) - (4)].boolean);
n->def = (Node *) cmd;
(yyval.node) = (Node *) n;
;}
break;
case 307:
#line 2402 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
PartitionCmd *cmd = makeNode(PartitionCmd);
n->subtype = AT_DetachPartitionFinalize;
cmd->name = (yyvsp[(3) - (4)].range);
cmd->bound = NULL;
cmd->concurrent = false;
n->def = (Node *) cmd;
(yyval.node) = (Node *) n;
;}
break;
case 308:
#line 2418 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
PartitionCmd *cmd = makeNode(PartitionCmd);
n->subtype = AT_AttachPartition;
cmd->name = (yyvsp[(3) - (3)].range);
cmd->bound = NULL;
cmd->concurrent = false;
n->def = (Node *) cmd;
(yyval.node) = (Node *) n;
;}
break;
case 309:
#line 2435 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[(2) - (2)].node);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 310:
#line 2445 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[(5) - (5)].node);
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 311:
#line 2455 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[(3) - (3)].node);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 312:
#line 2465 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddColumn;
n->def = (yyvsp[(6) - (6)].node);
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 313:
#line 2475 "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 314:
#line 2485 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropNotNull;
n->name = (yyvsp[(3) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 315:
#line 2494 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetNotNull;
n->name = (yyvsp[(3) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 316:
#line 2503 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetExpression;
n->name = (yyvsp[(3) - (9)].str);
n->def = (yyvsp[(8) - (9)].node);
(yyval.node) = (Node *) n;
;}
break;
case 317:
#line 2513 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropExpression;
n->name = (yyvsp[(3) - (5)].str);
(yyval.node) = (Node *) n;
;}
break;
case 318:
#line 2522 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropExpression;
n->name = (yyvsp[(3) - (7)].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 319:
#line 2532 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStatistics;
n->name = (yyvsp[(3) - (6)].str);
n->def = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *) n;
;}
break;
case 320:
#line 2542 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
if ((yyvsp[(3) - (6)].ival) <= 0 || (yyvsp[(3) - (6)].ival) > PG_INT16_MAX)
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("column number must be in range from 1 to %d", PG_INT16_MAX),
parser_errposition((yylsp[(3) - (6)]))));
n->subtype = AT_SetStatistics;
n->num = (int16) (yyvsp[(3) - (6)].ival);
n->def = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *) n;
;}
break;
case 321:
#line 2558 "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 322:
#line 2568 "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 323:
#line 2578 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStorage;
n->name = (yyvsp[(3) - (5)].str);
n->def = (Node *) makeString((yyvsp[(5) - (5)].str));
(yyval.node) = (Node *) n;
;}
break;
case 324:
#line 2588 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetCompression;
n->name = (yyvsp[(3) - (5)].str);
n->def = (Node *) makeString((yyvsp[(5) - (5)].str));
(yyval.node) = (Node *) n;
;}
break;
case 325:
#line 2598 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
Constraint *c = makeNode(Constraint);
c->contype = CONSTR_IDENTITY;
c->generated_when = (yyvsp[(6) - (9)].ival);
c->options = (yyvsp[(9) - (9)].list);
c->location = (yylsp[(5) - (9)]);
n->subtype = AT_AddIdentity;
n->name = (yyvsp[(3) - (9)].str);
n->def = (Node *) c;
(yyval.node) = (Node *) n;
;}
break;
case 326:
#line 2615 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetIdentity;
n->name = (yyvsp[(3) - (4)].str);
n->def = (Node *) (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 327:
#line 2625 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropIdentity;
n->name = (yyvsp[(3) - (5)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 328:
#line 2635 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropIdentity;
n->name = (yyvsp[(3) - (7)].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 329:
#line 2645 "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 330:
#line 2656 "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 331:
#line 2670 "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 332:
#line 2686 "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 333:
#line 2696 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddConstraint;
n->def = (yyvsp[(2) - (2)].node);
(yyval.node) = (Node *) n;
;}
break;
case 334:
#line 2705 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
ATAlterConstraint *c = makeNode(ATAlterConstraint);
n->subtype = AT_AlterConstraint;
n->def = (Node *) c;
c->conname = (yyvsp[(3) - (4)].str);
if ((yyvsp[(4) - (4)].ival) & (CAS_NOT_ENFORCED | CAS_ENFORCED))
c->alterEnforceability = true;
if ((yyvsp[(4) - (4)].ival) & (CAS_DEFERRABLE | CAS_NOT_DEFERRABLE |
CAS_INITIALLY_DEFERRED | CAS_INITIALLY_IMMEDIATE))
c->alterDeferrability = true;
if ((yyvsp[(4) - (4)].ival) & CAS_NO_INHERIT)
c->alterInheritability = true;
/* handle unsupported case with specific error message */
if ((yyvsp[(4) - (4)].ival) & CAS_NOT_VALID)
ereport(ERROR,
errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("constraints cannot be altered to be NOT VALID"),
parser_errposition((yylsp[(4) - (4)])));
processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "FOREIGN KEY",
&c->deferrable,
&c->initdeferred,
&c->is_enforced,
NULL,
&c->noinherit,
yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 335:
#line 2736 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
ATAlterConstraint *c = makeNode(ATAlterConstraint);
n->subtype = AT_AlterConstraint;
n->def = (Node *) c;
c->conname = (yyvsp[(3) - (4)].str);
c->alterInheritability = true;
c->noinherit = false;
(yyval.node) = (Node *) n;
;}
break;
case 336:
#line 2750 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ValidateConstraint;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 337:
#line 2759 "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 338:
#line 2770 "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 339:
#line 2781 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOids;
(yyval.node) = (Node *) n;
;}
break;
case 340:
#line 2789 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ClusterOn;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 341:
#line 2798 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropCluster;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 342:
#line 2807 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetLogged;
(yyval.node) = (Node *) n;
;}
break;
case 343:
#line 2815 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetUnLogged;
(yyval.node) = (Node *) n;
;}
break;
case 344:
#line 2823 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrig;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 345:
#line 2832 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysTrig;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *) n;
;}
break;
case 346:
#line 2841 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaTrig;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *) n;
;}
break;
case 347:
#line 2850 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigAll;
(yyval.node) = (Node *) n;
;}
break;
case 348:
#line 2858 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigUser;
(yyval.node) = (Node *) n;
;}
break;
case 349:
#line 2866 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrig;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 350:
#line 2875 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigAll;
(yyval.node) = (Node *) n;
;}
break;
case 351:
#line 2883 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigUser;
(yyval.node) = (Node *) n;
;}
break;
case 352:
#line 2891 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRule;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 353:
#line 2900 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysRule;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *) n;
;}
break;
case 354:
#line 2909 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaRule;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *) n;
;}
break;
case 355:
#line 2918 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRule;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 356:
#line 2927 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddInherit;
n->def = (Node *) (yyvsp[(2) - (2)].range);
(yyval.node) = (Node *) n;
;}
break;
case 357:
#line 2936 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropInherit;
n->def = (Node *) (yyvsp[(3) - (3)].range);
(yyval.node) = (Node *) n;
;}
break;
case 358:
#line 2945 "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 359:
#line 2956 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOf;
(yyval.node) = (Node *) n;
;}
break;
case 360:
#line 2964 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ChangeOwner;
n->newowner = (yyvsp[(3) - (3)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 361:
#line 2973 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetAccessMethod;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *) n;
;}
break;
case 362:
#line 2982 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetTableSpace;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 363:
#line 2991 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetRelOptions;
n->def = (Node *) (yyvsp[(2) - (2)].list);
(yyval.node) = (Node *) n;
;}
break;
case 364:
#line 3000 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetRelOptions;
n->def = (Node *) (yyvsp[(2) - (2)].list);
(yyval.node) = (Node *) n;
;}
break;
case 365:
#line 3009 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ReplicaIdentity;
n->def = (yyvsp[(3) - (3)].node);
(yyval.node) = (Node *) n;
;}
break;
case 366:
#line 3018 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRowSecurity;
(yyval.node) = (Node *) n;
;}
break;
case 367:
#line 3026 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRowSecurity;
(yyval.node) = (Node *) n;
;}
break;
case 368:
#line 3034 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ForceRowSecurity;
(yyval.node) = (Node *) n;
;}
break;
case 369:
#line 3042 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_NoForceRowSecurity;
(yyval.node) = (Node *) n;
;}
break;
case 370:
#line 3049 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_GenericOptions;
n->def = (Node *) (yyvsp[(1) - (1)].list);
(yyval.node) = (Node *) n;
;}
break;
case 371:
#line 3059 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (3)].node); ;}
break;
case 372:
#line 3060 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 373:
#line 3065 "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 374:
#line 3073 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 375:
#line 3077 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 376:
#line 3078 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 377:
#line 3083 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_NOTHING;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 378:
#line 3091 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_FULL;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 379:
#line 3099 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_DEFAULT;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 380:
#line 3107 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_INDEX;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 381:
#line 3117 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 382:
#line 3120 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 383:
#line 3121 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 384:
#line 3125 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 385:
#line 3126 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 386:
#line 3132 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 387:
#line 3136 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)]));
;}
break;
case 388:
#line 3140 "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 389:
#line 3145 "gram.y"
{
(yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str), NULL, DEFELEM_UNSPEC, (yylsp[(1) - (3)]));
;}
break;
case 390:
#line 3152 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 391:
#line 3154 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 392:
#line 3159 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[(1) - (1)]));
;}
break;
case 393:
#line 3163 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 394:
#line 3167 "gram.y"
{
if (strcmp((yyvsp[(2) - (2)].defelt)->defname, "as") == 0 ||
strcmp((yyvsp[(2) - (2)].defelt)->defname, "restart") == 0 ||
strcmp((yyvsp[(2) - (2)].defelt)->defname, "owned_by") == 0)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("sequence option \"%s\" not supported here", (yyvsp[(2) - (2)].defelt)->defname),
parser_errposition((yylsp[(2) - (2)]))));
(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
;}
break;
case 395:
#line 3178 "gram.y"
{
(yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[(3) - (3)].ival)), (yylsp[(1) - (3)]));
;}
break;
case 396:
#line 3184 "gram.y"
{ (yyval.node) = (Node *) makeInteger((yyvsp[(1) - (1)].ival)); ;}
break;
case 397:
#line 3185 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 398:
#line 3189 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 399:
#line 3190 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 400:
#line 3196 "gram.y"
{
ListCell *lc;
PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
n->strategy = PARTITION_STRATEGY_HASH;
n->modulus = n->remainder = -1;
foreach (lc, (yyvsp[(5) - (6)].list))
{
DefElem *opt = lfirst_node(DefElem, lc);
if (strcmp(opt->defname, "modulus") == 0)
{
if (n->modulus != -1)
ereport(ERROR,
(errcode(ERRCODE_DUPLICATE_OBJECT),
errmsg("modulus for hash partition provided more than once"),
parser_errposition(opt->location)));
n->modulus = defGetInt32(opt);
}
else if (strcmp(opt->defname, "remainder") == 0)
{
if (n->remainder != -1)
ereport(ERROR,
(errcode(ERRCODE_DUPLICATE_OBJECT),
errmsg("remainder for hash partition provided more than once"),
parser_errposition(opt->location)));
n->remainder = defGetInt32(opt);
}
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unrecognized hash partition bound specification \"%s\"",
opt->defname),
parser_errposition(opt->location)));
}
if (n->modulus == -1)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("modulus for hash partition must be specified"),
parser_errposition((yylsp[(3) - (6)]))));
if (n->remainder == -1)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("remainder for hash partition must be specified"),
parser_errposition((yylsp[(3) - (6)]))));
n->location = (yylsp[(3) - (6)]);
(yyval.partboundspec) = n;
;}
break;
case 401:
#line 3251 "gram.y"
{
PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
n->strategy = PARTITION_STRATEGY_LIST;
n->is_default = false;
n->listdatums = (yyvsp[(5) - (6)].list);
n->location = (yylsp[(3) - (6)]);
(yyval.partboundspec) = n;
;}
break;
case 402:
#line 3264 "gram.y"
{
PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
n->strategy = PARTITION_STRATEGY_RANGE;
n->is_default = false;
n->lowerdatums = (yyvsp[(5) - (10)].list);
n->upperdatums = (yyvsp[(9) - (10)].list);
n->location = (yylsp[(3) - (10)]);
(yyval.partboundspec) = n;
;}
break;
case 403:
#line 3278 "gram.y"
{
PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
n->is_default = true;
n->location = (yylsp[(1) - (1)]);
(yyval.partboundspec) = n;
;}
break;
case 404:
#line 3290 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (Node *) makeInteger((yyvsp[(2) - (2)].ival)), (yylsp[(1) - (2)]));
;}
break;
case 405:
#line 3297 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 406:
#line 3301 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 407:
#line 3315 "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->objtype = OBJECT_TYPE;
(yyval.node) = (Node *) n;
;}
break;
case 408:
#line 3327 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 409:
#line 3328 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 410:
#line 3334 "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 411:
#line 3344 "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 412:
#line 3355 "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 413:
#line 3366 "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 414:
#line 3393 "gram.y"
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 415:
#line 3400 "gram.y"
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 416:
#line 3436 "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[(5) - (11)].boolean);
n->is_program = (yyvsp[(6) - (11)].boolean);
n->filename = (yyvsp[(7) - (11)].str);
n->whereClause = (yyvsp[(11) - (11)].node);
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)]))));
if (!n->is_from && n->whereClause != NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("WHERE clause not allowed with COPY TO"),
parser_errposition((yylsp[(11) - (11)]))));
n->options = NIL;
/* Concatenate user-supplied flags */
if ((yyvsp[(2) - (11)].defelt))
n->options = lappend(n->options, (yyvsp[(2) - (11)].defelt));
if ((yyvsp[(8) - (11)].defelt))
n->options = lappend(n->options, (yyvsp[(8) - (11)].defelt));
if ((yyvsp[(10) - (11)].list))
n->options = list_concat(n->options, (yyvsp[(10) - (11)].list));
(yyval.node) = (Node *) n;
;}
break;
case 417:
#line 3470 "gram.y"
{
CopyStmt *n = makeNode(CopyStmt);
n->relation = NULL;
n->query = (yyvsp[(3) - (9)].node);
n->attlist = NIL;
n->is_from = false;
n->is_program = (yyvsp[(6) - (9)].boolean);
n->filename = (yyvsp[(7) - (9)].str);
n->options = (yyvsp[(9) - (9)].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) - (9)]))));
(yyval.node) = (Node *) n;
;}
break;
case 418:
#line 3492 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 419:
#line 3493 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 420:
#line 3497 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 421:
#line 3498 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 422:
#line 3507 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 423:
#line 3508 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 424:
#line 3509 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 425:
#line 3512 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 426:
#line 3513 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 427:
#line 3518 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 428:
#line 3519 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 429:
#line 3524 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[(1) - (1)]));
;}
break;
case 430:
#line 3528 "gram.y"
{
(yyval.defelt) = makeDefElem("freeze", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 431:
#line 3532 "gram.y"
{
(yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 432:
#line 3536 "gram.y"
{
(yyval.defelt) = makeDefElem("null", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 433:
#line 3540 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *) makeString("csv"), (yylsp[(1) - (1)]));
;}
break;
case 434:
#line 3544 "gram.y"
{
(yyval.defelt) = makeDefElem("header", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 435:
#line 3548 "gram.y"
{
(yyval.defelt) = makeDefElem("quote", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 436:
#line 3552 "gram.y"
{
(yyval.defelt) = makeDefElem("escape", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 437:
#line 3556 "gram.y"
{
(yyval.defelt) = makeDefElem("force_quote", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 438:
#line 3560 "gram.y"
{
(yyval.defelt) = makeDefElem("force_quote", (Node *) makeNode(A_Star), (yylsp[(1) - (3)]));
;}
break;
case 439:
#line 3564 "gram.y"
{
(yyval.defelt) = makeDefElem("force_not_null", (Node *) (yyvsp[(4) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 440:
#line 3568 "gram.y"
{
(yyval.defelt) = makeDefElem("force_not_null", (Node *) makeNode(A_Star), (yylsp[(1) - (4)]));
;}
break;
case 441:
#line 3572 "gram.y"
{
(yyval.defelt) = makeDefElem("force_null", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 442:
#line 3576 "gram.y"
{
(yyval.defelt) = makeDefElem("force_null", (Node *) makeNode(A_Star), (yylsp[(1) - (3)]));
;}
break;
case 443:
#line 3580 "gram.y"
{
(yyval.defelt) = makeDefElem("encoding", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 444:
#line 3589 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[(1) - (1)]));
;}
break;
case 445:
#line 3592 "gram.y"
{ (yyval.defelt) = NULL; ;}
break;
case 446:
#line 3597 "gram.y"
{
(yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(2) - (3)]));
;}
break;
case 447:
#line 3600 "gram.y"
{ (yyval.defelt) = NULL; ;}
break;
case 450:
#line 3611 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 451:
#line 3615 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 452:
#line 3622 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 453:
#line 3628 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 454:
#line 3629 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;}
break;
case 455:
#line 3630 "gram.y"
{ (yyval.node) = (Node *) makeNode(A_Star); ;}
break;
case 456:
#line 3631 "gram.y"
{ (yyval.node) = (Node *) makeString("default"); ;}
break;
case 457:
#line 3632 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); ;}
break;
case 458:
#line 3633 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 459:
#line 3638 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 460:
#line 3642 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 461:
#line 3649 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 462:
#line 3663 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(4) - (13)].range)->relpersistence = (yyvsp[(2) - (13)].ival);
n->relation = (yyvsp[(4) - (13)].range);
n->tableElts = (yyvsp[(6) - (13)].list);
n->inhRelations = (yyvsp[(8) - (13)].list);
n->partspec = (yyvsp[(9) - (13)].partspec);
n->ofTypename = NULL;
n->constraints = NIL;
n->accessMethod = (yyvsp[(10) - (13)].str);
n->options = (yyvsp[(11) - (13)].list);
n->oncommit = (yyvsp[(12) - (13)].oncommit);
n->tablespacename = (yyvsp[(13) - (13)].str);
n->if_not_exists = false;
(yyval.node) = (Node *) n;
;}
break;
case 463:
#line 3683 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(7) - (16)].range)->relpersistence = (yyvsp[(2) - (16)].ival);
n->relation = (yyvsp[(7) - (16)].range);
n->tableElts = (yyvsp[(9) - (16)].list);
n->inhRelations = (yyvsp[(11) - (16)].list);
n->partspec = (yyvsp[(12) - (16)].partspec);
n->ofTypename = NULL;
n->constraints = NIL;
n->accessMethod = (yyvsp[(13) - (16)].str);
n->options = (yyvsp[(14) - (16)].list);
n->oncommit = (yyvsp[(15) - (16)].oncommit);
n->tablespacename = (yyvsp[(16) - (16)].str);
n->if_not_exists = true;
(yyval.node) = (Node *) n;
;}
break;
case 464:
#line 3703 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(4) - (12)].range)->relpersistence = (yyvsp[(2) - (12)].ival);
n->relation = (yyvsp[(4) - (12)].range);
n->tableElts = (yyvsp[(7) - (12)].list);
n->inhRelations = NIL;
n->partspec = (yyvsp[(8) - (12)].partspec);
n->ofTypename = makeTypeNameFromNameList((yyvsp[(6) - (12)].list));
n->ofTypename->location = (yylsp[(6) - (12)]);
n->constraints = NIL;
n->accessMethod = (yyvsp[(9) - (12)].str);
n->options = (yyvsp[(10) - (12)].list);
n->oncommit = (yyvsp[(11) - (12)].oncommit);
n->tablespacename = (yyvsp[(12) - (12)].str);
n->if_not_exists = false;
(yyval.node) = (Node *) n;
;}
break;
case 465:
#line 3724 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(7) - (15)].range)->relpersistence = (yyvsp[(2) - (15)].ival);
n->relation = (yyvsp[(7) - (15)].range);
n->tableElts = (yyvsp[(10) - (15)].list);
n->inhRelations = NIL;
n->partspec = (yyvsp[(11) - (15)].partspec);
n->ofTypename = makeTypeNameFromNameList((yyvsp[(9) - (15)].list));
n->ofTypename->location = (yylsp[(9) - (15)]);
n->constraints = NIL;
n->accessMethod = (yyvsp[(12) - (15)].str);
n->options = (yyvsp[(13) - (15)].list);
n->oncommit = (yyvsp[(14) - (15)].oncommit);
n->tablespacename = (yyvsp[(15) - (15)].str);
n->if_not_exists = true;
(yyval.node) = (Node *) n;
;}
break;
case 466:
#line 3745 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(4) - (14)].range)->relpersistence = (yyvsp[(2) - (14)].ival);
n->relation = (yyvsp[(4) - (14)].range);
n->tableElts = (yyvsp[(8) - (14)].list);
n->inhRelations = list_make1((yyvsp[(7) - (14)].range));
n->partbound = (yyvsp[(9) - (14)].partboundspec);
n->partspec = (yyvsp[(10) - (14)].partspec);
n->ofTypename = NULL;
n->constraints = NIL;
n->accessMethod = (yyvsp[(11) - (14)].str);
n->options = (yyvsp[(12) - (14)].list);
n->oncommit = (yyvsp[(13) - (14)].oncommit);
n->tablespacename = (yyvsp[(14) - (14)].str);
n->if_not_exists = false;
(yyval.node) = (Node *) n;
;}
break;
case 467:
#line 3766 "gram.y"
{
CreateStmt *n = makeNode(CreateStmt);
(yyvsp[(7) - (17)].range)->relpersistence = (yyvsp[(2) - (17)].ival);
n->relation = (yyvsp[(7) - (17)].range);
n->tableElts = (yyvsp[(11) - (17)].list);
n->inhRelations = list_make1((yyvsp[(10) - (17)].range));
n->partbound = (yyvsp[(12) - (17)].partboundspec);
n->partspec = (yyvsp[(13) - (17)].partspec);
n->ofTypename = NULL;
n->constraints = NIL;
n->accessMethod = (yyvsp[(14) - (17)].str);
n->options = (yyvsp[(15) - (17)].list);
n->oncommit = (yyvsp[(16) - (17)].oncommit);
n->tablespacename = (yyvsp[(17) - (17)].str);
n->if_not_exists = true;
(yyval.node) = (Node *) n;
;}
break;
case 468:
#line 3797 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 469:
#line 3798 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 470:
#line 3799 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 471:
#line 3800 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 472:
#line 3802 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[(1) - (2)]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
;}
break;
case 473:
#line 3809 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[(1) - (2)]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
;}
break;
case 474:
#line 3815 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;}
break;
case 475:
#line 3816 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; ;}
break;
case 476:
#line 3820 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 477:
#line 3821 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 478:
#line 3825 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 479:
#line 3826 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 480:
#line 3831 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 481:
#line 3835 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 482:
#line 3842 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 483:
#line 3846 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 484:
#line 3852 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 485:
#line 3853 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 486:
#line 3854 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 487:
#line 3858 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 488:
#line 3859 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 489:
#line 3863 "gram.y"
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[(1) - (6)].str);
n->typeName = (yyvsp[(2) - (6)].typnam);
n->storage_name = (yyvsp[(3) - (6)].str);
n->compression = (yyvsp[(4) - (6)].str);
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[(5) - (6)].list);
SplitColQualList((yyvsp[(6) - (6)].list), &n->constraints, &n->collClause,
yyscanner);
n->location = (yylsp[(1) - (6)]);
(yyval.node) = (Node *) n;
;}
break;
case 490:
#line 3887 "gram.y"
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[(1) - (2)].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[(2) - (2)].list), &n->constraints, &n->collClause,
yyscanner);
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 491:
#line 3906 "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 492:
#line 3927 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 493:
#line 3928 "gram.y"
{ (yyval.str) = pstrdup("default"); ;}
break;
case 494:
#line 3932 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 495:
#line 3933 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 496:
#line 3937 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 497:
#line 3938 "gram.y"
{ (yyval.str) = pstrdup("default"); ;}
break;
case 498:
#line 3942 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 499:
#line 3943 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 500:
#line 3947 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 501:
#line 3948 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 502:
#line 3953 "gram.y"
{
Constraint *n = castNode(Constraint, (yyvsp[(3) - (3)].node));
n->conname = (yyvsp[(2) - (3)].str);
n->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 503:
#line 3960 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 504:
#line 3961 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 505:
#line 3963 "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 506:
#line 3995 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NOTNULL;
n->location = (yylsp[(1) - (3)]);
n->is_no_inherit = (yyvsp[(3) - (3)].boolean);
n->is_enforced = true;
n->skip_validation = false;
n->initially_valid = true;
(yyval.node) = (Node *) n;
;}
break;
case 507:
#line 4007 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NULL;
n->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *) n;
;}
break;
case 508:
#line 4015 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
n->location = (yylsp[(1) - (4)]);
n->nulls_not_distinct = !(yyvsp[(2) - (4)].boolean);
n->keys = NULL;
n->options = (yyvsp[(3) - (4)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *) n;
;}
break;
case 509:
#line 4028 "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 510:
#line 4040 "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;
n->is_enforced = true;
n->skip_validation = false;
n->initially_valid = true;
(yyval.node) = (Node *) n;
;}
break;
case 511:
#line 4054 "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 512:
#line 4064 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_IDENTITY;
n->generated_when = (yyvsp[(2) - (5)].ival);
n->options = (yyvsp[(5) - (5)].list);
n->location = (yylsp[(1) - (5)]);
(yyval.node) = (Node *) n;
;}
break;
case 513:
#line 4074 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_GENERATED;
n->generated_when = (yyvsp[(2) - (7)].ival);
n->raw_expr = (yyvsp[(5) - (7)].node);
n->cooked_expr = NULL;
n->generated_kind = (yyvsp[(7) - (7)].ival);
n->location = (yylsp[(1) - (7)]);
/*
* Can't do this in the grammar because of shift/reduce
* conflicts. (IDENTITY allows both ALWAYS and BY
* DEFAULT, but generated columns only allow ALWAYS.) We
* can also give a more useful error message and location.
*/
if ((yyvsp[(2) - (7)].ival) != ATTRIBUTE_IDENTITY_ALWAYS)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("for a generated column, GENERATED ALWAYS must be specified"),
parser_errposition((yylsp[(2) - (7)]))));
(yyval.node) = (Node *) n;
;}
break;
case 514:
#line 4099 "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 = ((yyvsp[(5) - (5)].keyactions))->updateAction->action;
n->fk_del_action = ((yyvsp[(5) - (5)].keyactions))->deleteAction->action;
n->fk_del_set_cols = ((yyvsp[(5) - (5)].keyactions))->deleteAction->cols;
n->is_enforced = true;
n->skip_validation = false;
n->initially_valid = true;
(yyval.node) = (Node *) n;
;}
break;
case 515:
#line 4119 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 516:
#line 4120 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 517:
#line 4121 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 518:
#line 4125 "gram.y"
{ (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; ;}
break;
case 519:
#line 4126 "gram.y"
{ (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; ;}
break;
case 520:
#line 4130 "gram.y"
{ (yyval.ival) = ATTRIBUTE_GENERATED_STORED; ;}
break;
case 521:
#line 4131 "gram.y"
{ (yyval.ival) = ATTRIBUTE_GENERATED_VIRTUAL; ;}
break;
case 522:
#line 4132 "gram.y"
{ (yyval.ival) = ATTRIBUTE_GENERATED_VIRTUAL; ;}
break;
case 523:
#line 4152 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRABLE;
n->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *) n;
;}
break;
case 524:
#line 4160 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 525:
#line 4168 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRED;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 526:
#line 4176 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_IMMEDIATE;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 527:
#line 4184 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_ENFORCED;
n->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *) n;
;}
break;
case 528:
#line 4192 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_NOT_ENFORCED;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 529:
#line 4204 "gram.y"
{
TableLikeClause *n = makeNode(TableLikeClause);
n->relation = (yyvsp[(2) - (3)].range);
n->options = (yyvsp[(3) - (3)].ival);
n->relationOid = InvalidOid;
(yyval.node) = (Node *) n;
;}
break;
case 530:
#line 4215 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); ;}
break;
case 531:
#line 4216 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) & ~(yyvsp[(3) - (3)].ival); ;}
break;
case 532:
#line 4217 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 533:
#line 4221 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; ;}
break;
case 534:
#line 4222 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_COMPRESSION; ;}
break;
case 535:
#line 4223 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; ;}
break;
case 536:
#line 4224 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; ;}
break;
case 537:
#line 4225 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; ;}
break;
case 538:
#line 4226 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; ;}
break;
case 539:
#line 4227 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; ;}
break;
case 540:
#line 4228 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; ;}
break;
case 541:
#line 4229 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; ;}
break;
case 542:
#line 4230 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_ALL; ;}
break;
case 543:
#line 4240 "gram.y"
{
Constraint *n = castNode(Constraint, (yyvsp[(3) - (3)].node));
n->conname = (yyvsp[(2) - (3)].str);
n->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 544:
#line 4247 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 545:
#line 4252 "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->is_enforced, &n->skip_validation,
&n->is_no_inherit, yyscanner);
n->initially_valid = !n->skip_validation;
(yyval.node) = (Node *) n;
;}
break;
case 546:
#line 4266 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NOTNULL;
n->location = (yylsp[(1) - (4)]);
n->keys = list_make1(makeString((yyvsp[(3) - (4)].str)));
processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "NOT NULL",
NULL, NULL, NULL, &n->skip_validation,
&n->is_no_inherit, yyscanner);
n->initially_valid = !n->skip_validation;
(yyval.node) = (Node *) n;
;}
break;
case 547:
#line 4280 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
n->location = (yylsp[(1) - (10)]);
n->nulls_not_distinct = !(yyvsp[(2) - (10)].boolean);
n->keys = (yyvsp[(4) - (10)].list);
n->without_overlaps = (yyvsp[(5) - (10)].boolean);
n->including = (yyvsp[(7) - (10)].list);
n->options = (yyvsp[(8) - (10)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(9) - (10)].str);
processCASbits((yyvsp[(10) - (10)].ival), (yylsp[(10) - (10)]), "UNIQUE",
&n->deferrable, &n->initdeferred, NULL,
NULL, NULL, yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 548:
#line 4298 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
n->location = (yylsp[(1) - (3)]);
n->keys = NIL;
n->including = 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, NULL, yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 549:
#line 4315 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
n->location = (yylsp[(1) - (10)]);
n->keys = (yyvsp[(4) - (10)].list);
n->without_overlaps = (yyvsp[(5) - (10)].boolean);
n->including = (yyvsp[(7) - (10)].list);
n->options = (yyvsp[(8) - (10)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(9) - (10)].str);
processCASbits((yyvsp[(10) - (10)].ival), (yylsp[(10) - (10)]), "PRIMARY KEY",
&n->deferrable, &n->initdeferred, NULL,
NULL, NULL, yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 550:
#line 4332 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
n->location = (yylsp[(1) - (4)]);
n->keys = NIL;
n->including = 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, NULL, yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 551:
#line 4350 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_EXCLUSION;
n->location = (yylsp[(1) - (10)]);
n->access_method = (yyvsp[(2) - (10)].str);
n->exclusions = (yyvsp[(4) - (10)].list);
n->including = (yyvsp[(6) - (10)].list);
n->options = (yyvsp[(7) - (10)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(8) - (10)].str);
n->where_clause = (yyvsp[(9) - (10)].node);
processCASbits((yyvsp[(10) - (10)].ival), (yylsp[(10) - (10)]), "EXCLUDE",
&n->deferrable, &n->initdeferred, NULL,
NULL, NULL, yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 552:
#line 4369 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_FOREIGN;
n->location = (yylsp[(1) - (12)]);
n->pktable = (yyvsp[(8) - (12)].range);
n->fk_attrs = (yyvsp[(4) - (12)].list);
if ((yyvsp[(5) - (12)].node))
{
n->fk_attrs = lappend(n->fk_attrs, (yyvsp[(5) - (12)].node));
n->fk_with_period = true;
}
n->pk_attrs = linitial((yyvsp[(9) - (12)].list));
if (lsecond((yyvsp[(9) - (12)].list)))
{
n->pk_attrs = lappend(n->pk_attrs, lsecond((yyvsp[(9) - (12)].list)));
n->pk_with_period = true;
}
n->fk_matchtype = (yyvsp[(10) - (12)].ival);
n->fk_upd_action = ((yyvsp[(11) - (12)].keyactions))->updateAction->action;
n->fk_del_action = ((yyvsp[(11) - (12)].keyactions))->deleteAction->action;
n->fk_del_set_cols = ((yyvsp[(11) - (12)].keyactions))->deleteAction->cols;
processCASbits((yyvsp[(12) - (12)].ival), (yylsp[(12) - (12)]), "FOREIGN KEY",
&n->deferrable, &n->initdeferred,
&n->is_enforced, &n->skip_validation, NULL,
yyscanner);
n->initially_valid = !n->skip_validation;
(yyval.node) = (Node *) n;
;}
break;
case 553:
#line 4413 "gram.y"
{
Constraint *n = castNode(Constraint, (yyvsp[(3) - (3)].node));
n->conname = (yyvsp[(2) - (3)].str);
n->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 554:
#line 4420 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 555:
#line 4425 "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, NULL, &n->skip_validation,
&n->is_no_inherit, yyscanner);
n->is_enforced = true;
n->initially_valid = !n->skip_validation;
(yyval.node) = (Node *) n;
;}
break;
case 556:
#line 4440 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NOTNULL;
n->location = (yylsp[(1) - (3)]);
n->keys = list_make1(makeString("value"));
/* no NOT VALID, NO INHERIT support */
processCASbits((yyvsp[(3) - (3)].ival), (yylsp[(3) - (3)]), "NOT NULL",
NULL, NULL, NULL,
NULL, NULL, yyscanner);
n->initially_valid = true;
(yyval.node) = (Node *) n;
;}
break;
case 557:
#line 4455 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 558:
#line 4456 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 559:
#line 4460 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 560:
#line 4461 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 561:
#line 4465 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 562:
#line 4466 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 563:
#line 4470 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 564:
#line 4471 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 565:
#line 4475 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (3)].node); ;}
break;
case 566:
#line 4476 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 567:
#line 4480 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].node)); ;}
break;
case 568:
#line 4481 "gram.y"
{ (yyval.list) = list_make2(NIL, NULL); ;}
break;
case 569:
#line 4485 "gram.y"
{
(yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str));
;}
break;
case 570:
#line 4490 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 571:
#line 4491 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 572:
#line 4495 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_FULL;
;}
break;
case 573:
#line 4499 "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 574:
#line 4507 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
;}
break;
case 575:
#line 4511 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
;}
break;
case 576:
#line 4517 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
break;
case 577:
#line 4519 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
break;
case 578:
#line 4523 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (3)].ielem), (yyvsp[(3) - (3)].list));
;}
break;
case 579:
#line 4528 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (6)].ielem), (yyvsp[(5) - (6)].list));
;}
break;
case 580:
#line 4534 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); ;}
break;
case 581:
#line 4535 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 582:
#line 4540 "gram.y"
{
KeyActions *n = palloc(sizeof(KeyActions));
n->updateAction = (yyvsp[(1) - (1)].keyaction);
n->deleteAction = palloc(sizeof(KeyAction));
n->deleteAction->action = FKCONSTR_ACTION_NOACTION;
n->deleteAction->cols = NIL;
(yyval.keyactions) = n;
;}
break;
case 583:
#line 4550 "gram.y"
{
KeyActions *n = palloc(sizeof(KeyActions));
n->updateAction = palloc(sizeof(KeyAction));
n->updateAction->action = FKCONSTR_ACTION_NOACTION;
n->updateAction->cols = NIL;
n->deleteAction = (yyvsp[(1) - (1)].keyaction);
(yyval.keyactions) = n;
;}
break;
case 584:
#line 4560 "gram.y"
{
KeyActions *n = palloc(sizeof(KeyActions));
n->updateAction = (yyvsp[(1) - (2)].keyaction);
n->deleteAction = (yyvsp[(2) - (2)].keyaction);
(yyval.keyactions) = n;
;}
break;
case 585:
#line 4568 "gram.y"
{
KeyActions *n = palloc(sizeof(KeyActions));
n->updateAction = (yyvsp[(2) - (2)].keyaction);
n->deleteAction = (yyvsp[(1) - (2)].keyaction);
(yyval.keyactions) = n;
;}
break;
case 586:
#line 4576 "gram.y"
{
KeyActions *n = palloc(sizeof(KeyActions));
n->updateAction = palloc(sizeof(KeyAction));
n->updateAction->action = FKCONSTR_ACTION_NOACTION;
n->updateAction->cols = NIL;
n->deleteAction = palloc(sizeof(KeyAction));
n->deleteAction->action = FKCONSTR_ACTION_NOACTION;
n->deleteAction->cols = NIL;
(yyval.keyactions) = n;
;}
break;
case 587:
#line 4590 "gram.y"
{
if (((yyvsp[(3) - (3)].keyaction))->cols)
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("a column list with %s is only supported for ON DELETE actions",
((yyvsp[(3) - (3)].keyaction))->action == FKCONSTR_ACTION_SETNULL ? "SET NULL" : "SET DEFAULT"),
parser_errposition((yylsp[(1) - (3)]))));
(yyval.keyaction) = (yyvsp[(3) - (3)].keyaction);
;}
break;
case 588:
#line 4602 "gram.y"
{
(yyval.keyaction) = (yyvsp[(3) - (3)].keyaction);
;}
break;
case 589:
#line 4609 "gram.y"
{
KeyAction *n = palloc(sizeof(KeyAction));
n->action = FKCONSTR_ACTION_NOACTION;
n->cols = NIL;
(yyval.keyaction) = n;
;}
break;
case 590:
#line 4617 "gram.y"
{
KeyAction *n = palloc(sizeof(KeyAction));
n->action = FKCONSTR_ACTION_RESTRICT;
n->cols = NIL;
(yyval.keyaction) = n;
;}
break;
case 591:
#line 4625 "gram.y"
{
KeyAction *n = palloc(sizeof(KeyAction));
n->action = FKCONSTR_ACTION_CASCADE;
n->cols = NIL;
(yyval.keyaction) = n;
;}
break;
case 592:
#line 4633 "gram.y"
{
KeyAction *n = palloc(sizeof(KeyAction));
n->action = FKCONSTR_ACTION_SETNULL;
n->cols = (yyvsp[(3) - (3)].list);
(yyval.keyaction) = n;
;}
break;
case 593:
#line 4641 "gram.y"
{
KeyAction *n = palloc(sizeof(KeyAction));
n->action = FKCONSTR_ACTION_SETDEFAULT;
n->cols = (yyvsp[(3) - (3)].list);
(yyval.keyaction) = n;
;}
break;
case 594:
#line 4650 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 595:
#line 4651 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 596:
#line 4655 "gram.y"
{ (yyval.partspec) = (yyvsp[(1) - (1)].partspec); ;}
break;
case 597:
#line 4656 "gram.y"
{ (yyval.partspec) = NULL; ;}
break;
case 598:
#line 4660 "gram.y"
{
PartitionSpec *n = makeNode(PartitionSpec);
n->strategy = parsePartitionStrategy((yyvsp[(3) - (6)].str), (yylsp[(3) - (6)]), yyscanner);
n->partParams = (yyvsp[(5) - (6)].list);
n->location = (yylsp[(1) - (6)]);
(yyval.partspec) = n;
;}
break;
case 599:
#line 4671 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].partelem)); ;}
break;
case 600:
#line 4672 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].partelem)); ;}
break;
case 601:
#line 4676 "gram.y"
{
PartitionElem *n = makeNode(PartitionElem);
n->name = (yyvsp[(1) - (3)].str);
n->expr = NULL;
n->collation = (yyvsp[(2) - (3)].list);
n->opclass = (yyvsp[(3) - (3)].list);
n->location = (yylsp[(1) - (3)]);
(yyval.partelem) = n;
;}
break;
case 602:
#line 4687 "gram.y"
{
PartitionElem *n = makeNode(PartitionElem);
n->name = NULL;
n->expr = (yyvsp[(1) - (3)].node);
n->collation = (yyvsp[(2) - (3)].list);
n->opclass = (yyvsp[(3) - (3)].list);
n->location = (yylsp[(1) - (3)]);
(yyval.partelem) = n;
;}
break;
case 603:
#line 4698 "gram.y"
{
PartitionElem *n = makeNode(PartitionElem);
n->name = NULL;
n->expr = (yyvsp[(2) - (5)].node);
n->collation = (yyvsp[(4) - (5)].list);
n->opclass = (yyvsp[(5) - (5)].list);
n->location = (yylsp[(1) - (5)]);
(yyval.partelem) = n;
;}
break;
case 604:
#line 4711 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 605:
#line 4712 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 606:
#line 4717 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 607:
#line 4718 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 608:
#line 4719 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 609:
#line 4722 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_DROP; ;}
break;
case 610:
#line 4723 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; ;}
break;
case 611:
#line 4724 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; ;}
break;
case 612:
#line 4725 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_NOOP; ;}
break;
case 613:
#line 4728 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 614:
#line 4729 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 615:
#line 4732 "gram.y"
{ (yyval.str) = (yyvsp[(4) - (4)].str); ;}
break;
case 616:
#line 4733 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 617:
#line 4736 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); ;}
break;
case 618:
#line 4758 "gram.y"
{
CreateStatsStmt *n = makeNode(CreateStatsStmt);
n->defnames = (yyvsp[(3) - (8)].list);
n->stat_types = (yyvsp[(4) - (8)].list);
n->exprs = (yyvsp[(6) - (8)].list);
n->relations = (yyvsp[(8) - (8)].list);
n->stxcomment = NULL;
n->if_not_exists = false;
(yyval.node) = (Node *) n;
;}
break;
case 619:
#line 4771 "gram.y"
{
CreateStatsStmt *n = makeNode(CreateStatsStmt);
n->defnames = (yyvsp[(6) - (11)].list);
n->stat_types = (yyvsp[(7) - (11)].list);
n->exprs = (yyvsp[(9) - (11)].list);
n->relations = (yyvsp[(11) - (11)].list);
n->stxcomment = NULL;
n->if_not_exists = true;
(yyval.node) = (Node *) n;
;}
break;
case 620:
#line 4791 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].selem)); ;}
break;
case 621:
#line 4792 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].selem)); ;}
break;
case 622:
#line 4796 "gram.y"
{
(yyval.selem) = makeNode(StatsElem);
(yyval.selem)->name = (yyvsp[(1) - (1)].str);
(yyval.selem)->expr = NULL;
;}
break;
case 623:
#line 4802 "gram.y"
{
(yyval.selem) = makeNode(StatsElem);
(yyval.selem)->name = NULL;
(yyval.selem)->expr = (yyvsp[(1) - (1)].node);
;}
break;
case 624:
#line 4808 "gram.y"
{
(yyval.selem) = makeNode(StatsElem);
(yyval.selem)->name = NULL;
(yyval.selem)->expr = (yyvsp[(2) - (3)].node);
;}
break;
case 625:
#line 4825 "gram.y"
{
AlterStatsStmt *n = makeNode(AlterStatsStmt);
n->defnames = (yyvsp[(3) - (6)].list);
n->missing_ok = false;
n->stxstattarget = (yyvsp[(6) - (6)].node);
(yyval.node) = (Node *) n;
;}
break;
case 626:
#line 4834 "gram.y"
{
AlterStatsStmt *n = makeNode(AlterStatsStmt);
n->defnames = (yyvsp[(5) - (8)].list);
n->missing_ok = true;
n->stxstattarget = (yyvsp[(8) - (8)].node);
(yyval.node) = (Node *) n;
;}
break;
case 627:
#line 4856 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(6) - (7)].node);
ctas->into = (yyvsp[(4) - (7)].into);
ctas->objtype = 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 628:
#line 4870 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(9) - (10)].node);
ctas->into = (yyvsp[(7) - (10)].into);
ctas->objtype = 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 629:
#line 4888 "gram.y"
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[(1) - (6)].range);
(yyval.into)->colNames = (yyvsp[(2) - (6)].list);
(yyval.into)->accessMethod = (yyvsp[(3) - (6)].str);
(yyval.into)->options = (yyvsp[(4) - (6)].list);
(yyval.into)->onCommit = (yyvsp[(5) - (6)].oncommit);
(yyval.into)->tableSpaceName = (yyvsp[(6) - (6)].str);
(yyval.into)->viewQuery = NULL;
(yyval.into)->skipData = false; /* might get changed later */
;}
break;
case 630:
#line 4902 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 631:
#line 4903 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 632:
#line 4904 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 633:
#line 4917 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(7) - (8)].node);
ctas->into = (yyvsp[(5) - (8)].into);
ctas->objtype = 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 634:
#line 4931 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(10) - (11)].node);
ctas->into = (yyvsp[(8) - (11)].into);
ctas->objtype = 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 635:
#line 4948 "gram.y"
{
(yyval.into) = makeNode(IntoClause);
(yyval.into)->rel = (yyvsp[(1) - (5)].range);
(yyval.into)->colNames = (yyvsp[(2) - (5)].list);
(yyval.into)->accessMethod = (yyvsp[(3) - (5)].str);
(yyval.into)->options = (yyvsp[(4) - (5)].list);
(yyval.into)->onCommit = ONCOMMIT_NOOP;
(yyval.into)->tableSpaceName = (yyvsp[(5) - (5)].str);
(yyval.into)->viewQuery = NULL; /* filled at analysis time */
(yyval.into)->skipData = false; /* might get changed later */
;}
break;
case 636:
#line 4961 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;}
break;
case 637:
#line 4962 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; ;}
break;
case 638:
#line 4975 "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 639:
#line 4996 "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 640:
#line 5007 "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 641:
#line 5021 "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 642:
#line 5030 "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 643:
#line 5041 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 644:
#line 5042 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 645:
#line 5045 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 646:
#line 5046 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 647:
#line 5049 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 648:
#line 5050 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 649:
#line 5054 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[(2) - (2)].typnam), (yylsp[(1) - (2)]));
;}
break;
case 650:
#line 5058 "gram.y"
{
(yyval.defelt) = makeDefElem("cache", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 651:
#line 5062 "gram.y"
{
(yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 652:
#line 5066 "gram.y"
{
(yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(false), (yylsp[(1) - (2)]));
;}
break;
case 653:
#line 5070 "gram.y"
{
(yyval.defelt) = makeDefElem("increment", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 654:
#line 5074 "gram.y"
{
(yyval.defelt) = makeDefElem("logged", NULL, (yylsp[(1) - (1)]));
;}
break;
case 655:
#line 5078 "gram.y"
{
(yyval.defelt) = makeDefElem("maxvalue", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 656:
#line 5082 "gram.y"
{
(yyval.defelt) = makeDefElem("minvalue", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 657:
#line 5086 "gram.y"
{
(yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[(1) - (2)]));
;}
break;
case 658:
#line 5090 "gram.y"
{
(yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[(1) - (2)]));
;}
break;
case 659:
#line 5094 "gram.y"
{
(yyval.defelt) = makeDefElem("owned_by", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 660:
#line 5098 "gram.y"
{
(yyval.defelt) = makeDefElem("sequence_name", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 661:
#line 5102 "gram.y"
{
(yyval.defelt) = makeDefElem("start", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 662:
#line 5106 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[(1) - (1)]));
;}
break;
case 663:
#line 5110 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 664:
#line 5114 "gram.y"
{
(yyval.defelt) = makeDefElem("unlogged", NULL, (yylsp[(1) - (1)]));
;}
break;
case 667:
#line 5124 "gram.y"
{ (yyval.node) = (Node *) makeFloat((yyvsp[(1) - (1)].str)); ;}
break;
case 668:
#line 5125 "gram.y"
{ (yyval.node) = (Node *) makeFloat((yyvsp[(2) - (2)].str)); ;}
break;
case 669:
#line 5127 "gram.y"
{
Float *f = makeFloat((yyvsp[(2) - (2)].str));
doNegateFloat(f);
(yyval.node) = (Node *) f;
;}
break;
case 670:
#line 5133 "gram.y"
{ (yyval.node) = (Node *) makeInteger((yyvsp[(1) - (1)].ival)); ;}
break;
case 671:
#line 5136 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 672:
#line 5137 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 673:
#line 5150 "gram.y"
{
/*
* We now interpret parameterless CREATE LANGUAGE as
* CREATE EXTENSION. "OR REPLACE" is silently translated
* to "IF NOT EXISTS", which isn't quite the same, but
* seems more useful than throwing an error. We just
* ignore TRUSTED, as the previous code would have too.
*/
CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
n->if_not_exists = (yyvsp[(2) - (6)].boolean);
n->extname = (yyvsp[(6) - (6)].str);
n->options = NIL;
(yyval.node) = (Node *) n;
;}
break;
case 674:
#line 5167 "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 675:
#line 5181 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 676:
#line 5182 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 677:
#line 5190 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 678:
#line 5191 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;}
break;
case 679:
#line 5195 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 680:
#line 5196 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 681:
#line 5200 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 682:
#line 5201 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 683:
#line 5205 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 684:
#line 5206 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 687:
#line 5222 "gram.y"
{
CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
n->tablespacename = (yyvsp[(3) - (7)].str);
n->owner = (yyvsp[(4) - (7)].rolespec);
n->location = (yyvsp[(6) - (7)].str);
n->options = (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 688:
#line 5233 "gram.y"
{ (yyval.rolespec) = (yyvsp[(2) - (2)].rolespec); ;}
break;
case 689:
#line 5234 "gram.y"
{ (yyval.rolespec) = NULL; ;}
break;
case 690:
#line 5248 "gram.y"
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[(3) - (3)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 691:
#line 5256 "gram.y"
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[(5) - (5)].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 692:
#line 5274 "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 693:
#line 5283 "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 694:
#line 5295 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 695:
#line 5297 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 696:
#line 5302 "gram.y"
{
(yyval.defelt) = makeDefElem("schema", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 697:
#line 5306 "gram.y"
{
(yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 698:
#line 5310 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE EXTENSION ... FROM is no longer supported"),
parser_errposition((yylsp[(1) - (2)]))));
;}
break;
case 699:
#line 5317 "gram.y"
{
(yyval.defelt) = makeDefElem("cascade", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 700:
#line 5329 "gram.y"
{
AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
n->extname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 701:
#line 5340 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 702:
#line 5342 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 703:
#line 5347 "gram.y"
{
(yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 704:
#line 5360 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = (yyvsp[(5) - (6)].objtype);
n->object = (Node *) makeString((yyvsp[(6) - (6)].str));
(yyval.node) = (Node *) n;
;}
break;
case 705:
#line 5370 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = (yyvsp[(5) - (6)].objtype);
n->object = (Node *) (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 706:
#line 5380 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[(6) - (6)].objwithargs);
(yyval.node) = (Node *) n;
;}
break;
case 707:
#line 5390 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (10)].str);
n->action = (yyvsp[(4) - (10)].ival);
n->objtype = OBJECT_CAST;
n->object = (Node *) list_make2((yyvsp[(7) - (10)].typnam), (yyvsp[(9) - (10)].typnam));
(yyval.node) = (Node *) n;
;}
break;
case 708:
#line 5400 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[(6) - (6)].typnam);
(yyval.node) = (Node *) n;
;}
break;
case 709:
#line 5410 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[(6) - (6)].objwithargs);
(yyval.node) = (Node *) n;
;}
break;
case 710:
#line 5420 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_OPERATOR;
n->object = (Node *) (yyvsp[(6) - (6)].objwithargs);
(yyval.node) = (Node *) n;
;}
break;
case 711:
#line 5430 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (9)].str);
n->action = (yyvsp[(4) - (9)].ival);
n->objtype = OBJECT_OPCLASS;
n->object = (Node *) lcons(makeString((yyvsp[(9) - (9)].str)), (yyvsp[(7) - (9)].list));
(yyval.node) = (Node *) n;
;}
break;
case 712:
#line 5440 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (9)].str);
n->action = (yyvsp[(4) - (9)].ival);
n->objtype = OBJECT_OPFAMILY;
n->object = (Node *) lcons(makeString((yyvsp[(9) - (9)].str)), (yyvsp[(7) - (9)].list));
(yyval.node) = (Node *) n;
;}
break;
case 713:
#line 5450 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[(6) - (6)].objwithargs);
(yyval.node) = (Node *) n;
;}
break;
case 714:
#line 5460 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[(6) - (6)].objwithargs);
(yyval.node) = (Node *) n;
;}
break;
case 715:
#line 5470 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (9)].str);
n->action = (yyvsp[(4) - (9)].ival);
n->objtype = OBJECT_TRANSFORM;
n->object = (Node *) list_make2((yyvsp[(7) - (9)].typnam), makeString((yyvsp[(9) - (9)].str)));
(yyval.node) = (Node *) n;
;}
break;
case 716:
#line 5480 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_TYPE;
n->object = (Node *) (yyvsp[(6) - (6)].typnam);
(yyval.node) = (Node *) n;
;}
break;
case 717:
#line 5499 "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 718:
#line 5510 "gram.y"
{ (yyval.defelt) = makeDefElem("handler", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;}
break;
case 719:
#line 5511 "gram.y"
{ (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[(1) - (2)])); ;}
break;
case 720:
#line 5512 "gram.y"
{ (yyval.defelt) = makeDefElem("validator", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;}
break;
case 721:
#line 5513 "gram.y"
{ (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[(1) - (2)])); ;}
break;
case 722:
#line 5517 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 723:
#line 5518 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 724:
#line 5522 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 725:
#line 5523 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 726:
#line 5534 "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 727:
#line 5543 "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 728:
#line 5555 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 729:
#line 5556 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 730:
#line 5561 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 731:
#line 5565 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 732:
#line 5572 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 733:
#line 5577 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 734:
#line 5581 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 735:
#line 5588 "gram.y"
{
(yyval.defelt) = (yyvsp[(1) - (1)].defelt);
;}
break;
case 736:
#line 5592 "gram.y"
{
(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
(yyval.defelt)->defaction = DEFELEM_SET;
;}
break;
case 737:
#line 5597 "gram.y"
{
(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
(yyval.defelt)->defaction = DEFELEM_ADD;
;}
break;
case 738:
#line 5602 "gram.y"
{
(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[(2) - (2)].str), NULL, DEFELEM_DROP, (yylsp[(2) - (2)]));
;}
break;
case 739:
#line 5609 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 740:
#line 5615 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 741:
#line 5620 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 742:
#line 5632 "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);
n->if_not_exists = false;
(yyval.node) = (Node *) n;
;}
break;
case 743:
#line 5645 "gram.y"
{
CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
n->servername = (yyvsp[(6) - (13)].str);
n->servertype = (yyvsp[(7) - (13)].str);
n->version = (yyvsp[(8) - (13)].str);
n->fdwname = (yyvsp[(12) - (13)].str);
n->options = (yyvsp[(13) - (13)].list);
n->if_not_exists = true;
(yyval.node) = (Node *) n;
;}
break;
case 744:
#line 5659 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 745:
#line 5660 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 746:
#line 5665 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 747:
#line 5666 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 748:
#line 5670 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 749:
#line 5671 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 750:
#line 5682 "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 751:
#line 5692 "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 752:
#line 5701 "gram.y"
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[(3) - (4)].str);
n->options = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 753:
#line 5721 "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 754:
#line 5742 "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 755:
#line 5763 "gram.y"
{
CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
(yyvsp[(4) - (12)].range)->relpersistence = RELPERSISTENCE_PERMANENT;
n->base.relation = (yyvsp[(4) - (12)].range);
n->base.inhRelations = list_make1((yyvsp[(7) - (12)].range));
n->base.tableElts = (yyvsp[(8) - (12)].list);
n->base.partbound = (yyvsp[(9) - (12)].partboundspec);
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[(11) - (12)].str);
n->options = (yyvsp[(12) - (12)].list);
(yyval.node) = (Node *) n;
;}
break;
case 756:
#line 5785 "gram.y"
{
CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
(yyvsp[(7) - (15)].range)->relpersistence = RELPERSISTENCE_PERMANENT;
n->base.relation = (yyvsp[(7) - (15)].range);
n->base.inhRelations = list_make1((yyvsp[(10) - (15)].range));
n->base.tableElts = (yyvsp[(11) - (15)].list);
n->base.partbound = (yyvsp[(12) - (15)].partboundspec);
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[(14) - (15)].str);
n->options = (yyvsp[(15) - (15)].list);
(yyval.node) = (Node *) n;
;}
break;
case 757:
#line 5818 "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 758:
#line 5832 "gram.y"
{ (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; ;}
break;
case 759:
#line 5833 "gram.y"
{ (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; ;}
break;
case 760:
#line 5838 "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 761:
#line 5846 "gram.y"
{
ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
n->type = FDW_IMPORT_SCHEMA_ALL;
n->table_names = NIL;
(yyval.importqual) = n;
;}
break;
case 762:
#line 5862 "gram.y"
{
CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
n->user = (yyvsp[(5) - (8)].rolespec);
n->servername = (yyvsp[(7) - (8)].str);
n->options = (yyvsp[(8) - (8)].list);
n->if_not_exists = false;
(yyval.node) = (Node *) n;
;}
break;
case 763:
#line 5872 "gram.y"
{
CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
n->user = (yyvsp[(8) - (11)].rolespec);
n->servername = (yyvsp[(10) - (11)].str);
n->options = (yyvsp[(11) - (11)].list);
n->if_not_exists = true;
(yyval.node) = (Node *) n;
;}
break;
case 764:
#line 5884 "gram.y"
{ (yyval.rolespec) = (yyvsp[(1) - (1)].rolespec); ;}
break;
case 765:
#line 5885 "gram.y"
{ (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)])); ;}
break;
case 766:
#line 5898 "gram.y"
{
DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
n->user = (yyvsp[(5) - (7)].rolespec);
n->servername = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 767:
#line 5907 "gram.y"
{
DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
n->user = (yyvsp[(7) - (9)].rolespec);
n->servername = (yyvsp[(9) - (9)].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 768:
#line 5925 "gram.y"
{
AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
n->user = (yyvsp[(5) - (8)].rolespec);
n->servername = (yyvsp[(7) - (8)].str);
n->options = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *) n;
;}
break;
case 769:
#line 5952 "gram.y"
{
CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
n->policy_name = (yyvsp[(3) - (10)].str);
n->table = (yyvsp[(5) - (10)].range);
n->permissive = (yyvsp[(6) - (10)].boolean);
n->cmd_name = (yyvsp[(7) - (10)].str);
n->roles = (yyvsp[(8) - (10)].list);
n->qual = (yyvsp[(9) - (10)].node);
n->with_check = (yyvsp[(10) - (10)].node);
(yyval.node) = (Node *) n;
;}
break;
case 770:
#line 5969 "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 771:
#line 5982 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); ;}
break;
case 772:
#line 5983 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 773:
#line 5987 "gram.y"
{ (yyval.node) = (yyvsp[(4) - (5)].node); ;}
break;
case 774:
#line 5988 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 775:
#line 5992 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 776:
#line 5993 "gram.y"
{ (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); ;}
break;
case 777:
#line 5997 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 778:
#line 5998 "gram.y"
{ (yyval.list) = NULL; ;}
break;
case 779:
#line 6003 "gram.y"
{
if (strcmp((yyvsp[(2) - (2)].str), "permissive") == 0)
(yyval.boolean) = true;
else if (strcmp((yyvsp[(2) - (2)].str), "restrictive") == 0)
(yyval.boolean) = false;
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unrecognized row security option \"%s\"", (yyvsp[(2) - (2)].str)),
errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
parser_errposition((yylsp[(2) - (2)]))));
;}
break;
case 780:
#line 6016 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 781:
#line 6020 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 782:
#line 6021 "gram.y"
{ (yyval.str) = "all"; ;}
break;
case 783:
#line 6025 "gram.y"
{ (yyval.str) = "all"; ;}
break;
case 784:
#line 6026 "gram.y"
{ (yyval.str) = "select"; ;}
break;
case 785:
#line 6027 "gram.y"
{ (yyval.str) = "insert"; ;}
break;
case 786:
#line 6028 "gram.y"
{ (yyval.str) = "update"; ;}
break;
case 787:
#line 6029 "gram.y"
{ (yyval.str) = "delete"; ;}
break;
case 788:
#line 6040 "gram.y"
{
CreateAmStmt *n = makeNode(CreateAmStmt);
n->amname = (yyvsp[(4) - (8)].str);
n->handler_name = (yyvsp[(8) - (8)].list);
n->amtype = (yyvsp[(6) - (8)].chr);
(yyval.node) = (Node *) n;
;}
break;
case 789:
#line 6051 "gram.y"
{ (yyval.chr) = AMTYPE_INDEX; ;}
break;
case 790:
#line 6052 "gram.y"
{ (yyval.chr) = AMTYPE_TABLE; ;}
break;
case 791:
#line 6066 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->replace = (yyvsp[(2) - (17)].boolean);
n->isconstraint = false;
n->trigname = (yyvsp[(4) - (17)].str);
n->relation = (yyvsp[(8) - (17)].range);
n->funcname = (yyvsp[(14) - (17)].list);
n->args = (yyvsp[(16) - (17)].list);
n->row = (yyvsp[(10) - (17)].boolean);
n->timing = (yyvsp[(5) - (17)].ival);
n->events = intVal(linitial((yyvsp[(6) - (17)].list)));
n->columns = (List *) lsecond((yyvsp[(6) - (17)].list));
n->whenClause = (yyvsp[(11) - (17)].node);
n->transitionRels = (yyvsp[(9) - (17)].list);
n->deferrable = false;
n->initdeferred = false;
n->constrrel = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 792:
#line 6090 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->replace = (yyvsp[(2) - (21)].boolean);
if (n->replace) /* not supported, see CreateTrigger */
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE OR REPLACE CONSTRAINT TRIGGER is not supported"),
parser_errposition((yylsp[(1) - (21)]))));
n->isconstraint = true;
n->trigname = (yyvsp[(5) - (21)].str);
n->relation = (yyvsp[(9) - (21)].range);
n->funcname = (yyvsp[(18) - (21)].list);
n->args = (yyvsp[(20) - (21)].list);
n->row = true;
n->timing = TRIGGER_TYPE_AFTER;
n->events = intVal(linitial((yyvsp[(7) - (21)].list)));
n->columns = (List *) lsecond((yyvsp[(7) - (21)].list));
n->whenClause = (yyvsp[(15) - (21)].node);
n->transitionRels = NIL;
processCASbits((yyvsp[(11) - (21)].ival), (yylsp[(11) - (21)]), "TRIGGER",
&n->deferrable, &n->initdeferred, NULL,
NULL, NULL, yyscanner);
n->constrrel = (yyvsp[(10) - (21)].range);
(yyval.node) = (Node *) n;
;}
break;
case 793:
#line 6119 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_BEFORE; ;}
break;
case 794:
#line 6120 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_AFTER; ;}
break;
case 795:
#line 6121 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_INSTEAD; ;}
break;
case 796:
#line 6126 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 797:
#line 6128 "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 798:
#line 6150 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); ;}
break;
case 799:
#line 6152 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); ;}
break;
case 800:
#line 6154 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); ;}
break;
case 801:
#line 6156 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[(3) - (3)].list)); ;}
break;
case 802:
#line 6158 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); ;}
break;
case 803:
#line 6162 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 804:
#line 6163 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 805:
#line 6167 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 806:
#line 6168 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 807:
#line 6173 "gram.y"
{
TriggerTransition *n = makeNode(TriggerTransition);
n->name = (yyvsp[(4) - (4)].str);
n->isNew = (yyvsp[(1) - (4)].boolean);
n->isTable = (yyvsp[(2) - (4)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 808:
#line 6184 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 809:
#line 6185 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 810:
#line 6189 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 811:
#line 6198 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 812:
#line 6202 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 813:
#line 6207 "gram.y"
{
(yyval.boolean) = (yyvsp[(3) - (3)].boolean);
;}
break;
case 814:
#line 6211 "gram.y"
{
/*
* If ROW/STATEMENT not specified, default to
* STATEMENT, per SQL
*/
(yyval.boolean) = false;
;}
break;
case 817:
#line 6226 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 818:
#line 6227 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 819:
#line 6231 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); ;}
break;
case 820:
#line 6232 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 823:
#line 6241 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 824:
#line 6242 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 825:
#line 6243 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 826:
#line 6248 "gram.y"
{
(yyval.node) = (Node *) makeString(psprintf("%d", (yyvsp[(1) - (1)].ival)));
;}
break;
case 827:
#line 6251 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 828:
#line 6252 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 829:
#line 6253 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 830:
#line 6257 "gram.y"
{ (yyval.range) = (yyvsp[(2) - (2)].range); ;}
break;
case 831:
#line 6258 "gram.y"
{ (yyval.range) = NULL; ;}
break;
case 832:
#line 6263 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 833:
#line 6265 "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) ||
(newspec & (CAS_NOT_ENFORCED | CAS_ENFORCED)) == (CAS_NOT_ENFORCED | CAS_ENFORCED))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("conflicting constraint properties"),
parser_errposition((yylsp[(2) - (2)]))));
(yyval.ival) = newspec;
;}
break;
case 834:
#line 6292 "gram.y"
{ (yyval.ival) = CAS_NOT_DEFERRABLE; ;}
break;
case 835:
#line 6293 "gram.y"
{ (yyval.ival) = CAS_DEFERRABLE; ;}
break;
case 836:
#line 6294 "gram.y"
{ (yyval.ival) = CAS_INITIALLY_IMMEDIATE; ;}
break;
case 837:
#line 6295 "gram.y"
{ (yyval.ival) = CAS_INITIALLY_DEFERRED; ;}
break;
case 838:
#line 6296 "gram.y"
{ (yyval.ival) = CAS_NOT_VALID; ;}
break;
case 839:
#line 6297 "gram.y"
{ (yyval.ival) = CAS_NO_INHERIT; ;}
break;
case 840:
#line 6298 "gram.y"
{ (yyval.ival) = CAS_NOT_ENFORCED; ;}
break;
case 841:
#line 6299 "gram.y"
{ (yyval.ival) = CAS_ENFORCED; ;}
break;
case 842:
#line 6314 "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 843:
#line 6326 "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 844:
#line 6339 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 845:
#line 6341 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 846:
#line 6346 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (5)].str), (Node *) (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)])); ;}
break;
case 847:
#line 6351 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 848:
#line 6353 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 849:
#line 6358 "gram.y"
{
AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
n->trigname = (yyvsp[(4) - (5)].str);
n->tgenabled = (yyvsp[(5) - (5)].chr);
(yyval.node) = (Node *) n;
;}
break;
case 850:
#line 6368 "gram.y"
{ (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; ;}
break;
case 851:
#line 6369 "gram.y"
{ (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; ;}
break;
case 852:
#line 6370 "gram.y"
{ (yyval.chr) = TRIGGER_FIRES_ALWAYS; ;}
break;
case 853:
#line 6371 "gram.y"
{ (yyval.chr) = TRIGGER_DISABLED; ;}
break;
case 854:
#line 6383 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE ASSERTION is not yet implemented"),
parser_errposition((yylsp[(1) - (8)]))));
(yyval.node) = NULL;
;}
break;
case 855:
#line 6403 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_AGGREGATE;
n->oldstyle = false;
n->replace = (yyvsp[(2) - (6)].boolean);
n->defnames = (yyvsp[(4) - (6)].list);
n->args = (yyvsp[(5) - (6)].list);
n->definition = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 856:
#line 6415 "gram.y"
{
/* old-style (pre-8.2) syntax for CREATE AGGREGATE */
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_AGGREGATE;
n->oldstyle = true;
n->replace = (yyvsp[(2) - (5)].boolean);
n->defnames = (yyvsp[(4) - (5)].list);
n->args = NIL;
n->definition = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 857:
#line 6428 "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 858:
#line 6439 "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 859:
#line 6450 "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 860:
#line 6462 "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 861:
#line 6471 "gram.y"
{
CreateEnumStmt *n = makeNode(CreateEnumStmt);
n->typeName = (yyvsp[(3) - (8)].list);
n->vals = (yyvsp[(7) - (8)].list);
(yyval.node) = (Node *) n;
;}
break;
case 862:
#line 6479 "gram.y"
{
CreateRangeStmt *n = makeNode(CreateRangeStmt);
n->typeName = (yyvsp[(3) - (6)].list);
n->params = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 863:
#line 6487 "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 864:
#line 6497 "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 865:
#line 6507 "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 866:
#line 6517 "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 867:
#line 6527 "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 868:
#line 6537 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_COLLATION;
n->args = NIL;
n->defnames = (yyvsp[(6) - (7)].list);
n->definition = (yyvsp[(7) - (7)].list);
n->if_not_exists = true;
(yyval.node) = (Node *) n;
;}
break;
case 869:
#line 6548 "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), (yylsp[(5) - (5)])));
(yyval.node) = (Node *) n;
;}
break;
case 870:
#line 6558 "gram.y"
{
DefineStmt *n = makeNode(DefineStmt);
n->kind = OBJECT_COLLATION;
n->args = NIL;
n->defnames = (yyvsp[(6) - (8)].list);
n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[(8) - (8)].list), (yylsp[(8) - (8)])));
n->if_not_exists = true;
(yyval.node) = (Node *) n;
;}
break;
case 871:
#line 6570 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 872:
#line 6573 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 873:
#line 6574 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 874:
#line 6578 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 875:
#line 6582 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)]));
;}
break;
case 876:
#line 6588 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].typnam); ;}
break;
case 877:
#line 6589 "gram.y"
{ (yyval.node) = (Node *) makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;}
break;
case 878:
#line 6590 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].list); ;}
break;
case 879:
#line 6591 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;}
break;
case 880:
#line 6592 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 881:
#line 6593 "gram.y"
{ (yyval.node) = (Node *) makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;}
break;
case 882:
#line 6596 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 883:
#line 6599 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 884:
#line 6600 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 885:
#line 6609 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 886:
#line 6615 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 887:
#line 6616 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 888:
#line 6620 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 889:
#line 6622 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 890:
#line 6633 "gram.y"
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = (yyvsp[(3) - (7)].list);
n->oldVal = NULL;
n->newVal = (yyvsp[(7) - (7)].str);
n->newValNeighbor = NULL;
n->newValIsAfter = true;
n->skipIfNewValExists = (yyvsp[(6) - (7)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 891:
#line 6645 "gram.y"
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = (yyvsp[(3) - (9)].list);
n->oldVal = NULL;
n->newVal = (yyvsp[(7) - (9)].str);
n->newValNeighbor = (yyvsp[(9) - (9)].str);
n->newValIsAfter = false;
n->skipIfNewValExists = (yyvsp[(6) - (9)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 892:
#line 6657 "gram.y"
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = (yyvsp[(3) - (9)].list);
n->oldVal = NULL;
n->newVal = (yyvsp[(7) - (9)].str);
n->newValNeighbor = (yyvsp[(9) - (9)].str);
n->newValIsAfter = true;
n->skipIfNewValExists = (yyvsp[(6) - (9)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 893:
#line 6669 "gram.y"
{
AlterEnumStmt *n = makeNode(AlterEnumStmt);
n->typeName = (yyvsp[(3) - (8)].list);
n->oldVal = (yyvsp[(6) - (8)].str);
n->newVal = (yyvsp[(8) - (8)].str);
n->newValNeighbor = NULL;
n->newValIsAfter = false;
n->skipIfNewValExists = false;
(yyval.node) = (Node *) n;
;}
break;
case 894:
#line 6681 "gram.y"
{
/*
* The following problems must be solved before this can be
* implemented:
*
* - There must be no instance of the target value in
* any table.
*
* - The value must not appear in any catalog metadata,
* such as stored view expressions or column defaults.
*
* - The value must not appear in any non-leaf page of a
* btree (and similar issues with other index types).
* This is problematic because a value could persist
* there long after it's gone from user-visible data.
*
* - Concurrent sessions must not be able to insert the
* value while the preceding conditions are being checked.
*
* - Possibly more...
*/
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("dropping an enum value is not implemented"),
parser_errposition((yylsp[(4) - (6)]))));
;}
break;
case 895:
#line 6709 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 896:
#line 6710 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 897:
#line 6728 "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 898:
#line 6742 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 899:
#line 6743 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 900:
#line 6748 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
ObjectWithArgs *owa = makeNode(ObjectWithArgs);
owa->objname = (yyvsp[(3) - (4)].list);
owa->objargs = NIL;
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->name = owa;
n->number = (yyvsp[(2) - (4)].ival);
n->order_family = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 901:
#line 6761 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->name = (yyvsp[(3) - (4)].objwithargs);
n->number = (yyvsp[(2) - (4)].ival);
n->order_family = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 902:
#line 6771 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
n->name = (yyvsp[(3) - (3)].objwithargs);
n->number = (yyvsp[(2) - (3)].ival);
(yyval.node) = (Node *) n;
;}
break;
case 903:
#line 6780 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
n->name = (yyvsp[(6) - (6)].objwithargs);
n->number = (yyvsp[(2) - (6)].ival);
n->class_args = (yyvsp[(4) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 904:
#line 6790 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_STORAGETYPE;
n->storedtype = (yyvsp[(2) - (2)].typnam);
(yyval.node) = (Node *) n;
;}
break;
case 905:
#line 6799 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 906:
#line 6800 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 907:
#line 6803 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 908:
#line 6804 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 909:
#line 6807 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 910:
#line 6808 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (4)].list); ;}
break;
case 911:
#line 6809 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 912:
#line 6815 "gram.y"
{
CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
n->opfamilyname = (yyvsp[(4) - (6)].list);
n->amname = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 913:
#line 6826 "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 914:
#line 6836 "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 915:
#line 6848 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 916:
#line 6849 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 917:
#line 6854 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->number = (yyvsp[(2) - (5)].ival);
n->class_args = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 918:
#line 6863 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_FUNCTION;
n->number = (yyvsp[(2) - (5)].ival);
n->class_args = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 919:
#line 6876 "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 920:
#line 6887 "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 921:
#line 6901 "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 922:
#line 6912 "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 923:
#line 6935 "gram.y"
{
DropOwnedStmt *n = makeNode(DropOwnedStmt);
n->roles = (yyvsp[(4) - (5)].list);
n->behavior = (yyvsp[(5) - (5)].dbehavior);
(yyval.node) = (Node *) n;
;}
break;
case 924:
#line 6946 "gram.y"
{
ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
n->roles = (yyvsp[(4) - (6)].list);
n->newrole = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 925:
#line 6965 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[(2) - (6)].objtype);
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 926:
#line 6976 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[(2) - (4)].objtype);
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 927:
#line 6987 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[(2) - (6)].objtype);
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 928:
#line 6998 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[(2) - (4)].objtype);
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 929:
#line 7009 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[(2) - (6)].objtype);
n->objects = list_make1(lappend((yyvsp[(5) - (6)].list), makeString((yyvsp[(3) - (6)].str))));
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 930:
#line 7020 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = (yyvsp[(2) - (8)].objtype);
n->objects = list_make1(lappend((yyvsp[(7) - (8)].list), makeString((yyvsp[(5) - (8)].str))));
n->behavior = (yyvsp[(8) - (8)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 931:
#line 7031 "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 932:
#line 7042 "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 933:
#line 7053 "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 934:
#line 7064 "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 935:
#line 7075 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_INDEX;
n->missing_ok = false;
n->objects = (yyvsp[(4) - (5)].list);
n->behavior = (yyvsp[(5) - (5)].dbehavior);
n->concurrent = true;
(yyval.node) = (Node *) n;
;}
break;
case 936:
#line 7086 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_INDEX;
n->missing_ok = true;
n->objects = (yyvsp[(6) - (7)].list);
n->behavior = (yyvsp[(7) - (7)].dbehavior);
n->concurrent = true;
(yyval.node) = (Node *) n;
;}
break;
case 937:
#line 7100 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; ;}
break;
case 938:
#line 7101 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; ;}
break;
case 939:
#line 7102 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; ;}
break;
case 940:
#line 7103 "gram.y"
{ (yyval.objtype) = OBJECT_MATVIEW; ;}
break;
case 941:
#line 7104 "gram.y"
{ (yyval.objtype) = OBJECT_INDEX; ;}
break;
case 942:
#line 7105 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;}
break;
case 943:
#line 7106 "gram.y"
{ (yyval.objtype) = OBJECT_COLLATION; ;}
break;
case 944:
#line 7107 "gram.y"
{ (yyval.objtype) = OBJECT_CONVERSION; ;}
break;
case 945:
#line 7108 "gram.y"
{ (yyval.objtype) = OBJECT_STATISTIC_EXT; ;}
break;
case 946:
#line 7109 "gram.y"
{ (yyval.objtype) = OBJECT_TSPARSER; ;}
break;
case 947:
#line 7110 "gram.y"
{ (yyval.objtype) = OBJECT_TSDICTIONARY; ;}
break;
case 948:
#line 7111 "gram.y"
{ (yyval.objtype) = OBJECT_TSTEMPLATE; ;}
break;
case 949:
#line 7112 "gram.y"
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; ;}
break;
case 950:
#line 7122 "gram.y"
{ (yyval.objtype) = (yyvsp[(1) - (1)].objtype); ;}
break;
case 951:
#line 7123 "gram.y"
{ (yyval.objtype) = OBJECT_DATABASE; ;}
break;
case 952:
#line 7124 "gram.y"
{ (yyval.objtype) = OBJECT_ROLE; ;}
break;
case 953:
#line 7125 "gram.y"
{ (yyval.objtype) = OBJECT_SUBSCRIPTION; ;}
break;
case 954:
#line 7126 "gram.y"
{ (yyval.objtype) = OBJECT_TABLESPACE; ;}
break;
case 955:
#line 7130 "gram.y"
{ (yyval.objtype) = OBJECT_ACCESS_METHOD; ;}
break;
case 956:
#line 7131 "gram.y"
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;}
break;
case 957:
#line 7132 "gram.y"
{ (yyval.objtype) = OBJECT_EXTENSION; ;}
break;
case 958:
#line 7133 "gram.y"
{ (yyval.objtype) = OBJECT_FDW; ;}
break;
case 959:
#line 7134 "gram.y"
{ (yyval.objtype) = OBJECT_LANGUAGE; ;}
break;
case 960:
#line 7135 "gram.y"
{ (yyval.objtype) = OBJECT_PUBLICATION; ;}
break;
case 961:
#line 7136 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; ;}
break;
case 962:
#line 7137 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_SERVER; ;}
break;
case 963:
#line 7142 "gram.y"
{ (yyval.objtype) = OBJECT_POLICY; ;}
break;
case 964:
#line 7143 "gram.y"
{ (yyval.objtype) = OBJECT_RULE; ;}
break;
case 965:
#line 7144 "gram.y"
{ (yyval.objtype) = OBJECT_TRIGGER; ;}
break;
case 966:
#line 7148 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
break;
case 967:
#line 7149 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
break;
case 968:
#line 7152 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 969:
#line 7153 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;}
break;
case 970:
#line 7157 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(2) - (2)].str))); ;}
break;
case 971:
#line 7159 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 972:
#line 7163 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;}
break;
case 973:
#line 7164 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;}
break;
case 974:
#line 7176 "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 975:
#line 7187 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 976:
#line 7188 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 977:
#line 7189 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 978:
#line 7200 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = (yyvsp[(3) - (6)].objtype);
n->object = (Node *) (yyvsp[(4) - (6)].list);
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 979:
#line 7209 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_COLUMN;
n->object = (Node *) (yyvsp[(4) - (6)].list);
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 980:
#line 7218 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = (yyvsp[(3) - (6)].objtype);
n->object = (Node *) makeString((yyvsp[(4) - (6)].str));
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 981:
#line 7227 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TYPE;
n->object = (Node *) (yyvsp[(4) - (6)].typnam);
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 982:
#line 7236 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[(4) - (6)].typnam);
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 983:
#line 7245 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[(4) - (6)].objwithargs);
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 984:
#line 7254 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[(4) - (6)].objwithargs);
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 985:
#line 7263 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPERATOR;
n->object = (Node *) (yyvsp[(4) - (6)].objwithargs);
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 986:
#line 7272 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TABCONSTRAINT;
n->object = (Node *) lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
n->comment = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 987:
#line 7281 "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->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[(7) - (9)].list)), makeString((yyvsp[(4) - (9)].str)));
n->comment = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 988:
#line 7295 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = (yyvsp[(3) - (8)].objtype);
n->object = (Node *) lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
n->comment = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 989:
#line 7304 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[(4) - (6)].objwithargs);
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 990:
#line 7313 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[(4) - (6)].objwithargs);
n->comment = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 991:
#line 7322 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TRANSFORM;
n->object = (Node *) list_make2((yyvsp[(5) - (9)].typnam), makeString((yyvsp[(7) - (9)].str)));
n->comment = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 992:
#line 7331 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPCLASS;
n->object = (Node *) lcons(makeString((yyvsp[(7) - (9)].str)), (yyvsp[(5) - (9)].list));
n->comment = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 993:
#line 7340 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_OPFAMILY;
n->object = (Node *) lcons(makeString((yyvsp[(7) - (9)].str)), (yyvsp[(5) - (9)].list));
n->comment = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 994:
#line 7349 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_LARGEOBJECT;
n->object = (Node *) (yyvsp[(5) - (7)].node);
n->comment = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *) n;
;}
break;
case 995:
#line 7358 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_CAST;
n->object = (Node *) list_make2((yyvsp[(5) - (10)].typnam), (yyvsp[(7) - (10)].typnam));
n->comment = (yyvsp[(10) - (10)].str);
(yyval.node) = (Node *) n;
;}
break;
case 996:
#line 7369 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 997:
#line 7370 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 998:
#line 7386 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
n->objtype = (yyvsp[(5) - (8)].objtype);
n->object = (Node *) (yyvsp[(6) - (8)].list);
n->label = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 999:
#line 7397 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
n->objtype = OBJECT_COLUMN;
n->object = (Node *) (yyvsp[(6) - (8)].list);
n->label = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1000:
#line 7408 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
n->objtype = (yyvsp[(5) - (8)].objtype);
n->object = (Node *) makeString((yyvsp[(6) - (8)].str));
n->label = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1001:
#line 7419 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
n->objtype = OBJECT_TYPE;
n->object = (Node *) (yyvsp[(6) - (8)].typnam);
n->label = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1002:
#line 7430 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
n->objtype = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[(6) - (8)].typnam);
n->label = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1003:
#line 7441 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
n->objtype = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[(6) - (8)].objwithargs);
n->label = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1004:
#line 7452 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
n->objtype = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[(6) - (8)].objwithargs);
n->label = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1005:
#line 7463 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (9)].str);
n->objtype = OBJECT_LARGEOBJECT;
n->object = (Node *) (yyvsp[(7) - (9)].node);
n->label = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1006:
#line 7474 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
n->objtype = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[(6) - (8)].objwithargs);
n->label = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1007:
#line 7485 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (8)].str);
n->objtype = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[(6) - (8)].objwithargs);
n->label = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1008:
#line 7496 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1009:
#line 7497 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1010:
#line 7500 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1011:
#line 7501 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1012:
#line 7512 "gram.y"
{
FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
n->ismove = false;
(yyval.node) = (Node *) n;
;}
break;
case 1013:
#line 7519 "gram.y"
{
FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
n->ismove = true;
(yyval.node) = (Node *) n;
;}
break;
case 1014:
#line 7528 "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 1015:
#line 7537 "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 1016:
#line 7546 "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 1017:
#line 7555 "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 1018:
#line 7564 "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 1019:
#line 7573 "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 1020:
#line 7582 "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 1021:
#line 7591 "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 1022:
#line 7600 "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 1023:
#line 7609 "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 1024:
#line 7618 "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 1025:
#line 7627 "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 1026:
#line 7636 "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 1027:
#line 7645 "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 1028:
#line 7654 "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 1029:
#line 7663 "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 1034:
#line 7690 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = true;
n->privileges = (yyvsp[(2) - (8)].list);
n->targtype = ((yyvsp[(4) - (8)].privtarget))->targtype;
n->objtype = ((yyvsp[(4) - (8)].privtarget))->objtype;
n->objects = ((yyvsp[(4) - (8)].privtarget))->objs;
n->grantees = (yyvsp[(6) - (8)].list);
n->grant_option = (yyvsp[(7) - (8)].boolean);
n->grantor = (yyvsp[(8) - (8)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1035:
#line 7708 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->grant_option = false;
n->privileges = (yyvsp[(2) - (8)].list);
n->targtype = ((yyvsp[(4) - (8)].privtarget))->targtype;
n->objtype = ((yyvsp[(4) - (8)].privtarget))->objtype;
n->objects = ((yyvsp[(4) - (8)].privtarget))->objs;
n->grantees = (yyvsp[(6) - (8)].list);
n->grantor = (yyvsp[(7) - (8)].rolespec);
n->behavior = (yyvsp[(8) - (8)].dbehavior);
(yyval.node) = (Node *) n;
;}
break;
case 1036:
#line 7724 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->grant_option = true;
n->privileges = (yyvsp[(5) - (11)].list);
n->targtype = ((yyvsp[(7) - (11)].privtarget))->targtype;
n->objtype = ((yyvsp[(7) - (11)].privtarget))->objtype;
n->objects = ((yyvsp[(7) - (11)].privtarget))->objs;
n->grantees = (yyvsp[(9) - (11)].list);
n->grantor = (yyvsp[(10) - (11)].rolespec);
n->behavior = (yyvsp[(11) - (11)].dbehavior);
(yyval.node) = (Node *) n;
;}
break;
case 1037:
#line 7751 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1038:
#line 7753 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1039:
#line 7755 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1040:
#line 7757 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[(3) - (4)].list);
(yyval.list) = list_make1(n);
;}
break;
case 1041:
#line 7765 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[(4) - (5)].list);
(yyval.list) = list_make1(n);
;}
break;
case 1042:
#line 7774 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].accesspriv)); ;}
break;
case 1043:
#line 7775 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].accesspriv)); ;}
break;
case 1044:
#line 7779 "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 1045:
#line 7787 "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 1046:
#line 7795 "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 1047:
#line 7803 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup("alter system");
n->cols = NIL;
(yyval.accesspriv) = n;
;}
break;
case 1048:
#line 7810 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = (yyvsp[(1) - (2)].str);
n->cols = (yyvsp[(2) - (2)].list);
(yyval.accesspriv) = n;
;}
break;
case 1049:
#line 7821 "gram.y"
{
(yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str)));
;}
break;
case 1050:
#line 7825 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 1051:
#line 7832 "gram.y"
{
(yyval.str) = (yyvsp[(1) - (1)].str);
;}
break;
case 1052:
#line 7836 "gram.y"
{
(yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str));
;}
break;
case 1053:
#line 7847 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_TABLE;
n->objs = (yyvsp[(1) - (1)].list);
(yyval.privtarget) = n;
;}
break;
case 1054:
#line 7856 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_TABLE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 1055:
#line 7865 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_SEQUENCE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 1056:
#line 7874 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_FDW;
n->objs = (yyvsp[(4) - (4)].list);
(yyval.privtarget) = n;
;}
break;
case 1057:
#line 7883 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_FOREIGN_SERVER;
n->objs = (yyvsp[(3) - (3)].list);
(yyval.privtarget) = n;
;}
break;
case 1058:
#line 7892 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_FUNCTION;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 1059:
#line 7901 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_PROCEDURE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 1060:
#line 7910 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_ROUTINE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 1061:
#line 7919 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_DATABASE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 1062:
#line 7928 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_DOMAIN;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 1063:
#line 7937 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_LANGUAGE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 1064:
#line 7946 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_LARGEOBJECT;
n->objs = (yyvsp[(3) - (3)].list);
(yyval.privtarget) = n;
;}
break;
case 1065:
#line 7955 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_PARAMETER_ACL;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 1066:
#line 7963 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_SCHEMA;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 1067:
#line 7972 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_TABLESPACE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 1068:
#line 7981 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_OBJECT;
n->objtype = OBJECT_TYPE;
n->objs = (yyvsp[(2) - (2)].list);
(yyval.privtarget) = n;
;}
break;
case 1069:
#line 7990 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = OBJECT_TABLE;
n->objs = (yyvsp[(5) - (5)].list);
(yyval.privtarget) = n;
;}
break;
case 1070:
#line 7999 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = OBJECT_SEQUENCE;
n->objs = (yyvsp[(5) - (5)].list);
(yyval.privtarget) = n;
;}
break;
case 1071:
#line 8008 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = OBJECT_FUNCTION;
n->objs = (yyvsp[(5) - (5)].list);
(yyval.privtarget) = n;
;}
break;
case 1072:
#line 8017 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = OBJECT_PROCEDURE;
n->objs = (yyvsp[(5) - (5)].list);
(yyval.privtarget) = n;
;}
break;
case 1073:
#line 8026 "gram.y"
{
PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
n->objtype = OBJECT_ROUTINE;
n->objs = (yyvsp[(5) - (5)].list);
(yyval.privtarget) = n;
;}
break;
case 1074:
#line 8038 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].rolespec)); ;}
break;
case 1075:
#line 8039 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].rolespec)); ;}
break;
case 1076:
#line 8043 "gram.y"
{ (yyval.rolespec) = (yyvsp[(1) - (1)].rolespec); ;}
break;
case 1077:
#line 8044 "gram.y"
{ (yyval.rolespec) = (yyvsp[(2) - (2)].rolespec); ;}
break;
case 1078:
#line 8049 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1079:
#line 8050 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1080:
#line 8061 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = true;
n->granted_roles = (yyvsp[(2) - (5)].list);
n->grantee_roles = (yyvsp[(4) - (5)].list);
n->opt = NIL;
n->grantor = (yyvsp[(5) - (5)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1081:
#line 8072 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = true;
n->granted_roles = (yyvsp[(2) - (7)].list);
n->grantee_roles = (yyvsp[(4) - (7)].list);
n->opt = (yyvsp[(6) - (7)].list);
n->grantor = (yyvsp[(7) - (7)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1082:
#line 8086 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
n->opt = NIL;
n->granted_roles = (yyvsp[(2) - (6)].list);
n->grantee_roles = (yyvsp[(4) - (6)].list);
n->grantor = (yyvsp[(5) - (6)].rolespec);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
(yyval.node) = (Node *) n;
;}
break;
case 1083:
#line 8098 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
DefElem *opt;
opt = makeDefElem(pstrdup((yyvsp[(2) - (9)].str)),
(Node *) makeBoolean(false), (yylsp[(2) - (9)]));
n->is_grant = false;
n->opt = list_make1(opt);
n->granted_roles = (yyvsp[(5) - (9)].list);
n->grantee_roles = (yyvsp[(7) - (9)].list);
n->grantor = (yyvsp[(8) - (9)].rolespec);
n->behavior = (yyvsp[(9) - (9)].dbehavior);
(yyval.node) = (Node *) n;
;}
break;
case 1084:
#line 8115 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 1085:
#line 8116 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1086:
#line 8121 "gram.y"
{
(yyval.defelt) = makeDefElem(pstrdup((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 1087:
#line 8127 "gram.y"
{ (yyval.node) = (Node *) makeBoolean(true); ;}
break;
case 1088:
#line 8128 "gram.y"
{ (yyval.node) = (Node *) makeBoolean(true); ;}
break;
case 1089:
#line 8129 "gram.y"
{ (yyval.node) = (Node *) makeBoolean(false); ;}
break;
case 1090:
#line 8132 "gram.y"
{ (yyval.rolespec) = (yyvsp[(3) - (3)].rolespec); ;}
break;
case 1091:
#line 8133 "gram.y"
{ (yyval.rolespec) = NULL; ;}
break;
case 1092:
#line 8144 "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 1093:
#line 8154 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1094:
#line 8155 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1095:
#line 8160 "gram.y"
{
(yyval.defelt) = makeDefElem("schemas", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 1096:
#line 8164 "gram.y"
{
(yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 1097:
#line 8168 "gram.y"
{
(yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 1098:
#line 8180 "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 1099:
#line 8194 "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 1100:
#line 8209 "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 1101:
#line 8225 "gram.y"
{ (yyval.ival) = OBJECT_TABLE; ;}
break;
case 1102:
#line 8226 "gram.y"
{ (yyval.ival) = OBJECT_FUNCTION; ;}
break;
case 1103:
#line 8227 "gram.y"
{ (yyval.ival) = OBJECT_FUNCTION; ;}
break;
case 1104:
#line 8228 "gram.y"
{ (yyval.ival) = OBJECT_SEQUENCE; ;}
break;
case 1105:
#line 8229 "gram.y"
{ (yyval.ival) = OBJECT_TYPE; ;}
break;
case 1106:
#line 8230 "gram.y"
{ (yyval.ival) = OBJECT_SCHEMA; ;}
break;
case 1107:
#line 8231 "gram.y"
{ (yyval.ival) = OBJECT_LARGEOBJECT; ;}
break;
case 1108:
#line 8246 "gram.y"
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = (yyvsp[(2) - (16)].boolean);
n->concurrent = (yyvsp[(4) - (16)].boolean);
n->idxname = (yyvsp[(5) - (16)].str);
n->relation = (yyvsp[(7) - (16)].range);
n->accessMethod = (yyvsp[(8) - (16)].str);
n->indexParams = (yyvsp[(10) - (16)].list);
n->indexIncludingParams = (yyvsp[(12) - (16)].list);
n->nulls_not_distinct = !(yyvsp[(13) - (16)].boolean);
n->options = (yyvsp[(14) - (16)].list);
n->tableSpace = (yyvsp[(15) - (16)].str);
n->whereClause = (yyvsp[(16) - (16)].node);
n->excludeOpNames = NIL;
n->idxcomment = NULL;
n->indexOid = InvalidOid;
n->oldNumber = InvalidRelFileNumber;
n->oldCreateSubid = InvalidSubTransactionId;
n->oldFirstRelfilelocatorSubid = InvalidSubTransactionId;
n->primary = false;
n->isconstraint = false;
n->deferrable = false;
n->initdeferred = false;
n->transformed = false;
n->if_not_exists = false;
n->reset_default_tblspc = false;
(yyval.node) = (Node *) n;
;}
break;
case 1109:
#line 8278 "gram.y"
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = (yyvsp[(2) - (19)].boolean);
n->concurrent = (yyvsp[(4) - (19)].boolean);
n->idxname = (yyvsp[(8) - (19)].str);
n->relation = (yyvsp[(10) - (19)].range);
n->accessMethod = (yyvsp[(11) - (19)].str);
n->indexParams = (yyvsp[(13) - (19)].list);
n->indexIncludingParams = (yyvsp[(15) - (19)].list);
n->nulls_not_distinct = !(yyvsp[(16) - (19)].boolean);
n->options = (yyvsp[(17) - (19)].list);
n->tableSpace = (yyvsp[(18) - (19)].str);
n->whereClause = (yyvsp[(19) - (19)].node);
n->excludeOpNames = NIL;
n->idxcomment = NULL;
n->indexOid = InvalidOid;
n->oldNumber = InvalidRelFileNumber;
n->oldCreateSubid = InvalidSubTransactionId;
n->oldFirstRelfilelocatorSubid = InvalidSubTransactionId;
n->primary = false;
n->isconstraint = false;
n->deferrable = false;
n->initdeferred = false;
n->transformed = false;
n->if_not_exists = true;
n->reset_default_tblspc = false;
(yyval.node) = (Node *) n;
;}
break;
case 1110:
#line 8310 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1111:
#line 8311 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1112:
#line 8315 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1113:
#line 8316 "gram.y"
{ (yyval.str) = DEFAULT_INDEX_TYPE; ;}
break;
case 1114:
#line 8319 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); ;}
break;
case 1115:
#line 8320 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); ;}
break;
case 1116:
#line 8326 "gram.y"
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = NULL;
(yyval.ielem)->expr = NULL;
(yyval.ielem)->indexcolname = NULL;
(yyval.ielem)->collation = (yyvsp[(1) - (4)].list);
(yyval.ielem)->opclass = (yyvsp[(2) - (4)].list);
(yyval.ielem)->opclassopts = NIL;
(yyval.ielem)->ordering = (yyvsp[(3) - (4)].ival);
(yyval.ielem)->nulls_ordering = (yyvsp[(4) - (4)].ival);
;}
break;
case 1117:
#line 8338 "gram.y"
{
(yyval.ielem) = makeNode(IndexElem);
(yyval.ielem)->name = NULL;
(yyval.ielem)->expr = NULL;
(yyval.ielem)->indexcolname = NULL;
(yyval.ielem)->collation = (yyvsp[(1) - (5)].list);
(yyval.ielem)->opclass = (yyvsp[(2) - (5)].list);
(yyval.ielem)->opclassopts = (yyvsp[(3) - (5)].list);
(yyval.ielem)->ordering = (yyvsp[(4) - (5)].ival);
(yyval.ielem)->nulls_ordering = (yyvsp[(5) - (5)].ival);
;}
break;
case 1118:
#line 8357 "gram.y"
{
(yyval.ielem) = (yyvsp[(2) - (2)].ielem);
(yyval.ielem)->name = (yyvsp[(1) - (2)].str);
;}
break;
case 1119:
#line 8362 "gram.y"
{
(yyval.ielem) = (yyvsp[(2) - (2)].ielem);
(yyval.ielem)->expr = (yyvsp[(1) - (2)].node);
;}
break;
case 1120:
#line 8367 "gram.y"
{
(yyval.ielem) = (yyvsp[(4) - (4)].ielem);
(yyval.ielem)->expr = (yyvsp[(2) - (4)].node);
;}
break;
case 1121:
#line 8373 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1122:
#line 8374 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1123:
#line 8377 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); ;}
break;
case 1124:
#line 8378 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); ;}
break;
case 1125:
#line 8381 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1126:
#line 8382 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1127:
#line 8386 "gram.y"
{ (yyval.ival) = SORTBY_ASC; ;}
break;
case 1128:
#line 8387 "gram.y"
{ (yyval.ival) = SORTBY_DESC; ;}
break;
case 1129:
#line 8388 "gram.y"
{ (yyval.ival) = SORTBY_DEFAULT; ;}
break;
case 1130:
#line 8391 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_FIRST; ;}
break;
case 1131:
#line 8392 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_LAST; ;}
break;
case 1132:
#line 8393 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_DEFAULT; ;}
break;
case 1133:
#line 8411 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->is_procedure = false;
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->sql_body = (yyvsp[(9) - (9)].node);
(yyval.node) = (Node *) n;
;}
break;
case 1134:
#line 8425 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->is_procedure = false;
n->replace = (yyvsp[(2) - (12)].boolean);
n->funcname = (yyvsp[(4) - (12)].list);
n->parameters = mergeTableFuncParameters((yyvsp[(5) - (12)].list), (yyvsp[(9) - (12)].list), yyscanner);
n->returnType = TableFuncTypeName((yyvsp[(9) - (12)].list));
n->returnType->location = (yylsp[(7) - (12)]);
n->options = (yyvsp[(11) - (12)].list);
n->sql_body = (yyvsp[(12) - (12)].node);
(yyval.node) = (Node *) n;
;}
break;
case 1135:
#line 8440 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->is_procedure = false;
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->sql_body = (yyvsp[(7) - (7)].node);
(yyval.node) = (Node *) n;
;}
break;
case 1136:
#line 8454 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->is_procedure = true;
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->sql_body = (yyvsp[(7) - (7)].node);
(yyval.node) = (Node *) n;
;}
break;
case 1137:
#line 8469 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1138:
#line 8470 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1139:
#line 8473 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1140:
#line 8474 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1141:
#line 8478 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
break;
case 1142:
#line 8479 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
break;
case 1143:
#line 8483 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;}
break;
case 1144:
#line 8485 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;}
break;
case 1145:
#line 8490 "gram.y"
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[(1) - (2)].list);
n->objargs = extractArgTypes((yyvsp[(2) - (2)].list));
n->objfuncargs = (yyvsp[(2) - (2)].list);
(yyval.objwithargs) = n;
;}
break;
case 1146:
#line 8504 "gram.y"
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = list_make1(makeString(pstrdup((yyvsp[(1) - (1)].keyword))));
n->args_unspecified = true;
(yyval.objwithargs) = n;
;}
break;
case 1147:
#line 8512 "gram.y"
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = list_make1(makeString((yyvsp[(1) - (1)].str)));
n->args_unspecified = true;
(yyval.objwithargs) = n;
;}
break;
case 1148:
#line 8520 "gram.y"
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = check_func_name(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)),
yyscanner);
n->args_unspecified = true;
(yyval.objwithargs) = n;
;}
break;
case 1149:
#line 8535 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1150:
#line 8536 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1151:
#line 8540 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
break;
case 1152:
#line 8542 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
break;
case 1153:
#line 8557 "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;
n->location = (yylsp[(1) - (3)]);
(yyval.fun_param) = n;
;}
break;
case 1154:
#line 8568 "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;
n->location = (yylsp[(1) - (3)]);
(yyval.fun_param) = n;
;}
break;
case 1155:
#line 8579 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(1) - (2)].str);
n->argType = (yyvsp[(2) - (2)].typnam);
n->mode = FUNC_PARAM_DEFAULT;
n->defexpr = NULL;
n->location = (yylsp[(1) - (2)]);
(yyval.fun_param) = n;
;}
break;
case 1156:
#line 8590 "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;
n->location = (yylsp[(1) - (2)]);
(yyval.fun_param) = n;
;}
break;
case 1157:
#line 8601 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = NULL;
n->argType = (yyvsp[(1) - (1)].typnam);
n->mode = FUNC_PARAM_DEFAULT;
n->defexpr = NULL;
n->location = (yylsp[(1) - (1)]);
(yyval.fun_param) = n;
;}
break;
case 1158:
#line 8614 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_IN; ;}
break;
case 1159:
#line 8615 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_OUT; ;}
break;
case 1160:
#line 8616 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;}
break;
case 1161:
#line 8617 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;}
break;
case 1162:
#line 8618 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; ;}
break;
case 1164:
#line 8629 "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 1165:
#line 8643 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1166:
#line 8645 "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 1167:
#line 8651 "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 1168:
#line 8661 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (1)].fun_param);
;}
break;
case 1169:
#line 8665 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
;}
break;
case 1170:
#line 8670 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
;}
break;
case 1171:
#line 8678 "gram.y"
{
if (!((yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_DEFAULT ||
(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 1172:
#line 8720 "gram.y"
{
(yyval.list) = list_make2(NIL, makeInteger(-1));
;}
break;
case 1173:
#line 8724 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(2) - (3)].list), makeInteger(-1));
;}
break;
case 1174:
#line 8728 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(4) - (5)].list), makeInteger(0));
;}
break;
case 1175:
#line 8732 "gram.y"
{
/* this is the only case requiring consistency checking */
(yyval.list) = makeOrderedSetArgs((yyvsp[(2) - (6)].list), (yyvsp[(5) - (6)].list), yyscanner);
;}
break;
case 1176:
#line 8739 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
break;
case 1177:
#line 8740 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
break;
case 1178:
#line 8745 "gram.y"
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[(1) - (2)].list);
n->objargs = extractAggrArgTypes((yyvsp[(2) - (2)].list));
n->objfuncargs = (List *) linitial((yyvsp[(2) - (2)].list));
(yyval.objwithargs) = n;
;}
break;
case 1179:
#line 8756 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;}
break;
case 1180:
#line 8758 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;}
break;
case 1182:
#line 8763 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1183:
#line 8768 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1184:
#line 8769 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1185:
#line 8777 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(false), (yylsp[(1) - (4)]));
;}
break;
case 1186:
#line 8781 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[(1) - (5)]));
;}
break;
case 1187:
#line 8785 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 1188:
#line 8789 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *) makeString("immutable"), (yylsp[(1) - (1)]));
;}
break;
case 1189:
#line 8793 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *) makeString("stable"), (yylsp[(1) - (1)]));
;}
break;
case 1190:
#line 8797 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *) makeString("volatile"), (yylsp[(1) - (1)]));
;}
break;
case 1191:
#line 8801 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[(1) - (3)]));
;}
break;
case 1192:
#line 8805 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[(1) - (3)]));
;}
break;
case 1193:
#line 8809 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[(1) - (2)]));
;}
break;
case 1194:
#line 8813 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[(1) - (2)]));
;}
break;
case 1195:
#line 8817 "gram.y"
{
(yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 1196:
#line 8821 "gram.y"
{
(yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(false), (yylsp[(1) - (2)]));
;}
break;
case 1197:
#line 8825 "gram.y"
{
(yyval.defelt) = makeDefElem("cost", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 1198:
#line 8829 "gram.y"
{
(yyval.defelt) = makeDefElem("rows", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 1199:
#line 8833 "gram.y"
{
(yyval.defelt) = makeDefElem("support", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 1200:
#line 8837 "gram.y"
{
/* we abuse the normal content of a DefElem here */
(yyval.defelt) = makeDefElem("set", (Node *) (yyvsp[(1) - (1)].vsetstmt), (yylsp[(1) - (1)]));
;}
break;
case 1201:
#line 8842 "gram.y"
{
(yyval.defelt) = makeDefElem("parallel", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 1202:
#line 8849 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 1203:
#line 8853 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 1204:
#line 8857 "gram.y"
{
(yyval.defelt) = makeDefElem("transform", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 1205:
#line 8861 "gram.y"
{
(yyval.defelt) = makeDefElem("window", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 1206:
#line 8865 "gram.y"
{
(yyval.defelt) = (yyvsp[(1) - (1)].defelt);
;}
break;
case 1207:
#line 8870 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 1208:
#line 8872 "gram.y"
{
(yyval.list) = list_make2(makeString((yyvsp[(1) - (3)].str)), makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 1209:
#line 8878 "gram.y"
{
ReturnStmt *r = makeNode(ReturnStmt);
r->returnval = (Node *) (yyvsp[(2) - (2)].node);
(yyval.node) = (Node *) r;
;}
break;
case 1210:
#line 8888 "gram.y"
{
(yyval.node) = (yyvsp[(1) - (1)].node);
;}
break;
case 1211:
#line 8892 "gram.y"
{
/*
* A compound statement is stored as a single-item list
* containing the list of statements as its member. That
* way, the parse analysis code can tell apart an empty
* body from no body at all.
*/
(yyval.node) = (Node *) list_make1((yyvsp[(3) - (4)].list));
;}
break;
case 1212:
#line 8902 "gram.y"
{
(yyval.node) = NULL;
;}
break;
case 1213:
#line 8909 "gram.y"
{
/* As in stmtmulti, discard empty statements */
if ((yyvsp[(2) - (3)].node) != NULL)
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].node));
else
(yyval.list) = (yyvsp[(1) - (3)].list);
;}
break;
case 1214:
#line 8917 "gram.y"
{
(yyval.list) = NIL;
;}
break;
case 1217:
#line 8928 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(3) - (3)].typnam)); ;}
break;
case 1218:
#line 8929 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (5)].list), (yyvsp[(5) - (5)].typnam)); ;}
break;
case 1219:
#line 8933 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1220:
#line 8934 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1221:
#line 8938 "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;
n->location = (yylsp[(1) - (2)]);
(yyval.fun_param) = n;
;}
break;
case 1222:
#line 8952 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param));
;}
break;
case 1223:
#line 8956 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param));
;}
break;
case 1224:
#line 8971 "gram.y"
{
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
n->objtype = OBJECT_FUNCTION;
n->func = (yyvsp[(3) - (5)].objwithargs);
n->actions = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1225:
#line 8980 "gram.y"
{
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
n->objtype = OBJECT_PROCEDURE;
n->func = (yyvsp[(3) - (5)].objwithargs);
n->actions = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1226:
#line 8989 "gram.y"
{
AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
n->objtype = OBJECT_ROUTINE;
n->func = (yyvsp[(3) - (5)].objwithargs);
n->actions = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1227:
#line 9001 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1228:
#line 9002 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1231:
#line 9026 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FUNCTION;
n->objects = (yyvsp[(3) - (4)].list);
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 1232:
#line 9037 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_FUNCTION;
n->objects = (yyvsp[(5) - (6)].list);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 1233:
#line 9048 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_PROCEDURE;
n->objects = (yyvsp[(3) - (4)].list);
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 1234:
#line 9059 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_PROCEDURE;
n->objects = (yyvsp[(5) - (6)].list);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 1235:
#line 9070 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_ROUTINE;
n->objects = (yyvsp[(3) - (4)].list);
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 1236:
#line 9081 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_ROUTINE;
n->objects = (yyvsp[(5) - (6)].list);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 1237:
#line 9095 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_AGGREGATE;
n->objects = (yyvsp[(3) - (4)].list);
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 1238:
#line 9106 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_AGGREGATE;
n->objects = (yyvsp[(5) - (6)].list);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 1239:
#line 9120 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_OPERATOR;
n->objects = (yyvsp[(3) - (4)].list);
n->behavior = (yyvsp[(4) - (4)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 1240:
#line 9131 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_OPERATOR;
n->objects = (yyvsp[(5) - (6)].list);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *) n;
;}
break;
case 1241:
#line 9145 "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 1242:
#line 9153 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), (yyvsp[(4) - (5)].typnam)); ;}
break;
case 1243:
#line 9155 "gram.y"
{ (yyval.list) = list_make2(NULL, (yyvsp[(4) - (5)].typnam)); ;}
break;
case 1244:
#line 9157 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), NULL); ;}
break;
case 1245:
#line 9162 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 1246:
#line 9164 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(3) - (3)].list)); ;}
break;
case 1247:
#line 9168 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;}
break;
case 1248:
#line 9170 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;}
break;
case 1249:
#line 9175 "gram.y"
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[(1) - (2)].list);
n->objargs = (yyvsp[(2) - (2)].list);
(yyval.objwithargs) = n;
;}
break;
case 1250:
#line 9194 "gram.y"
{
DoStmt *n = makeNode(DoStmt);
n->args = (yyvsp[(2) - (2)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1251:
#line 9203 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1252:
#line 9204 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1253:
#line 9209 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *) makeString((yyvsp[(1) - (1)].str)), (yylsp[(1) - (1)]));
;}
break;
case 1254:
#line 9213 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 1255:
#line 9226 "gram.y"
{
CreateCastStmt *n = makeNode(CreateCastStmt);
n->sourcetype = (yyvsp[(4) - (11)].typnam);
n->targettype = (yyvsp[(6) - (11)].typnam);
n->func = (yyvsp[(10) - (11)].objwithargs);
n->context = (CoercionContext) (yyvsp[(11) - (11)].ival);
n->inout = false;
(yyval.node) = (Node *) n;
;}
break;
case 1256:
#line 9238 "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 1257:
#line 9250 "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 1258:
#line 9262 "gram.y"
{ (yyval.ival) = COERCION_IMPLICIT; ;}
break;
case 1259:
#line 9263 "gram.y"
{ (yyval.ival) = COERCION_ASSIGNMENT; ;}
break;
case 1260:
#line 9264 "gram.y"
{ (yyval.ival) = COERCION_EXPLICIT; ;}
break;
case 1261:
#line 9269 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_CAST;
n->objects = list_make1(list_make2((yyvsp[(5) - (9)].typnam), (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 1262:
#line 9281 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1263:
#line 9282 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1264:
#line 9293 "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 1265:
#line 9306 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(5) - (11)].objwithargs), (yyvsp[(11) - (11)].objwithargs));
;}
break;
case 1266:
#line 9310 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(11) - (11)].objwithargs), (yyvsp[(5) - (11)].objwithargs));
;}
break;
case 1267:
#line 9314 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(5) - (5)].objwithargs), NULL);
;}
break;
case 1268:
#line 9318 "gram.y"
{
(yyval.list) = list_make2(NULL, (yyvsp[(5) - (5)].objwithargs));
;}
break;
case 1269:
#line 9325 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_TRANSFORM;
n->objects = list_make1(list_make2((yyvsp[(5) - (8)].typnam), makeString((yyvsp[(7) - (8)].str))));
n->behavior = (yyvsp[(8) - (8)].dbehavior);
n->missing_ok = (yyvsp[(3) - (8)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 1270:
#line 9347 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[(3) - (5)].ival);
n->relation = (yyvsp[(5) - (5)].range);
n->name = NULL;
n->params = (yyvsp[(2) - (5)].list);
if ((yyvsp[(4) - (5)].boolean))
n->params = lappend(n->params,
makeDefElem("concurrently", NULL, (yylsp[(4) - (5)])));
(yyval.node) = (Node *) n;
;}
break;
case 1271:
#line 9360 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = REINDEX_OBJECT_SCHEMA;
n->relation = NULL;
n->name = (yyvsp[(5) - (5)].str);
n->params = (yyvsp[(2) - (5)].list);
if ((yyvsp[(4) - (5)].boolean))
n->params = lappend(n->params,
makeDefElem("concurrently", NULL, (yylsp[(4) - (5)])));
(yyval.node) = (Node *) n;
;}
break;
case 1272:
#line 9373 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[(3) - (5)].ival);
n->relation = NULL;
n->name = (yyvsp[(5) - (5)].str);
n->params = (yyvsp[(2) - (5)].list);
if ((yyvsp[(4) - (5)].boolean))
n->params = lappend(n->params,
makeDefElem("concurrently", NULL, (yylsp[(4) - (5)])));
(yyval.node) = (Node *) n;
;}
break;
case 1273:
#line 9387 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_INDEX; ;}
break;
case 1274:
#line 9388 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_TABLE; ;}
break;
case 1275:
#line 9391 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_SYSTEM; ;}
break;
case 1276:
#line 9392 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_DATABASE; ;}
break;
case 1277:
#line 9395 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1278:
#line 9396 "gram.y"
{ (yyval.list) = NULL; ;}
break;
case 1279:
#line 9407 "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 1280:
#line 9417 "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 1281:
#line 9435 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1282:
#line 9445 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLLATION;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1283:
#line 9455 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_CONVERSION;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1284:
#line 9465 "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 1285:
#line 9475 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1286:
#line 9485 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_DOMCONSTRAINT;
n->object = (Node *) (yyvsp[(3) - (8)].list);
n->subname = (yyvsp[(6) - (8)].str);
n->newname = (yyvsp[(8) - (8)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1287:
#line 9495 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FDW;
n->object = (Node *) makeString((yyvsp[(5) - (8)].str));
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1288:
#line 9505 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1289:
#line 9515 "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 1290:
#line 9525 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_LANGUAGE;
n->object = (Node *) makeString((yyvsp[(4) - (7)].str));
n->newname = (yyvsp[(7) - (7)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1291:
#line 9535 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_OPCLASS;
n->object = (Node *) 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 1292:
#line 9545 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_OPFAMILY;
n->object = (Node *) 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 1293:
#line 9555 "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 1294:
#line 9566 "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 1295:
#line 9577 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1296:
#line 9587 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_PUBLICATION;
n->object = (Node *) makeString((yyvsp[(3) - (6)].str));
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1297:
#line 9597 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1298:
#line 9607 "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 1299:
#line 9617 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_FOREIGN_SERVER;
n->object = (Node *) makeString((yyvsp[(3) - (6)].str));
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1300:
#line 9627 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_SUBSCRIPTION;
n->object = (Node *) makeString((yyvsp[(3) - (6)].str));
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1301:
#line 9637 "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 1302:
#line 9648 "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 1303:
#line 9659 "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 1304:
#line 9670 "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 1305:
#line 9681 "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 1306:
#line 9692 "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 1307:
#line 9703 "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 1308:
#line 9714 "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 1309:
#line 9725 "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 1310:
#line 9736 "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 1311:
#line 9747 "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 1312:
#line 9758 "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 1313:
#line 9769 "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 1314:
#line 9781 "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 1315:
#line 9793 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_VIEW;
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 1316:
#line 9805 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_COLUMN;
n->relationType = OBJECT_VIEW;
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 1317:
#line 9817 "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 1318:
#line 9829 "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 1319:
#line 9841 "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 1320:
#line 9852 "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 1321:
#line 9863 "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 1322:
#line 9875 "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 1323:
#line 9887 "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 1324:
#line 9898 "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 1325:
#line 9909 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_EVENT_TRIGGER;
n->object = (Node *) makeString((yyvsp[(4) - (7)].str));
n->newname = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1326:
#line 9918 "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 1327:
#line 9928 "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 1328:
#line 9938 "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 1329:
#line 9948 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_STATISTIC_EXT;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1330:
#line 9958 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSPARSER;
n->object = (Node *) (yyvsp[(5) - (8)].list);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1331:
#line 9968 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSDICTIONARY;
n->object = (Node *) (yyvsp[(5) - (8)].list);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1332:
#line 9978 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSTEMPLATE;
n->object = (Node *) (yyvsp[(5) - (8)].list);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1333:
#line 9988 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TSCONFIGURATION;
n->object = (Node *) (yyvsp[(5) - (8)].list);
n->newname = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1334:
#line 9998 "gram.y"
{
RenameStmt *n = makeNode(RenameStmt);
n->renameType = OBJECT_TYPE;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newname = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1335:
#line 10008 "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 1338:
#line 10026 "gram.y"
{ (yyval.ival) = 1; ;}
break;
case 1339:
#line 10027 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1340:
#line 10038 "gram.y"
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[(3) - (8)].objwithargs);
n->extname = makeString((yyvsp[(8) - (8)].str));
n->remove = (yyvsp[(4) - (8)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 1341:
#line 10048 "gram.y"
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[(3) - (8)].objwithargs);
n->extname = makeString((yyvsp[(8) - (8)].str));
n->remove = (yyvsp[(4) - (8)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 1342:
#line 10058 "gram.y"
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[(3) - (8)].objwithargs);
n->extname = makeString((yyvsp[(8) - (8)].str));
n->remove = (yyvsp[(4) - (8)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 1343:
#line 10068 "gram.y"
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_TRIGGER;
n->relation = (yyvsp[(5) - (10)].range);
n->object = (Node *) list_make1(makeString((yyvsp[(3) - (10)].str)));
n->extname = makeString((yyvsp[(10) - (10)].str));
n->remove = (yyvsp[(6) - (10)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 1344:
#line 10079 "gram.y"
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_MATVIEW;
n->relation = (yyvsp[(4) - (9)].range);
n->extname = makeString((yyvsp[(9) - (9)].str));
n->remove = (yyvsp[(5) - (9)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 1345:
#line 10089 "gram.y"
{
AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
n->objectType = OBJECT_INDEX;
n->relation = (yyvsp[(3) - (8)].range);
n->extname = makeString((yyvsp[(8) - (8)].str));
n->remove = (yyvsp[(4) - (8)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 1346:
#line 10100 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1347:
#line 10101 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1348:
#line 10112 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1349:
#line 10122 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_COLLATION;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1350:
#line 10132 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_CONVERSION;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1351:
#line 10142 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1352:
#line 10152 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_EXTENSION;
n->object = (Node *) makeString((yyvsp[(3) - (6)].str));
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1353:
#line 10162 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1354:
#line 10172 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPERATOR;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1355:
#line 10182 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPCLASS;
n->object = (Node *) 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 1356:
#line 10192 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_OPFAMILY;
n->object = (Node *) 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 1357:
#line 10202 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1358:
#line 10212 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1359:
#line 10222 "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 1360:
#line 10232 "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 1361:
#line 10242 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_STATISTIC_EXT;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1362:
#line 10252 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSPARSER;
n->object = (Node *) (yyvsp[(5) - (8)].list);
n->newschema = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1363:
#line 10262 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSDICTIONARY;
n->object = (Node *) (yyvsp[(5) - (8)].list);
n->newschema = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1364:
#line 10272 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSTEMPLATE;
n->object = (Node *) (yyvsp[(5) - (8)].list);
n->newschema = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1365:
#line 10282 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TSCONFIGURATION;
n->object = (Node *) (yyvsp[(5) - (8)].list);
n->newschema = (yyvsp[(8) - (8)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1366:
#line 10292 "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 1367:
#line 10302 "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 1368:
#line 10312 "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 1369:
#line 10322 "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 1370:
#line 10332 "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 1371:
#line 10342 "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 1372:
#line 10352 "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 1373:
#line 10362 "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 1374:
#line 10372 "gram.y"
{
AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
n->objectType = OBJECT_TYPE;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newschema = (yyvsp[(6) - (6)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 1375:
#line 10391 "gram.y"
{
AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
n->opername = (yyvsp[(3) - (7)].objwithargs);
n->options = (yyvsp[(6) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1376:
#line 10400 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1377:
#line 10401 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 1378:
#line 10405 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL, (yylsp[(1) - (3)])); ;}
break;
case 1379:
#line 10407 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;}
break;
case 1380:
#line 10409 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)])); ;}
break;
case 1381:
#line 10414 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].typnam); ;}
break;
case 1382:
#line 10415 "gram.y"
{ (yyval.node) = (Node *) makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;}
break;
case 1383:
#line 10416 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].list); ;}
break;
case 1384:
#line 10417 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;}
break;
case 1385:
#line 10418 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 1386:
#line 10431 "gram.y"
{
AlterTypeStmt *n = makeNode(AlterTypeStmt);
n->typeName = (yyvsp[(3) - (7)].list);
n->options = (yyvsp[(6) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1387:
#line 10447 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_AGGREGATE;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1388:
#line 10456 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_COLLATION;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1389:
#line 10465 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_CONVERSION;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1390:
#line 10474 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_DATABASE;
n->object = (Node *) makeString((yyvsp[(3) - (6)].str));
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1391:
#line 10483 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_DOMAIN;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1392:
#line 10492 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FUNCTION;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1393:
#line 10501 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_LANGUAGE;
n->object = (Node *) makeString((yyvsp[(4) - (7)].str));
n->newowner = (yyvsp[(7) - (7)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1394:
#line 10510 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_LARGEOBJECT;
n->object = (Node *) (yyvsp[(4) - (7)].node);
n->newowner = (yyvsp[(7) - (7)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1395:
#line 10519 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPERATOR;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1396:
#line 10528 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPCLASS;
n->object = (Node *) lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
n->newowner = (yyvsp[(9) - (9)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1397:
#line 10537 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_OPFAMILY;
n->object = (Node *) lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
n->newowner = (yyvsp[(9) - (9)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1398:
#line 10546 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_PROCEDURE;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1399:
#line 10555 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_ROUTINE;
n->object = (Node *) (yyvsp[(3) - (6)].objwithargs);
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1400:
#line 10564 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_SCHEMA;
n->object = (Node *) makeString((yyvsp[(3) - (6)].str));
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1401:
#line 10573 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TYPE;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1402:
#line 10582 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TABLESPACE;
n->object = (Node *) makeString((yyvsp[(3) - (6)].str));
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1403:
#line 10591 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_STATISTIC_EXT;
n->object = (Node *) (yyvsp[(3) - (6)].list);
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1404:
#line 10600 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TSDICTIONARY;
n->object = (Node *) (yyvsp[(5) - (8)].list);
n->newowner = (yyvsp[(8) - (8)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1405:
#line 10609 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_TSCONFIGURATION;
n->object = (Node *) (yyvsp[(5) - (8)].list);
n->newowner = (yyvsp[(8) - (8)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1406:
#line 10618 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FDW;
n->object = (Node *) makeString((yyvsp[(5) - (8)].str));
n->newowner = (yyvsp[(8) - (8)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1407:
#line 10627 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_FOREIGN_SERVER;
n->object = (Node *) makeString((yyvsp[(3) - (6)].str));
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1408:
#line 10636 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_EVENT_TRIGGER;
n->object = (Node *) makeString((yyvsp[(4) - (7)].str));
n->newowner = (yyvsp[(7) - (7)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1409:
#line 10645 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_PUBLICATION;
n->object = (Node *) makeString((yyvsp[(3) - (6)].str));
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1410:
#line 10654 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_SUBSCRIPTION;
n->object = (Node *) makeString((yyvsp[(3) - (6)].str));
n->newowner = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 1411:
#line 10682 "gram.y"
{
CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
n->pubname = (yyvsp[(3) - (4)].str);
n->options = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1412:
#line 10690 "gram.y"
{
CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
n->pubname = (yyvsp[(3) - (7)].str);
n->options = (yyvsp[(7) - (7)].list);
n->for_all_tables = true;
(yyval.node) = (Node *) n;
;}
break;
case 1413:
#line 10699 "gram.y"
{
CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
n->pubname = (yyvsp[(3) - (6)].str);
n->options = (yyvsp[(6) - (6)].list);
n->pubobjects = (List *) (yyvsp[(5) - (6)].list);
preprocess_pubobj_list(n->pubobjects, yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 1414:
#line 10725 "gram.y"
{
(yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
(yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLE;
(yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
(yyval.publicationobjectspec)->pubtable->relation = (yyvsp[(2) - (4)].range);
(yyval.publicationobjectspec)->pubtable->columns = (yyvsp[(3) - (4)].list);
(yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[(4) - (4)].node);
;}
break;
case 1415:
#line 10734 "gram.y"
{
(yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
(yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_SCHEMA;
(yyval.publicationobjectspec)->name = (yyvsp[(4) - (4)].str);
(yyval.publicationobjectspec)->location = (yylsp[(4) - (4)]);
;}
break;
case 1416:
#line 10741 "gram.y"
{
(yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
(yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA;
(yyval.publicationobjectspec)->location = (yylsp[(4) - (4)]);
;}
break;
case 1417:
#line 10747 "gram.y"
{
(yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
(yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
/*
* If either a row filter or column list is specified, create
* a PublicationTable object.
*/
if ((yyvsp[(2) - (3)].list) || (yyvsp[(3) - (3)].node))
{
/*
* The OptWhereClause must be stored here but it is
* valid only for tables. For non-table objects, an
* error will be thrown later via
* preprocess_pubobj_list().
*/
(yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
(yyval.publicationobjectspec)->pubtable->relation = makeRangeVar(NULL, (yyvsp[(1) - (3)].str), (yylsp[(1) - (3)]));
(yyval.publicationobjectspec)->pubtable->columns = (yyvsp[(2) - (3)].list);
(yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[(3) - (3)].node);
}
else
{
(yyval.publicationobjectspec)->name = (yyvsp[(1) - (3)].str);
}
(yyval.publicationobjectspec)->location = (yylsp[(1) - (3)]);
;}
break;
case 1418:
#line 10774 "gram.y"
{
(yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
(yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
(yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
(yyval.publicationobjectspec)->pubtable->relation = makeRangeVarFromQualifiedName((yyvsp[(1) - (4)].str), (yyvsp[(2) - (4)].list), (yylsp[(1) - (4)]), yyscanner);
(yyval.publicationobjectspec)->pubtable->columns = (yyvsp[(3) - (4)].list);
(yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[(4) - (4)].node);
(yyval.publicationobjectspec)->location = (yylsp[(1) - (4)]);
;}
break;
case 1419:
#line 10785 "gram.y"
{
(yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
(yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
(yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
(yyval.publicationobjectspec)->pubtable->relation = (yyvsp[(1) - (3)].range);
(yyval.publicationobjectspec)->pubtable->columns = (yyvsp[(2) - (3)].list);
(yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[(3) - (3)].node);
;}
break;
case 1420:
#line 10794 "gram.y"
{
(yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
(yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
(yyval.publicationobjectspec)->location = (yylsp[(1) - (1)]);
;}
break;
case 1421:
#line 10802 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].publicationobjectspec)); ;}
break;
case 1422:
#line 10804 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].publicationobjectspec)); ;}
break;
case 1423:
#line 10826 "gram.y"
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1424:
#line 10834 "gram.y"
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[(3) - (5)].str);
n->pubobjects = (yyvsp[(5) - (5)].list);
preprocess_pubobj_list(n->pubobjects, yyscanner);
n->action = AP_AddObjects;
(yyval.node) = (Node *) n;
;}
break;
case 1425:
#line 10844 "gram.y"
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[(3) - (5)].str);
n->pubobjects = (yyvsp[(5) - (5)].list);
preprocess_pubobj_list(n->pubobjects, yyscanner);
n->action = AP_SetObjects;
(yyval.node) = (Node *) n;
;}
break;
case 1426:
#line 10854 "gram.y"
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[(3) - (5)].str);
n->pubobjects = (yyvsp[(5) - (5)].list);
preprocess_pubobj_list(n->pubobjects, yyscanner);
n->action = AP_DropObjects;
(yyval.node) = (Node *) n;
;}
break;
case 1427:
#line 10873 "gram.y"
{
CreateSubscriptionStmt *n =
makeNode(CreateSubscriptionStmt);
n->subname = (yyvsp[(3) - (8)].str);
n->conninfo = (yyvsp[(5) - (8)].str);
n->publication = (yyvsp[(7) - (8)].list);
n->options = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1428:
#line 10892 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_OPTIONS;
n->subname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1429:
#line 10902 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_CONNECTION;
n->subname = (yyvsp[(3) - (5)].str);
n->conninfo = (yyvsp[(5) - (5)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1430:
#line 10912 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_REFRESH;
n->subname = (yyvsp[(3) - (6)].str);
n->options = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1431:
#line 10922 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_ADD_PUBLICATION;
n->subname = (yyvsp[(3) - (7)].str);
n->publication = (yyvsp[(6) - (7)].list);
n->options = (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1432:
#line 10933 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_DROP_PUBLICATION;
n->subname = (yyvsp[(3) - (7)].str);
n->publication = (yyvsp[(6) - (7)].list);
n->options = (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1433:
#line 10944 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_SET_PUBLICATION;
n->subname = (yyvsp[(3) - (7)].str);
n->publication = (yyvsp[(6) - (7)].list);
n->options = (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1434:
#line 10955 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_ENABLED;
n->subname = (yyvsp[(3) - (4)].str);
n->options = list_make1(makeDefElem("enabled",
(Node *) makeBoolean(true), (yylsp[(1) - (4)])));
(yyval.node) = (Node *) n;
;}
break;
case 1435:
#line 10966 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_ENABLED;
n->subname = (yyvsp[(3) - (4)].str);
n->options = list_make1(makeDefElem("enabled",
(Node *) makeBoolean(false), (yylsp[(1) - (4)])));
(yyval.node) = (Node *) n;
;}
break;
case 1436:
#line 10977 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_SKIP;
n->subname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1437:
#line 10995 "gram.y"
{
DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
n->subname = (yyvsp[(3) - (4)].str);
n->missing_ok = false;
n->behavior = (yyvsp[(4) - (4)].dbehavior);
(yyval.node) = (Node *) n;
;}
break;
case 1438:
#line 11004 "gram.y"
{
DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
n->subname = (yyvsp[(5) - (6)].str);
n->missing_ok = true;
n->behavior = (yyvsp[(6) - (6)].dbehavior);
(yyval.node) = (Node *) n;
;}
break;
case 1439:
#line 11023 "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 1440:
#line 11038 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1441:
#line 11039 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1442:
#line 11040 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1443:
#line 11046 "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 1444:
#line 11052 "gram.y"
{ if ((yyvsp[(1) - (1)].node) != NULL)
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
else
(yyval.list) = NIL;
;}
break;
case 1450:
#line 11068 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1451:
#line 11069 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1452:
#line 11072 "gram.y"
{ (yyval.ival) = CMD_SELECT; ;}
break;
case 1453:
#line 11073 "gram.y"
{ (yyval.ival) = CMD_UPDATE; ;}
break;
case 1454:
#line 11074 "gram.y"
{ (yyval.ival) = CMD_DELETE; ;}
break;
case 1455:
#line 11075 "gram.y"
{ (yyval.ival) = CMD_INSERT; ;}
break;
case 1456:
#line 11079 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1457:
#line 11080 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1458:
#line 11081 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1459:
#line 11094 "gram.y"
{
NotifyStmt *n = makeNode(NotifyStmt);
n->conditionname = (yyvsp[(2) - (3)].str);
n->payload = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1460:
#line 11104 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1461:
#line 11105 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1462:
#line 11109 "gram.y"
{
ListenStmt *n = makeNode(ListenStmt);
n->conditionname = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1463:
#line 11119 "gram.y"
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1464:
#line 11126 "gram.y"
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 1465:
#line 11146 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
n->options = NIL;
n->chain = (yyvsp[(3) - (3)].boolean);
n->location = -1;
(yyval.node) = (Node *) n;
;}
break;
case 1466:
#line 11156 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_START;
n->options = (yyvsp[(3) - (3)].list);
n->location = -1;
(yyval.node) = (Node *) n;
;}
break;
case 1467:
#line 11165 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
n->options = NIL;
n->chain = (yyvsp[(3) - (3)].boolean);
n->location = -1;
(yyval.node) = (Node *) n;
;}
break;
case 1468:
#line 11175 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
n->options = NIL;
n->chain = (yyvsp[(3) - (3)].boolean);
n->location = -1;
(yyval.node) = (Node *) n;
;}
break;
case 1469:
#line 11185 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_SAVEPOINT;
n->savepoint_name = (yyvsp[(2) - (2)].str);
n->location = (yylsp[(2) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 1470:
#line 11194 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
n->savepoint_name = (yyvsp[(3) - (3)].str);
n->location = (yylsp[(3) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 1471:
#line 11203 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
n->savepoint_name = (yyvsp[(2) - (2)].str);
n->location = (yylsp[(2) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 1472:
#line 11212 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
n->savepoint_name = (yyvsp[(5) - (5)].str);
n->location = (yylsp[(5) - (5)]);
(yyval.node) = (Node *) n;
;}
break;
case 1473:
#line 11221 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
n->savepoint_name = (yyvsp[(4) - (4)].str);
n->location = (yylsp[(4) - (4)]);
(yyval.node) = (Node *) n;
;}
break;
case 1474:
#line 11230 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_PREPARE;
n->gid = (yyvsp[(3) - (3)].str);
n->location = (yylsp[(3) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 1475:
#line 11239 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT_PREPARED;
n->gid = (yyvsp[(3) - (3)].str);
n->location = (yylsp[(3) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 1476:
#line 11248 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_PREPARED;
n->gid = (yyvsp[(3) - (3)].str);
n->location = (yylsp[(3) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 1477:
#line 11260 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_BEGIN;
n->options = (yyvsp[(3) - (3)].list);
n->location = -1;
(yyval.node) = (Node *) n;
;}
break;
case 1478:
#line 11269 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
n->options = NIL;
n->chain = (yyvsp[(3) - (3)].boolean);
n->location = -1;
(yyval.node) = (Node *) n;
;}
break;
case 1482:
#line 11287 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_isolation",
makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)])), (yylsp[(1) - (3)])); ;}
break;
case 1483:
#line 11290 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(true, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;}
break;
case 1484:
#line 11293 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(false, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;}
break;
case 1485:
#line 11296 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(true, (yylsp[(1) - (1)])), (yylsp[(1) - (1)])); ;}
break;
case 1486:
#line 11299 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(false, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;}
break;
case 1487:
#line 11306 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1488:
#line 11308 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 1489:
#line 11310 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1491:
#line 11316 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1492:
#line 11320 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1493:
#line 11321 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1494:
#line 11322 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1495:
#line 11336 "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 1496:
#line 11350 "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 1497:
#line 11364 "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 1498:
#line 11383 "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 1499:
#line 11403 "gram.y"
{ (yyval.ival) = CASCADED_CHECK_OPTION; ;}
break;
case 1500:
#line 11404 "gram.y"
{ (yyval.ival) = CASCADED_CHECK_OPTION; ;}
break;
case 1501:
#line 11405 "gram.y"
{ (yyval.ival) = LOCAL_CHECK_OPTION; ;}
break;
case 1502:
#line 11406 "gram.y"
{ (yyval.ival) = NO_CHECK_OPTION; ;}
break;
case 1503:
#line 11417 "gram.y"
{
LoadStmt *n = makeNode(LoadStmt);
n->filename = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1504:
#line 11434 "gram.y"
{
CreatedbStmt *n = makeNode(CreatedbStmt);
n->dbname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1505:
#line 11444 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1506:
#line 11445 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1507:
#line 11449 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1508:
#line 11450 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1509:
#line 11455 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 1510:
#line 11459 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 1511:
#line 11463 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL, (yylsp[(1) - (3)]));
;}
break;
case 1512:
#line 11480 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1513:
#line 11481 "gram.y"
{ (yyval.str) = pstrdup("connection_limit"); ;}
break;
case 1514:
#line 11482 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1515:
#line 11483 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1516:
#line 11484 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1517:
#line 11485 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1518:
#line 11486 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1521:
#line 11506 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1522:
#line 11514 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[(3) - (4)].str);
n->options = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1523:
#line 11522 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[(3) - (6)].str);
n->options = list_make1(makeDefElem("tablespace",
(Node *) makeString((yyvsp[(6) - (6)].str)), (yylsp[(6) - (6)])));
(yyval.node) = (Node *) n;
;}
break;
case 1524:
#line 11531 "gram.y"
{
AlterDatabaseRefreshCollStmt *n = makeNode(AlterDatabaseRefreshCollStmt);
n->dbname = (yyvsp[(3) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1525:
#line 11541 "gram.y"
{
AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
n->dbname = (yyvsp[(3) - (4)].str);
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *) n;
;}
break;
case 1526:
#line 11559 "gram.y"
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[(3) - (3)].str);
n->missing_ok = false;
n->options = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 1527:
#line 11568 "gram.y"
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[(5) - (5)].str);
n->missing_ok = true;
n->options = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 1528:
#line 11577 "gram.y"
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[(3) - (7)].str);
n->missing_ok = false;
n->options = (yyvsp[(6) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1529:
#line 11586 "gram.y"
{
DropdbStmt *n = makeNode(DropdbStmt);
n->dbname = (yyvsp[(5) - (9)].str);
n->missing_ok = true;
n->options = (yyvsp[(8) - (9)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1530:
#line 11598 "gram.y"
{
(yyval.list) = list_make1((Node *) (yyvsp[(1) - (1)].defelt));
;}
break;
case 1531:
#line 11602 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (Node *) (yyvsp[(3) - (3)].defelt));
;}
break;
case 1532:
#line 11613 "gram.y"
{
(yyval.defelt) = makeDefElem("force", NULL, (yylsp[(1) - (1)]));
;}
break;
case 1533:
#line 11625 "gram.y"
{
AlterCollationStmt *n = makeNode(AlterCollationStmt);
n->collname = (yyvsp[(3) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1534:
#line 11643 "gram.y"
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *) n;
;}
break;
case 1535:
#line 11650 "gram.y"
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *) n;
;}
break;
case 1536:
#line 11667 "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 1537:
#line 11681 "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 1538:
#line 11691 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'N';
n->typeName = (yyvsp[(3) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1539:
#line 11700 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'O';
n->typeName = (yyvsp[(3) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1540:
#line 11709 "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 1541:
#line 11719 "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 1542:
#line 11731 "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 1543:
#line 11743 "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 1546:
#line 11766 "gram.y"
{
AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
n->dictname = (yyvsp[(5) - (6)].list);
n->options = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1547:
#line 11777 "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 1548:
#line 11789 "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 1549:
#line 11801 "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 1550:
#line 11813 "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 1551:
#line 11825 "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 1552:
#line 11835 "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 1555:
#line 11864 "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 1556:
#line 11887 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->indexname = (yyvsp[(6) - (6)].str);
n->params = (yyvsp[(3) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1557:
#line 11896 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = NULL;
n->indexname = NULL;
n->params = (yyvsp[(3) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1558:
#line 11906 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->indexname = (yyvsp[(4) - (4)].str);
n->params = NIL;
if ((yyvsp[(2) - (4)].boolean))
n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[(2) - (4)])));
(yyval.node) = (Node *) n;
;}
break;
case 1559:
#line 11918 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = NULL;
n->indexname = NULL;
n->params = NIL;
if ((yyvsp[(2) - (2)].boolean))
n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[(2) - (2)])));
(yyval.node) = (Node *) n;
;}
break;
case 1560:
#line 11930 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[(5) - (5)].range);
n->indexname = (yyvsp[(3) - (5)].str);
n->params = NIL;
if ((yyvsp[(2) - (5)].boolean))
n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[(2) - (5)])));
(yyval.node) = (Node *) n;
;}
break;
case 1561:
#line 11943 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1562:
#line 11944 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1563:
#line 11957 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = NIL;
if ((yyvsp[(2) - (6)].boolean))
n->options = lappend(n->options,
makeDefElem("full", NULL, (yylsp[(2) - (6)])));
if ((yyvsp[(3) - (6)].boolean))
n->options = lappend(n->options,
makeDefElem("freeze", NULL, (yylsp[(3) - (6)])));
if ((yyvsp[(4) - (6)].boolean))
n->options = lappend(n->options,
makeDefElem("verbose", NULL, (yylsp[(4) - (6)])));
if ((yyvsp[(5) - (6)].boolean))
n->options = lappend(n->options,
makeDefElem("analyze", NULL, (yylsp[(5) - (6)])));
n->rels = (yyvsp[(6) - (6)].list);
n->is_vacuumcmd = true;
(yyval.node) = (Node *) n;
;}
break;
case 1564:
#line 11978 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = (yyvsp[(3) - (5)].list);
n->rels = (yyvsp[(5) - (5)].list);
n->is_vacuumcmd = true;
(yyval.node) = (Node *) n;
;}
break;
case 1565:
#line 11989 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = NIL;
if ((yyvsp[(2) - (3)].boolean))
n->options = lappend(n->options,
makeDefElem("verbose", NULL, (yylsp[(2) - (3)])));
n->rels = (yyvsp[(3) - (3)].list);
n->is_vacuumcmd = false;
(yyval.node) = (Node *) n;
;}
break;
case 1566:
#line 12001 "gram.y"
{
VacuumStmt *n = makeNode(VacuumStmt);
n->options = (yyvsp[(3) - (5)].list);
n->rels = (yyvsp[(5) - (5)].list);
n->is_vacuumcmd = false;
(yyval.node) = (Node *) n;
;}
break;
case 1567:
#line 12013 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 1568:
#line 12017 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 1571:
#line 12029 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 1572:
#line 12035 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1573:
#line 12036 "gram.y"
{ (yyval.str) = "analyze"; ;}
break;
case 1574:
#line 12037 "gram.y"
{ (yyval.str) = "format"; ;}
break;
case 1575:
#line 12041 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 1576:
#line 12042 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;}
break;
case 1577:
#line 12043 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1578:
#line 12047 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1579:
#line 12048 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1580:
#line 12052 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1581:
#line 12053 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1582:
#line 12056 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1583:
#line 12057 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1584:
#line 12060 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1585:
#line 12061 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1586:
#line 12065 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1587:
#line 12066 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1588:
#line 12071 "gram.y"
{
(yyval.node) = (Node *) makeVacuumRelation((yyvsp[(1) - (2)].range), InvalidOid, (yyvsp[(2) - (2)].list));
;}
break;
case 1589:
#line 12078 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1590:
#line 12080 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1591:
#line 12084 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1592:
#line 12085 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1593:
#line 12099 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(2) - (2)].node);
n->options = NIL;
(yyval.node) = (Node *) n;
;}
break;
case 1594:
#line 12107 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(4) - (4)].node);
n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[(2) - (4)])));
if ((yyvsp[(3) - (4)].boolean))
n->options = lappend(n->options,
makeDefElem("verbose", NULL, (yylsp[(3) - (4)])));
(yyval.node) = (Node *) n;
;}
break;
case 1595:
#line 12118 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(3) - (3)].node);
n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[(2) - (3)])));
(yyval.node) = (Node *) n;
;}
break;
case 1596:
#line 12126 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(5) - (5)].node);
n->options = (yyvsp[(3) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1607:
#line 12156 "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 1608:
#line 12166 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1609:
#line 12167 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1615:
#line 12186 "gram.y"
{
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[(2) - (3)].str);
n->params = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1616:
#line 12195 "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->objtype = OBJECT_TABLE;
ctas->is_select_into = false;
ctas->if_not_exists = 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 1617:
#line 12213 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[(10) - (12)].str);
n->params = (yyvsp[(11) - (12)].list);
ctas->query = (Node *) n;
ctas->into = (yyvsp[(7) - (12)].into);
ctas->objtype = OBJECT_TABLE;
ctas->is_select_into = false;
ctas->if_not_exists = true;
/* cram additional flags into the IntoClause */
(yyvsp[(7) - (12)].into)->rel->relpersistence = (yyvsp[(2) - (12)].ival);
(yyvsp[(7) - (12)].into)->skipData = !((yyvsp[(12) - (12)].boolean));
(yyval.node) = (Node *) ctas;
;}
break;
case 1618:
#line 12231 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1619:
#line 12232 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1620:
#line 12243 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[(2) - (2)].str);
n->isall = false;
n->location = (yylsp[(2) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 1621:
#line 12252 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[(3) - (3)].str);
n->isall = false;
n->location = (yylsp[(3) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 1622:
#line 12261 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
n->isall = true;
n->location = -1;
(yyval.node) = (Node *) n;
;}
break;
case 1623:
#line 12270 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
n->isall = true;
n->location = -1;
(yyval.node) = (Node *) n;
;}
break;
case 1624:
#line 12290 "gram.y"
{
(yyvsp[(5) - (7)].istmt)->relation = (yyvsp[(4) - (7)].range);
(yyvsp[(5) - (7)].istmt)->onConflictClause = (yyvsp[(6) - (7)].onconflict);
(yyvsp[(5) - (7)].istmt)->returningClause = (yyvsp[(7) - (7)].retclause);
(yyvsp[(5) - (7)].istmt)->withClause = (yyvsp[(1) - (7)].with);
(yyval.node) = (Node *) (yyvsp[(5) - (7)].istmt);
;}
break;
case 1625:
#line 12307 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
;}
break;
case 1626:
#line 12311 "gram.y"
{
(yyvsp[(1) - (3)].range)->alias = makeAlias((yyvsp[(3) - (3)].str), NIL);
(yyval.range) = (yyvsp[(1) - (3)].range);
;}
break;
case 1627:
#line 12319 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = (yyvsp[(1) - (1)].node);
;}
break;
case 1628:
#line 12325 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->override = (yyvsp[(2) - (4)].ival);
(yyval.istmt)->selectStmt = (yyvsp[(4) - (4)].node);
;}
break;
case 1629:
#line 12332 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = (yyvsp[(2) - (4)].list);
(yyval.istmt)->selectStmt = (yyvsp[(4) - (4)].node);
;}
break;
case 1630:
#line 12338 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = (yyvsp[(2) - (7)].list);
(yyval.istmt)->override = (yyvsp[(5) - (7)].ival);
(yyval.istmt)->selectStmt = (yyvsp[(7) - (7)].node);
;}
break;
case 1631:
#line 12345 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = NULL;
;}
break;
case 1632:
#line 12353 "gram.y"
{ (yyval.ival) = OVERRIDING_USER_VALUE; ;}
break;
case 1633:
#line 12354 "gram.y"
{ (yyval.ival) = OVERRIDING_SYSTEM_VALUE; ;}
break;
case 1634:
#line 12359 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1635:
#line 12361 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 1636:
#line 12366 "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 1637:
#line 12377 "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 1638:
#line 12387 "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 1639:
#line 12396 "gram.y"
{
(yyval.onconflict) = NULL;
;}
break;
case 1640:
#line 12403 "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 1641:
#line 12412 "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 1642:
#line 12420 "gram.y"
{
(yyval.infer) = NULL;
;}
break;
case 1643:
#line 12427 "gram.y"
{
ReturningClause *n = makeNode(ReturningClause);
n->options = (yyvsp[(2) - (3)].list);
n->exprs = (yyvsp[(3) - (3)].list);
(yyval.retclause) = n;
;}
break;
case 1644:
#line 12435 "gram.y"
{
(yyval.retclause) = NULL;
;}
break;
case 1645:
#line 12441 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1646:
#line 12442 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1647:
#line 12446 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1648:
#line 12447 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1649:
#line 12452 "gram.y"
{
ReturningOption *n = makeNode(ReturningOption);
n->option = (yyvsp[(1) - (3)].retoptionkind);
n->value = (yyvsp[(3) - (3)].str);
n->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 1650:
#line 12463 "gram.y"
{ (yyval.retoptionkind) = RETURNING_OPTION_OLD; ;}
break;
case 1651:
#line 12464 "gram.y"
{ (yyval.retoptionkind) = RETURNING_OPTION_NEW; ;}
break;
case 1652:
#line 12477 "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->returningClause = (yyvsp[(7) - (7)].retclause);
n->withClause = (yyvsp[(1) - (7)].with);
(yyval.node) = (Node *) n;
;}
break;
case 1653:
#line 12490 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1654:
#line 12491 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1655:
#line 12503 "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 1656:
#line 12513 "gram.y"
{ (yyval.ival) = (yyvsp[(2) - (3)].ival); ;}
break;
case 1657:
#line 12514 "gram.y"
{ (yyval.ival) = AccessExclusiveLock; ;}
break;
case 1658:
#line 12517 "gram.y"
{ (yyval.ival) = AccessShareLock; ;}
break;
case 1659:
#line 12518 "gram.y"
{ (yyval.ival) = RowShareLock; ;}
break;
case 1660:
#line 12519 "gram.y"
{ (yyval.ival) = RowExclusiveLock; ;}
break;
case 1661:
#line 12520 "gram.y"
{ (yyval.ival) = ShareUpdateExclusiveLock; ;}
break;
case 1662:
#line 12521 "gram.y"
{ (yyval.ival) = ShareLock; ;}
break;
case 1663:
#line 12522 "gram.y"
{ (yyval.ival) = ShareRowExclusiveLock; ;}
break;
case 1664:
#line 12523 "gram.y"
{ (yyval.ival) = ExclusiveLock; ;}
break;
case 1665:
#line 12524 "gram.y"
{ (yyval.ival) = AccessExclusiveLock; ;}
break;
case 1666:
#line 12527 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1667:
#line 12528 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1668:
#line 12532 "gram.y"
{ (yyval.ival) = LockWaitError; ;}
break;
case 1669:
#line 12533 "gram.y"
{ (yyval.ival) = LockWaitSkip; ;}
break;
case 1670:
#line 12534 "gram.y"
{ (yyval.ival) = LockWaitBlock; ;}
break;
case 1671:
#line 12550 "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->returningClause = (yyvsp[(8) - (8)].retclause);
n->withClause = (yyvsp[(1) - (8)].with);
(yyval.node) = (Node *) n;
;}
break;
case 1672:
#line 12564 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1673:
#line 12565 "gram.y"
{ (yyval.list) = list_concat((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].list)); ;}
break;
case 1674:
#line 12570 "gram.y"
{
(yyvsp[(1) - (3)].target)->val = (Node *) (yyvsp[(3) - (3)].node);
(yyval.list) = list_make1((yyvsp[(1) - (3)].target));
;}
break;
case 1675:
#line 12575 "gram.y"
{
int ncolumns = list_length((yyvsp[(2) - (5)].list));
int i = 1;
ListCell *col_cell;
/* 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 *) (yyvsp[(5) - (5)].node);
r->colno = i;
r->ncolumns = ncolumns;
res_col->val = (Node *) r;
i++;
}
(yyval.list) = (yyvsp[(2) - (5)].list);
;}
break;
case 1676:
#line 12599 "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 1677:
#line 12609 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1678:
#line 12610 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].target)); ;}
break;
case 1679:
#line 12627 "gram.y"
{
MergeStmt *m = makeNode(MergeStmt);
m->withClause = (yyvsp[(1) - (10)].with);
m->relation = (yyvsp[(4) - (10)].range);
m->sourceRelation = (yyvsp[(6) - (10)].node);
m->joinCondition = (yyvsp[(8) - (10)].node);
m->mergeWhenClauses = (yyvsp[(9) - (10)].list);
m->returningClause = (yyvsp[(10) - (10)].retclause);
(yyval.node) = (Node *) m;
;}
break;
case 1680:
#line 12642 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1681:
#line 12643 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list),(yyvsp[(2) - (2)].node)); ;}
break;
case 1682:
#line 12654 "gram.y"
{
(yyvsp[(4) - (4)].mergewhen)->matchKind = (yyvsp[(1) - (4)].mergematch);
(yyvsp[(4) - (4)].mergewhen)->condition = (yyvsp[(2) - (4)].node);
(yyval.node) = (Node *) (yyvsp[(4) - (4)].mergewhen);
;}
break;
case 1683:
#line 12661 "gram.y"
{
(yyvsp[(4) - (4)].mergewhen)->matchKind = (yyvsp[(1) - (4)].mergematch);
(yyvsp[(4) - (4)].mergewhen)->condition = (yyvsp[(2) - (4)].node);
(yyval.node) = (Node *) (yyvsp[(4) - (4)].mergewhen);
;}
break;
case 1684:
#line 12668 "gram.y"
{
(yyvsp[(4) - (4)].mergewhen)->matchKind = (yyvsp[(1) - (4)].mergematch);
(yyvsp[(4) - (4)].mergewhen)->condition = (yyvsp[(2) - (4)].node);
(yyval.node) = (Node *) (yyvsp[(4) - (4)].mergewhen);
;}
break;
case 1685:
#line 12675 "gram.y"
{
MergeWhenClause *m = makeNode(MergeWhenClause);
m->matchKind = (yyvsp[(1) - (5)].mergematch);
m->commandType = CMD_NOTHING;
m->condition = (yyvsp[(2) - (5)].node);
(yyval.node) = (Node *) m;
;}
break;
case 1686:
#line 12685 "gram.y"
{
MergeWhenClause *m = makeNode(MergeWhenClause);
m->matchKind = (yyvsp[(1) - (5)].mergematch);
m->commandType = CMD_NOTHING;
m->condition = (yyvsp[(2) - (5)].node);
(yyval.node) = (Node *) m;
;}
break;
case 1687:
#line 12697 "gram.y"
{ (yyval.mergematch) = MERGE_WHEN_MATCHED; ;}
break;
case 1688:
#line 12698 "gram.y"
{ (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_SOURCE; ;}
break;
case 1689:
#line 12702 "gram.y"
{ (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; ;}
break;
case 1690:
#line 12703 "gram.y"
{ (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; ;}
break;
case 1691:
#line 12707 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1692:
#line 12708 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1693:
#line 12713 "gram.y"
{
MergeWhenClause *n = makeNode(MergeWhenClause);
n->commandType = CMD_UPDATE;
n->override = OVERRIDING_NOT_SET;
n->targetList = (yyvsp[(3) - (3)].list);
n->values = NIL;
(yyval.mergewhen) = n;
;}
break;
case 1694:
#line 12726 "gram.y"
{
MergeWhenClause *n = makeNode(MergeWhenClause);
n->commandType = CMD_DELETE;
n->override = OVERRIDING_NOT_SET;
n->targetList = NIL;
n->values = NIL;
(yyval.mergewhen) = n;
;}
break;
case 1695:
#line 12739 "gram.y"
{
MergeWhenClause *n = makeNode(MergeWhenClause);
n->commandType = CMD_INSERT;
n->override = OVERRIDING_NOT_SET;
n->targetList = NIL;
n->values = (yyvsp[(2) - (2)].list);
(yyval.mergewhen) = n;
;}
break;
case 1696:
#line 12748 "gram.y"
{
MergeWhenClause *n = makeNode(MergeWhenClause);
n->commandType = CMD_INSERT;
n->override = (yyvsp[(3) - (5)].ival);
n->targetList = NIL;
n->values = (yyvsp[(5) - (5)].list);
(yyval.mergewhen) = n;
;}
break;
case 1697:
#line 12757 "gram.y"
{
MergeWhenClause *n = makeNode(MergeWhenClause);
n->commandType = CMD_INSERT;
n->override = OVERRIDING_NOT_SET;
n->targetList = (yyvsp[(3) - (5)].list);
n->values = (yyvsp[(5) - (5)].list);
(yyval.mergewhen) = n;
;}
break;
case 1698:
#line 12766 "gram.y"
{
MergeWhenClause *n = makeNode(MergeWhenClause);
n->commandType = CMD_INSERT;
n->override = (yyvsp[(6) - (8)].ival);
n->targetList = (yyvsp[(3) - (8)].list);
n->values = (yyvsp[(8) - (8)].list);
(yyval.mergewhen) = n;
;}
break;
case 1699:
#line 12775 "gram.y"
{
MergeWhenClause *n = makeNode(MergeWhenClause);
n->commandType = CMD_INSERT;
n->override = OVERRIDING_NOT_SET;
n->targetList = NIL;
n->values = NIL;
(yyval.mergewhen) = n;
;}
break;
case 1700:
#line 12787 "gram.y"
{
(yyval.list) = (yyvsp[(3) - (4)].list);
;}
break;
case 1701:
#line 12799 "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 1702:
#line 12810 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1703:
#line 12813 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1704:
#line 12814 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | CURSOR_OPT_NO_SCROLL; ;}
break;
case 1705:
#line 12815 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_SCROLL; ;}
break;
case 1706:
#line 12816 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_BINARY; ;}
break;
case 1707:
#line 12817 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_ASENSITIVE; ;}
break;
case 1708:
#line 12818 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_INSENSITIVE; ;}
break;
case 1709:
#line 12821 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1710:
#line 12822 "gram.y"
{ (yyval.ival) = CURSOR_OPT_HOLD; ;}
break;
case 1711:
#line 12823 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1714:
#line 12876 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1715:
#line 12877 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1716:
#line 12892 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1717:
#line 12894 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list), NIL,
NULL, NULL,
yyscanner);
(yyval.node) = (yyvsp[(1) - (2)].node);
;}
break;
case 1718:
#line 12901 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].list),
(yyvsp[(4) - (4)].selectlimit),
NULL,
yyscanner);
(yyval.node) = (yyvsp[(1) - (4)].node);
;}
break;
case 1719:
#line 12909 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(4) - (4)].list),
(yyvsp[(3) - (4)].selectlimit),
NULL,
yyscanner);
(yyval.node) = (yyvsp[(1) - (4)].node);
;}
break;
case 1720:
#line 12917 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (2)].node), NULL, NIL,
NULL,
(yyvsp[(1) - (2)].with),
yyscanner);
(yyval.node) = (yyvsp[(2) - (2)].node);
;}
break;
case 1721:
#line 12925 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].list), NIL,
NULL,
(yyvsp[(1) - (3)].with),
yyscanner);
(yyval.node) = (yyvsp[(2) - (3)].node);
;}
break;
case 1722:
#line 12933 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].list),
(yyvsp[(5) - (5)].selectlimit),
(yyvsp[(1) - (5)].with),
yyscanner);
(yyval.node) = (yyvsp[(2) - (5)].node);
;}
break;
case 1723:
#line 12941 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list),
(yyvsp[(4) - (5)].selectlimit),
(yyvsp[(1) - (5)].with),
yyscanner);
(yyval.node) = (yyvsp[(2) - (5)].node);
;}
break;
case 1724:
#line 12951 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1725:
#line 12952 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1726:
#line 12987 "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)].groupclause))->list;
n->groupDistinct = ((yyvsp[(7) - (9)].groupclause))->distinct;
n->havingClause = (yyvsp[(8) - (9)].node);
n->windowClause = (yyvsp[(9) - (9)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1727:
#line 13003 "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)].groupclause))->list;
n->groupDistinct = ((yyvsp[(7) - (9)].groupclause))->distinct;
n->havingClause = (yyvsp[(8) - (9)].node);
n->windowClause = (yyvsp[(9) - (9)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1728:
#line 13017 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1729:
#line 13019 "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 1730:
#line 13038 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1731:
#line 13042 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1732:
#line 13046 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1733:
#line 13061 "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 1734:
#line 13068 "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 1735:
#line 13075 "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 1736:
#line 13084 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1737:
#line 13085 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1738:
#line 13089 "gram.y"
{
CommonTableExpr *n = makeNode(CommonTableExpr);
n->ctename = (yyvsp[(1) - (9)].str);
n->aliascolnames = (yyvsp[(2) - (9)].list);
n->ctematerialized = (yyvsp[(4) - (9)].ival);
n->ctequery = (yyvsp[(6) - (9)].node);
n->search_clause = castNode(CTESearchClause, (yyvsp[(8) - (9)].node));
n->cycle_clause = castNode(CTECycleClause, (yyvsp[(9) - (9)].node));
n->location = (yylsp[(1) - (9)]);
(yyval.node) = (Node *) n;
;}
break;
case 1739:
#line 13104 "gram.y"
{ (yyval.ival) = CTEMaterializeAlways; ;}
break;
case 1740:
#line 13105 "gram.y"
{ (yyval.ival) = CTEMaterializeNever; ;}
break;
case 1741:
#line 13106 "gram.y"
{ (yyval.ival) = CTEMaterializeDefault; ;}
break;
case 1742:
#line 13111 "gram.y"
{
CTESearchClause *n = makeNode(CTESearchClause);
n->search_col_list = (yyvsp[(5) - (7)].list);
n->search_breadth_first = false;
n->search_seq_column = (yyvsp[(7) - (7)].str);
n->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *) n;
;}
break;
case 1743:
#line 13121 "gram.y"
{
CTESearchClause *n = makeNode(CTESearchClause);
n->search_col_list = (yyvsp[(5) - (7)].list);
n->search_breadth_first = true;
n->search_seq_column = (yyvsp[(7) - (7)].str);
n->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *) n;
;}
break;
case 1744:
#line 13131 "gram.y"
{
(yyval.node) = NULL;
;}
break;
case 1745:
#line 13138 "gram.y"
{
CTECycleClause *n = makeNode(CTECycleClause);
n->cycle_col_list = (yyvsp[(2) - (10)].list);
n->cycle_mark_column = (yyvsp[(4) - (10)].str);
n->cycle_mark_value = (yyvsp[(6) - (10)].node);
n->cycle_mark_default = (yyvsp[(8) - (10)].node);
n->cycle_path_column = (yyvsp[(10) - (10)].str);
n->location = (yylsp[(1) - (10)]);
(yyval.node) = (Node *) n;
;}
break;
case 1746:
#line 13150 "gram.y"
{
CTECycleClause *n = makeNode(CTECycleClause);
n->cycle_col_list = (yyvsp[(2) - (6)].list);
n->cycle_mark_column = (yyvsp[(4) - (6)].str);
n->cycle_mark_value = makeBoolAConst(true, -1);
n->cycle_mark_default = makeBoolAConst(false, -1);
n->cycle_path_column = (yyvsp[(6) - (6)].str);
n->location = (yylsp[(1) - (6)]);
(yyval.node) = (Node *) n;
;}
break;
case 1747:
#line 13162 "gram.y"
{
(yyval.node) = NULL;
;}
break;
case 1748:
#line 13168 "gram.y"
{ (yyval.with) = (yyvsp[(1) - (1)].with); ;}
break;
case 1749:
#line 13169 "gram.y"
{ (yyval.with) = NULL; ;}
break;
case 1750:
#line 13174 "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 1751:
#line 13185 "gram.y"
{ (yyval.into) = NULL; ;}
break;
case 1752:
#line 13194 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1753:
#line 13199 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1754:
#line 13204 "gram.y"
{
(yyval.range) = (yyvsp[(4) - (4)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1755:
#line 13209 "gram.y"
{
(yyval.range) = (yyvsp[(4) - (4)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1756:
#line 13214 "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 1757:
#line 13222 "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 1758:
#line 13230 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
;}
break;
case 1759:
#line 13235 "gram.y"
{
(yyval.range) = (yyvsp[(2) - (2)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
;}
break;
case 1760:
#line 13240 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
;}
break;
case 1763:
#line 13251 "gram.y"
{ (yyval.setquantifier) = SET_QUANTIFIER_ALL; ;}
break;
case 1764:
#line 13252 "gram.y"
{ (yyval.setquantifier) = SET_QUANTIFIER_DISTINCT; ;}
break;
case 1765:
#line 13253 "gram.y"
{ (yyval.setquantifier) = SET_QUANTIFIER_DEFAULT; ;}
break;
case 1766:
#line 13260 "gram.y"
{ (yyval.list) = list_make1(NIL); ;}
break;
case 1767:
#line 13261 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (5)].list); ;}
break;
case 1770:
#line 13270 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1771:
#line 13271 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1772:
#line 13275 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1773:
#line 13276 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1774:
#line 13280 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); ;}
break;
case 1775:
#line 13284 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].sortby)); ;}
break;
case 1776:
#line 13285 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].sortby)); ;}
break;
case 1777:
#line 13289 "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 1778:
#line 13298 "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 1779:
#line 13311 "gram.y"
{
(yyval.selectlimit) = (yyvsp[(1) - (2)].selectlimit);
((yyval.selectlimit))->limitOffset = (yyvsp[(2) - (2)].node);
((yyval.selectlimit))->offsetLoc = (yylsp[(2) - (2)]);
;}
break;
case 1780:
#line 13317 "gram.y"
{
(yyval.selectlimit) = (yyvsp[(2) - (2)].selectlimit);
((yyval.selectlimit))->limitOffset = (yyvsp[(1) - (2)].node);
((yyval.selectlimit))->offsetLoc = (yylsp[(1) - (2)]);
;}
break;
case 1781:
#line 13323 "gram.y"
{
(yyval.selectlimit) = (yyvsp[(1) - (1)].selectlimit);
;}
break;
case 1782:
#line 13327 "gram.y"
{
SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
n->limitOffset = (yyvsp[(1) - (1)].node);
n->limitCount = NULL;
n->limitOption = LIMIT_OPTION_COUNT;
n->offsetLoc = (yylsp[(1) - (1)]);
n->countLoc = -1;
n->optionLoc = -1;
(yyval.selectlimit) = n;
;}
break;
case 1783:
#line 13341 "gram.y"
{ (yyval.selectlimit) = (yyvsp[(1) - (1)].selectlimit); ;}
break;
case 1784:
#line 13342 "gram.y"
{ (yyval.selectlimit) = NULL; ;}
break;
case 1785:
#line 13347 "gram.y"
{
SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
n->limitOffset = NULL;
n->limitCount = (yyvsp[(2) - (2)].node);
n->limitOption = LIMIT_OPTION_COUNT;
n->offsetLoc = -1;
n->countLoc = (yylsp[(1) - (2)]);
n->optionLoc = -1;
(yyval.selectlimit) = n;
;}
break;
case 1786:
#line 13359 "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 1787:
#line 13375 "gram.y"
{
SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
n->limitOffset = NULL;
n->limitCount = (yyvsp[(3) - (5)].node);
n->limitOption = LIMIT_OPTION_COUNT;
n->offsetLoc = -1;
n->countLoc = (yylsp[(1) - (5)]);
n->optionLoc = -1;
(yyval.selectlimit) = n;
;}
break;
case 1788:
#line 13387 "gram.y"
{
SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
n->limitOffset = NULL;
n->limitCount = (yyvsp[(3) - (6)].node);
n->limitOption = LIMIT_OPTION_WITH_TIES;
n->offsetLoc = -1;
n->countLoc = (yylsp[(1) - (6)]);
n->optionLoc = (yylsp[(5) - (6)]);
(yyval.selectlimit) = n;
;}
break;
case 1789:
#line 13399 "gram.y"
{
SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
n->limitOffset = NULL;
n->limitCount = makeIntConst(1, -1);
n->limitOption = LIMIT_OPTION_COUNT;
n->offsetLoc = -1;
n->countLoc = (yylsp[(1) - (4)]);
n->optionLoc = -1;
(yyval.selectlimit) = n;
;}
break;
case 1790:
#line 13411 "gram.y"
{
SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
n->limitOffset = NULL;
n->limitCount = makeIntConst(1, -1);
n->limitOption = LIMIT_OPTION_WITH_TIES;
n->offsetLoc = -1;
n->countLoc = (yylsp[(1) - (5)]);
n->optionLoc = (yylsp[(4) - (5)]);
(yyval.selectlimit) = n;
;}
break;
case 1791:
#line 13426 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1792:
#line 13429 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1793:
#line 13433 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1794:
#line 13435 "gram.y"
{
/* LIMIT ALL is represented as a NULL constant */
(yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
;}
break;
case 1795:
#line 13442 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1796:
#line 13462 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1797:
#line 13464 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1798:
#line 13466 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1799:
#line 13470 "gram.y"
{ (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival),(yylsp[(1) - (1)])); ;}
break;
case 1800:
#line 13471 "gram.y"
{ (yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str),(yylsp[(1) - (1)])); ;}
break;
case 1801:
#line 13475 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1802:
#line 13476 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1803:
#line 13479 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1804:
#line 13480 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1805:
#line 13506 "gram.y"
{
GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
n->distinct = (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_DISTINCT;
n->list = (yyvsp[(4) - (4)].list);
(yyval.groupclause) = n;
;}
break;
case 1806:
#line 13514 "gram.y"
{
GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
n->distinct = false;
n->list = NIL;
(yyval.groupclause) = n;
;}
break;
case 1807:
#line 13524 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1808:
#line 13525 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].node)); ;}
break;
case 1809:
#line 13529 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1810:
#line 13530 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1811:
#line 13531 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1812:
#line 13532 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1813:
#line 13533 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1814:
#line 13538 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[(1) - (2)]));
;}
break;
case 1815:
#line 13551 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1816:
#line 13558 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1817:
#line 13565 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
;}
break;
case 1818:
#line 13571 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1819:
#line 13572 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1820:
#line 13576 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1821:
#line 13577 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1822:
#line 13581 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1823:
#line 13582 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1824:
#line 13586 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1825:
#line 13587 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 1826:
#line 13592 "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 1827:
#line 13603 "gram.y"
{ (yyval.ival) = LCS_FORUPDATE; ;}
break;
case 1828:
#line 13604 "gram.y"
{ (yyval.ival) = LCS_FORNOKEYUPDATE; ;}
break;
case 1829:
#line 13605 "gram.y"
{ (yyval.ival) = LCS_FORSHARE; ;}
break;
case 1830:
#line 13606 "gram.y"
{ (yyval.ival) = LCS_FORKEYSHARE; ;}
break;
case 1831:
#line 13610 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1832:
#line 13611 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1833:
#line 13622 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->valuesLists = list_make1((yyvsp[(3) - (4)].list));
(yyval.node) = (Node *) n;
;}
break;
case 1834:
#line 13629 "gram.y"
{
SelectStmt *n = (SelectStmt *) (yyvsp[(1) - (5)].node);
n->valuesLists = lappend(n->valuesLists, (yyvsp[(4) - (5)].list));
(yyval.node) = (Node *) n;
;}
break;
case 1835:
#line 13647 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1836:
#line 13648 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1837:
#line 13652 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1838:
#line 13653 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1839:
#line 13660 "gram.y"
{
(yyvsp[(1) - (2)].range)->alias = (yyvsp[(2) - (2)].alias);
(yyval.node) = (Node *) (yyvsp[(1) - (2)].range);
;}
break;
case 1840:
#line 13665 "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 1841:
#line 13674 "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 1842:
#line 13682 "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 1843:
#line 13691 "gram.y"
{
RangeTableFunc *n = (RangeTableFunc *) (yyvsp[(1) - (2)].node);
n->alias = (yyvsp[(2) - (2)].alias);
(yyval.node) = (Node *) n;
;}
break;
case 1844:
#line 13698 "gram.y"
{
RangeTableFunc *n = (RangeTableFunc *) (yyvsp[(2) - (3)].node);
n->lateral = true;
n->alias = (yyvsp[(3) - (3)].alias);
(yyval.node) = (Node *) n;
;}
break;
case 1845:
#line 13706 "gram.y"
{
RangeSubselect *n = makeNode(RangeSubselect);
n->lateral = false;
n->subquery = (yyvsp[(1) - (2)].node);
n->alias = (yyvsp[(2) - (2)].alias);
(yyval.node) = (Node *) n;
;}
break;
case 1846:
#line 13715 "gram.y"
{
RangeSubselect *n = makeNode(RangeSubselect);
n->lateral = true;
n->subquery = (yyvsp[(2) - (3)].node);
n->alias = (yyvsp[(3) - (3)].alias);
(yyval.node) = (Node *) n;
;}
break;
case 1847:
#line 13724 "gram.y"
{
(yyval.node) = (Node *) (yyvsp[(1) - (1)].jexpr);
;}
break;
case 1848:
#line 13728 "gram.y"
{
(yyvsp[(2) - (4)].jexpr)->alias = (yyvsp[(4) - (4)].alias);
(yyval.node) = (Node *) (yyvsp[(2) - (4)].jexpr);
;}
break;
case 1849:
#line 13733 "gram.y"
{
JsonTable *jt = castNode(JsonTable, (yyvsp[(1) - (2)].node));
jt->alias = (yyvsp[(2) - (2)].alias);
(yyval.node) = (Node *) jt;
;}
break;
case 1850:
#line 13740 "gram.y"
{
JsonTable *jt = castNode(JsonTable, (yyvsp[(2) - (3)].node));
jt->alias = (yyvsp[(3) - (3)].alias);
jt->lateral = true;
(yyval.node) = (Node *) jt;
;}
break;
case 1851:
#line 13769 "gram.y"
{
(yyval.jexpr) = (yyvsp[(2) - (3)].jexpr);
;}
break;
case 1852:
#line 13773 "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->join_using_alias = NULL;
n->quals = NULL;
(yyval.jexpr) = n;
;}
break;
case 1853:
#line 13787 "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))
{
/* USING clause */
n->usingClause = linitial_node(List, castNode(List, (yyvsp[(5) - (5)].node)));
n->join_using_alias = lsecond_node(Alias, castNode(List, (yyvsp[(5) - (5)].node)));
}
else
{
/* ON clause */
n->quals = (yyvsp[(5) - (5)].node);
}
(yyval.jexpr) = n;
;}
break;
case 1854:
#line 13808 "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))
{
/* USING clause */
n->usingClause = linitial_node(List, castNode(List, (yyvsp[(4) - (4)].node)));
n->join_using_alias = lsecond_node(Alias, castNode(List, (yyvsp[(4) - (4)].node)));
}
else
{
/* ON clause */
n->quals = (yyvsp[(4) - (4)].node);
}
(yyval.jexpr) = n;
;}
break;
case 1855:
#line 13830 "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->join_using_alias = NULL;
n->quals = NULL; /* fill later */
(yyval.jexpr) = n;
;}
break;
case 1856:
#line 13843 "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->join_using_alias = NULL;
n->quals = NULL; /* fill later */
(yyval.jexpr) = n;
;}
break;
case 1857:
#line 13860 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(2) - (5)].str);
(yyval.alias)->colnames = (yyvsp[(4) - (5)].list);
;}
break;
case 1858:
#line 13866 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(2) - (2)].str);
;}
break;
case 1859:
#line 13871 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(1) - (4)].str);
(yyval.alias)->colnames = (yyvsp[(3) - (4)].list);
;}
break;
case 1860:
#line 13877 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(1) - (1)].str);
;}
break;
case 1861:
#line 13883 "gram.y"
{ (yyval.alias) = (yyvsp[(1) - (1)].alias); ;}
break;
case 1862:
#line 13884 "gram.y"
{ (yyval.alias) = NULL; ;}
break;
case 1863:
#line 13895 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(2) - (2)].str);
/* the column name list will be inserted later */
;}
break;
case 1864:
#line 13900 "gram.y"
{ (yyval.alias) = NULL; ;}
break;
case 1865:
#line 13909 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (1)].alias), NIL);
;}
break;
case 1866:
#line 13913 "gram.y"
{
(yyval.list) = list_make2(NULL, (yyvsp[(3) - (4)].list));
;}
break;
case 1867:
#line 13917 "gram.y"
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[(2) - (5)].str);
(yyval.list) = list_make2(a, (yyvsp[(4) - (5)].list));
;}
break;
case 1868:
#line 13924 "gram.y"
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[(1) - (4)].str);
(yyval.list) = list_make2(a, (yyvsp[(3) - (4)].list));
;}
break;
case 1869:
#line 13931 "gram.y"
{
(yyval.list) = list_make2(NULL, NIL);
;}
break;
case 1870:
#line 13936 "gram.y"
{ (yyval.jtype) = JOIN_FULL; ;}
break;
case 1871:
#line 13937 "gram.y"
{ (yyval.jtype) = JOIN_LEFT; ;}
break;
case 1872:
#line 13938 "gram.y"
{ (yyval.jtype) = JOIN_RIGHT; ;}
break;
case 1873:
#line 13939 "gram.y"
{ (yyval.jtype) = JOIN_INNER; ;}
break;
case 1876:
#line 13960 "gram.y"
{
(yyval.node) = (Node *) list_make2((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].alias));
;}
break;
case 1877:
#line 13964 "gram.y"
{
(yyval.node) = (yyvsp[(2) - (2)].node);
;}
break;
case 1878:
#line 13972 "gram.y"
{
/* inheritance query, implicitly */
(yyval.range) = (yyvsp[(1) - (1)].range);
(yyval.range)->inh = true;
(yyval.range)->alias = NULL;
;}
break;
case 1879:
#line 13979 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
;}
break;
case 1880:
#line 13986 "gram.y"
{
/* inheritance query, explicitly */
(yyval.range) = (yyvsp[(1) - (2)].range);
(yyval.range)->inh = true;
(yyval.range)->alias = NULL;
;}
break;
case 1881:
#line 13993 "gram.y"
{
/* no inheritance */
(yyval.range) = (yyvsp[(2) - (2)].range);
(yyval.range)->inh = false;
(yyval.range)->alias = NULL;
;}
break;
case 1882:
#line 14000 "gram.y"
{
/* no inheritance, SQL99-style syntax */
(yyval.range) = (yyvsp[(3) - (4)].range);
(yyval.range)->inh = false;
(yyval.range)->alias = NULL;
;}
break;
case 1883:
#line 14010 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;}
break;
case 1884:
#line 14011 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;}
break;
case 1885:
#line 14025 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
;}
break;
case 1886:
#line 14029 "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 1887:
#line 14037 "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 1888:
#line 14051 "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 1889:
#line 14064 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(3) - (4)].node); ;}
break;
case 1890:
#line 14065 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1891:
#line 14081 "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 1892:
#line 14092 "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 1893:
#line 14105 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list)); ;}
break;
case 1894:
#line 14109 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
break;
case 1895:
#line 14110 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
break;
case 1896:
#line 14113 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1897:
#line 14114 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1898:
#line 14117 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1899:
#line 14118 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1900:
#line 14123 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1901:
#line 14124 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1902:
#line 14129 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1903:
#line 14131 "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 1904:
#line 14139 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1905:
#line 14144 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1906:
#line 14145 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1907:
#line 14150 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 1908:
#line 14154 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 1909:
#line 14160 "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 1910:
#line 14185 "gram.y"
{
RangeTableFunc *n = makeNode(RangeTableFunc);
n->rowexpr = (yyvsp[(3) - (7)].node);
n->docexpr = (yyvsp[(4) - (7)].node);
n->columns = (yyvsp[(6) - (7)].list);
n->namespaces = NIL;
n->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *) n;
;}
break;
case 1911:
#line 14197 "gram.y"
{
RangeTableFunc *n = makeNode(RangeTableFunc);
n->rowexpr = (yyvsp[(8) - (12)].node);
n->docexpr = (yyvsp[(9) - (12)].node);
n->columns = (yyvsp[(11) - (12)].list);
n->namespaces = (yyvsp[(5) - (12)].list);
n->location = (yylsp[(1) - (12)]);
(yyval.node) = (Node *) n;
;}
break;
case 1912:
#line 14209 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1913:
#line 14210 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1914:
#line 14215 "gram.y"
{
RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
fc->colname = (yyvsp[(1) - (2)].str);
fc->for_ordinality = false;
fc->typeName = (yyvsp[(2) - (2)].typnam);
fc->is_not_null = false;
fc->colexpr = NULL;
fc->coldefexpr = NULL;
fc->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) fc;
;}
break;
case 1915:
#line 14229 "gram.y"
{
RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
ListCell *option;
bool nullability_seen = false;
fc->colname = (yyvsp[(1) - (3)].str);
fc->typeName = (yyvsp[(2) - (3)].typnam);
fc->for_ordinality = false;
fc->is_not_null = false;
fc->colexpr = NULL;
fc->coldefexpr = NULL;
fc->location = (yylsp[(1) - (3)]);
foreach(option, (yyvsp[(3) - (3)].list))
{
DefElem *defel = (DefElem *) lfirst(option);
if (strcmp(defel->defname, "default") == 0)
{
if (fc->coldefexpr != NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("only one DEFAULT value is allowed"),
parser_errposition(defel->location)));
fc->coldefexpr = defel->arg;
}
else if (strcmp(defel->defname, "path") == 0)
{
if (fc->colexpr != NULL)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("only one PATH value per column is allowed"),
parser_errposition(defel->location)));
fc->colexpr = defel->arg;
}
else if (strcmp(defel->defname, "__pg__is_not_null") == 0)
{
if (nullability_seen)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
parser_errposition(defel->location)));
fc->is_not_null = boolVal(defel->arg);
nullability_seen = true;
}
else
{
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("unrecognized column option \"%s\"",
defel->defname),
parser_errposition(defel->location)));
}
}
(yyval.node) = (Node *) fc;
;}
break;
case 1916:
#line 14286 "gram.y"
{
RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
fc->colname = (yyvsp[(1) - (3)].str);
fc->for_ordinality = true;
/* other fields are ignored, initialized by makeNode */
fc->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *) fc;
;}
break;
case 1917:
#line 14300 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1918:
#line 14302 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1919:
#line 14307 "gram.y"
{
if (strcmp((yyvsp[(1) - (2)].str), "__pg__is_not_null") == 0)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("option name \"%s\" cannot be used in XMLTABLE", (yyvsp[(1) - (2)].str)),
parser_errposition((yylsp[(1) - (2)]))));
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 1920:
#line 14316 "gram.y"
{ (yyval.defelt) = makeDefElem("default", (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1921:
#line 14318 "gram.y"
{ (yyval.defelt) = makeDefElem("__pg__is_not_null", (Node *) makeBoolean(true), (yylsp[(1) - (2)])); ;}
break;
case 1922:
#line 14320 "gram.y"
{ (yyval.defelt) = makeDefElem("__pg__is_not_null", (Node *) makeBoolean(false), (yylsp[(1) - (1)])); ;}
break;
case 1923:
#line 14322 "gram.y"
{ (yyval.defelt) = makeDefElem("path", (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1924:
#line 14327 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1925:
#line 14329 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 1926:
#line 14334 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = (yyvsp[(3) - (3)].str);
(yyval.target)->indirection = NIL;
(yyval.target)->val = (yyvsp[(1) - (3)].node);
(yyval.target)->location = (yylsp[(1) - (3)]);
;}
break;
case 1927:
#line 14342 "gram.y"
{
(yyval.target) = makeNode(ResTarget);
(yyval.target)->name = NULL;
(yyval.target)->indirection = NIL;
(yyval.target)->val = (yyvsp[(2) - (2)].node);
(yyval.target)->location = (yylsp[(1) - (2)]);
;}
break;
case 1928:
#line 14358 "gram.y"
{
JsonTable *n = makeNode(JsonTable);
char *pathstring;
n->context_item = (JsonValueExpr *) (yyvsp[(3) - (13)].node);
if (!IsA((yyvsp[(5) - (13)].node), A_Const) ||
castNode(A_Const, (yyvsp[(5) - (13)].node))->val.node.type != T_String)
ereport(ERROR,
errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("only string constants are supported in JSON_TABLE path specification"),
parser_errposition((yylsp[(5) - (13)])));
pathstring = castNode(A_Const, (yyvsp[(5) - (13)].node))->val.sval.sval;
n->pathspec = makeJsonTablePathSpec(pathstring, (yyvsp[(6) - (13)].str), (yylsp[(5) - (13)]), (yylsp[(6) - (13)]));
n->passing = (yyvsp[(7) - (13)].list);
n->columns = (yyvsp[(10) - (13)].list);
n->on_error = (JsonBehavior *) (yyvsp[(12) - (13)].node);
n->location = (yylsp[(1) - (13)]);
(yyval.node) = (Node *) n;
;}
break;
case 1929:
#line 14380 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1930:
#line 14381 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1931:
#line 14386 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1932:
#line 14388 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1933:
#line 14393 "gram.y"
{
JsonTableColumn *n = makeNode(JsonTableColumn);
n->coltype = JTC_FOR_ORDINALITY;
n->name = (yyvsp[(1) - (3)].str);
n->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *) n;
;}
break;
case 1934:
#line 14406 "gram.y"
{
JsonTableColumn *n = makeNode(JsonTableColumn);
n->coltype = JTC_REGULAR;
n->name = (yyvsp[(1) - (6)].str);
n->typeName = (yyvsp[(2) - (6)].typnam);
n->format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
n->pathspec = (JsonTablePathSpec *) (yyvsp[(3) - (6)].node);
n->wrapper = (yyvsp[(4) - (6)].ival);
n->quotes = (yyvsp[(5) - (6)].ival);
n->on_empty = (JsonBehavior *) linitial((yyvsp[(6) - (6)].list));
n->on_error = (JsonBehavior *) lsecond((yyvsp[(6) - (6)].list));
n->location = (yylsp[(1) - (6)]);
(yyval.node) = (Node *) n;
;}
break;
case 1935:
#line 14426 "gram.y"
{
JsonTableColumn *n = makeNode(JsonTableColumn);
n->coltype = JTC_FORMATTED;
n->name = (yyvsp[(1) - (7)].str);
n->typeName = (yyvsp[(2) - (7)].typnam);
n->format = (JsonFormat *) (yyvsp[(3) - (7)].node);
n->pathspec = (JsonTablePathSpec *) (yyvsp[(4) - (7)].node);
n->wrapper = (yyvsp[(5) - (7)].ival);
n->quotes = (yyvsp[(6) - (7)].ival);
n->on_empty = (JsonBehavior *) linitial((yyvsp[(7) - (7)].list));
n->on_error = (JsonBehavior *) lsecond((yyvsp[(7) - (7)].list));
n->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *) n;
;}
break;
case 1936:
#line 14444 "gram.y"
{
JsonTableColumn *n = makeNode(JsonTableColumn);
n->coltype = JTC_EXISTS;
n->name = (yyvsp[(1) - (5)].str);
n->typeName = (yyvsp[(2) - (5)].typnam);
n->format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
n->wrapper = JSW_NONE;
n->quotes = JS_QUOTES_UNSPEC;
n->pathspec = (JsonTablePathSpec *) (yyvsp[(4) - (5)].node);
n->on_empty = NULL;
n->on_error = (JsonBehavior *) (yyvsp[(5) - (5)].node);
n->location = (yylsp[(1) - (5)]);
(yyval.node) = (Node *) n;
;}
break;
case 1937:
#line 14461 "gram.y"
{
JsonTableColumn *n = makeNode(JsonTableColumn);
n->coltype = JTC_NESTED;
n->pathspec = (JsonTablePathSpec *)
makeJsonTablePathSpec((yyvsp[(3) - (7)].str), NULL, (yylsp[(3) - (7)]), -1);
n->columns = (yyvsp[(6) - (7)].list);
n->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *) n;
;}
break;
case 1938:
#line 14473 "gram.y"
{
JsonTableColumn *n = makeNode(JsonTableColumn);
n->coltype = JTC_NESTED;
n->pathspec = (JsonTablePathSpec *)
makeJsonTablePathSpec((yyvsp[(3) - (9)].str), (yyvsp[(5) - (9)].str), (yylsp[(3) - (9)]), (yylsp[(5) - (9)]));
n->columns = (yyvsp[(8) - (9)].list);
n->location = (yylsp[(1) - (9)]);
(yyval.node) = (Node *) n;
;}
break;
case 1941:
#line 14492 "gram.y"
{ (yyval.node) = (Node *) makeJsonTablePathSpec((yyvsp[(2) - (2)].str), NULL, (yylsp[(2) - (2)]), -1); ;}
break;
case 1942:
#line 14494 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1943:
#line 14508 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[(2) - (2)].list);
;}
break;
case 1944:
#line 14513 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (3)].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[(3) - (3)].list);
(yyval.typnam)->setof = true;
;}
break;
case 1945:
#line 14520 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (5)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(4) - (5)].ival)));
;}
break;
case 1946:
#line 14525 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (6)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(5) - (6)].ival)));
(yyval.typnam)->setof = true;
;}
break;
case 1947:
#line 14531 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
;}
break;
case 1948:
#line 14536 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (3)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
(yyval.typnam)->setof = true;
;}
break;
case 1949:
#line 14545 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeInteger(-1)); ;}
break;
case 1950:
#line 14547 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (4)].list), makeInteger((yyvsp[(3) - (4)].ival))); ;}
break;
case 1951:
#line 14549 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1952:
#line 14553 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1953:
#line 14554 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1954:
#line 14555 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1955:
#line 14556 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1956:
#line 14557 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1957:
#line 14559 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
;}
break;
case 1958:
#line 14564 "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 1959:
#line 14569 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1960:
#line 14584 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1961:
#line 14585 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1962:
#line 14586 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1963:
#line 14587 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1964:
#line 14588 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1965:
#line 14600 "gram.y"
{
(yyval.typnam) = makeTypeName((yyvsp[(1) - (2)].str));
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1966:
#line 14606 "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 1967:
#line 14613 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1968:
#line 14614 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1969:
#line 14621 "gram.y"
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1970:
#line 14626 "gram.y"
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1971:
#line 14631 "gram.y"
{
(yyval.typnam) = SystemTypeName("int2");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1972:
#line 14636 "gram.y"
{
(yyval.typnam) = SystemTypeName("int8");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1973:
#line 14641 "gram.y"
{
(yyval.typnam) = SystemTypeName("float4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1974:
#line 14646 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (2)].typnam);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1975:
#line 14651 "gram.y"
{
(yyval.typnam) = SystemTypeName("float8");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1976:
#line 14656 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1977:
#line 14662 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1978:
#line 14668 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1979:
#line 14674 "gram.y"
{
(yyval.typnam) = SystemTypeName("bool");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1980:
#line 14681 "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 1981:
#line 14702 "gram.y"
{
(yyval.typnam) = SystemTypeName("float8");
;}
break;
case 1982:
#line 14712 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1983:
#line 14716 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1984:
#line 14724 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1985:
#line 14728 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
(yyval.typnam)->typmods = NIL;
;}
break;
case 1986:
#line 14736 "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 1987:
#line 14748 "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 1988:
#line 14769 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1989:
#line 14773 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1990:
#line 14779 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1991:
#line 14783 "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 1992:
#line 14796 "gram.y"
{
(yyval.typnam) = SystemTypeName((yyvsp[(1) - (4)].str));
(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
(yyval.typnam)->location = (yylsp[(1) - (4)]);
;}
break;
case 1993:
#line 14804 "gram.y"
{
(yyval.typnam) = SystemTypeName((yyvsp[(1) - (1)].str));
/* char defaults to char(1), varchar to no limit */
if (strcmp((yyvsp[(1) - (1)].str), "bpchar") == 0)
(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1994:
#line 14814 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1995:
#line 14816 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1996:
#line 14818 "gram.y"
{ (yyval.str) = "varchar"; ;}
break;
case 1997:
#line 14820 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1998:
#line 14822 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1999:
#line 14824 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
break;
case 2000:
#line 14828 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2001:
#line 14829 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2002:
#line 14837 "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 2003:
#line 14846 "gram.y"
{
if ((yyvsp[(2) - (2)].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
else
(yyval.typnam) = SystemTypeName("timestamp");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 2004:
#line 14854 "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 2005:
#line 14863 "gram.y"
{
if ((yyvsp[(2) - (2)].boolean))
(yyval.typnam) = SystemTypeName("timetz");
else
(yyval.typnam) = SystemTypeName("time");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 2006:
#line 14874 "gram.y"
{
(yyval.typnam) = SystemTypeName("interval");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 2007:
#line 14881 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2008:
#line 14882 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2009:
#line 14883 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2010:
#line 14888 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[(1) - (1)]))); ;}
break;
case 2011:
#line 14890 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[(1) - (1)]))); ;}
break;
case 2012:
#line 14892 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[(1) - (1)]))); ;}
break;
case 2013:
#line 14894 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[(1) - (1)]))); ;}
break;
case 2014:
#line 14896 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[(1) - (1)]))); ;}
break;
case 2015:
#line 14898 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 2016:
#line 14900 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
INTERVAL_MASK(MONTH), (yylsp[(1) - (3)])));
;}
break;
case 2017:
#line 14905 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR), (yylsp[(1) - (3)])));
;}
break;
case 2018:
#line 14910 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
;}
break;
case 2019:
#line 14916 "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 2020:
#line 14924 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
;}
break;
case 2021:
#line 14929 "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 2022:
#line 14936 "gram.y"
{
(yyval.list) = (yyvsp[(3) - (3)].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[(1) - (3)]));
;}
break;
case 2023:
#line 14942 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2024:
#line 14947 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (1)])));
;}
break;
case 2025:
#line 14951 "gram.y"
{
(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (4)])),
makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
;}
break;
case 2026:
#line 14959 "gram.y"
{
(yyval.typnam) = SystemTypeName("json");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 2027:
#line 14993 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2028:
#line 14995 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;}
break;
case 2029:
#line 14997 "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 2030:
#line 15006 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
list_make2((yyvsp[(5) - (5)].node), (yyvsp[(1) - (5)].node)),
COERCE_SQL_SYNTAX,
(yylsp[(2) - (5)]));
;}
break;
case 2031:
#line 15013 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
list_make1((yyvsp[(1) - (3)].node)),
COERCE_SQL_SYNTAX,
-1);
;}
break;
case 2032:
#line 15029 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2033:
#line 15031 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2034:
#line 15033 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2035:
#line 15035 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2036:
#line 15037 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2037:
#line 15039 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2038:
#line 15041 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2039:
#line 15043 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2040:
#line 15045 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2041:
#line 15047 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2042:
#line 15049 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2043:
#line 15051 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2044:
#line 15053 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2045:
#line 15055 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2046:
#line 15058 "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 2047:
#line 15060 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2048:
#line 15063 "gram.y"
{ (yyval.node) = makeAndExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2049:
#line 15065 "gram.y"
{ (yyval.node) = makeOrExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2050:
#line 15067 "gram.y"
{ (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2051:
#line 15069 "gram.y"
{ (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2052:
#line 15072 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
(yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
;}
break;
case 2053:
#line 15077 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
COERCE_EXPLICIT_CALL,
(yylsp[(2) - (5)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
(yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
;}
break;
case 2054:
#line 15086 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
(yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
;}
break;
case 2055:
#line 15091 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
COERCE_EXPLICIT_CALL,
(yylsp[(2) - (6)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
(yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
;}
break;
case 2056:
#line 15100 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
(yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
;}
break;
case 2057:
#line 15105 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
COERCE_EXPLICIT_CALL,
(yylsp[(2) - (5)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
(yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
;}
break;
case 2058:
#line 15114 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
(yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
;}
break;
case 2059:
#line 15119 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
COERCE_EXPLICIT_CALL,
(yylsp[(2) - (6)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
(yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
;}
break;
case 2060:
#line 15129 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
list_make1((yyvsp[(4) - (4)].node)),
COERCE_EXPLICIT_CALL,
(yylsp[(2) - (4)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
(yyvsp[(1) - (4)].node), (Node *) n, (yylsp[(2) - (4)]));
;}
break;
case 2061:
#line 15138 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
COERCE_EXPLICIT_CALL,
(yylsp[(2) - (6)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
(yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
;}
break;
case 2062:
#line 15147 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
list_make1((yyvsp[(5) - (5)].node)),
COERCE_EXPLICIT_CALL,
(yylsp[(2) - (5)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
(yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
;}
break;
case 2063:
#line 15156 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
COERCE_EXPLICIT_CALL,
(yylsp[(2) - (7)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
(yyvsp[(1) - (7)].node), (Node *) n, (yylsp[(2) - (7)]));
;}
break;
case 2064:
#line 15175 "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 2065:
#line 15184 "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 2066:
#line 15193 "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 2067:
#line 15202 "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 2068:
#line 15211 "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)),
COERCE_SQL_SYNTAX,
(yylsp[(2) - (3)]));
;}
break;
case 2069:
#line 15228 "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 2070:
#line 15237 "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 2071:
#line 15246 "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 2072:
#line 15255 "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 2073:
#line 15264 "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 2074:
#line 15273 "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 2075:
#line 15282 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
;}
break;
case 2076:
#line 15286 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)]));
;}
break;
case 2077:
#line 15290 "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 2078:
#line 15298 "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 2079:
#line 15306 "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 2080:
#line 15314 "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 2081:
#line 15322 "gram.y"
{
/* generate foo = ANY (subquery) */
SubLink *n = makeNode(SubLink);
n->subselect = (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;
;}
break;
case 2082:
#line 15335 "gram.y"
{
/* generate scalar IN expression */
A_Expr *n = makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[(1) - (5)].node), (Node *) (yyvsp[(4) - (5)].list), (yylsp[(2) - (5)]));
n->rexpr_list_start = (yylsp[(3) - (5)]);
n->rexpr_list_end = (yylsp[(5) - (5)]);
(yyval.node) = (Node *) n;
;}
break;
case 2083:
#line 15344 "gram.y"
{
/* generate NOT (foo = ANY (subquery)) */
SubLink *n = makeNode(SubLink);
n->subselect = (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)]));
;}
break;
case 2084:
#line 15358 "gram.y"
{
/* generate scalar NOT IN expression */
A_Expr *n = makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
n->rexpr_list_start = (yylsp[(4) - (6)]);
n->rexpr_list_end = (yylsp[(6) - (6)]);
(yyval.node) = (Node *) n;
;}
break;
case 2085:
#line 15367 "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 2086:
#line 15379 "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 2087:
#line 15386 "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) - (3)]))));
;}
break;
case 2088:
#line 15402 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
;}
break;
case 2089:
#line 15407 "gram.y"
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])),
(yylsp[(2) - (4)]));
;}
break;
case 2090:
#line 15413 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
list_make1((yyvsp[(1) - (3)].node)),
COERCE_SQL_SYNTAX,
(yylsp[(2) - (3)]));
;}
break;
case 2091:
#line 15420 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
list_make2((yyvsp[(1) - (4)].node), makeStringConst((yyvsp[(3) - (4)].str), (yylsp[(3) - (4)]))),
COERCE_SQL_SYNTAX,
(yylsp[(2) - (4)]));
;}
break;
case 2092:
#line 15427 "gram.y"
{
(yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"),
list_make1((yyvsp[(1) - (4)].node)),
COERCE_SQL_SYNTAX,
(yylsp[(2) - (4)])),
(yylsp[(2) - (4)]));
;}
break;
case 2093:
#line 15435 "gram.y"
{
(yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"),
list_make2((yyvsp[(1) - (5)].node), makeStringConst((yyvsp[(4) - (5)].str), (yylsp[(4) - (5)]))),
COERCE_SQL_SYNTAX,
(yylsp[(2) - (5)])),
(yylsp[(2) - (5)]));
;}
break;
case 2094:
#line 15444 "gram.y"
{
JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
(yyval.node) = makeJsonIsPredicate((yyvsp[(1) - (4)].node), format, (yyvsp[(3) - (4)].ival), (yyvsp[(4) - (4)].boolean), (yylsp[(1) - (4)]));
;}
break;
case 2095:
#line 15462 "gram.y"
{
JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
(yyval.node) = makeNotExpr(makeJsonIsPredicate((yyvsp[(1) - (5)].node), format, (yyvsp[(4) - (5)].ival), (yyvsp[(5) - (5)].boolean), (yylsp[(1) - (5)])), (yylsp[(1) - (5)]));
;}
break;
case 2096:
#line 15479 "gram.y"
{
/*
* The SQL spec only allows DEFAULT in "contextually typed
* expressions", but for us, it's easier to allow it in
* any a_expr and then throw error during parse analysis
* if it's in an inappropriate context. This way also
* lets us say something smarter than "syntax error".
*/
SetToDefault *n = makeNode(SetToDefault);
/* parse analysis will fill in the rest */
n->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *) n;
;}
break;
case 2097:
#line 15505 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2098:
#line 15507 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;}
break;
case 2099:
#line 15509 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2100:
#line 15511 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2101:
#line 15513 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2102:
#line 15515 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2103:
#line 15517 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2104:
#line 15519 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2105:
#line 15521 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2106:
#line 15523 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2107:
#line 15525 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2108:
#line 15527 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2109:
#line 15529 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2110:
#line 15531 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2111:
#line 15533 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2112:
#line 15535 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2113:
#line 15537 "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 2114:
#line 15539 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2115:
#line 15541 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
;}
break;
case 2116:
#line 15545 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)]));
;}
break;
case 2117:
#line 15549 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
;}
break;
case 2118:
#line 15554 "gram.y"
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])),
(yylsp[(2) - (4)]));
;}
break;
case 2119:
#line 15569 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2120:
#line 15570 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2121:
#line 15572 "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 2122:
#line 15589 "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
(yyval.node) = (yyvsp[(2) - (4)].node);
;}
break;
case 2123:
#line 15602 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2124:
#line 15604 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2125:
#line 15606 "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 2126:
#line 15618 "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 2127:
#line 15643 "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 2128:
#line 15655 "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 2129:
#line 15667 "gram.y"
{
A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[(2) - (2)].node));
/* point outermost A_ArrayExpr to the ARRAY keyword */
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 2130:
#line 15675 "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 2131:
#line 15686 "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 2132:
#line 15697 "gram.y"
{
GroupingFunc *g = makeNode(GroupingFunc);
g->args = (yyvsp[(3) - (4)].list);
g->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *) g;
;}
break;
case 2133:
#line 15707 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall((yyvsp[(1) - (3)].list), NIL,
COERCE_EXPLICIT_CALL,
(yylsp[(1) - (3)]));
;}
break;
case 2134:
#line 15713 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (5)].list), (yyvsp[(3) - (5)].list),
COERCE_EXPLICIT_CALL,
(yylsp[(1) - (5)]));
n->agg_order = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 2135:
#line 15722 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), list_make1((yyvsp[(4) - (6)].node)),
COERCE_EXPLICIT_CALL,
(yylsp[(1) - (6)]));
n->func_variadic = true;
n->agg_order = (yyvsp[(5) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 2136:
#line 15732 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (8)].list), lappend((yyvsp[(3) - (8)].list), (yyvsp[(6) - (8)].node)),
COERCE_EXPLICIT_CALL,
(yylsp[(1) - (8)]));
n->func_variadic = true;
n->agg_order = (yyvsp[(7) - (8)].list);
(yyval.node) = (Node *) n;
;}
break;
case 2137:
#line 15742 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list),
COERCE_EXPLICIT_CALL,
(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 2138:
#line 15755 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list),
COERCE_EXPLICIT_CALL,
(yylsp[(1) - (6)]));
n->agg_order = (yyvsp[(5) - (6)].list);
n->agg_distinct = true;
(yyval.node) = (Node *) n;
;}
break;
case 2139:
#line 15765 "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,
COERCE_EXPLICIT_CALL,
(yylsp[(1) - (4)]));
n->agg_star = true;
(yyval.node) = (Node *) n;
;}
break;
case 2140:
#line 15796 "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 2141:
#line 15832 "gram.y"
{
JsonAggConstructor *n = IsA((yyvsp[(1) - (3)].node), JsonObjectAgg) ?
((JsonObjectAgg *) (yyvsp[(1) - (3)].node))->constructor :
((JsonArrayAgg *) (yyvsp[(1) - (3)].node))->constructor;
n->agg_filter = (yyvsp[(2) - (3)].node);
n->over = (yyvsp[(3) - (3)].windef);
(yyval.node) = (Node *) (yyvsp[(1) - (3)].node);
;}
break;
case 2142:
#line 15842 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2143:
#line 15852 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2144:
#line 15853 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2145:
#line 15854 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2146:
#line 15862 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
list_make1((yyvsp[(4) - (5)].node)),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (5)]));
;}
break;
case 2147:
#line 15869 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[(1) - (1)]));
;}
break;
case 2148:
#line 15873 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[(1) - (1)]));
;}
break;
case 2149:
#line 15877 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
;}
break;
case 2150:
#line 15881 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[(1) - (1)]));
;}
break;
case 2151:
#line 15885 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
;}
break;
case 2152:
#line 15889 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[(1) - (1)]));
;}
break;
case 2153:
#line 15893 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
;}
break;
case 2154:
#line 15897 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[(1) - (1)]));
;}
break;
case 2155:
#line 15901 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
;}
break;
case 2156:
#line 15905 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[(1) - (1)]));
;}
break;
case 2157:
#line 15909 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[(1) - (1)]));
;}
break;
case 2158:
#line 15913 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[(1) - (1)]));
;}
break;
case 2159:
#line 15917 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("system_user"),
NIL,
COERCE_SQL_SYNTAX,
(yylsp[(1) - (1)]));
;}
break;
case 2160:
#line 15924 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[(1) - (1)]));
;}
break;
case 2161:
#line 15928 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[(1) - (1)]));
;}
break;
case 2162:
#line 15932 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[(1) - (1)]));
;}
break;
case 2163:
#line 15936 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), (yylsp[(1) - (6)])); ;}
break;
case 2164:
#line 15938 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("extract"),
(yyvsp[(3) - (4)].list),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (4)]));
;}
break;
case 2165:
#line 15945 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
list_make1((yyvsp[(3) - (4)].node)),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (4)]));
;}
break;
case 2166:
#line 15952 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
list_make2((yyvsp[(3) - (6)].node), makeStringConst((yyvsp[(5) - (6)].str), (yylsp[(5) - (6)]))),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (6)]));
;}
break;
case 2167:
#line 15959 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"),
(yyvsp[(3) - (4)].list),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (4)]));
;}
break;
case 2168:
#line 15966 "gram.y"
{
/*
* allow functions named overlay() to be called without
* special syntax
*/
(yyval.node) = (Node *) makeFuncCall(list_make1(makeString("overlay")),
(yyvsp[(3) - (4)].list),
COERCE_EXPLICIT_CALL,
(yylsp[(1) - (4)]));
;}
break;
case 2169:
#line 15977 "gram.y"
{
/*
* position(A in B) is converted to position(B, A)
*
* We deliberately don't offer a "plain syntax" option
* for position(), because the reversal of the arguments
* creates too much risk of confusion.
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"),
(yyvsp[(3) - (4)].list),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (4)]));
;}
break;
case 2170:
#line 15991 "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),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (4)]));
;}
break;
case 2171:
#line 16001 "gram.y"
{
/*
* allow functions named substring() to be called without
* special syntax
*/
(yyval.node) = (Node *) makeFuncCall(list_make1(makeString("substring")),
(yyvsp[(3) - (4)].list),
COERCE_EXPLICIT_CALL,
(yylsp[(1) - (4)]));
;}
break;
case 2172:
#line 16012 "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(strVal(llast((yyvsp[(5) - (6)].typnam)->names))),
list_make1((yyvsp[(3) - (6)].node)),
COERCE_EXPLICIT_CALL,
(yylsp[(1) - (6)]));
;}
break;
case 2173:
#line 16028 "gram.y"
{
/* various trim expressions are defined in SQL
* - thomas 1997-07-19
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
(yyvsp[(4) - (5)].list),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (5)]));
;}
break;
case 2174:
#line 16038 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"),
(yyvsp[(4) - (5)].list),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (5)]));
;}
break;
case 2175:
#line 16045 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"),
(yyvsp[(4) - (5)].list),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (5)]));
;}
break;
case 2176:
#line 16052 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
(yyvsp[(3) - (4)].list),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (4)]));
;}
break;
case 2177:
#line 16059 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(1) - (6)]));
;}
break;
case 2178:
#line 16063 "gram.y"
{
CoalesceExpr *c = makeNode(CoalesceExpr);
c->args = (yyvsp[(3) - (4)].list);
c->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *) c;
;}
break;
case 2179:
#line 16071 "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 2180:
#line 16080 "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 2181:
#line 16089 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 2182:
#line 16093 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (5)].str), NIL, NIL, (yylsp[(1) - (5)]));
;}
break;
case 2183:
#line 16097 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), (yyvsp[(6) - (7)].list), NIL, (yylsp[(1) - (7)]));
;}
break;
case 2184:
#line 16101 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), NIL, (yyvsp[(6) - (7)].list), (yylsp[(1) - (7)]));
;}
break;
case 2185:
#line 16105 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (9)].str), (yyvsp[(6) - (9)].list), (yyvsp[(8) - (9)].list), (yylsp[(1) - (9)]));
;}
break;
case 2186:
#line 16109 "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)),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (5)]));
;}
break;
case 2187:
#line 16118 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[(3) - (4)].list), NIL, (yylsp[(1) - (4)]));
;}
break;
case 2188:
#line 16122 "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 2189:
#line 16132 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (5)].str), NULL, NIL, (yylsp[(1) - (5)]));
;}
break;
case 2190:
#line 16136 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (7)].str), NULL, list_make1((yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)]));
;}
break;
case 2191:
#line 16140 "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 2192:
#line 16145 "gram.y"
{
XmlSerialize *n = makeNode(XmlSerialize);
n->xmloption = (yyvsp[(3) - (8)].ival);
n->expr = (yyvsp[(4) - (8)].node);
n->typeName = (yyvsp[(6) - (8)].typnam);
n->indent = (yyvsp[(7) - (8)].boolean);
n->location = (yylsp[(1) - (8)]);
(yyval.node) = (Node *) n;
;}
break;
case 2193:
#line 16156 "gram.y"
{
/* Support for legacy (non-standard) json_object() */
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("json_object"),
(yyvsp[(3) - (4)].list), COERCE_EXPLICIT_CALL, (yylsp[(1) - (4)]));
;}
break;
case 2194:
#line 16165 "gram.y"
{
JsonObjectConstructor *n = makeNode(JsonObjectConstructor);
n->exprs = (yyvsp[(3) - (7)].list);
n->absent_on_null = (yyvsp[(4) - (7)].boolean);
n->unique = (yyvsp[(5) - (7)].boolean);
n->output = (JsonOutput *) (yyvsp[(6) - (7)].node);
n->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *) n;
;}
break;
case 2195:
#line 16176 "gram.y"
{
JsonObjectConstructor *n = makeNode(JsonObjectConstructor);
n->exprs = NULL;
n->absent_on_null = false;
n->unique = false;
n->output = (JsonOutput *) (yyvsp[(3) - (4)].node);
n->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *) n;
;}
break;
case 2196:
#line 16191 "gram.y"
{
JsonArrayConstructor *n = makeNode(JsonArrayConstructor);
n->exprs = (yyvsp[(3) - (6)].list);
n->absent_on_null = (yyvsp[(4) - (6)].boolean);
n->output = (JsonOutput *) (yyvsp[(5) - (6)].node);
n->location = (yylsp[(1) - (6)]);
(yyval.node) = (Node *) n;
;}
break;
case 2197:
#line 16206 "gram.y"
{
JsonArrayQueryConstructor *n = makeNode(JsonArrayQueryConstructor);
n->query = (yyvsp[(3) - (6)].node);
n->format = (JsonFormat *) (yyvsp[(4) - (6)].node);
n->absent_on_null = true; /* XXX */
n->output = (JsonOutput *) (yyvsp[(5) - (6)].node);
n->location = (yylsp[(1) - (6)]);
(yyval.node) = (Node *) n;
;}
break;
case 2198:
#line 16219 "gram.y"
{
JsonArrayConstructor *n = makeNode(JsonArrayConstructor);
n->exprs = NIL;
n->absent_on_null = true;
n->output = (JsonOutput *) (yyvsp[(3) - (4)].node);
n->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *) n;
;}
break;
case 2199:
#line 16229 "gram.y"
{
JsonParseExpr *n = makeNode(JsonParseExpr);
n->expr = (JsonValueExpr *) (yyvsp[(3) - (5)].node);
n->unique_keys = (yyvsp[(4) - (5)].boolean);
n->output = NULL;
n->location = (yylsp[(1) - (5)]);
(yyval.node) = (Node *) n;
;}
break;
case 2200:
#line 16239 "gram.y"
{
JsonScalarExpr *n = makeNode(JsonScalarExpr);
n->expr = (Expr *) (yyvsp[(3) - (4)].node);
n->output = NULL;
n->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *) n;
;}
break;
case 2201:
#line 16248 "gram.y"
{
JsonSerializeExpr *n = makeNode(JsonSerializeExpr);
n->expr = (JsonValueExpr *) (yyvsp[(3) - (5)].node);
n->output = (JsonOutput *) (yyvsp[(4) - (5)].node);
n->location = (yylsp[(1) - (5)]);
(yyval.node) = (Node *) n;
;}
break;
case 2202:
#line 16257 "gram.y"
{
MergeSupportFunc *m = makeNode(MergeSupportFunc);
m->msftype = TEXTOID;
m->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *) m;
;}
break;
case 2203:
#line 16271 "gram.y"
{
JsonFuncExpr *n = makeNode(JsonFuncExpr);
n->op = JSON_QUERY_OP;
n->context_item = (JsonValueExpr *) (yyvsp[(3) - (11)].node);
n->pathspec = (yyvsp[(5) - (11)].node);
n->passing = (yyvsp[(6) - (11)].list);
n->output = (JsonOutput *) (yyvsp[(7) - (11)].node);
n->wrapper = (yyvsp[(8) - (11)].ival);
n->quotes = (yyvsp[(9) - (11)].ival);
n->on_empty = (JsonBehavior *) linitial((yyvsp[(10) - (11)].list));
n->on_error = (JsonBehavior *) lsecond((yyvsp[(10) - (11)].list));
n->location = (yylsp[(1) - (11)]);
(yyval.node) = (Node *) n;
;}
break;
case 2204:
#line 16290 "gram.y"
{
JsonFuncExpr *n = makeNode(JsonFuncExpr);
n->op = JSON_EXISTS_OP;
n->context_item = (JsonValueExpr *) (yyvsp[(3) - (8)].node);
n->pathspec = (yyvsp[(5) - (8)].node);
n->passing = (yyvsp[(6) - (8)].list);
n->output = NULL;
n->on_error = (JsonBehavior *) (yyvsp[(7) - (8)].node);
n->location = (yylsp[(1) - (8)]);
(yyval.node) = (Node *) n;
;}
break;
case 2205:
#line 16307 "gram.y"
{
JsonFuncExpr *n = makeNode(JsonFuncExpr);
n->op = JSON_VALUE_OP;
n->context_item = (JsonValueExpr *) (yyvsp[(3) - (9)].node);
n->pathspec = (yyvsp[(5) - (9)].node);
n->passing = (yyvsp[(6) - (9)].list);
n->output = (JsonOutput *) (yyvsp[(7) - (9)].node);
n->on_empty = (JsonBehavior *) linitial((yyvsp[(8) - (9)].list));
n->on_error = (JsonBehavior *) lsecond((yyvsp[(8) - (9)].list));
n->location = (yylsp[(1) - (9)]);
(yyval.node) = (Node *) n;
;}
break;
case 2206:
#line 16327 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 2207:
#line 16329 "gram.y"
{ (yyval.node) = makeNullAConst(-1); ;}
break;
case 2208:
#line 16333 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); ;}
break;
case 2209:
#line 16335 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); ;}
break;
case 2210:
#line 16337 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); ;}
break;
case 2211:
#line 16339 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); ;}
break;
case 2212:
#line 16342 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2213:
#line 16345 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 2214:
#line 16346 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 2215:
#line 16350 "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 2216:
#line 16358 "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 2217:
#line 16367 "gram.y"
{ (yyval.ival) = XMLOPTION_DOCUMENT; ;}
break;
case 2218:
#line 16368 "gram.y"
{ (yyval.ival) = XMLOPTION_CONTENT; ;}
break;
case 2219:
#line 16371 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2220:
#line 16372 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2221:
#line 16373 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2222:
#line 16376 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2223:
#line 16377 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2224:
#line 16378 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2225:
#line 16384 "gram.y"
{
(yyval.node) = (yyvsp[(2) - (2)].node);
;}
break;
case 2226:
#line 16388 "gram.y"
{
(yyval.node) = (yyvsp[(2) - (3)].node);
;}
break;
case 2227:
#line 16392 "gram.y"
{
(yyval.node) = (yyvsp[(3) - (3)].node);
;}
break;
case 2228:
#line 16396 "gram.y"
{
(yyval.node) = (yyvsp[(3) - (4)].node);
;}
break;
case 2231:
#line 16411 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (5)].list); ;}
break;
case 2232:
#line 16412 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2233:
#line 16416 "gram.y"
{ (yyval.node) = (yyvsp[(4) - (5)].node); ;}
break;
case 2234:
#line 16417 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2235:
#line 16425 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 2236:
#line 16426 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2237:
#line 16430 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].windef)); ;}
break;
case 2238:
#line 16432 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].windef)); ;}
break;
case 2239:
#line 16437 "gram.y"
{
WindowDef *n = (yyvsp[(3) - (3)].windef);
n->name = (yyvsp[(1) - (3)].str);
(yyval.windef) = n;
;}
break;
case 2240:
#line 16446 "gram.y"
{ (yyval.windef) = (yyvsp[(2) - (2)].windef); ;}
break;
case 2241:
#line 16448 "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 2242:
#line 16462 "gram.y"
{ (yyval.windef) = NULL; ;}
break;
case 2243:
#line 16467 "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 2244:
#line 16493 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2245:
#line 16494 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 2246:
#line 16497 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); ;}
break;
case 2247:
#line 16498 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2248:
#line 16507 "gram.y"
{
WindowDef *n = (yyvsp[(2) - (3)].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
n->frameOptions |= (yyvsp[(3) - (3)].ival);
(yyval.windef) = n;
;}
break;
case 2249:
#line 16515 "gram.y"
{
WindowDef *n = (yyvsp[(2) - (3)].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
n->frameOptions |= (yyvsp[(3) - (3)].ival);
(yyval.windef) = n;
;}
break;
case 2250:
#line 16523 "gram.y"
{
WindowDef *n = (yyvsp[(2) - (3)].windef);
n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
n->frameOptions |= (yyvsp[(3) - (3)].ival);
(yyval.windef) = n;
;}
break;
case 2251:
#line 16531 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_DEFAULTS;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2252:
#line 16542 "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_OFFSET_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 2253:
#line 16560 "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_OFFSET_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_OFFSET_FOLLOWING) &&
(frameOptions & (FRAMEOPTION_END_OFFSET_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 2254:
#line 16606 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2255:
#line 16615 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2256:
#line 16624 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2257:
#line 16633 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
n->startOffset = (yyvsp[(1) - (2)].node);
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2258:
#line 16642 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
n->startOffset = (yyvsp[(1) - (2)].node);
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2259:
#line 16653 "gram.y"
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; ;}
break;
case 2260:
#line 16654 "gram.y"
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; ;}
break;
case 2261:
#line 16655 "gram.y"
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; ;}
break;
case 2262:
#line 16656 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 2263:
#line 16657 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 2264:
#line 16671 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2265:
#line 16672 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2266:
#line 16673 "gram.y"
{ (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;}
break;
case 2267:
#line 16676 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2268:
#line 16677 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2269:
#line 16680 "gram.y"
{ (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;}
break;
case 2270:
#line 16683 "gram.y"
{ (yyval.ival) = ANY_SUBLINK; ;}
break;
case 2271:
#line 16684 "gram.y"
{ (yyval.ival) = ANY_SUBLINK; ;}
break;
case 2272:
#line 16685 "gram.y"
{ (yyval.ival) = ALL_SUBLINK; ;}
break;
case 2273:
#line 16688 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2274:
#line 16689 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2275:
#line 16692 "gram.y"
{ (yyval.str) = "+"; ;}
break;
case 2276:
#line 16693 "gram.y"
{ (yyval.str) = "-"; ;}
break;
case 2277:
#line 16694 "gram.y"
{ (yyval.str) = "*"; ;}
break;
case 2278:
#line 16695 "gram.y"
{ (yyval.str) = "/"; ;}
break;
case 2279:
#line 16696 "gram.y"
{ (yyval.str) = "%"; ;}
break;
case 2280:
#line 16697 "gram.y"
{ (yyval.str) = "^"; ;}
break;
case 2281:
#line 16698 "gram.y"
{ (yyval.str) = "<"; ;}
break;
case 2282:
#line 16699 "gram.y"
{ (yyval.str) = ">"; ;}
break;
case 2283:
#line 16700 "gram.y"
{ (yyval.str) = "="; ;}
break;
case 2284:
#line 16701 "gram.y"
{ (yyval.str) = "<="; ;}
break;
case 2285:
#line 16702 "gram.y"
{ (yyval.str) = ">="; ;}
break;
case 2286:
#line 16703 "gram.y"
{ (yyval.str) = "<>"; ;}
break;
case 2287:
#line 16707 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2288:
#line 16709 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2289:
#line 16714 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2290:
#line 16716 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2291:
#line 16721 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2292:
#line 16723 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2293:
#line 16725 "gram.y"
{ (yyval.list) = list_make1(makeString("~~")); ;}
break;
case 2294:
#line 16727 "gram.y"
{ (yyval.list) = list_make1(makeString("!~~")); ;}
break;
case 2295:
#line 16729 "gram.y"
{ (yyval.list) = list_make1(makeString("~~*")); ;}
break;
case 2296:
#line 16731 "gram.y"
{ (yyval.list) = list_make1(makeString("!~~*")); ;}
break;
case 2297:
#line 16743 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 2298:
#line 16747 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 2299:
#line 16754 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 2300:
#line 16758 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 2301:
#line 16764 "gram.y"
{
(yyval.node) = (yyvsp[(1) - (1)].node);
;}
break;
case 2302:
#line 16768 "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 2303:
#line 16778 "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 2304:
#line 16789 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 2305:
#line 16790 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2306:
#line 16793 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;}
break;
case 2307:
#line 16794 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;}
break;
case 2308:
#line 16798 "gram.y"
{
(yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]), (yylsp[(3) - (3)]));
;}
break;
case 2309:
#line 16802 "gram.y"
{
(yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]), (yylsp[(3) - (3)]));
;}
break;
case 2310:
#line 16806 "gram.y"
{
(yyval.node) = makeAArrayExpr(NIL, (yylsp[(1) - (2)]), (yylsp[(2) - (2)]));
;}
break;
case 2311:
#line 16811 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2312:
#line 16812 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 2313:
#line 16818 "gram.y"
{
(yyval.list) = list_make2(makeStringConst((yyvsp[(1) - (3)].str), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
;}
break;
case 2314:
#line 16822 "gram.y"
{
(yyval.list) = list_make2(makeParamRef((yyvsp[(1) - (3)].ival), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
;}
break;
case 2315:
#line 16831 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2316:
#line 16832 "gram.y"
{ (yyval.str) = "year"; ;}
break;
case 2317:
#line 16833 "gram.y"
{ (yyval.str) = "month"; ;}
break;
case 2318:
#line 16834 "gram.y"
{ (yyval.str) = "day"; ;}
break;
case 2319:
#line 16835 "gram.y"
{ (yyval.str) = "hour"; ;}
break;
case 2320:
#line 16836 "gram.y"
{ (yyval.str) = "minute"; ;}
break;
case 2321:
#line 16837 "gram.y"
{ (yyval.str) = "second"; ;}
break;
case 2322:
#line 16838 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2323:
#line 16842 "gram.y"
{ (yyval.str) = "NFC"; ;}
break;
case 2324:
#line 16843 "gram.y"
{ (yyval.str) = "NFD"; ;}
break;
case 2325:
#line 16844 "gram.y"
{ (yyval.str) = "NFKC"; ;}
break;
case 2326:
#line 16845 "gram.y"
{ (yyval.str) = "NFKD"; ;}
break;
case 2327:
#line 16851 "gram.y"
{
/* overlay(A PLACING B FROM C FOR D) is converted to overlay(A, B, C, D) */
(yyval.list) = list_make4((yyvsp[(1) - (7)].node), (yyvsp[(3) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node));
;}
break;
case 2328:
#line 16856 "gram.y"
{
/* overlay(A PLACING B FROM C) is converted to overlay(A, B, C) */
(yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));
;}
break;
case 2329:
#line 16864 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(3) - (3)].node), (yyvsp[(1) - (3)].node)); ;}
break;
case 2330:
#line 16886 "gram.y"
{
(yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));
;}
break;
case 2331:
#line 16890 "gram.y"
{
/* not legal per SQL, but might as well allow it */
(yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yyvsp[(3) - (5)].node));
;}
break;
case 2332:
#line 16895 "gram.y"
{
/*
* Because we aren't restricting data types here, this
* syntax can end up resolving to textregexsubstr().
* We've historically allowed that to happen, so continue
* to accept it. However, ruleutils.c will reverse-list
* such a call in regular function call syntax.
*/
(yyval.list) = list_make2((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node));
;}
break;
case 2333:
#line 16906 "gram.y"
{
/* not legal per SQL */
/*
* 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) - (3)].node), makeIntConst(1, -1),
makeTypeCast((yyvsp[(3) - (3)].node),
SystemTypeName("int4"), -1));
;}
break;
case 2334:
#line 16923 "gram.y"
{
(yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));
;}
break;
case 2335:
#line 16928 "gram.y"
{ (yyval.list) = lappend((yyvsp[(3) - (3)].list), (yyvsp[(1) - (3)].node)); ;}
break;
case 2336:
#line 16929 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 2337:
#line 16930 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 2338:
#line 16941 "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 2339:
#line 16955 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2340:
#line 16956 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 2341:
#line 16961 "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 2342:
#line 16972 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 2343:
#line 16973 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2344:
#line 16976 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2345:
#line 16977 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2346:
#line 16981 "gram.y"
{
(yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)]), yyscanner);
;}
break;
case 2347:
#line 16985 "gram.y"
{
(yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner);
;}
break;
case 2348:
#line 16992 "gram.y"
{
(yyval.node) = (Node *) makeString((yyvsp[(2) - (2)].str));
;}
break;
case 2349:
#line 16996 "gram.y"
{
(yyval.node) = (Node *) makeNode(A_Star);
;}
break;
case 2350:
#line 17000 "gram.y"
{
A_Indices *ai = makeNode(A_Indices);
ai->is_slice = false;
ai->lidx = NULL;
ai->uidx = (yyvsp[(2) - (3)].node);
(yyval.node) = (Node *) ai;
;}
break;
case 2351:
#line 17009 "gram.y"
{
A_Indices *ai = makeNode(A_Indices);
ai->is_slice = true;
ai->lidx = (yyvsp[(2) - (5)].node);
ai->uidx = (yyvsp[(4) - (5)].node);
(yyval.node) = (Node *) ai;
;}
break;
case 2352:
#line 17020 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2353:
#line 17021 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2354:
#line 17025 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2355:
#line 17026 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 2356:
#line 17030 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2357:
#line 17031 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 2360:
#line 17040 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 2361:
#line 17041 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2362:
#line 17045 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2363:
#line 17046 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 2364:
#line 17051 "gram.y"
{
JsonArgument *n = makeNode(JsonArgument);
n->val = (JsonValueExpr *) (yyvsp[(1) - (3)].node);
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 2365:
#line 17062 "gram.y"
{ (yyval.ival) = JSW_NONE; ;}
break;
case 2366:
#line 17063 "gram.y"
{ (yyval.ival) = JSW_NONE; ;}
break;
case 2367:
#line 17064 "gram.y"
{ (yyval.ival) = JSW_UNCONDITIONAL; ;}
break;
case 2368:
#line 17065 "gram.y"
{ (yyval.ival) = JSW_UNCONDITIONAL; ;}
break;
case 2369:
#line 17066 "gram.y"
{ (yyval.ival) = JSW_CONDITIONAL; ;}
break;
case 2370:
#line 17067 "gram.y"
{ (yyval.ival) = JSW_UNCONDITIONAL; ;}
break;
case 2371:
#line 17068 "gram.y"
{ (yyval.ival) = JSW_CONDITIONAL; ;}
break;
case 2372:
#line 17069 "gram.y"
{ (yyval.ival) = JSW_UNCONDITIONAL; ;}
break;
case 2373:
#line 17070 "gram.y"
{ (yyval.ival) = JSW_UNSPEC; ;}
break;
case 2374:
#line 17075 "gram.y"
{ (yyval.node) = (Node *) makeJsonBehavior(JSON_BEHAVIOR_DEFAULT, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2375:
#line 17077 "gram.y"
{ (yyval.node) = (Node *) makeJsonBehavior((yyvsp[(1) - (1)].ival), NULL, (yylsp[(1) - (1)])); ;}
break;
case 2376:
#line 17081 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_ERROR; ;}
break;
case 2377:
#line 17082 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_NULL; ;}
break;
case 2378:
#line 17083 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_TRUE; ;}
break;
case 2379:
#line 17084 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_FALSE; ;}
break;
case 2380:
#line 17085 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_UNKNOWN; ;}
break;
case 2381:
#line 17086 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; ;}
break;
case 2382:
#line 17087 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_EMPTY_OBJECT; ;}
break;
case 2383:
#line 17089 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; ;}
break;
case 2384:
#line 17094 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(1) - (3)].node), NULL); ;}
break;
case 2385:
#line 17096 "gram.y"
{ (yyval.list) = list_make2(NULL, (yyvsp[(1) - (3)].node)); ;}
break;
case 2386:
#line 17098 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node)); ;}
break;
case 2387:
#line 17100 "gram.y"
{ (yyval.list) = list_make2(NULL, NULL); ;}
break;
case 2388:
#line 17105 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (3)].node); ;}
break;
case 2389:
#line 17107 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2390:
#line 17112 "gram.y"
{
/* formatted_expr will be set during parse-analysis. */
(yyval.node) = (Node *) makeJsonValueExpr((Expr *) (yyvsp[(1) - (2)].node), NULL,
castNode(JsonFormat, (yyvsp[(2) - (2)].node)));
;}
break;
case 2391:
#line 17121 "gram.y"
{
int encoding;
if (!pg_strcasecmp((yyvsp[(4) - (4)].str), "utf8"))
encoding = JS_ENC_UTF8;
else if (!pg_strcasecmp((yyvsp[(4) - (4)].str), "utf16"))
encoding = JS_ENC_UTF16;
else if (!pg_strcasecmp((yyvsp[(4) - (4)].str), "utf32"))
encoding = JS_ENC_UTF32;
else
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("unrecognized JSON encoding: %s", (yyvsp[(4) - (4)].str)),
parser_errposition((yylsp[(4) - (4)]))));
(yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, encoding, (yylsp[(1) - (4)]));
;}
break;
case 2392:
#line 17139 "gram.y"
{
(yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, JS_ENC_DEFAULT, (yylsp[(1) - (2)]));
;}
break;
case 2393:
#line 17146 "gram.y"
{
(yyval.node) = (yyvsp[(1) - (1)].node);
;}
break;
case 2394:
#line 17150 "gram.y"
{
(yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
;}
break;
case 2395:
#line 17156 "gram.y"
{ (yyval.ival) = JS_QUOTES_KEEP; ;}
break;
case 2396:
#line 17157 "gram.y"
{ (yyval.ival) = JS_QUOTES_KEEP; ;}
break;
case 2397:
#line 17158 "gram.y"
{ (yyval.ival) = JS_QUOTES_OMIT; ;}
break;
case 2398:
#line 17159 "gram.y"
{ (yyval.ival) = JS_QUOTES_OMIT; ;}
break;
case 2399:
#line 17160 "gram.y"
{ (yyval.ival) = JS_QUOTES_UNSPEC; ;}
break;
case 2400:
#line 17165 "gram.y"
{
JsonOutput *n = makeNode(JsonOutput);
n->typeName = (yyvsp[(2) - (3)].typnam);
n->returning = makeNode(JsonReturning);
n->returning->format = (JsonFormat *) (yyvsp[(3) - (3)].node);
(yyval.node) = (Node *) n;
;}
break;
case 2401:
#line 17173 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2402:
#line 17187 "gram.y"
{ (yyval.ival) = JS_TYPE_ANY; ;}
break;
case 2403:
#line 17188 "gram.y"
{ (yyval.ival) = JS_TYPE_ANY; ;}
break;
case 2404:
#line 17189 "gram.y"
{ (yyval.ival) = JS_TYPE_ARRAY; ;}
break;
case 2405:
#line 17190 "gram.y"
{ (yyval.ival) = JS_TYPE_OBJECT; ;}
break;
case 2406:
#line 17191 "gram.y"
{ (yyval.ival) = JS_TYPE_SCALAR; ;}
break;
case 2407:
#line 17200 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2408:
#line 17201 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2409:
#line 17202 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2410:
#line 17203 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2411:
#line 17204 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2412:
#line 17209 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2413:
#line 17211 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 2414:
#line 17221 "gram.y"
{ (yyval.node) = makeJsonKeyValue((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;}
break;
case 2415:
#line 17224 "gram.y"
{ (yyval.node) = makeJsonKeyValue((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;}
break;
case 2416:
#line 17229 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2417:
#line 17230 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2418:
#line 17231 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2419:
#line 17235 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2420:
#line 17236 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2421:
#line 17237 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2422:
#line 17241 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2423:
#line 17242 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));;}
break;
case 2424:
#line 17252 "gram.y"
{
JsonObjectAgg *n = makeNode(JsonObjectAgg);
n->arg = (JsonKeyValue *) (yyvsp[(3) - (7)].node);
n->absent_on_null = (yyvsp[(4) - (7)].boolean);
n->unique = (yyvsp[(5) - (7)].boolean);
n->constructor = makeNode(JsonAggConstructor);
n->constructor->output = (JsonOutput *) (yyvsp[(6) - (7)].node);
n->constructor->agg_order = NULL;
n->constructor->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *) n;
;}
break;
case 2425:
#line 17270 "gram.y"
{
JsonArrayAgg *n = makeNode(JsonArrayAgg);
n->arg = (JsonValueExpr *) (yyvsp[(3) - (7)].node);
n->absent_on_null = (yyvsp[(5) - (7)].boolean);
n->constructor = makeNode(JsonAggConstructor);
n->constructor->agg_order = (yyvsp[(4) - (7)].list);
n->constructor->output = (JsonOutput *) (yyvsp[(6) - (7)].node);
n->constructor->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *) n;
;}
break;
case 2426:
#line 17284 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); ;}
break;
case 2427:
#line 17285 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2428:
#line 17294 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 2429:
#line 17295 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2430:
#line 17299 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 2431:
#line 17300 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 2432:
#line 17304 "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 2433:
#line 17312 "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 2434:
#line 17320 "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 2435:
#line 17328 "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 2436:
#line 17350 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;}
break;
case 2437:
#line 17351 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;}
break;
case 2438:
#line 17363 "gram.y"
{
(yyval.range) = makeRangeVar(NULL, (yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2439:
#line 17367 "gram.y"
{
(yyval.range) = makeRangeVarFromQualifiedName((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner);
;}
break;
case 2440:
#line 17373 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2441:
#line 17375 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 2442:
#line 17379 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2443:
#line 17381 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2444:
#line 17383 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2445:
#line 17394 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2446:
#line 17396 "gram.y"
{
(yyval.list) = check_func_name(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)),
yyscanner);
;}
break;
case 2447:
#line 17407 "gram.y"
{
(yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)]));
;}
break;
case 2448:
#line 17411 "gram.y"
{
(yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2449:
#line 17415 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2450:
#line 17419 "gram.y"
{
(yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2451:
#line 17423 "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 2452:
#line 17432 "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 2453:
#line 17440 "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 2454:
#line 17472 "gram.y"
{
/* generic type 'literal' syntax */
TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (2)].list));
t->location = (yylsp[(1) - (2)]);
(yyval.node) = makeParamRefCast((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)]), t);
;}
break;
case 2455:
#line 17479 "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) = makeParamRefCast((yyvsp[(6) - (6)].ival), (yylsp[(6) - (6)]), t);
;}
break;
case 2456:
#line 17511 "gram.y"
{
(yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam));
;}
break;
case 2457:
#line 17515 "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 2458:
#line 17522 "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 2459:
#line 17530 "gram.y"
{
(yyval.node) = makeParamRefCast((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam));
;}
break;
case 2460:
#line 17534 "gram.y"
{
TypeName *t = (yyvsp[(1) - (3)].typnam);
t->typmods = (yyvsp[(3) - (3)].list);
(yyval.node) = makeParamRefCast((yyvsp[(2) - (3)].ival), (yylsp[(2) - (3)]), t);
;}
break;
case 2461:
#line 17540 "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) = makeParamRefCast((yyvsp[(5) - (5)].ival), (yylsp[(5) - (5)]), t);
;}
break;
case 2462:
#line 17547 "gram.y"
{
(yyval.node) = makeBoolAConst(true, (yylsp[(1) - (1)]));
;}
break;
case 2463:
#line 17551 "gram.y"
{
(yyval.node) = makeBoolAConst(false, (yylsp[(1) - (1)]));
;}
break;
case 2464:
#line 17555 "gram.y"
{
(yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
;}
break;
case 2465:
#line 17560 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
break;
case 2466:
#line 17561 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2467:
#line 17563 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
break;
case 2468:
#line 17564 "gram.y"
{ (yyval.ival) = + (yyvsp[(2) - (2)].ival); ;}
break;
case 2469:
#line 17565 "gram.y"
{ (yyval.ival) = - (yyvsp[(2) - (2)].ival); ;}
break;
case 2470:
#line 17570 "gram.y"
{
RoleSpec *spc = (RoleSpec *) (yyvsp[(1) - (1)].rolespec);
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)]))));
break;
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)]))));
break;
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 ROLESPEC_CURRENT_ROLE:
ereport(ERROR,
(errcode(ERRCODE_RESERVED_NAME),
errmsg("%s cannot be used as a role name here",
"CURRENT_ROLE"),
parser_errposition((yylsp[(1) - (1)]))));
break;
}
;}
break;
case 2471:
#line 17611 "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 = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[(1) - (1)]));
n->rolename = pstrdup((yyvsp[(1) - (1)].str));
}
(yyval.rolespec) = n;
;}
break;
case 2472:
#line 17639 "gram.y"
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_ROLE, (yylsp[(1) - (1)]));
;}
break;
case 2473:
#line 17643 "gram.y"
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)]));
;}
break;
case 2474:
#line 17647 "gram.y"
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[(1) - (1)]));
;}
break;
case 2475:
#line 17653 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].rolespec)); ;}
break;
case 2476:
#line 17655 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].rolespec)); ;}
break;
case 2477:
#line 17672 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->distinctClause = (yyvsp[(1) - (10)].list);
n->targetList = (yyvsp[(2) - (10)].list);
n->fromClause = (yyvsp[(3) - (10)].list);
n->whereClause = (yyvsp[(4) - (10)].node);
n->groupClause = ((yyvsp[(5) - (10)].groupclause))->list;
n->groupDistinct = ((yyvsp[(5) - (10)].groupclause))->distinct;
n->havingClause = (yyvsp[(6) - (10)].node);
n->windowClause = (yyvsp[(7) - (10)].list);
n->sortClause = (yyvsp[(8) - (10)].list);
if ((yyvsp[(9) - (10)].selectlimit))
{
n->limitOffset = (yyvsp[(9) - (10)].selectlimit)->limitOffset;
n->limitCount = (yyvsp[(9) - (10)].selectlimit)->limitCount;
if (!n->sortClause &&
(yyvsp[(9) - (10)].selectlimit)->limitOption == LIMIT_OPTION_WITH_TIES)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("WITH TIES cannot be specified without ORDER BY clause"),
parser_errposition((yyvsp[(9) - (10)].selectlimit)->optionLoc)));
n->limitOption = (yyvsp[(9) - (10)].selectlimit)->limitOption;
}
n->lockingClause = (yyvsp[(10) - (10)].list);
(yyval.node) = (Node *) n;
;}
break;
case 2478:
#line 17706 "gram.y"
{
PLAssignStmt *n = makeNode(PLAssignStmt);
n->name = (yyvsp[(1) - (4)].str);
n->indirection = check_indirection((yyvsp[(2) - (4)].list), yyscanner);
/* nnames will be filled by calling production */
n->val = (SelectStmt *) (yyvsp[(4) - (4)].node);
n->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *) n;
;}
break;
case 2479:
#line 17718 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2480:
#line 17719 "gram.y"
{ (yyval.str) = psprintf("$%d", (yyvsp[(1) - (1)].ival)); ;}
break;
case 2483:
#line 17740 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2484:
#line 17741 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2485:
#line 17742 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2486:
#line 17747 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2487:
#line 17748 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2488:
#line 17749 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2489:
#line 17754 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2490:
#line 17755 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2491:
#line 17756 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2492:
#line 17757 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2493:
#line 17763 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2494:
#line 17764 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2495:
#line 17765 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2496:
#line 17766 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2497:
#line 17767 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2498:
#line 17773 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2499:
#line 17774 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
/* Line 1267 of yacc.c. */
#line 53136 "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 18792 "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 RawStmt *
makeRawStmt(Node *stmt, int stmt_location)
{
RawStmt *rs = makeNode(RawStmt);
rs->stmt = stmt;
rs->stmt_location = stmt_location;
rs->stmt_len = 0; /* might get changed later */
return rs;
}
/* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
static void
updateRawStmtEnd(RawStmt *rs, int end_location)
{
/*
* If we already set the length, don't change it. This is for situations
* like "select foo ;; select bar" where the same statement will be last
* in the string for more than one semicolon.
*/
if (rs->stmt_len > 0)
return;
/* OK, update length of RawStmt */
rs->stmt_len = end_location - rs->stmt_location;
}
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(indirection, 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 *
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.ival.type = T_Integer;
n->val.ival.ival = val;
n->location = location;
return (Node *) n;
}
static Node *
makeFloatConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.fval.type = T_Float;
n->val.fval.fval = str;
n->location = location;
return (Node *) n;
}
static Node *
makeBoolAConst(bool state, int location)
{
A_Const *n = makeNode(A_Const);
n->val.boolval.type = T_Boolean;
n->val.boolval.boolval = state;
n->location = location;
return (Node *) n;
}
static Node *
makeBitStringConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.bsval.type = T_BitString;
n->val.bsval.bsval = str;
n->location = location;
return (Node *) n;
}
static Node *
makeNullAConst(int location)
{
A_Const *n = makeNode(A_Const);
n->isnull = true;
n->location = location;
return (Node *) n;
}
static Node *
makeAConst(Node *v, int location)
{
Node *n;
switch (v->type)
{
case T_Float:
n = makeFloatConst(castNode(Float, v)->fval, location);
break;
case T_Integer:
n = makeIntConst(castNode(Integer, v)->ival, location);
break;
default:
/* currently not used */
Assert(false);
n = NULL;
}
return n;
}
/* 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);
}
/* makeRoleSpec
* Create a RoleSpec with the given type
*/
static RoleSpec *
makeRoleSpec(RoleSpecType type, int location)
{
RoleSpec *spec = makeNode(RoleSpec);
spec->roletype = type;
spec->location = location;
return 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(indirection, 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);
Integer *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(firsto->location)));
/* 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 = makeInteger(list_length(directargs));
return list_make2(list_concat(directargs, orderedargs),
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,
SelectLimit *limitClause,
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 (limitClause && limitClause->limitOffset)
{
if (stmt->limitOffset)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple OFFSET clauses not allowed"),
parser_errposition(limitClause->offsetLoc)));
stmt->limitOffset = limitClause->limitOffset;
}
if (limitClause && limitClause->limitCount)
{
if (stmt->limitCount)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple LIMIT clauses not allowed"),
parser_errposition(limitClause->countLoc)));
stmt->limitCount = limitClause->limitCount;
}
if (limitClause)
{
/* If there was a conflict, we must have detected it above */
Assert(!stmt->limitOption);
if (!stmt->sortClause && limitClause->limitOption == LIMIT_OPTION_WITH_TIES)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("WITH TIES cannot be specified without ORDER BY clause"),
parser_errposition(limitClause->optionLoc)));
if (limitClause->limitOption == LIMIT_OPTION_WITH_TIES && stmt->lockingClause)
{
ListCell *lc;
foreach(lc, stmt->lockingClause)
{
LockingClause *lock = lfirst_node(LockingClause, lc);
if (lock->waitPolicy == LockWaitSkip)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("%s and %s options cannot be used together",
"SKIP LOCKED", "WITH TIES"),
parser_errposition(limitClause->optionLoc)));
}
}
stmt->limitOption = limitClause->limitOption;
}
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 (IsA(&con->val, Integer))
{
con->val.ival.ival = -con->val.ival.ival;
return n;
}
if (IsA(&con->val, Float))
{
doNegateFloat(&con->val.fval);
return n;
}
}
return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
}
static void
doNegateFloat(Float *v)
{
char *oldval = v->fval;
if (*oldval == '+')
oldval++;
if (*oldval == '-')
v->fval = oldval + 1; /* just strip the '-' */
else
v->fval = 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, int location_end)
{
A_ArrayExpr *n = makeNode(A_ArrayExpr);
n->elements = elements;
n->location = location;
n->list_start = location;
n->list_end = location_end;
return (Node *) n;
}
static Node *
makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
{
SQLValueFunction *svf = makeNode(SQLValueFunction);
svf->op = op;
/* svf->type will be filled during parse analysis */
svf->typmod = typmod;
svf->location = location;
return (Node *) svf;
}
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, core_yyscan_t yyscanner)
{
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_DEFAULT &&
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"),
parser_errposition(p->location)));
}
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 = 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;
}
/*
* Convert a relation_name with name and namelist to a RangeVar using
* makeRangeVar.
*/
static RangeVar *
makeRangeVarFromQualifiedName(char *name, List *namelist, int location,
core_yyscan_t yyscanner)
{
RangeVar *r;
check_qualified_name(namelist, yyscanner);
r = makeRangeVar(NULL, NULL, location);
switch (list_length(namelist))
{
case 1:
r->catalogname = NULL;
r->schemaname = name;
r->relname = strVal(linitial(namelist));
break;
case 2:
r->catalogname = name;
r->schemaname = strVal(linitial(namelist));
r->relname = strVal(lsecond(namelist));
break;
default:
ereport(ERROR,
errcode(ERRCODE_SYNTAX_ERROR),
errmsg("improper qualified name (too many dotted names): %s",
NameListToString(lcons(makeString(name), namelist))),
parser_errposition(location));
break;
}
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;
*collClause = NULL;
foreach(cell, qualList)
{
Node *n = (Node *) lfirst(cell);
if (IsA(n, Constraint))
{
/* keep it in list */
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 = foreach_delete_current(qualList, cell);
}
*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 *is_enforced,
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 (is_enforced)
*is_enforced = true;
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)));
}
if (cas_bits & CAS_NOT_ENFORCED)
{
if (is_enforced)
*is_enforced = false;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked NOT ENFORCED",
constrType),
parser_errposition(location)));
/*
* NB: The validated status is irrelevant when the constraint is set to
* NOT ENFORCED, but for consistency, it should be set accordingly.
* This ensures that if the constraint is later changed to ENFORCED, it
* will automatically be in the correct NOT VALIDATED state.
*/
if (not_valid)
*not_valid = true;
}
if (cas_bits & CAS_ENFORCED)
{
if (is_enforced)
*is_enforced = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked ENFORCED",
constrType),
parser_errposition(location)));
}
}
/*
* Parse a user-supplied partition strategy string into parse node
* PartitionStrategy representation, or die trying.
*/
static PartitionStrategy
parsePartitionStrategy(char *strategy, int location, core_yyscan_t yyscanner)
{
if (pg_strcasecmp(strategy, "list") == 0)
return PARTITION_STRATEGY_LIST;
else if (pg_strcasecmp(strategy, "range") == 0)
return PARTITION_STRATEGY_RANGE;
else if (pg_strcasecmp(strategy, "hash") == 0)
return PARTITION_STRATEGY_HASH;
ereport(ERROR,
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
errmsg("unrecognized partitioning strategy \"%s\"", strategy),
parser_errposition(location)));
return PARTITION_STRATEGY_LIST; /* keep compiler quiet */
}
/*
* Process pubobjspec_list to check for errors in any of the objects and
* convert PUBLICATIONOBJ_CONTINUATION into appropriate PublicationObjSpecType.
*/
static void
preprocess_pubobj_list(List *pubobjspec_list, core_yyscan_t yyscanner)
{
ListCell *cell;
PublicationObjSpec *pubobj;
PublicationObjSpecType prevobjtype = PUBLICATIONOBJ_CONTINUATION;
if (!pubobjspec_list)
return;
pubobj = (PublicationObjSpec *) linitial(pubobjspec_list);
if (pubobj->pubobjtype == PUBLICATIONOBJ_CONTINUATION)
ereport(ERROR,
errcode(ERRCODE_SYNTAX_ERROR),
errmsg("invalid publication object list"),
errdetail("One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name."),
parser_errposition(pubobj->location));
foreach(cell, pubobjspec_list)
{
pubobj = (PublicationObjSpec *) lfirst(cell);
if (pubobj->pubobjtype == PUBLICATIONOBJ_CONTINUATION)
pubobj->pubobjtype = prevobjtype;
if (pubobj->pubobjtype == PUBLICATIONOBJ_TABLE)
{
/* relation name or pubtable must be set for this type of object */
if (!pubobj->name && !pubobj->pubtable)
ereport(ERROR,
errcode(ERRCODE_SYNTAX_ERROR),
errmsg("invalid table name"),
parser_errposition(pubobj->location));
if (pubobj->name)
{
/* convert it to PublicationTable */
PublicationTable *pubtable = makeNode(PublicationTable);
pubtable->relation =
makeRangeVar(NULL, pubobj->name, pubobj->location);
pubobj->pubtable = pubtable;
pubobj->name = NULL;
}
}
else if (pubobj->pubobjtype == PUBLICATIONOBJ_TABLES_IN_SCHEMA ||
pubobj->pubobjtype == PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA)
{
/* WHERE clause is not allowed on a schema object */
if (pubobj->pubtable && pubobj->pubtable->whereClause)
ereport(ERROR,
errcode(ERRCODE_SYNTAX_ERROR),
errmsg("WHERE clause not allowed for schema"),
parser_errposition(pubobj->location));
/* Column list is not allowed on a schema object */
if (pubobj->pubtable && pubobj->pubtable->columns)
ereport(ERROR,
errcode(ERRCODE_SYNTAX_ERROR),
errmsg("column specification not allowed for schema"),
parser_errposition(pubobj->location));
/*
* We can distinguish between the different type of schema objects
* based on whether name and pubtable is set.
*/
if (pubobj->name)
pubobj->pubobjtype = PUBLICATIONOBJ_TABLES_IN_SCHEMA;
else if (!pubobj->name && !pubobj->pubtable)
pubobj->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA;
else
ereport(ERROR,
errcode(ERRCODE_SYNTAX_ERROR),
errmsg("invalid schema name"),
parser_errposition(pubobj->location));
}
prevobjtype = pubobj->pubobjtype;
}
}
/*----------
* 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->ctematerialized = CTEMaterializeDefault;
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 */
}