/*--------------------------------------------------------------------
* 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,
ENUM_P = 405,
ERROR_P = 406,
ESCAPE = 407,
EVENT = 408,
EXCEPT = 409,
EXCLUDE = 410,
EXCLUDING = 411,
EXCLUSIVE = 412,
EXECUTE = 413,
EXISTS = 414,
EXPLAIN = 415,
EXPRESSION = 416,
EXTENSION = 417,
EXTERNAL = 418,
EXTRACT = 419,
FALSE_P = 420,
FAMILY = 421,
FETCH = 422,
FILTER = 423,
FINALIZE = 424,
FIRST_P = 425,
FLOAT_P = 426,
FOLLOWING = 427,
FOR = 428,
FORCE = 429,
FOREIGN = 430,
FORMAT = 431,
FORWARD = 432,
FREEZE = 433,
FROM = 434,
FULL = 435,
FUNCTION = 436,
FUNCTIONS = 437,
GENERATED = 438,
GLOBAL = 439,
GRANT = 440,
GRANTED = 441,
GREATEST = 442,
GROUP_P = 443,
GROUPING = 444,
GROUPS = 445,
HANDLER = 446,
HAVING = 447,
HEADER_P = 448,
HOLD = 449,
HOUR_P = 450,
IDENTITY_P = 451,
IF_P = 452,
ILIKE = 453,
IMMEDIATE = 454,
IMMUTABLE = 455,
IMPLICIT_P = 456,
IMPORT_P = 457,
IN_P = 458,
INCLUDE = 459,
INCLUDING = 460,
INCREMENT = 461,
INDENT = 462,
INDEX = 463,
INDEXES = 464,
INHERIT = 465,
INHERITS = 466,
INITIALLY = 467,
INLINE_P = 468,
INNER_P = 469,
INOUT = 470,
INPUT_P = 471,
INSENSITIVE = 472,
INSERT = 473,
INSTEAD = 474,
INT_P = 475,
INTEGER = 476,
INTERSECT = 477,
INTERVAL = 478,
INTO = 479,
INVOKER = 480,
IS = 481,
ISNULL = 482,
ISOLATION = 483,
JOIN = 484,
JSON = 485,
JSON_ARRAY = 486,
JSON_ARRAYAGG = 487,
JSON_EXISTS = 488,
JSON_OBJECT = 489,
JSON_OBJECTAGG = 490,
JSON_QUERY = 491,
JSON_SCALAR = 492,
JSON_SERIALIZE = 493,
JSON_TABLE = 494,
JSON_VALUE = 495,
KEEP = 496,
KEY = 497,
KEYS = 498,
LABEL = 499,
LANGUAGE = 500,
LARGE_P = 501,
LAST_P = 502,
LATERAL_P = 503,
LEADING = 504,
LEAKPROOF = 505,
LEAST = 506,
LEFT = 507,
LEVEL = 508,
LIKE = 509,
LIMIT = 510,
LISTEN = 511,
LOAD = 512,
LOCAL = 513,
LOCALTIME = 514,
LOCALTIMESTAMP = 515,
LOCATION = 516,
LOCK_P = 517,
LOCKED = 518,
LOGGED = 519,
MAPPING = 520,
MATCH = 521,
MATCHED = 522,
MATERIALIZED = 523,
MAXVALUE = 524,
MERGE = 525,
MERGE_ACTION = 526,
METHOD = 527,
MINUTE_P = 528,
MINVALUE = 529,
MODE = 530,
MONTH_P = 531,
MOVE = 532,
NAME_P = 533,
NAMES = 534,
NATIONAL = 535,
NATURAL = 536,
NCHAR = 537,
NESTED = 538,
NEW = 539,
NEXT = 540,
NFC = 541,
NFD = 542,
NFKC = 543,
NFKD = 544,
NO = 545,
NONE = 546,
NORMALIZE = 547,
NORMALIZED = 548,
NOT = 549,
NOTHING = 550,
NOTIFY = 551,
NOTNULL = 552,
NOWAIT = 553,
NULL_P = 554,
NULLIF = 555,
NULLS_P = 556,
NUMERIC = 557,
OBJECT_P = 558,
OF = 559,
OFF = 560,
OFFSET = 561,
OIDS = 562,
OLD = 563,
OMIT = 564,
ON = 565,
ONLY = 566,
OPERATOR = 567,
OPTION = 568,
OPTIONS = 569,
OR = 570,
ORDER = 571,
ORDINALITY = 572,
OTHERS = 573,
OUT_P = 574,
OUTER_P = 575,
OVER = 576,
OVERLAPS = 577,
OVERLAY = 578,
OVERRIDING = 579,
OWNED = 580,
OWNER = 581,
PARALLEL = 582,
PARAMETER = 583,
PARSER = 584,
PARTIAL = 585,
PARTITION = 586,
PASSING = 587,
PASSWORD = 588,
PATH = 589,
PLACING = 590,
PLAN = 591,
PLANS = 592,
POLICY = 593,
POSITION = 594,
PRECEDING = 595,
PRECISION = 596,
PRESERVE = 597,
PREPARE = 598,
PREPARED = 599,
PRIMARY = 600,
PRIOR = 601,
PRIVILEGES = 602,
PROCEDURAL = 603,
PROCEDURE = 604,
PROCEDURES = 605,
PROGRAM = 606,
PUBLICATION = 607,
QUOTE = 608,
QUOTES = 609,
RANGE = 610,
READ = 611,
REAL = 612,
REASSIGN = 613,
RECHECK = 614,
RECURSIVE = 615,
REF_P = 616,
REFERENCES = 617,
REFERENCING = 618,
REFRESH = 619,
REINDEX = 620,
RELATIVE_P = 621,
RELEASE = 622,
RENAME = 623,
REPEATABLE = 624,
REPLACE = 625,
REPLICA = 626,
RESET = 627,
RESTART = 628,
RESTRICT = 629,
RETURN = 630,
RETURNING = 631,
RETURNS = 632,
REVOKE = 633,
RIGHT = 634,
ROLE = 635,
ROLLBACK = 636,
ROLLUP = 637,
ROUTINE = 638,
ROUTINES = 639,
ROW = 640,
ROWS = 641,
RULE = 642,
SAVEPOINT = 643,
SCALAR = 644,
SCHEMA = 645,
SCHEMAS = 646,
SCROLL = 647,
SEARCH = 648,
SECOND_P = 649,
SECURITY = 650,
SELECT = 651,
SEQUENCE = 652,
SEQUENCES = 653,
SERIALIZABLE = 654,
SERVER = 655,
SESSION = 656,
SESSION_USER = 657,
SET = 658,
SETS = 659,
SETOF = 660,
SHARE = 661,
SHOW = 662,
SIMILAR = 663,
SIMPLE = 664,
SKIP = 665,
SMALLINT = 666,
SNAPSHOT = 667,
SOME = 668,
SOURCE = 669,
SQL_P = 670,
STABLE = 671,
STANDALONE_P = 672,
START = 673,
STATEMENT = 674,
STATISTICS = 675,
STDIN = 676,
STDOUT = 677,
STORAGE = 678,
STORED = 679,
STRICT_P = 680,
STRING_P = 681,
STRIP_P = 682,
SUBSCRIPTION = 683,
SUBSTRING = 684,
SUPPORT = 685,
SYMMETRIC = 686,
SYSID = 687,
SYSTEM_P = 688,
SYSTEM_USER = 689,
TABLE = 690,
TABLES = 691,
TABLESAMPLE = 692,
TABLESPACE = 693,
TARGET = 694,
TEMP = 695,
TEMPLATE = 696,
TEMPORARY = 697,
TEXT_P = 698,
THEN = 699,
TIES = 700,
TIME = 701,
TIMESTAMP = 702,
TO = 703,
TRAILING = 704,
TRANSACTION = 705,
TRANSFORM = 706,
TREAT = 707,
TRIGGER = 708,
TRIM = 709,
TRUE_P = 710,
TRUNCATE = 711,
TRUSTED = 712,
TYPE_P = 713,
TYPES_P = 714,
UESCAPE = 715,
UNBOUNDED = 716,
UNCONDITIONAL = 717,
UNCOMMITTED = 718,
UNENCRYPTED = 719,
UNION = 720,
UNIQUE = 721,
UNKNOWN = 722,
UNLISTEN = 723,
UNLOGGED = 724,
UNTIL = 725,
UPDATE = 726,
USER = 727,
USING = 728,
VACUUM = 729,
VALID = 730,
VALIDATE = 731,
VALIDATOR = 732,
VALUE_P = 733,
VALUES = 734,
VARCHAR = 735,
VARIADIC = 736,
VARYING = 737,
VERBOSE = 738,
VERSION_P = 739,
VIEW = 740,
VIEWS = 741,
VOLATILE = 742,
WHEN = 743,
WHERE = 744,
WHITESPACE_P = 745,
WINDOW = 746,
WITH = 747,
WITHIN = 748,
WITHOUT = 749,
WORK = 750,
WRAPPER = 751,
WRITE = 752,
XML_P = 753,
XMLATTRIBUTES = 754,
XMLCONCAT = 755,
XMLELEMENT = 756,
XMLEXISTS = 757,
XMLFOREST = 758,
XMLNAMESPACES = 759,
XMLPARSE = 760,
XMLPI = 761,
XMLROOT = 762,
XMLSERIALIZE = 763,
XMLTABLE = 764,
YEAR_P = 765,
YES_P = 766,
ZONE = 767,
FORMAT_LA = 768,
NOT_LA = 769,
NULLS_LA = 770,
WITH_LA = 771,
WITHOUT_LA = 772,
MODE_TYPE_NAME = 773,
MODE_PLPGSQL_EXPR = 774,
MODE_PLPGSQL_ASSIGN1 = 775,
MODE_PLPGSQL_ASSIGN2 = 776,
MODE_PLPGSQL_ASSIGN3 = 777,
UMINUS = 778
};
#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 ENUM_P 405
#define ERROR_P 406
#define ESCAPE 407
#define EVENT 408
#define EXCEPT 409
#define EXCLUDE 410
#define EXCLUDING 411
#define EXCLUSIVE 412
#define EXECUTE 413
#define EXISTS 414
#define EXPLAIN 415
#define EXPRESSION 416
#define EXTENSION 417
#define EXTERNAL 418
#define EXTRACT 419
#define FALSE_P 420
#define FAMILY 421
#define FETCH 422
#define FILTER 423
#define FINALIZE 424
#define FIRST_P 425
#define FLOAT_P 426
#define FOLLOWING 427
#define FOR 428
#define FORCE 429
#define FOREIGN 430
#define FORMAT 431
#define FORWARD 432
#define FREEZE 433
#define FROM 434
#define FULL 435
#define FUNCTION 436
#define FUNCTIONS 437
#define GENERATED 438
#define GLOBAL 439
#define GRANT 440
#define GRANTED 441
#define GREATEST 442
#define GROUP_P 443
#define GROUPING 444
#define GROUPS 445
#define HANDLER 446
#define HAVING 447
#define HEADER_P 448
#define HOLD 449
#define HOUR_P 450
#define IDENTITY_P 451
#define IF_P 452
#define ILIKE 453
#define IMMEDIATE 454
#define IMMUTABLE 455
#define IMPLICIT_P 456
#define IMPORT_P 457
#define IN_P 458
#define INCLUDE 459
#define INCLUDING 460
#define INCREMENT 461
#define INDENT 462
#define INDEX 463
#define INDEXES 464
#define INHERIT 465
#define INHERITS 466
#define INITIALLY 467
#define INLINE_P 468
#define INNER_P 469
#define INOUT 470
#define INPUT_P 471
#define INSENSITIVE 472
#define INSERT 473
#define INSTEAD 474
#define INT_P 475
#define INTEGER 476
#define INTERSECT 477
#define INTERVAL 478
#define INTO 479
#define INVOKER 480
#define IS 481
#define ISNULL 482
#define ISOLATION 483
#define JOIN 484
#define JSON 485
#define JSON_ARRAY 486
#define JSON_ARRAYAGG 487
#define JSON_EXISTS 488
#define JSON_OBJECT 489
#define JSON_OBJECTAGG 490
#define JSON_QUERY 491
#define JSON_SCALAR 492
#define JSON_SERIALIZE 493
#define JSON_TABLE 494
#define JSON_VALUE 495
#define KEEP 496
#define KEY 497
#define KEYS 498
#define LABEL 499
#define LANGUAGE 500
#define LARGE_P 501
#define LAST_P 502
#define LATERAL_P 503
#define LEADING 504
#define LEAKPROOF 505
#define LEAST 506
#define LEFT 507
#define LEVEL 508
#define LIKE 509
#define LIMIT 510
#define LISTEN 511
#define LOAD 512
#define LOCAL 513
#define LOCALTIME 514
#define LOCALTIMESTAMP 515
#define LOCATION 516
#define LOCK_P 517
#define LOCKED 518
#define LOGGED 519
#define MAPPING 520
#define MATCH 521
#define MATCHED 522
#define MATERIALIZED 523
#define MAXVALUE 524
#define MERGE 525
#define MERGE_ACTION 526
#define METHOD 527
#define MINUTE_P 528
#define MINVALUE 529
#define MODE 530
#define MONTH_P 531
#define MOVE 532
#define NAME_P 533
#define NAMES 534
#define NATIONAL 535
#define NATURAL 536
#define NCHAR 537
#define NESTED 538
#define NEW 539
#define NEXT 540
#define NFC 541
#define NFD 542
#define NFKC 543
#define NFKD 544
#define NO 545
#define NONE 546
#define NORMALIZE 547
#define NORMALIZED 548
#define NOT 549
#define NOTHING 550
#define NOTIFY 551
#define NOTNULL 552
#define NOWAIT 553
#define NULL_P 554
#define NULLIF 555
#define NULLS_P 556
#define NUMERIC 557
#define OBJECT_P 558
#define OF 559
#define OFF 560
#define OFFSET 561
#define OIDS 562
#define OLD 563
#define OMIT 564
#define ON 565
#define ONLY 566
#define OPERATOR 567
#define OPTION 568
#define OPTIONS 569
#define OR 570
#define ORDER 571
#define ORDINALITY 572
#define OTHERS 573
#define OUT_P 574
#define OUTER_P 575
#define OVER 576
#define OVERLAPS 577
#define OVERLAY 578
#define OVERRIDING 579
#define OWNED 580
#define OWNER 581
#define PARALLEL 582
#define PARAMETER 583
#define PARSER 584
#define PARTIAL 585
#define PARTITION 586
#define PASSING 587
#define PASSWORD 588
#define PATH 589
#define PLACING 590
#define PLAN 591
#define PLANS 592
#define POLICY 593
#define POSITION 594
#define PRECEDING 595
#define PRECISION 596
#define PRESERVE 597
#define PREPARE 598
#define PREPARED 599
#define PRIMARY 600
#define PRIOR 601
#define PRIVILEGES 602
#define PROCEDURAL 603
#define PROCEDURE 604
#define PROCEDURES 605
#define PROGRAM 606
#define PUBLICATION 607
#define QUOTE 608
#define QUOTES 609
#define RANGE 610
#define READ 611
#define REAL 612
#define REASSIGN 613
#define RECHECK 614
#define RECURSIVE 615
#define REF_P 616
#define REFERENCES 617
#define REFERENCING 618
#define REFRESH 619
#define REINDEX 620
#define RELATIVE_P 621
#define RELEASE 622
#define RENAME 623
#define REPEATABLE 624
#define REPLACE 625
#define REPLICA 626
#define RESET 627
#define RESTART 628
#define RESTRICT 629
#define RETURN 630
#define RETURNING 631
#define RETURNS 632
#define REVOKE 633
#define RIGHT 634
#define ROLE 635
#define ROLLBACK 636
#define ROLLUP 637
#define ROUTINE 638
#define ROUTINES 639
#define ROW 640
#define ROWS 641
#define RULE 642
#define SAVEPOINT 643
#define SCALAR 644
#define SCHEMA 645
#define SCHEMAS 646
#define SCROLL 647
#define SEARCH 648
#define SECOND_P 649
#define SECURITY 650
#define SELECT 651
#define SEQUENCE 652
#define SEQUENCES 653
#define SERIALIZABLE 654
#define SERVER 655
#define SESSION 656
#define SESSION_USER 657
#define SET 658
#define SETS 659
#define SETOF 660
#define SHARE 661
#define SHOW 662
#define SIMILAR 663
#define SIMPLE 664
#define SKIP 665
#define SMALLINT 666
#define SNAPSHOT 667
#define SOME 668
#define SOURCE 669
#define SQL_P 670
#define STABLE 671
#define STANDALONE_P 672
#define START 673
#define STATEMENT 674
#define STATISTICS 675
#define STDIN 676
#define STDOUT 677
#define STORAGE 678
#define STORED 679
#define STRICT_P 680
#define STRING_P 681
#define STRIP_P 682
#define SUBSCRIPTION 683
#define SUBSTRING 684
#define SUPPORT 685
#define SYMMETRIC 686
#define SYSID 687
#define SYSTEM_P 688
#define SYSTEM_USER 689
#define TABLE 690
#define TABLES 691
#define TABLESAMPLE 692
#define TABLESPACE 693
#define TARGET 694
#define TEMP 695
#define TEMPLATE 696
#define TEMPORARY 697
#define TEXT_P 698
#define THEN 699
#define TIES 700
#define TIME 701
#define TIMESTAMP 702
#define TO 703
#define TRAILING 704
#define TRANSACTION 705
#define TRANSFORM 706
#define TREAT 707
#define TRIGGER 708
#define TRIM 709
#define TRUE_P 710
#define TRUNCATE 711
#define TRUSTED 712
#define TYPE_P 713
#define TYPES_P 714
#define UESCAPE 715
#define UNBOUNDED 716
#define UNCONDITIONAL 717
#define UNCOMMITTED 718
#define UNENCRYPTED 719
#define UNION 720
#define UNIQUE 721
#define UNKNOWN 722
#define UNLISTEN 723
#define UNLOGGED 724
#define UNTIL 725
#define UPDATE 726
#define USER 727
#define USING 728
#define VACUUM 729
#define VALID 730
#define VALIDATE 731
#define VALIDATOR 732
#define VALUE_P 733
#define VALUES 734
#define VARCHAR 735
#define VARIADIC 736
#define VARYING 737
#define VERBOSE 738
#define VERSION_P 739
#define VIEW 740
#define VIEWS 741
#define VOLATILE 742
#define WHEN 743
#define WHERE 744
#define WHITESPACE_P 745
#define WINDOW 746
#define WITH 747
#define WITHIN 748
#define WITHOUT 749
#define WORK 750
#define WRAPPER 751
#define WRITE 752
#define XML_P 753
#define XMLATTRIBUTES 754
#define XMLCONCAT 755
#define XMLELEMENT 756
#define XMLEXISTS 757
#define XMLFOREST 758
#define XMLNAMESPACES 759
#define XMLPARSE 760
#define XMLPI 761
#define XMLROOT 762
#define XMLSERIALIZE 763
#define XMLTABLE 764
#define YEAR_P 765
#define YES_P 766
#define ZONE 767
#define FORMAT_LA 768
#define NOT_LA 769
#define NULLS_LA 770
#define WITH_LA 771
#define WITHOUT_LA 772
#define MODE_TYPE_NAME 773
#define MODE_PLPGSQL_EXPR 774
#define MODE_PLPGSQL_ASSIGN1 775
#define MODE_PLPGSQL_ASSIGN2 776
#define MODE_PLPGSQL_ASSIGN3 777
#define UMINUS 778
/* Copy the first part of user declarations. */
#line 1 "gram.y"
/*#define YYDEBUG 1*/
/*-------------------------------------------------------------------------
*
* gram.y
* POSTGRESQL BISON rules/actions
*
* Portions Copyright (c) 1996-2024, 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 "access/tableam.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 "storage/lmgr.h"
#include "utils/date.h"
#include "utils/datetime.h"
#include "utils/numeric.h"
#include "utils/xml.h"
/*
* Location tracking support --- simpler than bison's default, since we only
* want to track the start position not the end position of each nonterminal.
*/
#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
if ((N) > 0) \
(Current) = (Rhs)[1]; \
else \
(Current) = (-1); \
} while (0)
/*
* The above macro assigns -1 (unknown) as the parse location of any
* nonterminal that was reduced from an empty rule, or whose leftmost
* component was reduced from an empty rule. This is problematic
* for nonterminals defined like
* OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
* because we'll set -1 as the location during the first reduction and then
* copy it during each subsequent reduction, leaving us with -1 for the
* location even when the list is not empty. To fix that, do this in the
* action for the nonempty rule(s):
* if (@$ < 0) @$ = @2;
* (Although we have many nonterminals that follow this pattern, we only
* bother with fixing @$ like this when the nonterminal's parse location
* is actually referenced in some rule.)
*
* A cleaner answer would be to make YYLLOC_DEFAULT scan all the Rhs
* locations until it's found one that's not -1. Then we'd get a correct
* location for any nonterminal that isn't entirely empty. But this way
* would add overhead to every rule reduction, and so far there's not been
* a compelling reason to pay that overhead.
*/
/*
* 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 opt_select_limit production */
typedef struct SelectLimit
{
Node *limitOffset;
Node *limitCount;
LimitOption limitOption;
} 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 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);
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);
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 *not_valid,
bool *no_inherit, core_yyscan_t yyscanner);
static PartitionStrategy parsePartitionStrategy(char *strategy);
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 233 "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;
}
/* Line 193 of yacc.c. */
#line 1425 "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 1450 "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 928
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 123974
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 541
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 727
/* YYNRULES -- Number of rules. */
#define YYNRULES 3422
/* YYNRULES -- Number of states. */
#define YYNSTATES 6475
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 778
#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, 530, 2, 2,
535, 536, 528, 526, 539, 527, 537, 529, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 540, 538,
523, 525, 524, 2, 2, 2, 2, 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, 534, 531, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 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, 532
};
#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, 1105, 1112, 1117, 1121,
1125, 1129, 1132, 1135, 1139, 1144, 1149, 1153, 1157, 1161,
1165, 1169, 1173, 1178, 1183, 1187, 1190, 1194, 1197, 1200,
1204, 1209, 1213, 1216, 1219, 1223, 1228, 1233, 1238, 1244,
1246, 1250, 1253, 1256, 1257, 1260, 1261, 1263, 1265, 1267,
1271, 1275, 1278, 1279, 1281, 1285, 1289, 1291, 1297, 1301,
1303, 1306, 1308, 1312, 1315, 1319, 1321, 1323, 1325, 1327,
1334, 1341, 1352, 1354, 1357, 1359, 1363, 1368, 1370, 1374,
1379, 1386, 1391, 1400, 1403, 1406, 1418, 1428, 1430, 1432,
1434, 1435, 1437, 1439, 1441, 1443, 1447, 1450, 1451, 1453,
1455, 1459, 1463, 1465, 1467, 1471, 1475, 1479, 1483, 1488,
1493, 1497, 1501, 1504, 1506, 1507, 1511, 1512, 1514, 1515,
1517, 1521, 1524, 1526, 1528, 1530, 1532, 1536, 1537, 1539,
1543, 1545, 1559, 1576, 1589, 1605, 1620, 1638, 1640, 1642,
1645, 1648, 1651, 1654, 1656, 1657, 1659, 1660, 1664, 1665,
1667, 1671, 1673, 1677, 1679, 1681, 1683, 1685, 1687, 1694,
1697, 1702, 1705, 1708, 1710, 1711, 1714, 1717, 1719, 1720,
1723, 1724, 1728, 1730, 1732, 1735, 1738, 1740, 1745, 1750,
1756, 1759, 1765, 1773, 1779, 1782, 1786, 1787, 1789, 1792,
1794, 1797, 1800, 1803, 1807, 1811, 1815, 1816, 1818, 1820,
1822, 1824, 1826, 1828, 1830, 1832, 1834, 1836, 1840, 1842,
1848, 1858, 1862, 1872, 1877, 1888, 1900, 1904, 1906, 1912,
1916, 1919, 1920, 1924, 1925, 1927, 1931, 1933, 1938, 1939,
1942, 1945, 1948, 1949, 1951, 1955, 1959, 1966, 1971, 1972,
1974, 1976, 1979, 1982, 1983, 1987, 1991, 1994, 1996, 1998,
2002, 2006, 2011, 2012, 2014, 2015, 2022, 2024, 2028, 2032,
2036, 2042, 2045, 2046, 2049, 2052, 2053, 2057, 2062, 2067,
2068, 2071, 2072, 2077, 2078, 2082, 2091, 2103, 2105, 2109,
2111, 2113, 2117, 2124, 2133, 2141, 2152, 2159, 2162, 2166,
2167, 2176, 2188, 2194, 2196, 2197, 2204, 2210, 2219, 2224,
2231, 2233, 2234, 2238, 2239, 2241, 2244, 2247, 2250, 2252,
2255, 2259, 2261, 2264, 2267, 2270, 2273, 2277, 2281, 2285,
2287, 2291, 2293, 2295, 2296, 2298, 2301, 2304, 2306, 2308,
2312, 2319, 2330, 2332, 2333, 2335, 2338, 2341, 2342, 2345,
2348, 2350, 2351, 2353, 2354, 2362, 2365, 2366, 2370, 2376,
2382, 2391, 2394, 2395, 2398, 2401, 2404, 2406, 2412, 2415,
2416, 2419, 2426, 2433, 2440, 2451, 2458, 2465, 2472, 2482,
2492, 2499, 2506, 2516, 2523, 2531, 2534, 2537, 2540, 2543,
2545, 2548, 2550, 2551, 2559, 2566, 2571, 2572, 2574, 2578,
2583, 2585, 2589, 2591, 2594, 2597, 2600, 2603, 2605, 2607,
2618, 2632, 2635, 2636, 2639, 2642, 2644, 2645, 2651, 2656,
2661, 2673, 2688, 2701, 2717, 2729, 2732, 2734, 2739, 2740,
2749, 2761, 2763, 2765, 2773, 2783, 2792, 2803, 2812, 2817,
2818, 2824, 2825, 2828, 2829, 2832, 2833, 2836, 2837, 2840,
2841, 2843, 2845, 2847, 2849, 2851, 2860, 2862, 2864, 2882,
2904, 2906, 2908, 2911, 2913, 2917, 2919, 2921, 2923, 2927,
2929, 2932, 2933, 2935, 2938, 2943, 2945, 2947, 2949, 2951,
2953, 2957, 2958, 2960, 2961, 2963, 2965, 2970, 2971, 2973,
2975, 2977, 2981, 2982, 2984, 2986, 2988, 2990, 2993, 2994,
2995, 2998, 3001, 3003, 3006, 3009, 3012, 3015, 3027, 3041,
3043, 3047, 3053, 3055, 3059, 3065, 3067, 3070, 3073, 3075,
3084, 3091, 3097, 3102, 3107, 3111, 3119, 3128, 3135, 3142,
3149, 3156, 3163, 3168, 3176, 3182, 3191, 3195, 3197, 3201,
3205, 3207, 3209, 3211, 3213, 3215, 3217, 3219, 3223, 3225,
3229, 3233, 3235, 3236, 3238, 3242, 3250, 3260, 3270, 3279,
3286, 3290, 3291, 3305, 3307, 3311, 3317, 3323, 3327, 3334,
3337, 3339, 3340, 3343, 3344, 3347, 3352, 3353, 3355, 3356,
3363, 3372, 3381, 3383, 3387, 3393, 3399, 3407, 3417, 3425,
3435, 3441, 3448, 3455, 3460, 3467, 3472, 3479, 3488, 3493,
3500, 3505, 3512, 3518, 3526, 3528, 3530, 3532, 3535, 3537,
3540, 3542, 3544, 3546, 3550, 3554, 3558, 3562, 3564, 3566,
3568, 3570, 3572, 3575, 3578, 3580, 3584, 3587, 3589, 3591,
3593, 3595, 3597, 3599, 3601, 3605, 3607, 3610, 3613, 3617,
3619, 3623, 3629, 3632, 3635, 3636, 3643, 3650, 3657, 3664,
3671, 3678, 3685, 3692, 3701, 3711, 3720, 3727, 3734, 3744,
3754, 3764, 3772, 3783, 3785, 3787, 3796, 3805, 3814, 3823,
3832, 3841, 3850, 3860, 3869, 3878, 3881, 3882, 3884, 3886,
3889, 3892, 3894, 3897, 3901, 3905, 3909, 3913, 3918, 3923,
3927, 3931, 3935, 3940, 3945, 3949, 3954, 3959, 3961, 3963,
3965, 3966, 3975, 3984, 3996, 3998, 4000, 4003, 4008, 4014,
4016, 4020, 4023, 4026, 4029, 4032, 4035, 4037, 4041, 4043,
4047, 4049, 4052, 4055, 4060, 4064, 4067, 4070, 4073, 4076,
4079, 4082, 4086, 4089, 4092, 4095, 4098, 4104, 4110, 4116,
4122, 4128, 4130, 4134, 4136, 4139, 4143, 4144, 4150, 4158,
4165, 4175, 4179, 4181, 4184, 4186, 4188, 4190, 4194, 4195,
4201, 4204, 4205, 4209, 4213, 4217, 4225, 4233, 4244, 4246,
4248, 4250, 4252, 4254, 4256, 4273, 4293, 4295, 4296, 4299,
4300, 4302, 4306, 4311, 4317, 4320, 4323, 4328, 4333, 4334,
4336, 4340, 4343, 4344, 4346, 4348, 4349, 4352, 4355, 4356,
4366, 4379, 4387, 4395, 4398, 4399, 4403, 4406, 4408, 4412,
4414, 4418, 4421, 4423, 4425, 4428, 4432, 4435, 4437, 4441,
4445, 4449, 4452, 4455, 4457, 4459, 4461, 4463, 4466, 4468,
4470, 4472, 4474, 4479, 4485, 4487, 4491, 4495, 4497, 4501,
4505, 4511, 4518, 4520, 4524, 4527, 4529, 4533, 4535, 4536,
4538, 4541, 4546, 4552, 4554, 4556, 4558, 4560, 4564, 4568,
4571, 4574, 4576, 4579, 4582, 4585, 4588, 4590, 4593, 4596,
4599, 4602, 4605, 4607, 4609, 4611, 4615, 4618, 4620, 4625,
4626, 4630, 4631, 4633, 4635, 4639, 4645, 4648, 4649, 4652,
4654, 4658, 4664, 4670, 4676, 4678, 4681, 4683, 4684, 4689,
4696, 4701, 4708, 4713, 4720, 4725, 4732, 4737, 4744, 4748,
4754, 4760, 4766, 4768, 4772, 4774, 4778, 4781, 4784, 4786,
4789, 4791, 4794, 4797, 4809, 4820, 4831, 4834, 4837, 4838,
4848, 4851, 4852, 4863, 4875, 4887, 4893, 4899, 4908, 4914,
4920, 4926, 4928, 4930, 4932, 4934, 4938, 4939, 4945, 4951,
4958, 4965, 4972, 4979, 4986, 4995, 5004, 5011, 5018, 5026,
5036, 5046, 5055, 5066, 5073, 5080, 5087, 5094, 5101, 5108,
5115, 5124, 5131, 5140, 5147, 5156, 5164, 5174, 5181, 5190,
5198, 5208, 5217, 5228, 5237, 5248, 5258, 5270, 5279, 5290,
5300, 5312, 5321, 5330, 5338, 5345, 5352, 5359, 5366, 5375,
5384, 5393, 5402, 5409, 5419, 5421, 5422, 5425, 5426, 5435,
5444, 5453, 5464, 5474, 5483, 5485, 5486, 5493, 5500, 5507,
5514, 5521, 5528, 5535, 5545, 5555, 5562, 5569, 5576, 5585,
5592, 5601, 5610, 5619, 5628, 5635, 5644, 5651, 5660, 5668,
5678, 5686, 5696, 5703, 5711, 5713, 5717, 5721, 5725, 5727,
5729, 5731, 5733, 5735, 5737, 5745, 5752, 5759, 5766, 5773,
5780, 5787, 5795, 5803, 5810, 5820, 5830, 5837, 5844, 5851,
5858, 5865, 5872, 5881, 5890, 5899, 5906, 5914, 5921, 5928,
5933, 5941, 5948, 5953, 5958, 5963, 5967, 5972, 5976, 5978,
5980, 5984, 5990, 5996, 6002, 6008, 6017, 6023, 6029, 6036,
6044, 6052, 6060, 6065, 6070, 6076, 6081, 6088, 6102, 6104,
6106, 6110, 6114, 6116, 6118, 6120, 6122, 6124, 6126, 6128,
6129, 6131, 6133, 6135, 6137, 6139, 6141, 6142, 6147, 6150,
6153, 6156, 6159, 6163, 6167, 6171, 6175, 6178, 6182, 6185,
6191, 6196, 6200, 6204, 6208, 6212, 6216, 6218, 6220, 6221,
6225, 6228, 6231, 6233, 6236, 6238, 6242, 6245, 6247, 6248,
6251, 6255, 6256, 6266, 6278, 6291, 6306, 6310, 6315, 6320,
6321, 6324, 6330, 6332, 6333, 6335, 6338, 6342, 6346, 6350,
6352, 6355, 6357, 6359, 6361, 6363, 6365, 6367, 6368, 6374,
6379, 6386, 6393, 6398, 6402, 6408, 6416, 6426, 6428, 6432,
6434, 6440, 6445, 6450, 6457, 6462, 6469, 6476, 6482, 6490,
6500, 6507, 6509, 6510, 6517, 6529, 6541, 6553, 6567, 6577,
6589, 6591, 6593, 6604, 6611, 6616, 6621, 6624, 6630, 6633,
6634, 6641, 6647, 6651, 6657, 6659, 6663, 6665, 6667, 6670,
6672, 6674, 6676, 6678, 6680, 6681, 6683, 6684, 6686, 6687,
6689, 6690, 6692, 6693, 6697, 6698, 6701, 6703, 6707, 6709,
6710, 6713, 6718, 6722, 6728, 6730, 6732, 6734, 6736, 6738,
6740, 6742, 6744, 6746, 6748, 6754, 6758, 6759, 6761, 6763,
6765, 6767, 6769, 6773, 6783, 6796, 6800, 6801, 6804, 6808,
6811, 6815, 6823, 6825, 6829, 6831, 6836, 6841, 6849, 6852,
6854, 6856, 6858, 6862, 6865, 6874, 6880, 6881, 6886, 6890,
6891, 6894, 6895, 6903, 6906, 6907, 6913, 6917, 6918, 6921,
6924, 6927, 6931, 6933, 6937, 6939, 6942, 6944, 6945, 6947,
6950, 6951, 6960, 6962, 6966, 6970, 6976, 6979, 6981, 6985,
6996, 6998, 7001, 7006, 7011, 7016, 7022, 7028, 7031, 7037,
7041, 7047, 7050, 7051, 7055, 7057, 7060, 7066, 7072, 7081,
7085, 7090, 7098, 7100, 7101, 7105, 7108, 7111, 7114, 7117,
7118, 7121, 7124, 7126, 7128, 7132, 7136, 7138, 7141, 7146,
7151, 7154, 7158, 7164, 7170, 7172, 7174, 7184, 7194, 7196,
7199, 7204, 7209, 7214, 7217, 7220, 7224, 7226, 7230, 7240,
7242, 7245, 7246, 7254, 7262, 7263, 7274, 7281, 7282, 7284,
7285, 7288, 7289, 7293, 7297, 7302, 7307, 7312, 7317, 7321,
7324, 7326, 7328, 7329, 7331, 7333, 7334, 7336, 7342, 7344,
7345, 7347, 7349, 7351, 7352, 7356, 7358, 7362, 7367, 7371,
7374, 7377, 7379, 7381, 7383, 7384, 7387, 7392, 7398, 7405,
7410, 7416, 7419, 7423, 7425, 7427, 7429, 7431, 7434, 7437,
7439, 7441, 7443, 7445, 7447, 7449, 7454, 7455, 7457, 7461,
7463, 7465, 7467, 7469, 7471, 7474, 7479, 7484, 7490, 7493,
7494, 7496, 7500, 7502, 7503, 7505, 7508, 7512, 7515, 7520,
7523, 7527, 7530, 7531, 7536, 7542, 7545, 7546, 7548, 7552,
7555, 7559, 7562, 7566, 7569, 7573, 7576, 7580, 7582, 7587,
7590, 7594, 7598, 7603, 7609, 7614, 7620, 7625, 7631, 7634,
7639, 7641, 7643, 7644, 7647, 7648, 7650, 7655, 7661, 7666,
7667, 7670, 7673, 7676, 7678, 7680, 7681, 7687, 7690, 7692,
7694, 7697, 7700, 7705, 7707, 7711, 7713, 7716, 7720, 7727,
7732, 7733, 7736, 7743, 7746, 7748, 7752, 7757, 7758, 7761,
7762, 7765, 7766, 7769, 7774, 7775, 7777, 7778, 7780, 7784,
7788, 7796, 7809, 7811, 7815, 7818, 7822, 7826, 7828, 7831,
7834, 7837, 7840, 7842, 7845, 7847, 7851, 7855, 7858, 7872,
7875, 7876, 7878, 7882, 7886, 7893, 7901, 7907, 7915, 7925,
7927, 7928, 7931, 7932, 7935, 7939, 7945, 7952, 7955, 7959,
7963, 7968, 7969, 7971, 7973, 7975, 7977, 7979, 7982, 7987,
7989, 7991, 7993, 7995, 7997, 7999, 8002, 8006, 8010, 8011,
8013, 8015, 8017, 8019, 8021, 8024, 8027, 8030, 8033, 8036,
8038, 8042, 8043, 8045, 8047, 8049, 8051, 8057, 8060, 8062,
8064, 8066, 8068, 8073, 8075, 8078, 8081, 8083, 8087, 8091,
8094, 8096, 8097, 8103, 8106, 8112, 8115, 8117, 8121, 8125,
8126, 8128, 8130, 8132, 8134, 8136, 8138, 8142, 8146, 8150,
8154, 8158, 8162, 8166, 8167, 8169, 8174, 8176, 8178, 8182,
8186, 8192, 8196, 8199, 8202, 8206, 8210, 8214, 8218, 8222,
8226, 8230, 8234, 8238, 8242, 8246, 8250, 8254, 8257, 8261,
8265, 8268, 8271, 8275, 8281, 8286, 8293, 8297, 8303, 8308,
8315, 8320, 8327, 8333, 8341, 8345, 8348, 8353, 8356, 8360,
8364, 8369, 8373, 8378, 8382, 8387, 8393, 8400, 8407, 8415,
8422, 8430, 8434, 8439, 8444, 8451, 8455, 8459, 8464, 8468,
8473, 8478, 8484, 8489, 8495, 8497, 8499, 8503, 8506, 8509,
8513, 8517, 8521, 8525, 8529, 8533, 8537, 8541, 8545, 8549,
8553, 8557, 8561, 8564, 8570, 8577, 8581, 8586, 8588, 8590,
8593, 8598, 8600, 8602, 8604, 8607, 8610, 8613, 8616, 8618,
8620, 8625, 8629, 8635, 8642, 8651, 8658, 8665, 8670, 8675,
8679, 8681, 8683, 8685, 8687, 8693, 8695, 8697, 8702, 8704,
8709, 8711, 8716, 8718, 8723, 8725, 8727, 8729, 8731, 8733,
8735, 8737, 8744, 8749, 8754, 8761, 8766, 8771, 8776, 8781,
8786, 8793, 8799, 8805, 8811, 8816, 8823, 8828, 8833, 8838,
8843, 8849, 8857, 8865, 8875, 8881, 8886, 8893, 8899, 8907,
8915, 8924, 8929, 8937, 8942, 8949, 8956, 8961, 8967, 8972,
8978, 8982, 8994, 9003, 9013, 9016, 9020, 9024, 9028, 9033,
9034, 9039, 9041, 9045, 9049, 9051, 9053, 9055, 9057, 9060,
9061, 9064, 9067, 9068, 9071, 9075, 9079, 9084, 9087, 9090,
9096, 9097, 9103, 9104, 9107, 9108, 9110, 9114, 9118, 9121,
9124, 9125, 9132, 9134, 9135, 9139, 9140, 9144, 9148, 9152,
9153, 9155, 9160, 9163, 9166, 9169, 9172, 9175, 9179, 9182,
9185, 9189, 9190, 9195, 9199, 9205, 9210, 9214, 9220, 9222,
9224, 9226, 9228, 9230, 9232, 9234, 9236, 9238, 9240, 9242,
9244, 9246, 9248, 9250, 9252, 9254, 9256, 9261, 9263, 9268,
9270, 9275, 9277, 9280, 9282, 9285, 9287, 9291, 9293, 9297,
9299, 9303, 9307, 9309, 9310, 9312, 9316, 9320, 9324, 9327,
9329, 9333, 9337, 9341, 9343, 9345, 9347, 9349, 9351, 9353,
9355, 9357, 9359, 9361, 9363, 9365, 9373, 9379, 9383, 9389,
9395, 9399, 9403, 9409, 9413, 9416, 9418, 9420, 9424, 9430,
9432, 9435, 9440, 9443, 9444, 9446, 9447, 9449, 9452, 9455,
9458, 9462, 9468, 9470, 9471, 9473, 9476, 9477, 9480, 9482,
9483, 9486, 9487, 9489, 9493, 9497, 9500, 9504, 9507, 9511,
9516, 9521, 9525, 9529, 9530, 9533, 9535, 9537, 9539, 9541,
9543, 9545, 9548, 9551, 9553, 9557, 9561, 9568, 9569, 9573,
9574, 9577, 9582, 9585, 9587, 9588, 9594, 9597, 9603, 9606,
9607, 9611, 9612, 9614, 9617, 9620, 9623, 9626, 9630, 9633,
9637, 9640, 9641, 9643, 9647, 9651, 9655, 9659, 9663, 9664,
9668, 9672, 9673, 9675, 9679, 9687, 9695, 9699, 9700, 9702,
9703, 9705, 9709, 9713, 9716, 9718, 9720, 9722, 9726, 9728,
9731, 9733, 9737, 9739, 9741, 9743, 9745, 9748, 9750, 9752,
9754, 9756, 9758, 9761, 9768, 9771, 9778, 9781, 9785, 9791,
9794, 9798, 9804, 9806, 9808, 9810, 9812, 9814, 9816, 9819,
9822, 9824, 9826, 9828, 9830, 9832, 9834, 9838, 9849, 9854,
9856, 9858, 9860, 9862, 9864, 9866, 9868, 9870, 9872, 9874,
9876, 9878, 9880, 9882, 9884, 9886, 9888, 9890, 9892, 9894,
9896, 9898, 9900, 9902, 9904, 9906, 9908, 9910, 9912, 9914,
9916, 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
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
542, 0, -1, 543, -1, 518, 1126, -1, 519, 1254,
-1, 520, 1255, -1, 521, 1255, -1, 522, 1255, -1,
543, 538, 544, -1, 544, -1, 545, -1, 949, -1,
779, -1, 969, -1, 964, -1, 965, -1, 846, -1,
972, -1, 792, -1, 714, -1, 717, -1, 722, -1,
735, -1, 894, -1, 563, -1, 922, -1, 924, -1,
930, -1, 925, -1, 929, -1, 745, -1, 693, -1,
970, -1, 591, -1, 918, -1, 611, -1, 934, -1,
560, -1, 558, -1, 936, -1, 684, -1, 975, -1,
974, -1, 743, -1, 981, -1, 550, -1, 589, -1,
614, -1, 978, -1, 820, -1, 586, -1, 615, -1,
753, -1, 685, -1, 781, -1, 907, -1, 977, -1,
971, -1, 711, -1, 718, -1, 731, -1, 736, -1,
862, -1, 562, -1, 688, -1, 794, -1, 801, -1,
931, -1, 802, -1, 744, -1, 701, -1, 565, -1,
692, -1, 630, -1, 935, -1, 681, -1, 708, -1,
911, -1, 755, -1, 775, -1, 551, -1, 557, -1,
740, -1, 958, -1, 1002, -1, 1034, -1, 782, -1,
1012, -1, 590, -1, 904, -1, 909, -1, 805, -1,
806, -1, 807, -1, 809, -1, 937, -1, 710, -1,
913, -1, 561, -1, 742, -1, 966, -1, 1000, -1,
995, -1, 825, -1, 829, -1, 840, -1, 737, -1,
851, -1, 1003, -1, 946, -1, 691, -1, 957, -1,
1014, -1, 1024, -1, 945, -1, 997, -1, 808, -1,
914, -1, 898, -1, 897, -1, 899, -1, 919, -1,
830, -1, 841, -1, 938, -1, 822, -1, 1038, -1,
948, -1, 818, -1, 947, -1, 1019, -1, 980, -1,
580, -1, 568, -1, 585, -1, 955, -1, -1, 1258,
-1, -1, 815, -1, -1, 89, -1, -1, 65, -1,
374, -1, -1, 63, 1153, -1, 101, 380, 1251, 552,
553, -1, 492, -1, 516, -1, -1, 553, 556, -1,
-1, 554, 555, -1, -1, 333, 1249, -1, 333, 12,
-1, 333, 299, -1, 148, 333, 1249, -1, 148, 333,
12, -1, 464, 333, 1249, -1, 210, -1, 93, 255,
1250, -1, 475, 470, 1249, -1, 472, 1253, -1, 3,
-1, 555, -1, 432, 1248, -1, 28, 1253, -1, 380,
1253, -1, 203, 380, 1253, -1, 203, 188, 1253, -1,
101, 472, 1251, 552, 553, -1, 33, 380, 1252, 552,
554, -1, 33, 472, 1252, 552, 554, -1, -1, 203,
116, 1243, -1, 33, 380, 1252, 559, 583, -1, 33,
380, 31, 559, 583, -1, 33, 472, 1252, 559, 583,
-1, 33, 472, 31, 559, 583, -1, 142, 380, 1253,
-1, 142, 380, 197, 159, 1253, -1, 142, 472, 1253,
-1, 142, 472, 197, 159, 1253, -1, 142, 188, 1253,
-1, 142, 188, 197, 159, 1253, -1, 101, 188, 1251,
552, 553, -1, 33, 188, 1252, 564, 472, 1253, -1,
27, -1, 142, -1, 101, 390, 546, 50, 1252, 566,
-1, 101, 390, 1258, 566, -1, 101, 390, 197, 294,
159, 546, 50, 1252, 566, -1, 101, 390, 197, 294,
159, 1258, 566, -1, 566, 567, -1, -1, 630, -1,
851, -1, 692, -1, 755, -1, 829, -1, 955, -1,
403, 569, -1, 403, 258, 569, -1, 403, 401, 569,
-1, 450, 952, -1, 401, 73, 40, 450, 952, -1,
571, -1, 572, 448, 573, -1, 572, 525, 573, -1,
572, 448, 122, -1, 572, 525, 122, -1, 570, -1,
572, 179, 105, -1, 446, 512, 577, -1, 69, 1249,
-1, 390, 1249, -1, 390, 12, -1, 279, 578, -1,
380, 579, -1, 380, 12, -1, 401, 50, 579, -1,
401, 50, 12, -1, 401, 50, 122, -1, 498, 313,
1162, -1, 450, 412, 1249, -1, 1258, -1, 572, 537,
1258, -1, 574, -1, 573, 539, 574, -1, 576, -1,
699, -1, 12, -1, 356, 463, -1, 356, 87, -1,
369, 356, -1, 399, -1, 455, -1, 165, -1, 310,
-1, 579, -1, 1249, -1, 12, -1, 3, -1, 1145,
1249, 1147, -1, 1145, 535, 1248, 536, 1249, -1, 699,
-1, 122, -1, 258, -1, 1249, -1, 122, -1, -1,
1260, -1, 1249, -1, 372, 581, -1, 582, -1, 446,
512, -1, 450, 228, 253, -1, 401, 50, -1, 572,
-1, 31, -1, 403, 569, -1, 580, -1, 403, 571,
-1, 580, -1, 407, 572, -1, 407, 446, 512, -1,
407, 450, 228, 253, -1, 407, 401, 50, -1, 407,
31, -1, 403, 95, 587, 588, -1, 31, -1, 1240,
-1, 125, -1, 199, -1, 75, -1, 136, 31, -1,
136, 440, -1, 136, 442, -1, 136, 337, -1, 136,
398, -1, 33, 435, 1097, 592, -1, 33, 435, 197,
159, 1097, 592, -1, 33, 435, 1097, 593, -1, 33,
435, 197, 159, 1097, 593, -1, 33, 435, 31, 203,
438, 1243, 403, 438, 1243, 1017, -1, 33, 435, 31,
203, 438, 1243, 325, 61, 1253, 403, 438, 1243, 1017,
-1, 33, 208, 1241, 592, -1, 33, 208, 197, 159,
1241, 592, -1, 33, 208, 1241, 594, -1, 33, 208,
31, 203, 438, 1243, 403, 438, 1243, 1017, -1, 33,
208, 31, 203, 438, 1243, 325, 61, 1253, 403, 438,
1243, 1017, -1, 33, 397, 1241, 592, -1, 33, 397,
197, 159, 1241, 592, -1, 33, 485, 1241, 592, -1,
33, 485, 197, 159, 1241, 592, -1, 33, 268, 485,
1241, 592, -1, 33, 268, 485, 197, 159, 1241, 592,
-1, 33, 268, 485, 31, 203, 438, 1243, 403, 438,
1243, 1017, -1, 33, 268, 485, 31, 203, 438, 1243,
325, 61, 1253, 403, 438, 1243, 1017, -1, 33, 175,
435, 1097, 592, -1, 33, 175, 435, 197, 159, 1097,
592, -1, 595, -1, 592, 539, 595, -1, 48, 331,
1241, 608, -1, 133, 331, 1241, 548, -1, 133, 331,
1241, 169, -1, 48, 331, 1241, -1, 27, 638, -1,
27, 197, 294, 159, 638, -1, 27, 82, 638, -1,
27, 82, 197, 294, 159, 638, -1, 33, 920, 1258,
596, -1, 33, 920, 1258, 142, 294, 299, -1, 33,
920, 1258, 403, 294, 299, -1, 33, 920, 1258, 403,
161, 40, 535, 1150, 536, -1, 33, 920, 1258, 142,
161, -1, 33, 920, 1258, 142, 161, 197, 159, -1,
33, 920, 1258, 403, 420, 606, -1, 33, 920, 1248,
403, 420, 606, -1, 33, 920, 1258, 403, 600, -1,
33, 920, 1258, 372, 600, -1, 33, 920, 1258, 403,
642, -1, 33, 920, 1258, 403, 640, -1, 33, 920,
1258, 27, 183, 648, 40, 196, 695, -1, 33, 920,
1258, 604, -1, 33, 920, 1258, 142, 196, -1, 33,
920, 1258, 142, 196, 197, 159, -1, 142, 920, 197,
159, 1258, 549, -1, 142, 920, 1258, 549, -1, 33,
920, 1258, 921, 458, 1126, 597, 598, -1, 33, 920,
1258, 725, -1, 27, 653, -1, 33, 94, 1243, 773,
-1, 476, 94, 1243, -1, 142, 94, 197, 159, 1243,
549, -1, 142, 94, 1243, 549, -1, 403, 494, 307,
-1, 78, 310, 1243, -1, 403, 494, 78, -1, 403,
264, -1, 403, 469, -1, 146, 453, 1243, -1, 146,
34, 453, 1243, -1, 146, 371, 453, 1243, -1, 146,
453, 31, -1, 146, 453, 472, -1, 135, 453, 1243,
-1, 135, 453, 31, -1, 135, 453, 472, -1, 146,
387, 1243, -1, 146, 34, 387, 1243, -1, 146, 371,
387, 1243, -1, 135, 387, 1243, -1, 210, 1241, -1,
290, 210, 1241, -1, 304, 815, -1, 294, 304, -1,
326, 448, 1252, -1, 403, 25, 272, 607, -1, 403,
438, 1243, -1, 403, 600, -1, 372, 600, -1, 371,
196, 599, -1, 146, 385, 253, 395, -1, 135, 385,
253, 395, -1, 174, 385, 253, 395, -1, 290, 174,
385, 253, 395, -1, 725, -1, 403, 122, 1150, -1,
142, 122, -1, 80, 815, -1, -1, 473, 1150, -1,
-1, 295, -1, 180, -1, 122, -1, 473, 208, 1243,
-1, 535, 602, 536, -1, 492, 600, -1, -1, 603,
-1, 602, 539, 603, -1, 1261, 525, 786, -1, 1261,
-1, 1261, 537, 1261, 525, 786, -1, 1261, 537, 1261,
-1, 605, -1, 604, 605, -1, 373, -1, 373, 552,
699, -1, 403, 697, -1, 403, 183, 648, -1, 1250,
-1, 122, -1, 1258, -1, 122, -1, 173, 479, 492,
535, 610, 536, -1, 173, 479, 203, 535, 1189, 536,
-1, 173, 479, 179, 535, 1189, 536, 448, 535, 1189,
536, -1, 122, -1, 1260, 1248, -1, 609, -1, 610,
539, 609, -1, 33, 458, 815, 612, -1, 613, -1,
612, 539, 613, -1, 27, 49, 1112, 549, -1, 142,
49, 197, 159, 1258, 549, -1, 142, 49, 1258, 549,
-1, 33, 49, 1258, 921, 458, 1126, 597, 549, -1,
77, 1035, -1, 77, 31, -1, 99, 622, 1241, 658,
616, 617, 618, 623, 552, 619, 1108, -1, 99, 535,
999, 536, 448, 617, 618, 552, 619, -1, 179, -1,
448, -1, 351, -1, -1, 1249, -1, 421, -1, 422,
-1, 620, -1, 535, 625, 536, -1, 620, 621, -1,
-1, 56, -1, 178, -1, 128, 973, 1249, -1, 299,
973, 1249, -1, 103, -1, 193, -1, 353, 973, 1249,
-1, 152, 973, 1249, -1, 174, 353, 659, -1, 174,
353, 528, -1, 174, 294, 299, 659, -1, 174, 294,
299, 528, -1, 174, 299, 659, -1, 174, 299, 528,
-1, 147, 1249, -1, 56, -1, -1, 624, 129, 1249,
-1, -1, 473, -1, -1, 626, -1, 625, 539, 626,
-1, 1261, 627, -1, 576, -1, 699, -1, 528, -1,
122, -1, 535, 628, 536, -1, -1, 629, -1, 628,
539, 629, -1, 576, -1, 101, 631, 435, 1241, 535,
632, 536, 670, 671, 675, 676, 677, 678, -1, 101,
631, 435, 197, 294, 159, 1241, 535, 632, 536, 670,
671, 675, 676, 677, 678, -1, 101, 631, 435, 1241,
304, 815, 633, 671, 675, 676, 677, 678, -1, 101,
631, 435, 197, 294, 159, 1241, 304, 815, 633, 671,
675, 676, 677, 678, -1, 101, 631, 435, 1241, 331,
304, 1241, 633, 608, 671, 675, 676, 677, 678, -1,
101, 631, 435, 197, 294, 159, 1241, 331, 304, 1241,
633, 608, 671, 675, 676, 677, 678, -1, 442, -1,
440, -1, 258, 442, -1, 258, 440, -1, 184, 442,
-1, 184, 440, -1, 469, -1, -1, 634, -1, -1,
535, 635, 536, -1, -1, 636, -1, 634, 539, 636,
-1, 637, -1, 635, 539, 637, -1, 638, -1, 650,
-1, 653, -1, 639, -1, 653, -1, 1258, 1126, 643,
641, 723, 644, -1, 1258, 644, -1, 1258, 492, 314,
644, -1, 88, 1258, -1, 88, 122, -1, 640, -1,
-1, 423, 1258, -1, 423, 122, -1, 642, -1, -1,
644, 645, -1, -1, 94, 1243, 646, -1, 646, -1,
649, -1, 80, 815, -1, 294, 299, -1, 299, -1,
466, 647, 891, 679, -1, 345, 242, 891, 679, -1,
74, 535, 1150, 536, 657, -1, 122, 1151, -1, 183,
648, 40, 196, 695, -1, 183, 648, 40, 535, 1150,
536, 424, -1, 362, 1241, 658, 662, 666, -1, 301,
137, -1, 301, 294, 137, -1, -1, 34, -1, 61,
122, -1, 124, -1, 294, 124, -1, 212, 125, -1,
212, 199, -1, 254, 1241, 651, -1, 651, 205, 652,
-1, 651, 156, 652, -1, -1, 85, -1, 88, -1,
95, -1, 123, -1, 196, -1, 183, -1, 209, -1,
420, -1, 423, -1, 31, -1, 94, 1243, 654, -1,
654, -1, 74, 535, 1150, 536, 773, -1, 466, 647,
535, 659, 536, 661, 891, 679, 773, -1, 466, 680,
773, -1, 345, 242, 535, 659, 536, 661, 891, 679,
773, -1, 345, 242, 680, 773, -1, 155, 853, 535,
663, 536, 661, 891, 679, 665, 773, -1, 175, 242,
535, 659, 536, 362, 1241, 658, 662, 666, 773, -1,
94, 1243, 656, -1, 656, -1, 74, 535, 1150, 536,
773, -1, 294, 299, 773, -1, 290, 210, -1, -1,
535, 659, 536, -1, -1, 660, -1, 659, 539, 660,
-1, 1258, -1, 204, 535, 659, 536, -1, -1, 266,
180, -1, 266, 330, -1, 266, 409, -1, -1, 664,
-1, 663, 539, 664, -1, 856, 492, 901, -1, 856,
492, 312, 535, 901, 536, -1, 489, 535, 1150, 536,
-1, -1, 667, -1, 668, -1, 667, 668, -1, 668,
667, -1, -1, 310, 471, 669, -1, 310, 127, 669,
-1, 290, 26, -1, 374, -1, 65, -1, 403, 299,
658, -1, 403, 122, 658, -1, 211, 535, 1240, 536,
-1, -1, 672, -1, -1, 331, 61, 1258, 535, 673,
536, -1, 674, -1, 673, 539, 674, -1, 1258, 859,
547, -1, 1155, 859, 547, -1, 535, 1150, 536, 859,
547, -1, 473, 1243, -1, -1, 492, 600, -1, 494,
307, -1, -1, 310, 86, 142, -1, 310, 86, 127,
386, -1, 310, 86, 342, 386, -1, -1, 438, 1243,
-1, -1, 473, 208, 438, 1243, -1, -1, 473, 208,
1243, -1, 101, 420, 547, 991, 310, 682, 179, 1087,
-1, 101, 420, 197, 294, 159, 815, 991, 310, 682,
179, 1087, -1, 683, -1, 682, 539, 683, -1, 1258,
-1, 1155, -1, 535, 1150, 536, -1, 33, 420, 815,
403, 420, 606, -1, 33, 420, 197, 159, 815, 403,
420, 606, -1, 101, 631, 435, 686, 40, 1038, 687,
-1, 101, 631, 435, 197, 294, 159, 686, 40, 1038,
687, -1, 1241, 658, 675, 676, 677, 678, -1, 492,
115, -1, 492, 290, 115, -1, -1, 101, 690, 268,
485, 689, 40, 1038, 687, -1, 101, 690, 268, 485,
197, 294, 159, 689, 40, 1038, 687, -1, 1241, 658,
675, 601, 678, -1, 469, -1, -1, 364, 268, 485,
548, 1241, 687, -1, 101, 631, 397, 1241, 694, -1,
101, 631, 397, 197, 294, 159, 1241, 694, -1, 33,
397, 1241, 696, -1, 33, 397, 197, 159, 1241, 696,
-1, 696, -1, -1, 535, 696, 536, -1, -1, 697,
-1, 696, 697, -1, 40, 1128, -1, 62, 699, -1,
114, -1, 290, 114, -1, 206, 698, 699, -1, 264,
-1, 269, 699, -1, 274, 699, -1, 290, 269, -1,
290, 274, -1, 325, 61, 815, -1, 397, 278, 815,
-1, 418, 552, 699, -1, 373, -1, 373, 552, 699,
-1, 469, -1, 61, -1, -1, 5, -1, 526, 5,
-1, 527, 5, -1, 1250, -1, 699, -1, 700, 539,
699, -1, 101, 863, 702, 707, 245, 1243, -1, 101,
863, 702, 707, 245, 1243, 191, 703, 704, 706, -1,
457, -1, -1, 1243, -1, 1243, 816, -1, 213, 703,
-1, -1, 477, 703, -1, 290, 477, -1, 705, -1,
-1, 348, -1, -1, 101, 438, 1243, 709, 261, 1249,
601, -1, 326, 1252, -1, -1, 142, 438, 1243, -1,
142, 438, 197, 159, 1243, -1, 101, 162, 1243, 552,
712, -1, 101, 162, 197, 294, 159, 1243, 552, 712,
-1, 712, 713, -1, -1, 390, 1243, -1, 484, 579,
-1, 179, 579, -1, 65, -1, 33, 162, 1243, 471,
715, -1, 715, 716, -1, -1, 448, 579, -1, 33,
162, 1243, 564, 811, 1243, -1, 33, 162, 1243, 564,
810, 815, -1, 33, 162, 1243, 564, 30, 879, -1,
33, 162, 1243, 564, 68, 535, 1126, 40, 1126, 536,
-1, 33, 162, 1243, 564, 140, 1126, -1, 33, 162,
1243, 564, 181, 867, -1, 33, 162, 1243, 564, 312,
903, -1, 33, 162, 1243, 564, 312, 76, 815, 473,
1243, -1, 33, 162, 1243, 564, 312, 166, 815, 473,
1243, -1, 33, 162, 1243, 564, 349, 867, -1, 33,
162, 1243, 564, 383, 867, -1, 33, 162, 1243, 564,
451, 173, 1126, 245, 1243, -1, 33, 162, 1243, 564,
458, 1126, -1, 101, 175, 115, 496, 1243, 721, 723,
-1, 191, 703, -1, 290, 191, -1, 477, 703, -1,
290, 477, -1, 719, -1, 720, 719, -1, 720, -1,
-1, 33, 175, 115, 496, 1243, 721, 725, -1, 33,
175, 115, 496, 1243, 720, -1, 314, 535, 724, 536,
-1, -1, 728, -1, 724, 539, 728, -1, 314, 535,
726, 536, -1, 727, -1, 726, 539, 727, -1, 728,
-1, 403, 728, -1, 27, 728, -1, 142, 729, -1,
729, 730, -1, 1261, -1, 1249, -1, 101, 400, 1243,
732, 734, 175, 115, 496, 1243, 723, -1, 101, 400,
197, 294, 159, 1243, 732, 734, 175, 115, 496, 1243,
723, -1, 458, 1249, -1, -1, 484, 1249, -1, 484,
299, -1, 733, -1, -1, 33, 400, 1243, 733, 725,
-1, 33, 400, 1243, 733, -1, 33, 400, 1243, 725,
-1, 101, 175, 435, 1241, 535, 632, 536, 670, 400,
1243, 723, -1, 101, 175, 435, 197, 294, 159, 1241,
535, 632, 536, 670, 400, 1243, 723, -1, 101, 175,
435, 1241, 331, 304, 1241, 633, 608, 400, 1243, 723,
-1, 101, 175, 435, 197, 294, 159, 1241, 331, 304,
1241, 633, 608, 400, 1243, 723, -1, 202, 175, 390,
1243, 739, 179, 400, 1243, 224, 1243, 723, -1, 255,
448, -1, 154, -1, 738, 535, 1099, 536, -1, -1,
101, 472, 265, 173, 741, 400, 1243, 723, -1, 101,
472, 265, 197, 294, 159, 173, 741, 400, 1243, 723,
-1, 1252, -1, 472, -1, 142, 472, 265, 173, 741,
400, 1243, -1, 142, 472, 265, 197, 159, 173, 741,
400, 1243, -1, 33, 472, 265, 173, 741, 400, 1243,
725, -1, 101, 338, 1243, 310, 1241, 750, 751, 748,
746, 747, -1, 33, 338, 1243, 310, 1241, 749, 746,
747, -1, 473, 535, 1150, 536, -1, -1, 492, 74,
535, 1150, 536, -1, -1, 448, 1253, -1, -1, 448,
1253, -1, -1, 40, 3, -1, -1, 173, 752, -1,
-1, 31, -1, 396, -1, 218, -1, 471, -1, 127,
-1, 101, 25, 272, 1243, 458, 754, 191, 703, -1,
208, -1, 435, -1, 101, 863, 453, 1243, 756, 757,
310, 1241, 759, 765, 768, 158, 769, 1246, 535, 770,
536, -1, 101, 863, 94, 453, 1243, 29, 757, 310,
1241, 772, 773, 173, 143, 385, 768, 158, 769, 1246,
535, 770, 536, -1, 52, -1, 29, -1, 219, 304,
-1, 758, -1, 757, 315, 758, -1, 218, -1, 127,
-1, 471, -1, 471, 304, 659, -1, 456, -1, 363,
760, -1, -1, 761, -1, 760, 761, -1, 762, 763,
973, 764, -1, 284, -1, 308, -1, 435, -1, 385,
-1, 1258, -1, 173, 766, 767, -1, -1, 143, -1,
-1, 385, -1, 419, -1, 488, 535, 1150, 536, -1,
-1, 181, -1, 349, -1, 771, -1, 770, 539, 771,
-1, -1, 1248, -1, 5, -1, 1249, -1, 1261, -1,
179, 1241, -1, -1, -1, 773, 774, -1, 294, 124,
-1, 124, -1, 212, 199, -1, 212, 125, -1, 294,
475, -1, 290, 210, -1, 101, 153, 453, 1243, 310,
1261, 158, 769, 1246, 535, 536, -1, 101, 153, 453,
1243, 310, 1261, 488, 776, 158, 769, 1246, 535, 536,
-1, 777, -1, 776, 37, 777, -1, 1258, 203, 535,
778, 536, -1, 6, -1, 778, 539, 6, -1, 33,
153, 453, 1243, 780, -1, 146, -1, 146, 371, -1,
146, 34, -1, 135, -1, 101, 43, 815, 74, 535,
1150, 536, 773, -1, 101, 863, 30, 1246, 877, 783,
-1, 101, 863, 30, 1246, 787, -1, 101, 312, 901,
783, -1, 101, 458, 815, 783, -1, 101, 458, 815,
-1, 101, 458, 815, 40, 535, 1110, 536, -1, 101,
458, 815, 40, 150, 535, 790, 536, -1, 101, 458,
815, 40, 355, 783, -1, 101, 443, 393, 329, 815,
783, -1, 101, 443, 393, 134, 815, 783, -1, 101,
443, 393, 441, 815, 783, -1, 101, 443, 393, 91,
815, 783, -1, 101, 81, 815, 783, -1, 101, 81,
197, 294, 159, 815, 783, -1, 101, 81, 815, 179,
815, -1, 101, 81, 197, 294, 159, 815, 179, 815,
-1, 535, 784, 536, -1, 785, -1, 784, 539, 785,
-1, 1261, 525, 786, -1, 1261, -1, 874, -1, 1266,
-1, 1187, -1, 699, -1, 1249, -1, 291, -1, 535,
788, 536, -1, 789, -1, 788, 539, 789, -1, 3,
525, 786, -1, 791, -1, -1, 1249, -1, 791, 539,
1249, -1, 33, 458, 815, 27, 478, 793, 1249, -1,
33, 458, 815, 27, 478, 793, 1249, 52, 1249, -1,
33, 458, 815, 27, 478, 793, 1249, 29, 1249, -1,
33, 458, 815, 368, 478, 1249, 448, 1249, -1, 33,
458, 815, 142, 478, 1249, -1, 197, 294, 159, -1,
-1, 101, 312, 76, 815, 797, 173, 458, 1126, 473,
1243, 798, 40, 795, -1, 796, -1, 795, 539, 796,
-1, 312, 1248, 901, 799, 800, -1, 312, 1248, 903,
799, 800, -1, 181, 1248, 867, -1, 181, 1248, 535,
1193, 536, 867, -1, 423, 1126, -1, 122, -1, -1,
166, 815, -1, -1, 173, 393, -1, 173, 316, 61,
815, -1, -1, 359, -1, -1, 101, 312, 166, 815,
473, 1243, -1, 33, 312, 166, 815, 473, 1243, 27,
795, -1, 33, 312, 166, 815, 473, 1243, 142, 803,
-1, 804, -1, 803, 539, 804, -1, 312, 1248, 535,
1193, 536, -1, 181, 1248, 535, 1193, 536, -1, 142,
312, 76, 815, 473, 1243, 549, -1, 142, 312, 76,
197, 159, 815, 473, 1243, 549, -1, 142, 312, 166,
815, 473, 1243, 549, -1, 142, 312, 166, 197, 159,
815, 473, 1243, 549, -1, 142, 325, 61, 1253, 549,
-1, 358, 325, 61, 1253, 448, 1252, -1, 142, 810,
197, 159, 814, 549, -1, 142, 810, 814, 549, -1,
142, 812, 197, 159, 1242, 549, -1, 142, 812, 1242,
549, -1, 142, 813, 1243, 310, 815, 549, -1, 142,
813, 197, 159, 1243, 310, 815, 549, -1, 142, 458,
817, 549, -1, 142, 458, 197, 159, 817, 549, -1,
142, 140, 817, 549, -1, 142, 140, 197, 159, 817,
549, -1, 142, 208, 89, 814, 549, -1, 142, 208,
89, 197, 159, 814, 549, -1, 435, -1, 397, -1,
485, -1, 268, 485, -1, 208, -1, 175, 435, -1,
81, -1, 98, -1, 420, -1, 443, 393, 329, -1,
443, 393, 134, -1, 443, 393, 441, -1, 443, 393,
91, -1, 812, -1, 116, -1, 380, -1, 428, -1,
438, -1, 25, 272, -1, 153, 453, -1, 162, -1,
175, 115, 496, -1, 707, 245, -1, 352, -1, 390,
-1, 400, -1, 338, -1, 387, -1, 453, -1, 815,
-1, 814, 539, 815, -1, 1258, -1, 1258, 816, -1,
537, 1244, -1, 816, 537, 1244, -1, 1126, -1, 817,
539, 1126, -1, 456, 1052, 1099, 819, 549, -1, 97,
196, -1, 373, 196, -1, -1, 84, 310, 810, 815,
226, 821, -1, 84, 310, 82, 815, 226, 821, -1,
84, 310, 811, 1243, 226, 821, -1, 84, 310, 458,
1126, 226, 821, -1, 84, 310, 140, 1126, 226, 821,
-1, 84, 310, 30, 879, 226, 821, -1, 84, 310,
181, 867, 226, 821, -1, 84, 310, 312, 903, 226,
821, -1, 84, 310, 94, 1243, 310, 815, 226, 821,
-1, 84, 310, 94, 1243, 310, 140, 815, 226, 821,
-1, 84, 310, 813, 1243, 310, 815, 226, 821, -1,
84, 310, 349, 867, 226, 821, -1, 84, 310, 383,
867, 226, 821, -1, 84, 310, 451, 173, 1126, 245,
1243, 226, 821, -1, 84, 310, 312, 76, 815, 473,
1243, 226, 821, -1, 84, 310, 312, 166, 815, 473,
1243, 226, 821, -1, 84, 310, 246, 303, 699, 226,
821, -1, 84, 310, 68, 535, 1126, 40, 1126, 536,
226, 821, -1, 1249, -1, 299, -1, 395, 244, 823,
310, 810, 815, 226, 824, -1, 395, 244, 823, 310,
82, 815, 226, 824, -1, 395, 244, 823, 310, 811,
1243, 226, 824, -1, 395, 244, 823, 310, 458, 1126,
226, 824, -1, 395, 244, 823, 310, 140, 1126, 226,
824, -1, 395, 244, 823, 310, 30, 879, 226, 824,
-1, 395, 244, 823, 310, 181, 867, 226, 824, -1,
395, 244, 823, 310, 246, 303, 699, 226, 824, -1,
395, 244, 823, 310, 349, 867, 226, 824, -1, 395,
244, 823, 310, 383, 867, 226, 824, -1, 173, 579,
-1, -1, 1249, -1, 299, -1, 167, 826, -1, 277,
826, -1, 1035, -1, 827, 1035, -1, 285, 828, 1035,
-1, 346, 828, 1035, -1, 170, 828, 1035, -1, 247,
828, 1035, -1, 24, 1250, 828, 1035, -1, 366, 1250,
828, 1035, -1, 1250, 828, 1035, -1, 31, 828, 1035,
-1, 177, 828, 1035, -1, 177, 1250, 828, 1035, -1,
177, 31, 828, 1035, -1, 51, 828, 1035, -1, 51,
1250, 828, 1035, -1, 51, 31, 828, 1035, -1, 179,
-1, 203, -1, 827, -1, -1, 185, 831, 310, 836,
448, 837, 839, 845, -1, 378, 831, 310, 836, 179,
837, 845, 549, -1, 378, 185, 313, 173, 831, 310,
836, 179, 837, 845, 549, -1, 832, -1, 31, -1,
31, 347, -1, 31, 535, 659, 536, -1, 31, 347,
535, 659, 536, -1, 833, -1, 832, 539, 833, -1,
396, 658, -1, 362, 658, -1, 101, 658, -1, 33,
433, -1, 1258, 658, -1, 835, -1, 834, 539, 835,
-1, 1258, -1, 835, 537, 1258, -1, 1240, -1, 435,
1240, -1, 397, 1240, -1, 175, 115, 496, 1242, -1,
175, 400, 1242, -1, 181, 866, -1, 349, 866, -1,
383, 866, -1, 116, 1242, -1, 140, 814, -1, 245,
1242, -1, 246, 303, 700, -1, 328, 834, -1, 390,
1242, -1, 438, 1242, -1, 458, 814, -1, 31, 436,
203, 390, 1242, -1, 31, 398, 203, 390, 1242, -1,
31, 182, 203, 390, 1242, -1, 31, 350, 203, 390,
1242, -1, 31, 384, 203, 390, 1242, -1, 838, -1,
837, 539, 838, -1, 1252, -1, 188, 1252, -1, 492,
185, 313, -1, -1, 185, 832, 448, 1253, 845, -1,
185, 832, 448, 1253, 492, 842, 845, -1, 378, 832,
179, 1253, 845, 549, -1, 378, 1258, 313, 173, 832,
179, 1253, 845, 549, -1, 842, 539, 843, -1, 843,
-1, 1261, 844, -1, 313, -1, 455, -1, 165, -1,
186, 61, 1252, -1, -1, 33, 122, 347, 847, 849,
-1, 847, 848, -1, -1, 203, 390, 1242, -1, 173,
380, 1253, -1, 173, 472, 1253, -1, 185, 831, 310,
850, 448, 837, 839, -1, 378, 831, 310, 850, 179,
837, 549, -1, 378, 185, 313, 173, 831, 310, 850,
179, 837, 549, -1, 436, -1, 182, -1, 384, -1,
398, -1, 459, -1, 391, -1, 101, 852, 208, 548,
546, 310, 1097, 853, 535, 854, 536, 857, 647, 601,
678, 1108, -1, 101, 852, 208, 548, 197, 294, 159,
1243, 310, 1097, 853, 535, 854, 536, 857, 647, 601,
678, 1108, -1, 466, -1, -1, 473, 1243, -1, -1,
856, -1, 854, 539, 856, -1, 859, 547, 860, 861,
-1, 859, 815, 600, 860, 861, -1, 1258, 855, -1,
1155, 855, -1, 535, 1150, 536, 855, -1, 204, 535,
858, 536, -1, -1, 856, -1, 858, 539, 856, -1,
80, 815, -1, -1, 41, -1, 132, -1, -1, 515,
170, -1, 515, 247, -1, -1, 101, 863, 181, 1246,
868, 377, 873, 881, 887, -1, 101, 863, 181, 1246,
868, 377, 435, 535, 893, 536, 881, 887, -1, 101,
863, 181, 1246, 868, 881, 887, -1, 101, 863, 349,
1246, 868, 881, 887, -1, 315, 370, -1, -1, 535,
865, 536, -1, 535, 536, -1, 870, -1, 865, 539,
870, -1, 867, -1, 866, 539, 867, -1, 1246, 864,
-1, 1265, -1, 1258, -1, 1258, 1212, -1, 535, 869,
536, -1, 535, 536, -1, 875, -1, 869, 539, 875,
-1, 871, 872, 874, -1, 872, 871, 874, -1, 872,
874, -1, 871, 874, -1, 874, -1, 203, -1, 319,
-1, 215, -1, 203, 319, -1, 481, -1, 1259, -1,
874, -1, 1126, -1, 1259, 816, 530, 458, -1, 405,
1259, 816, 530, 458, -1, 870, -1, 870, 122, 1150,
-1, 870, 525, 1150, -1, 870, -1, 535, 528, 536,
-1, 535, 878, 536, -1, 535, 316, 61, 878, 536,
-1, 535, 878, 316, 61, 878, 536, -1, 876, -1,
878, 539, 876, -1, 1246, 877, -1, 879, -1, 880,
539, 879, -1, 882, -1, -1, 884, -1, 882, 884,
-1, 64, 310, 299, 216, -1, 377, 299, 310, 299,
216, -1, 425, -1, 200, -1, 416, -1, 487, -1,
163, 395, 126, -1, 163, 395, 225, -1, 395, 126,
-1, 395, 225, -1, 250, -1, 294, 250, -1, 100,
699, -1, 386, 699, -1, 430, 815, -1, 584, -1,
327, 1258, -1, 40, 885, -1, 245, 1260, -1, 245,
1249, -1, 451, 890, -1, 491, -1, 883, -1, 1249,
-1, 1249, 539, 1249, -1, 375, 1150, -1, 886, -1,
53, 46, 888, 149, -1, -1, 888, 889, 538, -1,
-1, 545, -1, 886, -1, 173, 458, 1126, -1, 890,
539, 173, 458, 1126, -1, 492, 783, -1, -1, 872,
874, -1, 892, -1, 893, 539, 892, -1, 33, 181,
867, 895, 896, -1, 33, 349, 867, 895, 896, -1,
33, 383, 867, 895, 896, -1, 883, -1, 895, 883,
-1, 374, -1, -1, 142, 181, 866, 549, -1, 142,
181, 197, 159, 866, 549, -1, 142, 349, 866, 549,
-1, 142, 349, 197, 159, 866, 549, -1, 142, 383,
866, 549, -1, 142, 383, 197, 159, 866, 549, -1,
142, 30, 880, 549, -1, 142, 30, 197, 159, 880,
549, -1, 142, 312, 902, 549, -1, 142, 312, 197,
159, 902, 549, -1, 535, 1126, 536, -1, 535, 1126,
539, 1126, 536, -1, 535, 291, 539, 1126, 536, -1,
535, 1126, 539, 291, 536, -1, 1184, -1, 1258, 537,
901, -1, 903, -1, 902, 539, 903, -1, 901, 900,
-1, 138, 905, -1, 906, -1, 905, 906, -1, 1249,
-1, 245, 1260, -1, 245, 1249, -1, 101, 68, 535,
1126, 40, 1126, 536, 492, 181, 867, 908, -1, 101,
68, 535, 1126, 40, 1126, 536, 494, 181, 908, -1,
101, 68, 535, 1126, 40, 1126, 536, 492, 215, 908,
-1, 40, 201, -1, 40, 44, -1, -1, 142, 68,
910, 535, 1126, 40, 1126, 536, 549, -1, 197, 159,
-1, -1, 101, 863, 451, 173, 1126, 245, 1243, 535,
912, 536, -1, 179, 415, 492, 181, 867, 539, 448,
415, 492, 181, 867, -1, 448, 415, 492, 181, 867,
539, 179, 415, 492, 181, 867, -1, 179, 415, 492,
181, 867, -1, 448, 415, 492, 181, 867, -1, 142,
451, 910, 173, 1126, 245, 1243, 549, -1, 365, 917,
915, 548, 1241, -1, 365, 917, 390, 548, 1243, -1,
365, 917, 916, 548, 546, -1, 208, -1, 435, -1,
433, -1, 116, -1, 535, 982, 536, -1, -1, 33,
438, 1243, 403, 600, -1, 33, 438, 1243, 372, 600,
-1, 33, 30, 879, 368, 448, 1243, -1, 33, 81,
815, 368, 448, 1243, -1, 33, 98, 815, 368, 448,
1243, -1, 33, 116, 1243, 368, 448, 1243, -1, 33,
140, 815, 368, 448, 1243, -1, 33, 140, 815, 368,
94, 1243, 448, 1243, -1, 33, 175, 115, 496, 1243,
368, 448, 1243, -1, 33, 181, 867, 368, 448, 1243,
-1, 33, 188, 1251, 368, 448, 1251, -1, 33, 707,
245, 1243, 368, 448, 1243, -1, 33, 312, 76, 815,
473, 1243, 368, 448, 1243, -1, 33, 312, 166, 815,
473, 1243, 368, 448, 1243, -1, 33, 338, 1243, 310,
1241, 368, 448, 1243, -1, 33, 338, 197, 159, 1243,
310, 1241, 368, 448, 1243, -1, 33, 349, 867, 368,
448, 1243, -1, 33, 352, 1243, 368, 448, 1243, -1,
33, 383, 867, 368, 448, 1243, -1, 33, 390, 1243,
368, 448, 1243, -1, 33, 400, 1243, 368, 448, 1243,
-1, 33, 428, 1243, 368, 448, 1243, -1, 33, 435,
1097, 368, 448, 1243, -1, 33, 435, 197, 159, 1097,
368, 448, 1243, -1, 33, 397, 1241, 368, 448, 1243,
-1, 33, 397, 197, 159, 1241, 368, 448, 1243, -1,
33, 485, 1241, 368, 448, 1243, -1, 33, 485, 197,
159, 1241, 368, 448, 1243, -1, 33, 268, 485, 1241,
368, 448, 1243, -1, 33, 268, 485, 197, 159, 1241,
368, 448, 1243, -1, 33, 208, 1241, 368, 448, 1243,
-1, 33, 208, 197, 159, 1241, 368, 448, 1243, -1,
33, 175, 435, 1097, 368, 448, 1243, -1, 33, 175,
435, 197, 159, 1097, 368, 448, 1243, -1, 33, 435,
1097, 368, 920, 1243, 448, 1243, -1, 33, 435, 197,
159, 1097, 368, 920, 1243, 448, 1243, -1, 33, 485,
1241, 368, 920, 1243, 448, 1243, -1, 33, 485, 197,
159, 1241, 368, 920, 1243, 448, 1243, -1, 33, 268,
485, 1241, 368, 920, 1243, 448, 1243, -1, 33, 268,
485, 197, 159, 1241, 368, 920, 1243, 448, 1243, -1,
33, 435, 1097, 368, 94, 1243, 448, 1243, -1, 33,
435, 197, 159, 1097, 368, 94, 1243, 448, 1243, -1,
33, 175, 435, 1097, 368, 920, 1243, 448, 1243, -1,
33, 175, 435, 197, 159, 1097, 368, 920, 1243, 448,
1243, -1, 33, 387, 1243, 310, 1241, 368, 448, 1243,
-1, 33, 453, 1243, 310, 1241, 368, 448, 1243, -1,
33, 153, 453, 1243, 368, 448, 1243, -1, 33, 380,
1251, 368, 448, 1251, -1, 33, 472, 1251, 368, 448,
1251, -1, 33, 438, 1243, 368, 448, 1243, -1, 33,
420, 815, 368, 448, 1243, -1, 33, 443, 393, 329,
815, 368, 448, 1243, -1, 33, 443, 393, 134, 815,
368, 448, 1243, -1, 33, 443, 393, 441, 815, 368,
448, 1243, -1, 33, 443, 393, 91, 815, 368, 448,
1243, -1, 33, 458, 815, 368, 448, 1243, -1, 33,
458, 815, 368, 49, 1243, 448, 1243, 549, -1, 82,
-1, -1, 403, 115, -1, -1, 33, 181, 867, 923,
130, 310, 162, 1243, -1, 33, 349, 867, 923, 130,
310, 162, 1243, -1, 33, 383, 867, 923, 130, 310,
162, 1243, -1, 33, 453, 1243, 310, 1241, 923, 130,
310, 162, 1243, -1, 33, 268, 485, 1241, 923, 130,
310, 162, 1243, -1, 33, 208, 1241, 923, 130, 310,
162, 1243, -1, 290, -1, -1, 33, 30, 879, 403,
390, 1243, -1, 33, 81, 815, 403, 390, 1243, -1,
33, 98, 815, 403, 390, 1243, -1, 33, 140, 815,
403, 390, 1243, -1, 33, 162, 1243, 403, 390, 1243,
-1, 33, 181, 867, 403, 390, 1243, -1, 33, 312,
903, 403, 390, 1243, -1, 33, 312, 76, 815, 473,
1243, 403, 390, 1243, -1, 33, 312, 166, 815, 473,
1243, 403, 390, 1243, -1, 33, 349, 867, 403, 390,
1243, -1, 33, 383, 867, 403, 390, 1243, -1, 33,
435, 1097, 403, 390, 1243, -1, 33, 435, 197, 159,
1097, 403, 390, 1243, -1, 33, 420, 815, 403, 390,
1243, -1, 33, 443, 393, 329, 815, 403, 390, 1243,
-1, 33, 443, 393, 134, 815, 403, 390, 1243, -1,
33, 443, 393, 441, 815, 403, 390, 1243, -1, 33,
443, 393, 91, 815, 403, 390, 1243, -1, 33, 397,
1241, 403, 390, 1243, -1, 33, 397, 197, 159, 1241,
403, 390, 1243, -1, 33, 485, 1241, 403, 390, 1243,
-1, 33, 485, 197, 159, 1241, 403, 390, 1243, -1,
33, 268, 485, 1241, 403, 390, 1243, -1, 33, 268,
485, 197, 159, 1241, 403, 390, 1243, -1, 33, 175,
435, 1097, 403, 390, 1243, -1, 33, 175, 435, 197,
159, 1097, 403, 390, 1243, -1, 33, 458, 815, 403,
390, 1243, -1, 33, 312, 903, 403, 535, 926, 536,
-1, 927, -1, 926, 539, 927, -1, 1261, 525, 291,
-1, 1261, 525, 928, -1, 1261, -1, 874, -1, 1266,
-1, 1187, -1, 699, -1, 1249, -1, 33, 458, 815,
403, 535, 926, 536, -1, 33, 30, 879, 326, 448,
1252, -1, 33, 81, 815, 326, 448, 1252, -1, 33,
98, 815, 326, 448, 1252, -1, 33, 116, 1243, 326,
448, 1252, -1, 33, 140, 815, 326, 448, 1252, -1,
33, 181, 867, 326, 448, 1252, -1, 33, 707, 245,
1243, 326, 448, 1252, -1, 33, 246, 303, 699, 326,
448, 1252, -1, 33, 312, 903, 326, 448, 1252, -1,
33, 312, 76, 815, 473, 1243, 326, 448, 1252, -1,
33, 312, 166, 815, 473, 1243, 326, 448, 1252, -1,
33, 349, 867, 326, 448, 1252, -1, 33, 383, 867,
326, 448, 1252, -1, 33, 390, 1243, 326, 448, 1252,
-1, 33, 458, 815, 326, 448, 1252, -1, 33, 438,
1243, 326, 448, 1252, -1, 33, 420, 815, 326, 448,
1252, -1, 33, 443, 393, 134, 815, 326, 448, 1252,
-1, 33, 443, 393, 91, 815, 326, 448, 1252, -1,
33, 175, 115, 496, 1243, 326, 448, 1252, -1, 33,
400, 1243, 326, 448, 1252, -1, 33, 153, 453, 1243,
326, 448, 1252, -1, 33, 352, 1243, 326, 448, 1252,
-1, 33, 428, 1243, 326, 448, 1252, -1, 101, 352,
1243, 891, -1, 101, 352, 1243, 173, 31, 436, 891,
-1, 101, 352, 1243, 173, 933, 891, -1, 435, 1097,
658, 665, -1, 436, 203, 390, 1258, -1, 436, 203,
390, 109, -1, 1258, 658, 665, -1, 1258, 1212, 658,
665, -1, 1098, 658, 665, -1, 109, -1, 932, -1,
933, 539, 932, -1, 33, 352, 1243, 403, 783, -1,
33, 352, 1243, 27, 933, -1, 33, 352, 1243, 403,
933, -1, 33, 352, 1243, 142, 933, -1, 101, 428,
1243, 93, 1249, 352, 1242, 891, -1, 33, 428, 1243,
403, 783, -1, 33, 428, 1243, 93, 1249, -1, 33,
428, 1243, 364, 352, 891, -1, 33, 428, 1243, 27,
352, 1242, 891, -1, 33, 428, 1243, 142, 352, 1242,
891, -1, 33, 428, 1243, 403, 352, 1242, 891, -1,
33, 428, 1243, 146, -1, 33, 428, 1243, 135, -1,
33, 428, 1243, 410, 783, -1, 142, 428, 1243, 549,
-1, 142, 428, 197, 159, 1243, 549, -1, 101, 863,
387, 1243, 40, 310, 943, 448, 1241, 1108, 138, 944,
939, -1, 295, -1, 941, -1, 535, 940, 536, -1,
940, 538, 942, -1, 942, -1, 1038, -1, 1003, -1,
1019, -1, 1012, -1, 945, -1, 941, -1, -1, 396,
-1, 471, -1, 127, -1, 218, -1, 219, -1, 32,
-1, -1, 296, 1258, 539, 1249, -1, 296, 1258, -1,
256, 1258, -1, 468, 1258, -1, 468, 528, -1, 22,
950, 954, -1, 418, 450, 953, -1, 86, 950, 954,
-1, 381, 950, 954, -1, 388, 1258, -1, 367, 388,
1258, -1, 367, 1258, -1, 381, 950, 448, 388, 1258,
-1, 381, 950, 448, 1258, -1, 343, 450, 1249, -1,
86, 344, 1249, -1, 381, 344, 1249, -1, 53, 950,
953, -1, 149, 950, 954, -1, 495, -1, 450, -1,
-1, 228, 253, 575, -1, 356, 311, -1, 356, 497,
-1, 124, -1, 294, 124, -1, 951, -1, 952, 539,
951, -1, 952, 951, -1, 952, -1, -1, 37, 70,
-1, 37, 290, 70, -1, -1, 101, 631, 485, 1241,
658, 601, 40, 1038, 956, -1, 101, 315, 370, 631,
485, 1241, 658, 601, 40, 1038, 956, -1, 101, 631,
360, 485, 1241, 535, 659, 536, 601, 40, 1038, 956,
-1, 101, 315, 370, 631, 360, 485, 1241, 535, 659,
536, 601, 40, 1038, 956, -1, 492, 74, 313, -1,
492, 66, 74, 313, -1, 492, 258, 74, 313, -1,
-1, 257, 1245, -1, 101, 116, 1243, 552, 959, -1,
960, -1, -1, 961, -1, 960, 961, -1, 962, 963,
699, -1, 962, 963, 576, -1, 962, 963, 122, -1,
3, -1, 93, 255, -1, 147, -1, 261, -1, 326,
-1, 438, -1, 441, -1, 525, -1, -1, 33, 116,
1243, 492, 959, -1, 33, 116, 1243, 959, -1, 33,
116, 1243, 403, 438, 1243, -1, 33, 116, 1243, 364,
81, 484, -1, 33, 116, 1243, 583, -1, 142, 116,
1243, -1, 142, 116, 197, 159, 1243, -1, 142, 116,
1243, 552, 535, 967, 536, -1, 142, 116, 197, 159,
1243, 552, 535, 967, 536, -1, 968, -1, 967, 539,
968, -1, 174, -1, 33, 81, 815, 364, 484, -1,
33, 433, 403, 570, -1, 33, 433, 372, 582, -1,
101, 140, 815, 973, 1126, 644, -1, 33, 140, 815,
596, -1, 33, 140, 815, 142, 294, 299, -1, 33,
140, 815, 403, 294, 299, -1, 33, 140, 815, 27,
655, -1, 33, 140, 815, 142, 94, 1243, 549, -1,
33, 140, 815, 142, 94, 197, 159, 1243, 549, -1,
33, 140, 815, 476, 94, 1243, -1, 40, -1, -1,
33, 443, 393, 134, 815, 783, -1, 33, 443, 393,
91, 815, 27, 265, 173, 1242, 976, 814, -1, 33,
443, 393, 91, 815, 33, 265, 173, 1242, 976, 814,
-1, 33, 443, 393, 91, 815, 33, 265, 370, 815,
976, 815, -1, 33, 443, 393, 91, 815, 33, 265,
173, 1242, 370, 815, 976, 815, -1, 33, 443, 393,
91, 815, 142, 265, 173, 1242, -1, 33, 443, 393,
91, 815, 142, 265, 197, 159, 173, 1242, -1, 492,
-1, 516, -1, 101, 797, 98, 815, 173, 1249, 448,
1249, 179, 815, -1, 78, 535, 982, 536, 1241, 979,
-1, 78, 535, 982, 536, -1, 78, 988, 1241, 979,
-1, 78, 988, -1, 78, 988, 1243, 310, 1241, -1,
473, 1243, -1, -1, 474, 989, 990, 988, 987, 994,
-1, 474, 535, 982, 536, 994, -1, 983, 988, 994,
-1, 983, 535, 982, 536, 994, -1, 984, -1, 982,
539, 984, -1, 36, -1, 35, -1, 985, 986, -1,
1260, -1, 983, -1, 513, -1, 576, -1, 699, -1,
-1, 983, -1, -1, 483, -1, -1, 180, -1, -1,
178, -1, -1, 535, 1242, 536, -1, -1, 1241, 991,
-1, 992, -1, 993, 539, 992, -1, 993, -1, -1,
160, 996, -1, 160, 983, 988, 996, -1, 160, 483,
996, -1, 160, 535, 982, 536, 996, -1, 1038, -1,
1003, -1, 1019, -1, 1012, -1, 1024, -1, 1034, -1,
685, -1, 688, -1, 691, -1, 1000, -1, 343, 1243,
998, 40, 999, -1, 535, 1193, 536, -1, -1, 1038,
-1, 1003, -1, 1019, -1, 1012, -1, 1024, -1, 158,
1243, 1001, -1, 101, 631, 435, 686, 40, 158, 1243,
1001, 687, -1, 101, 631, 435, 197, 294, 159, 686,
40, 158, 1243, 1001, 687, -1, 535, 1189, 536, -1,
-1, 118, 1243, -1, 118, 343, 1243, -1, 118, 31,
-1, 118, 343, 31, -1, 1049, 218, 224, 1004, 1005,
1009, 1011, -1, 1241, -1, 1241, 40, 1258, -1, 1038,
-1, 324, 1006, 478, 1038, -1, 535, 1007, 536, 1038,
-1, 535, 1007, 536, 324, 1006, 478, 1038, -1, 122,
479, -1, 472, -1, 433, -1, 1008, -1, 1007, 539,
1008, -1, 1258, 1213, -1, 310, 92, 1010, 138, 471,
403, 1020, 1108, -1, 310, 92, 1010, 138, 295, -1,
-1, 535, 854, 536, 1108, -1, 310, 94, 1243, -1,
-1, 376, 1238, -1, -1, 1049, 127, 179, 1100, 1013,
1109, 1011, -1, 473, 1087, -1, -1, 262, 1052, 1099,
1015, 1017, -1, 203, 1016, 275, -1, -1, 25, 406,
-1, 385, 406, -1, 385, 157, -1, 406, 471, 157,
-1, 406, -1, 406, 385, 157, -1, 157, -1, 25,
157, -1, 298, -1, -1, 298, -1, 410, 263, -1,
-1, 1049, 471, 1100, 403, 1020, 1086, 1109, 1011, -1,
1021, -1, 1020, 539, 1021, -1, 1022, 525, 1150, -1,
535, 1023, 536, 525, 1150, -1, 1258, 1213, -1, 1022,
-1, 1023, 539, 1022, -1, 1049, 270, 224, 1100, 473,
1088, 310, 1150, 1025, 1011, -1, 1026, -1, 1025, 1026,
-1, 1027, 1029, 444, 1030, -1, 1027, 1029, 444, 1031,
-1, 1028, 1029, 444, 1032, -1, 1027, 1029, 444, 138,
295, -1, 1028, 1029, 444, 138, 295, -1, 488, 267,
-1, 488, 294, 267, 61, 414, -1, 488, 294, 267,
-1, 488, 294, 267, 61, 439, -1, 37, 1150, -1,
-1, 471, 403, 1020, -1, 127, -1, 218, 1033, -1,
218, 324, 1006, 478, 1033, -1, 218, 535, 1007, 536,
1033, -1, 218, 535, 1007, 536, 324, 1006, 478, 1033,
-1, 218, 122, 479, -1, 479, 535, 1189, 536, -1,
121, 1035, 1036, 113, 1037, 173, 1038, -1, 1243, -1,
-1, 1036, 290, 392, -1, 1036, 392, -1, 1036, 56,
-1, 1036, 42, -1, 1036, 217, -1, -1, 492, 194,
-1, 494, 194, -1, 1040, -1, 1039, -1, 535, 1040,
536, -1, 535, 1039, 536, -1, 1042, -1, 1041, 1058,
-1, 1041, 1057, 1079, 1062, -1, 1041, 1057, 1061, 1080,
-1, 1043, 1041, -1, 1043, 1041, 1058, -1, 1043, 1041,
1057, 1079, 1062, -1, 1043, 1041, 1057, 1061, 1080, -1,
1042, -1, 1039, -1, 396, 1055, 1237, 1050, 1086, 1108,
1071, 1078, 1169, -1, 396, 1054, 1238, 1050, 1086, 1108,
1071, 1078, 1169, -1, 1085, -1, 435, 1097, -1, 1041,
465, 1053, 1041, -1, 1041, 222, 1053, 1041, -1, 1041,
154, 1053, 1041, -1, 492, 1044, -1, 516, 1044, -1,
492, 360, 1044, -1, 1045, -1, 1044, 539, 1045, -1,
1243, 991, 40, 1046, 535, 999, 536, 1047, 1048, -1,
268, -1, 294, 268, -1, -1, 393, 131, 170, 61,
659, 403, 1258, -1, 393, 60, 170, 61, 659, 403,
1258, -1, -1, 114, 659, 403, 1258, 448, 1247, 122,
1247, 473, 1258, -1, 114, 659, 403, 1258, 473, 1258,
-1, -1, 1043, -1, -1, 224, 1051, -1, -1, 442,
1052, 1241, -1, 440, 1052, 1241, -1, 258, 442, 1052,
1241, -1, 258, 440, 1052, 1241, -1, 184, 442, 1052,
1241, -1, 184, 440, 1052, 1241, -1, 469, 1052, 1241,
-1, 435, 1241, -1, 1241, -1, 435, -1, -1, 31,
-1, 137, -1, -1, 137, -1, 137, 310, 535, 1189,
536, -1, 31, -1, -1, 1054, -1, 1055, -1, 1058,
-1, -1, 316, 61, 1059, -1, 1060, -1, 1059, 539,
1060, -1, 1150, 473, 1187, 861, -1, 1150, 860, 861,
-1, 1063, 1064, -1, 1064, 1063, -1, 1063, -1, 1064,
-1, 1061, -1, -1, 255, 1065, -1, 255, 1065, 539,
1066, -1, 167, 1070, 1067, 1069, 311, -1, 167, 1070,
1067, 1069, 492, 445, -1, 167, 1070, 1069, 311, -1,
167, 1070, 1069, 492, 445, -1, 306, 1066, -1, 306,
1067, 1069, -1, 1150, -1, 31, -1, 1150, -1, 1152,
-1, 526, 1068, -1, 527, 1068, -1, 1248, -1, 5,
-1, 385, -1, 386, -1, 170, -1, 285, -1, 188,
61, 1053, 1072, -1, -1, 1073, -1, 1072, 539, 1073,
-1, 1150, -1, 1074, -1, 1076, -1, 1075, -1, 1077,
-1, 535, 536, -1, 382, 535, 1189, 536, -1, 104,
535, 1189, 536, -1, 189, 404, 535, 1072, 536, -1,
192, 1150, -1, -1, 1081, -1, 173, 356, 311, -1,
1079, -1, -1, 1082, -1, 1081, 1082, -1, 1083, 1084,
1018, -1, 173, 471, -1, 173, 290, 242, 471, -1,
173, 406, -1, 173, 242, 406, -1, 304, 1240, -1,
-1, 479, 535, 1189, 536, -1, 1085, 539, 535, 1189,
536, -1, 179, 1087, -1, -1, 1088, -1, 1087, 539,
1088, -1, 1097, 1091, -1, 1097, 1091, 1101, -1, 1103,
1093, -1, 248, 1103, 1093, -1, 1113, 1091, -1, 248,
1113, 1091, -1, 1039, 1091, -1, 248, 1039, 1091, -1,
1089, -1, 535, 1089, 536, 1090, -1, 1120, 1091, -1,
248, 1120, 1091, -1, 535, 1089, 536, -1, 1088, 102,
229, 1088, -1, 1088, 1094, 229, 1088, 1096, -1, 1088,
229, 1088, 1096, -1, 1088, 281, 1094, 229, 1088, -1,
1088, 281, 229, 1088, -1, 40, 1258, 535, 1242, 536,
-1, 40, 1258, -1, 1258, 535, 1242, 536, -1, 1258,
-1, 1090, -1, -1, 40, 1258, -1, -1, 1090, -1,
40, 535, 1111, 536, -1, 40, 1258, 535, 1111, 536,
-1, 1258, 535, 1111, 536, -1, -1, 180, 1095, -1,
252, 1095, -1, 379, 1095, -1, 214, -1, 320, -1,
-1, 473, 535, 1242, 536, 1092, -1, 310, 1150, -1,
1241, -1, 1098, -1, 1241, 528, -1, 311, 1241, -1,
311, 535, 1241, 536, -1, 1097, -1, 1099, 539, 1097,
-1, 1097, -1, 1097, 1258, -1, 1097, 40, 1258, -1,
437, 1246, 535, 1189, 536, 1102, -1, 369, 535, 1150,
536, -1, -1, 1155, 1107, -1, 386, 179, 535, 1105,
536, 1107, -1, 1155, 1106, -1, 1104, -1, 1105, 539,
1104, -1, 40, 535, 1111, 536, -1, -1, 516, 317,
-1, -1, 489, 1150, -1, -1, 489, 1150, -1, 489,
105, 304, 1035, -1, -1, 1111, -1, -1, 1112, -1,
1111, 539, 1112, -1, 1258, 1126, 597, -1, 509, 535,
1152, 1165, 83, 1114, 536, -1, 509, 535, 504, 535,
1118, 536, 539, 1152, 1165, 83, 1114, 536, -1, 1115,
-1, 1114, 539, 1115, -1, 1258, 1126, -1, 1258, 1126,
1116, -1, 1258, 173, 317, -1, 1117, -1, 1116, 1117,
-1, 3, 1151, -1, 122, 1151, -1, 294, 299, -1,
299, -1, 334, 1151, -1, 1119, -1, 1118, 539, 1119,
-1, 1151, 40, 1261, -1, 122, 1151, -1, 239, 535,
1223, 539, 1150, 1121, 1215, 83, 535, 1122, 536, 1222,
536, -1, 40, 1243, -1, -1, 1123, -1, 1122, 539,
1123, -1, 1258, 173, 317, -1, 1258, 1126, 1125, 1218,
1226, 1221, -1, 1258, 1126, 1224, 1125, 1218, 1226, 1221,
-1, 1258, 1126, 159, 1125, 1222, -1, 283, 1124, 1249,
83, 535, 1122, 536, -1, 283, 1124, 1249, 40, 1243,
83, 535, 1122, 536, -1, 334, -1, -1, 334, 1249,
-1, -1, 1128, 1127, -1, 405, 1128, 1127, -1, 1128,
39, 533, 1248, 534, -1, 405, 1128, 39, 533, 1248,
534, -1, 1128, 39, -1, 405, 1128, 39, -1, 1127,
533, 534, -1, 1127, 533, 1248, 534, -1, -1, 1130,
-1, 1132, -1, 1134, -1, 1138, -1, 1144, -1, 1145,
1147, -1, 1145, 535, 1248, 536, -1, 1149, -1, 1132,
-1, 1135, -1, 1139, -1, 1144, -1, 1149, -1, 1259,
1131, -1, 1259, 816, 1131, -1, 535, 1189, 536, -1,
-1, 220, -1, 221, -1, 411, -1, 55, -1, 357,
-1, 171, 1133, -1, 141, 341, -1, 120, 1131, -1,
119, 1131, -1, 302, 1131, -1, 58, -1, 535, 1248,
536, -1, -1, 1136, -1, 1137, -1, 1136, -1, 1137,
-1, 57, 1143, 535, 1189, 536, -1, 57, 1143, -1,
1140, -1, 1141, -1, 1140, -1, 1141, -1, 1142, 535,
1248, 536, -1, 1142, -1, 72, 1143, -1, 71, 1143,
-1, 480, -1, 280, 72, 1143, -1, 280, 71, 1143,
-1, 282, 1143, -1, 482, -1, -1, 447, 535, 1248,
536, 1146, -1, 447, 1146, -1, 446, 535, 1248, 536,
1146, -1, 446, 1146, -1, 223, -1, 516, 446, 512,
-1, 517, 446, 512, -1, -1, 510, -1, 276, -1,
117, -1, 195, -1, 273, -1, 1148, -1, 510, 448,
276, -1, 117, 448, 195, -1, 117, 448, 273, -1,
117, 448, 1148, -1, 195, 448, 273, -1, 195, 448,
1148, -1, 273, 448, 1148, -1, -1, 394, -1, 394,
535, 1248, 536, -1, 230, -1, 1152, -1, 1150, 13,
1126, -1, 1150, 80, 815, -1, 1150, 47, 446, 512,
1150, -1, 1150, 47, 258, -1, 526, 1150, -1, 527,
1150, -1, 1150, 526, 1150, -1, 1150, 527, 1150, -1,
1150, 528, 1150, -1, 1150, 529, 1150, -1, 1150, 530,
1150, -1, 1150, 531, 1150, -1, 1150, 523, 1150, -1,
1150, 524, 1150, -1, 1150, 525, 1150, -1, 1150, 17,
1150, -1, 1150, 18, 1150, -1, 1150, 19, 1150, -1,
1150, 1186, 1150, -1, 1186, 1150, -1, 1150, 37, 1150,
-1, 1150, 315, 1150, -1, 294, 1150, -1, 514, 1150,
-1, 1150, 254, 1150, -1, 1150, 254, 1150, 152, 1150,
-1, 1150, 514, 254, 1150, -1, 1150, 514, 254, 1150,
152, 1150, -1, 1150, 198, 1150, -1, 1150, 198, 1150,
152, 1150, -1, 1150, 514, 198, 1150, -1, 1150, 514,
198, 1150, 152, 1150, -1, 1150, 408, 448, 1150, -1,
1150, 408, 448, 1150, 152, 1150, -1, 1150, 514, 408,
448, 1150, -1, 1150, 514, 408, 448, 1150, 152, 1150,
-1, 1150, 226, 299, -1, 1150, 227, -1, 1150, 226,
294, 299, -1, 1150, 297, -1, 1180, 322, 1180, -1,
1150, 226, 455, -1, 1150, 226, 294, 455, -1, 1150,
226, 165, -1, 1150, 226, 294, 165, -1, 1150, 226,
467, -1, 1150, 226, 294, 467, -1, 1150, 226, 137,
179, 1150, -1, 1150, 226, 294, 137, 179, 1150, -1,
1150, 54, 1214, 1151, 37, 1150, -1, 1150, 514, 54,
1214, 1151, 37, 1150, -1, 1150, 54, 431, 1151, 37,
1150, -1, 1150, 514, 54, 431, 1151, 37, 1150, -1,
1150, 203, 1203, -1, 1150, 514, 203, 1203, -1, 1150,
1188, 1183, 1039, -1, 1150, 1188, 1183, 535, 1150, 536,
-1, 466, 647, 1039, -1, 1150, 226, 139, -1, 1150,
226, 294, 139, -1, 1150, 226, 293, -1, 1150, 226,
1198, 293, -1, 1150, 226, 294, 293, -1, 1150, 226,
294, 1198, 293, -1, 1150, 226, 1228, 1229, -1, 1150,
226, 294, 1228, 1229, -1, 122, -1, 1152, -1, 1151,
13, 1126, -1, 526, 1151, -1, 527, 1151, -1, 1151,
526, 1151, -1, 1151, 527, 1151, -1, 1151, 528, 1151,
-1, 1151, 529, 1151, -1, 1151, 530, 1151, -1, 1151,
531, 1151, -1, 1151, 523, 1151, -1, 1151, 524, 1151,
-1, 1151, 525, 1151, -1, 1151, 17, 1151, -1, 1151,
18, 1151, -1, 1151, 19, 1151, -1, 1151, 1186, 1151,
-1, 1186, 1151, -1, 1151, 226, 137, 179, 1151, -1,
1151, 226, 294, 137, 179, 1151, -1, 1151, 226, 139,
-1, 1151, 226, 294, 139, -1, 1209, -1, 1247, -1,
12, 1213, -1, 535, 1150, 536, 1213, -1, 1204, -1,
1154, -1, 1039, -1, 1039, 1212, -1, 159, 1039, -1,
39, 1039, -1, 39, 1194, -1, 1181, -1, 1182, -1,
189, 535, 1189, 536, -1, 1246, 535, 536, -1, 1246,
535, 1190, 1057, 536, -1, 1246, 535, 481, 1191, 1057,
536, -1, 1246, 535, 1190, 539, 481, 1191, 1057, 536,
-1, 1246, 535, 31, 1190, 1057, 536, -1, 1246, 535,
137, 1190, 1057, 536, -1, 1246, 535, 528, 536, -1,
1153, 1167, 1168, 1172, -1, 1235, 1168, 1172, -1, 1156,
-1, 1153, -1, 1156, -1, 1235, -1, 81, 173, 535,
1150, 536, -1, 107, -1, 110, -1, 110, 535, 1248,
536, -1, 111, -1, 111, 535, 1248, 536, -1, 259,
-1, 259, 535, 1248, 536, -1, 260, -1, 260, 535,
1248, 536, -1, 108, -1, 112, -1, 402, -1, 434,
-1, 472, -1, 106, -1, 109, -1, 68, 535, 1150,
40, 1126, 536, -1, 164, 535, 1196, 536, -1, 292,
535, 1150, 536, -1, 292, 535, 1150, 539, 1198, 536,
-1, 323, 535, 1199, 536, -1, 323, 535, 1192, 536,
-1, 339, 535, 1200, 536, -1, 429, 535, 1201, 536,
-1, 429, 535, 1192, 536, -1, 452, 535, 1150, 40,
1126, 536, -1, 454, 535, 59, 1202, 536, -1, 454,
535, 249, 1202, 536, -1, 454, 535, 449, 1202, 536,
-1, 454, 535, 1202, 536, -1, 300, 535, 1150, 539,
1150, 536, -1, 79, 535, 1189, 536, -1, 187, 535,
1189, 536, -1, 251, 535, 1189, 536, -1, 500, 535,
1189, 536, -1, 501, 535, 278, 1261, 536, -1, 501,
535, 278, 1261, 539, 1159, 536, -1, 501, 535, 278,
1261, 539, 1189, 536, -1, 501, 535, 278, 1261, 539,
1159, 539, 1189, 536, -1, 502, 535, 1152, 1165, 536,
-1, 503, 535, 1160, 536, -1, 505, 535, 1162, 1150,
1164, 536, -1, 506, 535, 278, 1261, 536, -1, 506,
535, 278, 1261, 539, 1150, 536, -1, 507, 535, 1150,
539, 1157, 1158, 536, -1, 508, 535, 1162, 1150, 40,
1128, 1163, 536, -1, 234, 535, 1190, 536, -1, 234,
535, 1230, 1232, 1229, 1227, 536, -1, 234, 535, 1227,
536, -1, 231, 535, 1234, 1233, 1227, 536, -1, 231,
535, 1040, 1225, 1227, 536, -1, 231, 535, 1227, 536,
-1, 230, 535, 1223, 1229, 536, -1, 237, 535, 1150,
536, -1, 238, 535, 1223, 1227, 536, -1, 271, 535,
536, -1, 236, 535, 1223, 539, 1150, 1215, 1227, 1218,
1226, 1221, 536, -1, 233, 535, 1223, 539, 1150, 1215,
1222, 536, -1, 240, 535, 1223, 539, 1150, 1215, 1227,
1221, 536, -1, 484, 1150, -1, 484, 290, 478, -1,
539, 417, 511, -1, 539, 417, 290, -1, 539, 417,
290, 478, -1, -1, 499, 535, 1160, 536, -1, 1161,
-1, 1160, 539, 1161, -1, 1150, 40, 1261, -1, 1150,
-1, 139, -1, 96, -1, 207, -1, 290, 207, -1,
-1, 342, 490, -1, 427, 490, -1, -1, 332, 1152,
-1, 332, 1152, 1166, -1, 332, 1166, 1152, -1, 332,
1166, 1152, 1166, -1, 61, 361, -1, 61, 478, -1,
493, 188, 535, 1058, 536, -1, -1, 168, 535, 489,
1150, 536, -1, -1, 491, 1170, -1, -1, 1171, -1,
1170, 539, 1171, -1, 1258, 40, 1173, -1, 321, 1173,
-1, 321, 1258, -1, -1, 535, 1174, 1175, 1057, 1176,
536, -1, 1258, -1, -1, 331, 61, 1189, -1, -1,
355, 1177, 1179, -1, 386, 1177, 1179, -1, 190, 1177,
1179, -1, -1, 1178, -1, 54, 1178, 37, 1178, -1,
461, 340, -1, 461, 172, -1, 105, 385, -1, 1150,
340, -1, 1150, 172, -1, 155, 105, 385, -1, 155,
188, -1, 155, 445, -1, 155, 290, 318, -1, -1,
385, 535, 1189, 536, -1, 385, 535, 536, -1, 535,
1189, 539, 1150, 536, -1, 385, 535, 1189, 536, -1,
385, 535, 536, -1, 535, 1189, 539, 1150, 536, -1,
38, -1, 413, -1, 31, -1, 10, -1, 1185, -1,
526, -1, 527, -1, 528, -1, 529, -1, 530, -1,
531, -1, 523, -1, 524, -1, 525, -1, 17, -1,
18, -1, 19, -1, 10, -1, 312, 535, 901, 536,
-1, 1184, -1, 312, 535, 901, 536, -1, 1184, -1,
312, 535, 901, 536, -1, 254, -1, 514, 254, -1,
198, -1, 514, 198, -1, 1150, -1, 1189, 539, 1150,
-1, 1191, -1, 1190, 539, 1191, -1, 1150, -1, 872,
15, 1150, -1, 872, 16, 1150, -1, 1190, -1, -1,
1126, -1, 1193, 539, 1126, -1, 533, 1189, 534, -1,
533, 1195, 534, -1, 533, 534, -1, 1194, -1, 1195,
539, 1194, -1, 1197, 179, 1150, -1, 12, 179, 1150,
-1, 3, -1, 510, -1, 276, -1, 117, -1, 195,
-1, 273, -1, 394, -1, 1249, -1, 286, -1, 287,
-1, 288, -1, 289, -1, 1150, 335, 1150, 179, 1150,
173, 1150, -1, 1150, 335, 1150, 179, 1150, -1, 1151,
203, 1151, -1, 1150, 179, 1150, 173, 1150, -1, 1150,
173, 1150, 179, 1150, -1, 1150, 179, 1150, -1, 1150,
173, 1150, -1, 1150, 408, 1150, 152, 1150, -1, 1150,
179, 1189, -1, 179, 1189, -1, 1189, -1, 1039, -1,
535, 1189, 536, -1, 67, 1208, 1205, 1207, 149, -1,
1206, -1, 1205, 1206, -1, 488, 1150, 444, 1150, -1,
144, 1150, -1, -1, 1150, -1, -1, 1258, -1, 1258,
1212, -1, 537, 1244, -1, 537, 528, -1, 533, 1150,
534, -1, 533, 1211, 540, 1211, 534, -1, 1150, -1,
-1, 1210, -1, 1212, 1210, -1, -1, 1213, 1210, -1,
45, -1, -1, 332, 1216, -1, -1, 1217, -1, 1216,
539, 1217, -1, 1223, 40, 1261, -1, 494, 496, -1,
494, 39, 496, -1, 492, 496, -1, 492, 39, 496,
-1, 492, 90, 39, 496, -1, 492, 462, 39, 496,
-1, 492, 90, 496, -1, 492, 462, 496, -1, -1,
122, 1150, -1, 1220, -1, 151, -1, 299, -1, 455,
-1, 165, -1, 467, -1, 145, 39, -1, 145, 303,
-1, 145, -1, 1219, 310, 145, -1, 1219, 310, 151,
-1, 1219, 310, 145, 1219, 310, 151, -1, -1, 1219,
310, 151, -1, -1, 1150, 1225, -1, 513, 230, 147,
1243, -1, 513, 230, -1, 1224, -1, -1, 241, 354,
310, 389, 426, -1, 241, 354, -1, 309, 354, 310,
389, 426, -1, 309, 354, -1, -1, 376, 1126, 1225,
-1, -1, 230, -1, 230, 478, -1, 230, 39, -1,
230, 303, -1, 230, 389, -1, 492, 466, 243, -1,
492, 466, -1, 494, 466, 243, -1, 494, 466, -1,
-1, 1231, -1, 1230, 539, 1231, -1, 1152, 478, 1223,
-1, 1150, 540, 1223, -1, 299, 310, 299, -1, 23,
310, 299, -1, -1, 299, 310, 299, -1, 23, 310,
299, -1, -1, 1223, -1, 1234, 539, 1223, -1, 235,
535, 1231, 1232, 1229, 1227, 536, -1, 232, 535, 1223,
1236, 1233, 1227, 536, -1, 316, 61, 1059, -1, -1,
1238, -1, -1, 1239, -1, 1238, 539, 1239, -1, 1150,
40, 1261, -1, 1150, 1262, -1, 1150, -1, 528, -1,
1241, -1, 1240, 539, 1241, -1, 1258, -1, 1258, 1212,
-1, 1243, -1, 1242, 539, 1243, -1, 1258, -1, 1261,
-1, 1249, -1, 1259, -1, 1258, 1212, -1, 1248, -1,
5, -1, 1249, -1, 8, -1, 9, -1, 1246, 1249,
-1, 1246, 535, 1190, 1057, 536, 1249, -1, 1246, 12,
-1, 1246, 535, 1190, 1057, 536, 12, -1, 1129, 1249,
-1, 1145, 1249, 1147, -1, 1145, 535, 1248, 536, 1249,
-1, 1129, 12, -1, 1145, 12, 1147, -1, 1145, 535,
1248, 536, 12, -1, 455, -1, 165, -1, 299, -1,
11, -1, 6, -1, 1248, -1, 526, 1248, -1, 527,
1248, -1, 1252, -1, 1260, -1, 108, -1, 112, -1,
402, -1, 1252, -1, 1253, 539, 1252, -1, 1056, 1237,
1086, 1108, 1071, 1078, 1169, 1057, 1062, 1080, -1, 1256,
1213, 1257, 1254, -1, 1258, -1, 12, -1, 15, -1,
525, -1, 3, -1, 1263, -1, 1264, -1, 3, -1,
1263, -1, 1265, -1, 3, -1, 1263, -1, 1264, -1,
1265, -1, 3, -1, 1263, -1, 1264, -1, 1265, -1,
1266, -1, 3, -1, 1267, -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,
155, -1, 156, -1, 157, -1, 158, -1, 160, -1,
161, -1, 162, -1, 163, -1, 166, -1, 168, -1,
169, -1, 170, -1, 172, -1, 174, -1, 176, -1,
177, -1, 181, -1, 182, -1, 183, -1, 184, -1,
186, -1, 190, -1, 191, -1, 193, -1, 194, -1,
195, -1, 196, -1, 197, -1, 199, -1, 200, -1,
201, -1, 202, -1, 204, -1, 205, -1, 206, -1,
207, -1, 208, -1, 209, -1, 210, -1, 211, -1,
213, -1, 216, -1, 217, -1, 218, -1, 219, -1,
225, -1, 228, -1, 241, -1, 242, -1, 243, -1,
244, -1, 245, -1, 246, -1, 247, -1, 250, -1,
253, -1, 256, -1, 257, -1, 258, -1, 261, -1,
262, -1, 263, -1, 264, -1, 265, -1, 266, -1,
267, -1, 268, -1, 269, -1, 270, -1, 272, -1,
273, -1, 274, -1, 275, -1, 276, -1, 277, -1,
278, -1, 279, -1, 283, -1, 284, -1, 285, -1,
286, -1, 287, -1, 288, -1, 289, -1, 290, -1,
293, -1, 295, -1, 296, -1, 298, -1, 301, -1,
303, -1, 304, -1, 305, -1, 307, -1, 308, -1,
309, -1, 312, -1, 313, -1, 314, -1, 317, -1,
318, -1, 321, -1, 324, -1, 325, -1, 326, -1,
327, -1, 328, -1, 329, -1, 330, -1, 331, -1,
332, -1, 333, -1, 334, -1, 336, -1, 337, -1,
338, -1, 340, -1, 343, -1, 344, -1, 342, -1,
346, -1, 347, -1, 348, -1, 349, -1, 350, -1,
351, -1, 352, -1, 353, -1, 354, -1, 355, -1,
356, -1, 358, -1, 359, -1, 360, -1, 361, -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, 377, -1, 378, -1,
380, -1, 381, -1, 382, -1, 383, -1, 384, -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,
403, -1, 404, -1, 406, -1, 407, -1, 409, -1,
410, -1, 412, -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, 430, -1, 432, -1, 433, -1,
436, -1, 438, -1, 439, -1, 440, -1, 441, -1,
442, -1, 443, -1, 445, -1, 450, -1, 451, -1,
453, -1, 456, -1, 457, -1, 458, -1, 459, -1,
460, -1, 461, -1, 463, -1, 462, -1, 464, -1,
467, -1, 468, -1, 469, -1, 470, -1, 471, -1,
474, -1, 475, -1, 476, -1, 477, -1, 478, -1,
482, -1, 484, -1, 485, -1, 486, -1, 487, -1,
490, -1, 493, -1, 494, -1, 495, -1, 496, -1,
497, -1, 498, -1, 510, -1, 511, -1, 512, -1,
54, -1, 55, -1, 57, -1, 58, -1, 71, -1,
72, -1, 79, -1, 119, -1, 120, -1, 159, -1,
164, -1, 171, -1, 187, -1, 189, -1, 215, -1,
220, -1, 221, -1, 223, -1, 230, -1, 231, -1,
232, -1, 233, -1, 234, -1, 235, -1, 236, -1,
237, -1, 238, -1, 239, -1, 240, -1, 251, -1,
271, -1, 280, -1, 282, -1, 291, -1, 292, -1,
300, -1, 302, -1, 319, -1, 323, -1, 339, -1,
341, -1, 357, -1, 385, -1, 405, -1, 411, -1,
429, -1, 446, -1, 447, -1, 452, -1, 454, -1,
479, -1, 480, -1, 499, -1, 500, -1, 501, -1,
502, -1, 503, -1, 504, -1, 505, -1, 506, -1,
507, -1, 508, -1, 509, -1, 50, -1, 56, -1,
81, -1, 89, -1, 102, -1, 109, -1, 178, -1,
180, -1, 198, -1, 214, -1, 226, -1, 227, -1,
229, -1, 252, -1, 254, -1, 281, -1, 297, -1,
320, -1, 322, -1, 379, -1, 408, -1, 437, -1,
483, -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, 154, -1, 165, -1, 167, -1, 173, -1,
175, -1, 179, -1, 185, -1, 188, -1, 192, -1,
203, -1, 212, -1, 222, -1, 224, -1, 248, -1,
249, -1, 255, -1, 259, -1, 260, -1, 294, -1,
299, -1, 306, -1, 310, -1, 311, -1, 315, -1,
316, -1, 335, -1, 345, -1, 362, -1, 376, -1,
396, -1, 402, -1, 413, -1, 431, -1, 434, -1,
435, -1, 444, -1, 448, -1, 449, -1, 455, -1,
465, -1, 466, -1, 472, -1, 473, -1, 481, -1,
488, -1, 489, -1, 491, -1, 492, -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,
155, -1, 156, -1, 157, -1, 158, -1, 159, -1,
160, -1, 161, -1, 162, -1, 163, -1, 164, -1,
165, -1, 166, -1, 169, -1, 170, -1, 171, -1,
172, -1, 174, -1, 175, -1, 176, -1, 177, -1,
178, -1, 180, -1, 181, -1, 182, -1, 183, -1,
184, -1, 186, -1, 187, -1, 189, -1, 190, -1,
191, -1, 193, -1, 194, -1, 196, -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, 223, -1,
225, -1, 226, -1, 228, -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, 256, -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, 274, -1, 275, -1, 277, -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, 298, -1, 299, -1,
300, -1, 301, -1, 302, -1, 303, -1, 304, -1,
305, -1, 307, -1, 308, -1, 309, -1, 311, -1,
312, -1, 313, -1, 314, -1, 315, -1, 317, -1,
318, -1, 319, -1, 320, -1, 323, -1, 324, -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, 343, -1, 344, -1, 342, -1, 345, -1,
346, -1, 347, -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,
377, -1, 378, -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, 395, -1, 396, -1, 397, -1,
398, -1, 399, -1, 400, -1, 401, -1, 402, -1,
403, -1, 405, -1, 404, -1, 406, -1, 407, -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,
449, -1, 450, -1, 451, -1, 452, -1, 453, -1,
454, -1, 455, -1, 456, -1, 457, -1, 458, -1,
459, -1, 460, -1, 461, -1, 463, -1, 462, -1,
464, -1, 466, -1, 467, -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, 483, -1, 484, -1, 485, -1,
486, -1, 487, -1, 488, -1, 490, -1, 495, -1,
496, -1, 497, -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, 511, -1,
512, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 923, 923, 928, 932, 937, 945, 953, 973, 985,
999, 1000, 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, 1119, 1120, 1121,
1122, 1123, 1124, 1125, 1126, 1127, 1129, 1136, 1137, 1141,
1142, 1146, 1147, 1151, 1152, 1153, 1162, 1178, 1190, 1191,
1192, 1201, 1202, 1206, 1207, 1211, 1217, 1222, 1226, 1237,
1247, 1255, 1259, 1263, 1269, 1273, 1321, 1323, 1327, 1331,
1335, 1339, 1353, 1372, 1381, 1393, 1394, 1398, 1407, 1416,
1425, 1447, 1455, 1463, 1471, 1479, 1487, 1505, 1524, 1536,
1537, 1548, 1559, 1570, 1586, 1605, 1612, 1620, 1621, 1622,
1623, 1624, 1625, 1639, 1646, 1653, 1663, 1672, 1681, 1685,
1694, 1703, 1711, 1722, 1723, 1732, 1744, 1752, 1761, 1769,
1781, 1790, 1798, 1807, 1815, 1823, 1833, 1844, 1845, 1849,
1850, 1853, 1855, 1857, 1861, 1862, 1863, 1864, 1868, 1869,
1870, 1876, 1888, 1892, 1896, 1900, 1917, 1925, 1926, 1927,
1931, 1932, 1933, 1937, 1938, 1942, 1946, 1947, 1955, 1963,
1974, 1982, 1993, 1994, 1999, 2000, 2005, 2012, 2019, 2026,
2033, 2044, 2055, 2056, 2060, 2061, 2069, 2085, 2092, 2099,
2106, 2113, 2133, 2143, 2153, 2163, 2173, 2185, 2197, 2207,
2217, 2227, 2239, 2251, 2261, 2271, 2281, 2291, 2301, 2311,
2323, 2335, 2345, 2358, 2359, 2364, 2378, 2391, 2407, 2424,
2434, 2444, 2454, 2464, 2474, 2483, 2492, 2502, 2511, 2521,
2531, 2547, 2557, 2567, 2577, 2587, 2604, 2614, 2624, 2634,
2645, 2659, 2675, 2685, 2694, 2710, 2719, 2730, 2741, 2749,
2758, 2767, 2775, 2783, 2792, 2801, 2810, 2818, 2826, 2835,
2843, 2851, 2860, 2869, 2878, 2887, 2896, 2905, 2916, 2924,
2933, 2942, 2951, 2960, 2969, 2978, 2986, 2994, 3002, 3009,
3020, 3021, 3025, 3034, 3038, 3039, 3043, 3051, 3059, 3067,
3078, 3081, 3082, 3086, 3087, 3092, 3096, 3100, 3105, 3112,
3114, 3119, 3123, 3127, 3138, 3145, 3146, 3150, 3151, 3156,
3209, 3222, 3236, 3248, 3255, 3259, 3273, 3286, 3287, 3292,
3302, 3313, 3324, 3351, 3358, 3392, 3428, 3451, 3452, 3456,
3457, 3466, 3467, 3468, 3471, 3472, 3477, 3478, 3482, 3486,
3490, 3494, 3498, 3502, 3506, 3510, 3514, 3518, 3522, 3526,
3530, 3534, 3538, 3547, 3551, 3555, 3559, 3563, 3564, 3569,
3573, 3580, 3587, 3588, 3589, 3590, 3591, 3592, 3596, 3600,
3608, 3619, 3639, 3659, 3680, 3701, 3722, 3756, 3757, 3758,
3759, 3760, 3767, 3774, 3775, 3779, 3780, 3784, 3785, 3789,
3793, 3800, 3804, 3811, 3812, 3813, 3817, 3818, 3821, 3845,
3864, 3886, 3887, 3891, 3892, 3896, 3897, 3901, 3902, 3906,
3907, 3911, 3919, 3920, 3921, 3953, 3961, 3969, 3982, 3994,
4007, 4017, 4027, 4051, 4071, 4072, 4073, 4077, 4078, 4097,
4105, 4113, 4121, 4133, 4145, 4146, 4147, 4151, 4152, 4153,
4154, 4155, 4156, 4157, 4158, 4159, 4160, 4169, 4177, 4181,
4195, 4213, 4229, 4246, 4262, 4282, 4317, 4325, 4329, 4343,
4359, 4360, 4364, 4365, 4369, 4370, 4373, 4379, 4380, 4383,
4387, 4395, 4400, 4406, 4407, 4411, 4416, 4423, 4424, 4428,
4438, 4448, 4456, 4465, 4478, 4490, 4497, 4505, 4513, 4521,
4529, 4539, 4540, 4544, 4545, 4548, 4560, 4561, 4564, 4575,
4586, 4600, 4601, 4606, 4607, 4608, 4611, 4612, 4613, 4614,
4617, 4618, 4621, 4622, 4625, 4645, 4658, 4680, 4681, 4684,
4690, 4696, 4713, 4722, 4744, 4758, 4775, 4791, 4792, 4793,
4805, 4819, 4836, 4850, 4851, 4863, 4884, 4895, 4909, 4918,
4930, 4931, 4934, 4935, 4938, 4939, 4942, 4946, 4950, 4954,
4958, 4962, 4966, 4970, 4974, 4978, 4982, 4986, 4990, 4994,
4998, 5002, 5008, 5009, 5013, 5014, 5015, 5022, 5025, 5026,
5038, 5054, 5070, 5071, 5079, 5080, 5084, 5085, 5089, 5090,
5094, 5095, 5099, 5100, 5110, 5122, 5123, 5136, 5144, 5162,
5171, 5183, 5186, 5190, 5194, 5198, 5205, 5217, 5228, 5231,
5235, 5248, 5258, 5268, 5278, 5288, 5298, 5308, 5318, 5328,
5338, 5348, 5358, 5368, 5387, 5399, 5400, 5401, 5402, 5406,
5407, 5411, 5412, 5422, 5431, 5444, 5445, 5449, 5453, 5461,
5465, 5469, 5476, 5480, 5485, 5490, 5497, 5505, 5510, 5520,
5533, 5549, 5550, 5555, 5556, 5560, 5561, 5571, 5581, 5590,
5608, 5629, 5650, 5672, 5706, 5722, 5723, 5727, 5736, 5751,
5761, 5774, 5775, 5787, 5796, 5814, 5839, 5857, 5872, 5873,
5877, 5878, 5882, 5883, 5887, 5888, 5892, 5906, 5910, 5911,
5915, 5916, 5917, 5918, 5919, 5929, 5941, 5942, 5953, 5976,
6008, 6009, 6010, 6014, 6016, 6038, 6040, 6042, 6044, 6046,
6051, 6052, 6056, 6057, 6061, 6073, 6074, 6078, 6087, 6091,
6095, 6100, 6110, 6111, 6115, 6116, 6120, 6121, 6125, 6126,
6130, 6131, 6132, 6136, 6140, 6141, 6142, 6146, 6147, 6152,
6153, 6180, 6181, 6182, 6183, 6184, 6185, 6198, 6209, 6224,
6226, 6231, 6236, 6238, 6243, 6254, 6255, 6256, 6257, 6268,
6287, 6299, 6312, 6323, 6334, 6346, 6355, 6363, 6371, 6381,
6391, 6401, 6411, 6421, 6432, 6442, 6455, 6458, 6459, 6462,
6466, 6473, 6474, 6475, 6476, 6477, 6478, 6481, 6484, 6485,
6493, 6500, 6501, 6504, 6506, 6517, 6529, 6541, 6553, 6565,
6594, 6595, 6611, 6627, 6628, 6632, 6645, 6656, 6665, 6675,
6685, 6686, 6689, 6690, 6693, 6694, 6695, 6698, 6712, 6717,
6728, 6738, 6751, 6752, 6756, 6765, 6778, 6789, 6803, 6814,
6837, 6848, 6867, 6878, 6889, 6900, 6911, 6922, 6933, 6944,
6955, 6966, 6977, 6988, 7003, 7004, 7005, 7006, 7007, 7008,
7009, 7010, 7011, 7012, 7013, 7014, 7015, 7025, 7026, 7027,
7028, 7029, 7033, 7034, 7035, 7036, 7037, 7038, 7039, 7040,
7045, 7046, 7047, 7051, 7052, 7055, 7056, 7059, 7061, 7066,
7067, 7078, 7090, 7091, 7092, 7102, 7111, 7120, 7129, 7138,
7147, 7156, 7165, 7174, 7183, 7197, 7206, 7215, 7224, 7233,
7242, 7251, 7260, 7272, 7273, 7287, 7298, 7309, 7320, 7331,
7342, 7353, 7364, 7375, 7386, 7399, 7400, 7403, 7404, 7414,
7421, 7430, 7439, 7448, 7457, 7466, 7475, 7484, 7493, 7502,
7511, 7520, 7529, 7538, 7547, 7556, 7565, 7576, 7577, 7580,
7581, 7591, 7609, 7625, 7653, 7655, 7657, 7659, 7667, 7677,
7678, 7681, 7689, 7697, 7705, 7712, 7723, 7727, 7734, 7738,
7749, 7758, 7767, 7776, 7785, 7794, 7803, 7812, 7821, 7830,
7839, 7848, 7857, 7865, 7874, 7883, 7892, 7901, 7910, 7919,
7928, 7941, 7942, 7946, 7947, 7952, 7953, 7963, 7974, 7988,
8000, 8018, 8019, 8023, 8030, 8031, 8032, 8035, 8036, 8046,
8057, 8058, 8062, 8066, 8070, 8081, 8095, 8110, 8128, 8129,
8130, 8131, 8132, 8133, 8145, 8177, 8212, 8213, 8217, 8218,
8221, 8222, 8227, 8239, 8258, 8263, 8268, 8275, 8276, 8279,
8280, 8283, 8284, 8288, 8289, 8290, 8293, 8294, 8295, 8311,
8325, 8340, 8354, 8371, 8372, 8375, 8376, 8380, 8381, 8385,
8386, 8391, 8405, 8413, 8421, 8437, 8438, 8442, 8443, 8458,
8468, 8478, 8488, 8498, 8511, 8512, 8513, 8514, 8515, 8521,
8525, 8540, 8541, 8547, 8557, 8561, 8566, 8574, 8616, 8620,
8624, 8628, 8636, 8637, 8641, 8653, 8654, 8659, 8660, 8665,
8666, 8673, 8677, 8681, 8685, 8689, 8693, 8697, 8701, 8705,
8709, 8713, 8717, 8721, 8725, 8729, 8733, 8738, 8745, 8750,
8754, 8759, 8763, 8767, 8773, 8774, 8780, 8790, 8794, 8805,
8811, 8820, 8826, 8827, 8831, 8832, 8836, 8837, 8840, 8853,
8857, 8872, 8881, 8890, 8903, 8904, 8909, 8910, 8927, 8938,
8949, 8960, 8971, 8982, 8996, 9007, 9021, 9032, 9046, 9054,
9056, 9058, 9063, 9065, 9070, 9071, 9076, 9095, 9105, 9106,
9110, 9115, 9119, 9132, 9144, 9156, 9170, 9171, 9172, 9176,
9189, 9190, 9200, 9213, 9217, 9221, 9225, 9232, 9254, 9267,
9280, 9295, 9296, 9299, 9300, 9303, 9304, 9314, 9324, 9342,
9352, 9362, 9372, 9382, 9392, 9402, 9412, 9422, 9432, 9442,
9452, 9462, 9473, 9484, 9494, 9504, 9514, 9524, 9534, 9544,
9555, 9566, 9577, 9588, 9599, 9610, 9621, 9632, 9643, 9654,
9665, 9676, 9688, 9700, 9712, 9724, 9736, 9748, 9759, 9770,
9782, 9794, 9805, 9816, 9825, 9835, 9845, 9855, 9865, 9875,
9885, 9895, 9905, 9915, 9930, 9931, 9934, 9935, 9945, 9955,
9965, 9975, 9986, 9996, 10008, 10009, 10019, 10029, 10039, 10049,
10059, 10069, 10079, 10089, 10099, 10109, 10119, 10129, 10139, 10149,
10159, 10169, 10179, 10189, 10199, 10209, 10219, 10229, 10239, 10249,
10259, 10269, 10279, 10298, 10308, 10309, 10312, 10314, 10316, 10322,
10323, 10324, 10325, 10326, 10338, 10354, 10363, 10372, 10381, 10390,
10399, 10408, 10417, 10426, 10435, 10444, 10453, 10462, 10471, 10480,
10489, 10498, 10507, 10516, 10525, 10534, 10543, 10552, 10561, 10589,
10597, 10606, 10632, 10641, 10648, 10654, 10681, 10692, 10701, 10709,
10711, 10733, 10741, 10751, 10761, 10780, 10800, 10810, 10821, 10831,
10842, 10853, 10864, 10875, 10886, 10904, 10913, 10930, 10948, 10949,
10950, 10955, 10961, 10970, 10971, 10972, 10973, 10974, 10978, 10979,
10982, 10983, 10984, 10985, 10989, 10990, 10991, 11003, 11012, 11022,
11032, 11039, 11059, 11069, 11078, 11088, 11098, 11107, 11116, 11125,
11134, 11143, 11152, 11161, 11173, 11182, 11194, 11195, 11196, 11200,
11203, 11206, 11209, 11212, 11219, 11221, 11223, 11228, 11230, 11234,
11235, 11236, 11248, 11262, 11276, 11295, 11317, 11318, 11319, 11320,
11330, 11347, 11358, 11359, 11363, 11364, 11368, 11372, 11376, 11394,
11395, 11396, 11397, 11398, 11399, 11400, 11407, 11408, 11419, 11427,
11435, 11444, 11454, 11472, 11481, 11490, 11499, 11511, 11515, 11526,
11538, 11556, 11563, 11580, 11594, 11604, 11613, 11622, 11632, 11644,
11656, 11667, 11668, 11679, 11690, 11702, 11714, 11726, 11738, 11748,
11761, 11762, 11776, 11800, 11809, 11819, 11831, 11843, 11857, 11858,
11870, 11891, 11902, 11914, 11926, 11930, 11937, 11938, 11942, 11949,
11950, 11951, 11955, 11956, 11957, 11961, 11962, 11966, 11967, 11970,
11971, 11974, 11975, 11979, 11980, 11984, 11991, 11993, 11998, 11999,
12012, 12020, 12031, 12039, 12050, 12051, 12052, 12053, 12054, 12055,
12056, 12057, 12058, 12059, 12069, 12080, 12081, 12085, 12086, 12087,
12088, 12089, 12099, 12107, 12125, 12145, 12146, 12156, 12165, 12174,
12183, 12202, 12220, 12224, 12232, 12238, 12245, 12251, 12258, 12267,
12268, 12272, 12274, 12279, 12290, 12300, 12310, 12316, 12325, 12334,
12340, 12341, 12352, 12367, 12368, 12379, 12390, 12391, 12394, 12395,
12396, 12397, 12398, 12399, 12400, 12401, 12404, 12405, 12409, 12410,
12411, 12422, 12441, 12442, 12446, 12451, 12475, 12486, 12487, 12499,
12519, 12520, 12530, 12537, 12544, 12551, 12561, 12574, 12575, 12579,
12580, 12584, 12585, 12589, 12602, 12615, 12624, 12633, 12642, 12651,
12663, 12675, 12687, 12690, 12691, 12692, 12693, 12694, 12695, 12698,
12699, 12700, 12748, 12749, 12753, 12754, 12769, 12770, 12777, 12785,
12793, 12801, 12809, 12817, 12828, 12829, 12861, 12877, 12894, 12895,
12914, 12918, 12922, 12937, 12944, 12951, 12961, 12962, 12965, 12981,
12982, 12983, 12987, 12997, 13008, 13014, 13026, 13039, 13045, 13046,
13050, 13062, 13070, 13075, 13080, 13085, 13090, 13098, 13106, 13111,
13116, 13123, 13124, 13128, 13129, 13130, 13137, 13138, 13142, 13143,
13147, 13148, 13152, 13153, 13157, 13161, 13162, 13165, 13174, 13187,
13192, 13197, 13201, 13213, 13214, 13218, 13227, 13243, 13252, 13261,
13270, 13282, 13285, 13290, 13291, 13299, 13319, 13320, 13322, 13327,
13328, 13332, 13333, 13336, 13337, 13362, 13371, 13381, 13382, 13386,
13387, 13388, 13389, 13390, 13394, 13407, 13414, 13421, 13428, 13429,
13433, 13434, 13438, 13439, 13443, 13444, 13448, 13460, 13461, 13462,
13463, 13467, 13468, 13478, 13485, 13504, 13505, 13509, 13510, 13516,
13521, 13530, 13538, 13547, 13554, 13562, 13571, 13580, 13584, 13589,
13596, 13625, 13629, 13643, 13664, 13686, 13699, 13716, 13722, 13727,
13733, 13740, 13741, 13751, 13757, 13765, 13769, 13773, 13780, 13788,
13793, 13794, 13795, 13796, 13800, 13801, 13816, 13820, 13828, 13835,
13842, 13849, 13856, 13867, 13868, 13881, 13885, 13893, 13907, 13921,
13922, 13937, 13948, 13961, 13966, 13967, 13970, 13971, 13974, 13975,
13980, 13981, 13986, 13987, 13996, 14001, 14002, 14006, 14010, 14016,
14041, 14052, 14066, 14067, 14071, 14085, 14142, 14156, 14158, 14163,
14172, 14174, 14176, 14178, 14183, 14185, 14190, 14198, 14209, 14237,
14238, 14242, 14244, 14249, 14258, 14278, 14298, 14316, 14328, 14343,
14344, 14348, 14351, 14364, 14369, 14376, 14381, 14387, 14392, 14401,
14403, 14406, 14410, 14411, 14412, 14413, 14414, 14415, 14420, 14426,
14441, 14442, 14443, 14444, 14445, 14456, 14462, 14470, 14471, 14477,
14482, 14487, 14492, 14497, 14502, 14507, 14512, 14518, 14524, 14530,
14537, 14559, 14568, 14572, 14580, 14584, 14592, 14604, 14625, 14629,
14635, 14639, 14652, 14660, 14670, 14672, 14674, 14676, 14678, 14680,
14685, 14686, 14693, 14702, 14710, 14719, 14730, 14738, 14739, 14740,
14744, 14746, 14748, 14750, 14752, 14754, 14756, 14761, 14766, 14772,
14780, 14785, 14792, 14799, 14803, 14807, 14815, 14850, 14851, 14853,
14862, 14869, 14885, 14887, 14889, 14891, 14893, 14895, 14897, 14899,
14901, 14903, 14905, 14907, 14909, 14911, 14914, 14916, 14919, 14921,
14923, 14925, 14928, 14933, 14942, 14947, 14956, 14961, 14970, 14975,
14985, 14994, 15003, 15012, 15031, 15040, 15049, 15058, 15067, 15084,
15093, 15102, 15111, 15120, 15129, 15138, 15142, 15146, 15154, 15162,
15170, 15178, 15199, 15222, 15234, 15241, 15257, 15262, 15268, 15275,
15282, 15290, 15298, 15315, 15334, 15360, 15362, 15364, 15366, 15368,
15370, 15372, 15374, 15376, 15378, 15380, 15382, 15384, 15386, 15388,
15390, 15392, 15394, 15396, 15400, 15404, 15409, 15425, 15426, 15427,
15444, 15457, 15459, 15461, 15473, 15498, 15510, 15522, 15530, 15541,
15552, 15562, 15568, 15577, 15587, 15597, 15610, 15620, 15651, 15687,
15697, 15708, 15709, 15710, 15717, 15724, 15728, 15732, 15736, 15740,
15744, 15748, 15752, 15756, 15760, 15764, 15768, 15772, 15779, 15783,
15787, 15791, 15793, 15800, 15807, 15814, 15821, 15832, 15846, 15856,
15867, 15883, 15893, 15900, 15907, 15914, 15918, 15926, 15935, 15944,
15948, 15952, 15956, 15960, 15964, 15973, 15977, 15987, 15991, 15995,
16000, 16011, 16017, 16031, 16042, 16056, 16072, 16084, 16094, 16103,
16112, 16120, 16142, 16158, 16182, 16184, 16188, 16190, 16192, 16195,
16198, 16201, 16202, 16205, 16213, 16223, 16224, 16227, 16228, 16229,
16232, 16233, 16234, 16239, 16243, 16247, 16251, 16258, 16259, 16267,
16268, 16272, 16273, 16281, 16282, 16286, 16287, 16292, 16301, 16303,
16318, 16321, 16349, 16350, 16353, 16354, 16362, 16370, 16378, 16387,
16397, 16415, 16461, 16470, 16479, 16488, 16497, 16509, 16510, 16511,
16512, 16513, 16527, 16528, 16529, 16532, 16533, 16536, 16539, 16540,
16541, 16544, 16545, 16548, 16549, 16550, 16551, 16552, 16553, 16554,
16555, 16556, 16557, 16558, 16559, 16562, 16564, 16569, 16571, 16576,
16578, 16580, 16582, 16584, 16586, 16598, 16602, 16609, 16613, 16619,
16623, 16633, 16645, 16646, 16649, 16650, 16653, 16657, 16661, 16667,
16668, 16673, 16677, 16687, 16688, 16689, 16690, 16691, 16692, 16693,
16694, 16698, 16699, 16700, 16701, 16706, 16711, 16720, 16741, 16745,
16750, 16761, 16778, 16784, 16785, 16786, 16789, 16797, 16807, 16822,
16823, 16827, 16839, 16840, 16843, 16844, 16847, 16851, 16858, 16862,
16866, 16875, 16887, 16888, 16892, 16893, 16897, 16898, 16901, 16902,
16907, 16908, 16912, 16913, 16917, 16929, 16930, 16931, 16932, 16933,
16934, 16935, 16936, 16937, 16941, 16943, 16948, 16949, 16950, 16951,
16952, 16953, 16954, 16956, 16960, 16962, 16964, 16967, 16971, 16974,
16978, 16987, 17004, 17011, 17016, 17022, 17023, 17024, 17025, 17026,
17030, 17039, 17053, 17054, 17055, 17056, 17057, 17066, 17067, 17068,
17069, 17070, 17074, 17076, 17086, 17089, 17095, 17096, 17097, 17101,
17102, 17103, 17107, 17108, 17112, 17130, 17150, 17151, 17160, 17161,
17165, 17166, 17169, 17177, 17185, 17193, 17216, 17217, 17228, 17232,
17238, 17240, 17245, 17247, 17249, 17259, 17261, 17272, 17276, 17280,
17284, 17288, 17297, 17305, 17337, 17344, 17376, 17380, 17387, 17395,
17399, 17405, 17412, 17416, 17420, 17426, 17427, 17429, 17430, 17431,
17435, 17476, 17504, 17508, 17512, 17518, 17520, 17534, 17570, 17583,
17584, 17587, 17588, 17605, 17606, 17607, 17612, 17613, 17614, 17619,
17620, 17621, 17622, 17628, 17629, 17630, 17631, 17632, 17638, 17639,
17659, 17660, 17661, 17662, 17663, 17664, 17665, 17666, 17667, 17668,
17669, 17670, 17671, 17672, 17673, 17674, 17675, 17676, 17677, 17678,
17679, 17680, 17681, 17682, 17683, 17684, 17685, 17686, 17687, 17688,
17689, 17690, 17691, 17692, 17693, 17694, 17695, 17696, 17697, 17698,
17699, 17700, 17701, 17702, 17703, 17704, 17705, 17706, 17707, 17708,
17709, 17710, 17711, 17712, 17713, 17714, 17715, 17716, 17717, 17718,
17719, 17720, 17721, 17722, 17723, 17724, 17725, 17726, 17727, 17728,
17729, 17730, 17731, 17732, 17733, 17734, 17735, 17736, 17737, 17738,
17739, 17740, 17741, 17742, 17743, 17744, 17745, 17746, 17747, 17748,
17749, 17750, 17751, 17752, 17753, 17754, 17755, 17756, 17757, 17758,
17759, 17760, 17761, 17762, 17763, 17764, 17765, 17766, 17767, 17768,
17769, 17770, 17771, 17772, 17773, 17774, 17775, 17776, 17777, 17778,
17779, 17780, 17781, 17782, 17783, 17784, 17785, 17786, 17787, 17788,
17789, 17790, 17791, 17792, 17793, 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, 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,
18075, 18076, 18077, 18078, 18079, 18080, 18081, 18082, 18083, 18084,
18085, 18086, 18087, 18088, 18089, 18090, 18091, 18092, 18093, 18094,
18095, 18096, 18097, 18107, 18108, 18109, 18110, 18111, 18112, 18113,
18114, 18115, 18116, 18117, 18118, 18119, 18120, 18121, 18122, 18123,
18124, 18125, 18126, 18127, 18128, 18129, 18130, 18131, 18132, 18133,
18134, 18135, 18136, 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, 18197, 18198, 18199, 18200, 18201, 18202, 18203, 18204, 18205,
18206, 18207, 18208, 18209, 18210, 18211, 18212, 18213, 18214, 18215,
18216, 18217, 18218, 18219, 18220, 18221, 18222, 18223, 18224, 18225,
18226, 18227, 18228, 18229, 18230, 18231, 18232, 18233, 18234, 18235,
18236, 18237, 18238, 18239, 18240, 18241, 18242, 18243, 18244, 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, 18323, 18324, 18325,
18326, 18327, 18328, 18329, 18330, 18331, 18332, 18333, 18334, 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
};
#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", "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", "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", "PLACING", "PLAN", "PLANS", "POLICY", "POSITION",
"PRECEDING", "PRECISION", "PRESERVE", "PREPARE", "PREPARED", "PRIMARY",
"PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROCEDURES",
"PROGRAM", "PUBLICATION", "QUOTE", "QUOTES", "RANGE", "READ", "REAL",
"REASSIGN", "RECHECK", "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", "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", "ConstraintAttr",
"TableLikeClause", "TableLikeOptionList", "TableLikeOption",
"TableConstraint", "ConstraintElem", "DomainConstraint",
"DomainConstraintElem", "opt_no_inherit", "opt_column_list",
"columnList", "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",
"opt_recheck", "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",
"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", "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", "in_expr", "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, 60, 62, 61, 43, 45, 42, 47,
37, 94, 778, 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, 541, 542, 542, 542, 542, 542, 542, 543, 543,
544, 544, 545, 545, 545, 545, 545, 545, 545, 545,
545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
545, 545, 545, 545, 545, 545, 545, 545, 545, 545,
545, 545, 545, 545, 545, 545, 545, 546, 546, 547,
547, 548, 548, 549, 549, 549, 550, 551, 552, 552,
552, 553, 553, 554, 554, 555, 555, 555, 555, 555,
555, 555, 555, 555, 555, 555, 556, 556, 556, 556,
556, 556, 557, 558, 558, 559, 559, 560, 560, 560,
560, 561, 561, 561, 561, 561, 561, 562, 563, 564,
564, 565, 565, 565, 565, 566, 566, 567, 567, 567,
567, 567, 567, 568, 568, 568, 569, 569, 569, 570,
570, 570, 570, 571, 571, 571, 571, 571, 571, 571,
571, 571, 571, 571, 571, 571, 571, 572, 572, 573,
573, 574, 574, 574, 575, 575, 575, 575, 576, 576,
576, 576, 577, 577, 577, 577, 577, 577, 577, 577,
578, 578, 578, 579, 579, 580, 581, 581, 581, 581,
582, 582, 583, 583, 584, 584, 585, 585, 585, 585,
585, 586, 587, 587, 588, 588, 589, 590, 590, 590,
590, 590, 591, 591, 591, 591, 591, 591, 591, 591,
591, 591, 591, 591, 591, 591, 591, 591, 591, 591,
591, 591, 591, 592, 592, 593, 593, 593, 594, 595,
595, 595, 595, 595, 595, 595, 595, 595, 595, 595,
595, 595, 595, 595, 595, 595, 595, 595, 595, 595,
595, 595, 595, 595, 595, 595, 595, 595, 595, 595,
595, 595, 595, 595, 595, 595, 595, 595, 595, 595,
595, 595, 595, 595, 595, 595, 595, 595, 595, 595,
595, 595, 595, 595, 595, 595, 595, 595, 595, 595,
596, 596, 597, 597, 598, 598, 599, 599, 599, 599,
600, 601, 601, 602, 602, 603, 603, 603, 603, 604,
604, 605, 605, 605, 605, 606, 606, 607, 607, 608,
608, 608, 608, 609, 610, 610, 611, 612, 612, 613,
613, 613, 613, 614, 614, 615, 615, 616, 616, 617,
617, 618, 618, 618, 619, 619, 620, 620, 621, 621,
621, 621, 621, 621, 621, 621, 621, 621, 621, 621,
621, 621, 621, 622, 622, 623, 623, 624, 624, 625,
625, 626, 627, 627, 627, 627, 627, 627, 628, 628,
629, 630, 630, 630, 630, 630, 630, 631, 631, 631,
631, 631, 631, 631, 631, 632, 632, 633, 633, 634,
634, 635, 635, 636, 636, 636, 637, 637, 638, 639,
639, 640, 640, 641, 641, 642, 642, 643, 643, 644,
644, 645, 645, 645, 645, 646, 646, 646, 646, 646,
646, 646, 646, 646, 647, 647, 647, 648, 648, 649,
649, 649, 649, 650, 651, 651, 651, 652, 652, 652,
652, 652, 652, 652, 652, 652, 652, 653, 653, 654,
654, 654, 654, 654, 654, 654, 655, 655, 656, 656,
657, 657, 658, 658, 659, 659, 660, 661, 661, 662,
662, 662, 662, 663, 663, 664, 664, 665, 665, 666,
666, 666, 666, 666, 667, 668, 669, 669, 669, 669,
669, 670, 670, 671, 671, 672, 673, 673, 674, 674,
674, 675, 675, 676, 676, 676, 677, 677, 677, 677,
678, 678, 679, 679, 680, 681, 681, 682, 682, 683,
683, 683, 684, 684, 685, 685, 686, 687, 687, 687,
688, 688, 689, 690, 690, 691, 692, 692, 693, 693,
694, 694, 695, 695, 696, 696, 697, 697, 697, 697,
697, 697, 697, 697, 697, 697, 697, 697, 697, 697,
697, 697, 698, 698, 699, 699, 699, 699, 700, 700,
701, 701, 702, 702, 703, 703, 704, 704, 705, 705,
706, 706, 707, 707, 708, 709, 709, 710, 710, 711,
711, 712, 712, 713, 713, 713, 713, 714, 715, 715,
716, 717, 717, 717, 717, 717, 717, 717, 717, 717,
717, 717, 717, 717, 718, 719, 719, 719, 719, 720,
720, 721, 721, 722, 722, 723, 723, 724, 724, 725,
726, 726, 727, 727, 727, 727, 728, 729, 730, 731,
731, 732, 732, 733, 733, 734, 734, 735, 735, 735,
736, 736, 736, 736, 737, 738, 738, 739, 739, 740,
740, 741, 741, 742, 742, 743, 744, 745, 746, 746,
747, 747, 748, 748, 749, 749, 750, 750, 751, 751,
752, 752, 752, 752, 752, 753, 754, 754, 755, 755,
756, 756, 756, 757, 757, 758, 758, 758, 758, 758,
759, 759, 760, 760, 761, 762, 762, 763, 763, 764,
765, 765, 766, 766, 767, 767, 768, 768, 769, 769,
770, 770, 770, 771, 771, 771, 771, 772, 772, 773,
773, 774, 774, 774, 774, 774, 774, 775, 775, 776,
776, 777, 778, 778, 779, 780, 780, 780, 780, 781,
782, 782, 782, 782, 782, 782, 782, 782, 782, 782,
782, 782, 782, 782, 782, 782, 783, 784, 784, 785,
785, 786, 786, 786, 786, 786, 786, 787, 788, 788,
789, 790, 790, 791, 791, 792, 792, 792, 792, 792,
793, 793, 794, 795, 795, 796, 796, 796, 796, 796,
797, 797, 798, 798, 799, 799, 799, 800, 800, 801,
802, 802, 803, 803, 804, 804, 805, 805, 806, 806,
807, 808, 809, 809, 809, 809, 809, 809, 809, 809,
809, 809, 809, 809, 810, 810, 810, 810, 810, 810,
810, 810, 810, 810, 810, 810, 810, 811, 811, 811,
811, 811, 812, 812, 812, 812, 812, 812, 812, 812,
813, 813, 813, 814, 814, 815, 815, 816, 816, 817,
817, 818, 819, 819, 819, 820, 820, 820, 820, 820,
820, 820, 820, 820, 820, 820, 820, 820, 820, 820,
820, 820, 820, 821, 821, 822, 822, 822, 822, 822,
822, 822, 822, 822, 822, 823, 823, 824, 824, 825,
825, 826, 826, 826, 826, 826, 826, 826, 826, 826,
826, 826, 826, 826, 826, 826, 826, 827, 827, 828,
828, 829, 830, 830, 831, 831, 831, 831, 831, 832,
832, 833, 833, 833, 833, 833, 834, 834, 835, 835,
836, 836, 836, 836, 836, 836, 836, 836, 836, 836,
836, 836, 836, 836, 836, 836, 836, 836, 836, 836,
836, 837, 837, 838, 838, 839, 839, 840, 840, 841,
841, 842, 842, 843, 844, 844, 844, 845, 845, 846,
847, 847, 848, 848, 848, 849, 849, 849, 850, 850,
850, 850, 850, 850, 851, 851, 852, 852, 853, 853,
854, 854, 855, 855, 856, 856, 856, 857, 857, 858,
858, 859, 859, 860, 860, 860, 861, 861, 861, 862,
862, 862, 862, 863, 863, 864, 864, 865, 865, 866,
866, 867, 867, 867, 867, 868, 868, 869, 869, 870,
870, 870, 870, 870, 871, 871, 871, 871, 871, 872,
873, 874, 874, 874, 875, 875, 875, 876, 877, 877,
877, 877, 878, 878, 879, 880, 880, 881, 881, 882,
882, 883, 883, 883, 883, 883, 883, 883, 883, 883,
883, 883, 883, 883, 883, 883, 883, 883, 884, 884,
884, 884, 884, 884, 885, 885, 886, 887, 887, 887,
888, 888, 889, 889, 890, 890, 891, 891, 892, 893,
893, 894, 894, 894, 895, 895, 896, 896, 897, 897,
897, 897, 897, 897, 898, 898, 899, 899, 900, 900,
900, 900, 901, 901, 902, 902, 903, 904, 905, 905,
906, 906, 906, 907, 907, 907, 908, 908, 908, 909,
910, 910, 911, 912, 912, 912, 912, 913, 914, 914,
914, 915, 915, 916, 916, 917, 917, 918, 918, 919,
919, 919, 919, 919, 919, 919, 919, 919, 919, 919,
919, 919, 919, 919, 919, 919, 919, 919, 919, 919,
919, 919, 919, 919, 919, 919, 919, 919, 919, 919,
919, 919, 919, 919, 919, 919, 919, 919, 919, 919,
919, 919, 919, 919, 919, 919, 919, 919, 919, 919,
919, 919, 919, 919, 920, 920, 921, 921, 922, 922,
922, 922, 922, 922, 923, 923, 924, 924, 924, 924,
924, 924, 924, 924, 924, 924, 924, 924, 924, 924,
924, 924, 924, 924, 924, 924, 924, 924, 924, 924,
924, 924, 924, 925, 926, 926, 927, 927, 927, 928,
928, 928, 928, 928, 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, 931,
931, 931, 932, 932, 932, 932, 932, 932, 932, 933,
933, 934, 934, 934, 934, 935, 936, 936, 936, 936,
936, 936, 936, 936, 936, 937, 937, 938, 939, 939,
939, 940, 940, 941, 941, 941, 941, 941, 942, 942,
943, 943, 943, 943, 944, 944, 944, 945, 945, 946,
947, 947, 948, 948, 948, 948, 948, 948, 948, 948,
948, 948, 948, 948, 949, 949, 950, 950, 950, 951,
951, 951, 951, 951, 952, 952, 952, 953, 953, 954,
954, 954, 955, 955, 955, 955, 956, 956, 956, 956,
957, 958, 959, 959, 960, 960, 961, 961, 961, 962,
962, 962, 962, 962, 962, 962, 963, 963, 964, 964,
964, 964, 965, 966, 966, 966, 966, 967, 967, 968,
969, 970, 970, 971, 972, 972, 972, 972, 972, 972,
972, 973, 973, 974, 975, 975, 975, 975, 975, 975,
976, 976, 977, 978, 978, 978, 978, 978, 979, 979,
980, 980, 981, 981, 982, 982, 983, 983, 984, 985,
985, 985, 986, 986, 986, 987, 987, 988, 988, 989,
989, 990, 990, 991, 991, 992, 993, 993, 994, 994,
995, 995, 995, 995, 996, 996, 996, 996, 996, 996,
996, 996, 996, 996, 997, 998, 998, 999, 999, 999,
999, 999, 1000, 1000, 1000, 1001, 1001, 1002, 1002, 1002,
1002, 1003, 1004, 1004, 1005, 1005, 1005, 1005, 1005, 1006,
1006, 1007, 1007, 1008, 1009, 1009, 1009, 1010, 1010, 1010,
1011, 1011, 1012, 1013, 1013, 1014, 1015, 1015, 1016, 1016,
1016, 1016, 1016, 1016, 1016, 1016, 1017, 1017, 1018, 1018,
1018, 1019, 1020, 1020, 1021, 1021, 1022, 1023, 1023, 1024,
1025, 1025, 1026, 1026, 1026, 1026, 1026, 1027, 1027, 1028,
1028, 1029, 1029, 1030, 1031, 1032, 1032, 1032, 1032, 1032,
1033, 1034, 1035, 1036, 1036, 1036, 1036, 1036, 1036, 1037,
1037, 1037, 1038, 1038, 1039, 1039, 1040, 1040, 1040, 1040,
1040, 1040, 1040, 1040, 1041, 1041, 1042, 1042, 1042, 1042,
1042, 1042, 1042, 1043, 1043, 1043, 1044, 1044, 1045, 1046,
1046, 1046, 1047, 1047, 1047, 1048, 1048, 1048, 1049, 1049,
1050, 1050, 1051, 1051, 1051, 1051, 1051, 1051, 1051, 1051,
1051, 1052, 1052, 1053, 1053, 1053, 1054, 1054, 1055, 1055,
1056, 1056, 1057, 1057, 1058, 1059, 1059, 1060, 1060, 1061,
1061, 1061, 1061, 1062, 1062, 1063, 1063, 1063, 1063, 1063,
1063, 1064, 1064, 1065, 1065, 1066, 1067, 1067, 1067, 1068,
1068, 1069, 1069, 1070, 1070, 1071, 1071, 1072, 1072, 1073,
1073, 1073, 1073, 1073, 1074, 1075, 1076, 1077, 1078, 1078,
1079, 1079, 1080, 1080, 1081, 1081, 1082, 1083, 1083, 1083,
1083, 1084, 1084, 1085, 1085, 1086, 1086, 1087, 1087, 1088,
1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088, 1088,
1088, 1089, 1089, 1089, 1089, 1089, 1089, 1090, 1090, 1090,
1090, 1091, 1091, 1092, 1092, 1093, 1093, 1093, 1093, 1093,
1094, 1094, 1094, 1094, 1095, 1095, 1096, 1096, 1097, 1097,
1098, 1098, 1098, 1099, 1099, 1100, 1100, 1100, 1101, 1102,
1102, 1103, 1103, 1104, 1105, 1105, 1106, 1106, 1107, 1107,
1108, 1108, 1109, 1109, 1109, 1110, 1110, 1111, 1111, 1112,
1113, 1113, 1114, 1114, 1115, 1115, 1115, 1116, 1116, 1117,
1117, 1117, 1117, 1117, 1118, 1118, 1119, 1119, 1120, 1121,
1121, 1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1124,
1124, 1125, 1125, 1126, 1126, 1126, 1126, 1126, 1126, 1127,
1127, 1127, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
1129, 1129, 1129, 1129, 1129, 1130, 1130, 1131, 1131, 1132,
1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
1133, 1133, 1134, 1134, 1135, 1135, 1136, 1137, 1138, 1138,
1139, 1139, 1140, 1141, 1142, 1142, 1142, 1142, 1142, 1142,
1143, 1143, 1144, 1144, 1144, 1144, 1145, 1146, 1146, 1146,
1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147,
1147, 1147, 1147, 1147, 1148, 1148, 1149, 1150, 1150, 1150,
1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
1150, 1150, 1150, 1150, 1150, 1151, 1151, 1151, 1151, 1151,
1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
1151, 1151, 1151, 1151, 1151, 1151, 1151, 1152, 1152, 1152,
1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152,
1152, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1154, 1154,
1154, 1155, 1155, 1155, 1156, 1156, 1156, 1156, 1156, 1156,
1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156,
1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156,
1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156,
1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156,
1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1156,
1156, 1156, 1156, 1156, 1157, 1157, 1158, 1158, 1158, 1158,
1159, 1160, 1160, 1161, 1161, 1162, 1162, 1163, 1163, 1163,
1164, 1164, 1164, 1165, 1165, 1165, 1165, 1166, 1166, 1167,
1167, 1168, 1168, 1169, 1169, 1170, 1170, 1171, 1172, 1172,
1172, 1173, 1174, 1174, 1175, 1175, 1176, 1176, 1176, 1176,
1177, 1177, 1178, 1178, 1178, 1178, 1178, 1179, 1179, 1179,
1179, 1179, 1180, 1180, 1180, 1181, 1181, 1182, 1183, 1183,
1183, 1184, 1184, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
1185, 1185, 1185, 1185, 1185, 1186, 1186, 1187, 1187, 1188,
1188, 1188, 1188, 1188, 1188, 1189, 1189, 1190, 1190, 1191,
1191, 1191, 1192, 1192, 1193, 1193, 1194, 1194, 1194, 1195,
1195, 1196, 1196, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
1197, 1198, 1198, 1198, 1198, 1199, 1199, 1200, 1201, 1201,
1201, 1201, 1201, 1202, 1202, 1202, 1203, 1203, 1204, 1205,
1205, 1206, 1207, 1207, 1208, 1208, 1209, 1209, 1210, 1210,
1210, 1210, 1211, 1211, 1212, 1212, 1213, 1213, 1214, 1214,
1215, 1215, 1216, 1216, 1217, 1218, 1218, 1218, 1218, 1218,
1218, 1218, 1218, 1218, 1219, 1219, 1220, 1220, 1220, 1220,
1220, 1220, 1220, 1220, 1221, 1221, 1221, 1221, 1222, 1222,
1223, 1224, 1224, 1225, 1225, 1226, 1226, 1226, 1226, 1226,
1227, 1227, 1228, 1228, 1228, 1228, 1228, 1229, 1229, 1229,
1229, 1229, 1230, 1230, 1231, 1231, 1232, 1232, 1232, 1233,
1233, 1233, 1234, 1234, 1235, 1235, 1236, 1236, 1237, 1237,
1238, 1238, 1239, 1239, 1239, 1239, 1240, 1240, 1241, 1241,
1242, 1242, 1243, 1244, 1245, 1246, 1246, 1247, 1247, 1247,
1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247, 1247,
1247, 1247, 1247, 1247, 1247, 1248, 1249, 1250, 1250, 1250,
1251, 1252, 1252, 1252, 1252, 1253, 1253, 1254, 1255, 1256,
1256, 1257, 1257, 1258, 1258, 1258, 1259, 1259, 1259, 1260,
1260, 1260, 1260, 1261, 1261, 1261, 1261, 1261, 1262, 1262,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263, 1263,
1263, 1263, 1263, 1263, 1263, 1263, 1263, 1264, 1264, 1264,
1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264,
1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264,
1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264,
1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264,
1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264,
1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264, 1264,
1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265,
1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265, 1265,
1265, 1265, 1265, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266, 1266,
1266, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267, 1267,
1267, 1267, 1267
};
/* 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, 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, 2, 1, 4, 4, 5,
2, 5, 7, 5, 2, 3, 0, 1, 2, 1,
2, 2, 2, 3, 3, 3, 0, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 3, 1, 5,
9, 3, 9, 4, 10, 11, 3, 1, 5, 3,
2, 0, 3, 0, 1, 3, 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, 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, 5, 5, 3, 6, 2,
1, 0, 2, 0, 2, 4, 0, 1, 0, 6,
8, 8, 1, 3, 5, 5, 7, 9, 7, 9,
5, 6, 6, 4, 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, 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, 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, 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, 4, 2, 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,
2, 0, 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, 4, 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, 1, 3, 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
};
/* 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[] =
{
1729, 1468, 673, 1557, 1556, 1468, 0, 276, 0, 1568,
0, 1468, 444, 1124, 0, 0, 0, 0, 673, 1468,
0, 1729, 0, 0, 0, 0, 0, 1742, 0, 0,
0, 0, 0, 1266, 0, 0, 0, 1468, 0, 0,
1749, 0, 0, 0, 0, 1742, 0, 1570, 0, 0,
0, 0, 1749, 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, 1568, 102, 115, 101, 84,
108, 87, 112, 130, 113, 85, 126, 1693, 1692, 1753,
1696, 1728, 0, 1708, 1467, 1466, 1481, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 672, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1478, 2463, 2480, 2481, 2482, 2483, 2484,
2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494,
2496, 2495, 2497, 2498, 2870, 2499, 2500, 2501, 2807, 2808,
2871, 2809, 2810, 2502, 2503, 2504, 2505, 2506, 2507, 2508,
2509, 2510, 2811, 2812, 2511, 2512, 2513, 2514, 2515, 2813,
2872, 2516, 2517, 2518, 2519, 2520, 2521, 2873, 2522, 2523,
2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2874, 2532,
2533, 2534, 2875, 2535, 2536, 2537, 2538, 2539, 2540, 2814,
2815, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549,
2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559,
2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569,
2570, 2816, 2571, 2572, 2573, 2574, 2817, 2575, 2576, 2577,
2578, 2818, 2579, 2580, 2581, 2582, 2876, 2877, 2583, 2584,
2585, 2586, 2587, 2819, 2820, 2588, 2589, 2590, 2591, 2592,
2593, 2594, 2878, 2595, 2596, 2597, 2598, 2599, 2600, 2601,
2602, 2603, 2604, 2605, 2606, 2607, 2879, 2821, 2608, 2609,
2610, 2611, 2822, 2823, 2824, 2612, 2880, 2881, 2613, 2882,
2825, 2826, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2834,
2835, 2614, 2615, 2616, 2617, 2618, 2619, 2620, 2621, 2836,
2883, 2622, 2884, 2623, 2624, 2625, 2626, 2627, 2628, 2629,
2630, 2631, 2632, 2633, 2634, 2635, 2837, 2636, 2637, 2638,
2639, 2640, 2641, 2642, 2643, 2838, 2885, 2839, 2644, 2645,
2646, 2647, 2648, 2649, 2650, 2651, 2840, 2841, 2652, 2653,
2654, 2886, 2655, 2842, 2656, 2843, 2657, 2658, 2659, 2660,
2661, 2662, 2663, 2664, 2665, 2666, 2667, 2844, 2887, 2668,
2888, 2845, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676,
2677, 2678, 2679, 2680, 2681, 2682, 2846, 2683, 2847, 2686,
2684, 2685, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694,
2695, 2696, 2697, 2848, 2698, 2699, 2700, 2701, 2702, 2703,
2704, 2705, 2706, 2707, 2708, 2709, 2710, 2711, 2712, 2713,
2714, 2715, 2716, 2889, 2717, 2718, 2719, 2720, 2721, 2849,
2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2731,
2732, 2733, 2734, 2735, 2736, 2737, 2738, 2850, 2739, 2740,
2890, 2741, 2742, 2851, 2743, 2744, 2745, 2746, 2747, 2748,
2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757, 2758,
2852, 2759, 2760, 2761, 2762, 2891, 2763, 2764, 2765, 2766,
2767, 2768, 2769, 2853, 2854, 2770, 2771, 2855, 2772, 2856,
2773, 2774, 2775, 2776, 2777, 2778, 2780, 2779, 2781, 2782,
2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2857,
2858, 2792, 2892, 2793, 2794, 2795, 2796, 2797, 2798, 2799,
2800, 2801, 2802, 2803, 2859, 2860, 2861, 2862, 2863, 2864,
2865, 2866, 2867, 2868, 2869, 2804, 2805, 2806, 146, 0,
0, 2425, 2464, 2465, 2468, 2463, 414, 413, 1682, 2422,
2464, 1567, 0, 1546, 673, 0, 1481, 443, 1729, 0,
0, 0, 0, 0, 0, 890, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 138, 0,
140, 0, 0, 468, 467, 0, 0, 1096, 473, 0,
0, 0, 0, 0, 663, 1609, 2684, 1607, 1683, 277,
280, 281, 278, 279, 2446, 0, 1237, 1238, 1240, 0,
0, 1251, 930, 931, 0, 0, 0, 944, 0, 0,
0, 928, 0, 0, 0, 950, 0, 947, 0, 0,
951, 948, 925, 949, 932, 0, 924, 0, 0, 1251,
952, 0, 0, 926, 0, 0, 0, 0, 1481, 1606,
474, 1729, 0, 1590, 1591, 1592, 1568, 1580, 1593, 1585,
1587, 1586, 1588, 1589, 1584, 2445, 2482, 1020, 1020, 1020,
1020, 1017, 1018, 1020, 1020, 1020, 2705, 0, 0, 999,
0, 1001, 2447, 1020, 1025, 2490, 553, 553, 553, 0,
1024, 1029, 553, 0, 1449, 1490, 2424, 1741, 0, 1000,
1448, 2770, 1596, 0, 0, 0, 0, 2724, 1458, 261,
2736, 2853, 2770, 260, 255, 256, 227, 0, 0, 1024,
553, 0, 1481, 1456, 996, 1748, 1746, 0, 2409, 2509,
2526, 2625, 252, 2717, 2726, 2736, 2853, 2770, 2803, 203,
213, 208, 0, 270, 2736, 2853, 2770, 266, 1478, 0,
1709, 1859, 1858, 2418, 0, 1451, 1450, 1569, 0, 1572,
0, 2700, 1713, 1716, 1574, 1714, 2466, 1952, 1981, 1959,
1981, 1981, 1948, 1948, 2556, 1961, 1949, 1950, 1986, 2006,
0, 1981, 1948, 1953, 0, 1951, 1989, 1989, 1976, 3,
1931, 1932, 1933, 1934, 1962, 1963, 1935, 1968, 1969, 1973,
1936, 2003, 1939, 1948, 2467, 1750, 1751, 2409, 4, 2460,
5, 2336, 2459, 6, 7, 1705, 0, 0, 1, 1729,
0, 1579, 1745, 1745, 0, 1745, 0, 1697, 1705, 1700,
1704, 0, 0, 0, 0, 0, 0, 1452, 0, 0,
0, 955, 0, 1493, 1081, 0, 0, 0, 0, 0,
1335, 0, 1133, 1132, 2469, 2452, 2453, 2454, 0, 2450,
2451, 2470, 2471, 2472, 0, 2594, 1335, 0, 0, 2251,
2262, 2263, 2264, 2513, 2575, 2259, 2260, 2261, 2253, 2254,
2255, 2256, 2257, 2258, 0, 0, 1232, 2252, 0, 2594,
0, 1335, 0, 175, 0, 150, 1335, 0, 0, 2594,
0, 0, 2594, 0, 0, 0, 0, 0, 2594, 0,
0, 0, 0, 0, 175, 2630, 0, 150, 2594, 0,
0, 1472, 0, 0, 0, 1474, 1477, 1464, 0, 2333,
0, 2334, 2426, 1561, 0, 1560, 1554, 1564, 1559, 1549,
0, 2418, 0, 0, 0, 0, 938, 0, 0, 928,
0, 0, 0, 939, 0, 940, 941, 0, 0, 0,
0, 937, 0, 1462, 1454, 0, 1598, 1600, 1599, 1601,
1597, 553, 0, 0, 0, 2594, 0, 150, 1532, 0,
2594, 150, 0, 0, 472, 471, 150, 2450, 470, 469,
2513, 2575, 0, 1123, 0, 1207, 150, 2594, 0, 196,
2594, 732, 2594, 1574, 139, 0, 676, 0, 844, 2630,
150, 0, 0, 0, 0, 0, 0, 142, 0, 0,
0, 0, 0, 0, 0, 662, 673, 1610, 1608, 0,
1242, 1241, 1239, 942, 2594, 1165, 145, 0, 0, 2594,
1513, 2594, 145, 959, 943, 0, 929, 2594, 145, 1129,
2594, 2455, 185, 0, 927, 2513, 2575, 2594, 145, 1234,
0, 2594, 145, 2594, 181, 2594, 145, 2594, 145, 2594,
677, 0, 0, 2594, 145, 2594, 2630, 183, 946, 2594,
145, 953, 2594, 145, 2420, 2594, 0, 1465, 0, 1602,
0, 1582, 2857, 0, 1729, 1020, 1019, 0, 1020, 0,
1020, 0, 1020, 0, 1020, 0, 0, 0, 1020, 2448,
2449, 1002, 0, 1026, 0, 1034, 0, 1033, 1032, 1031,
0, 0, 0, 1035, 0, 1863, 1637, 0, 1461, 0,
0, 0, 142, 0, 1264, 1261, 142, 1263, 1262, 142,
142, 1457, 259, 257, 0, 0, 0, 0, 0, 0,
1463, 0, 1455, 0, 0, 0, 2428, 2430, 2431, 2265,
2336, 0, 2808, 2809, 2810, 2325, 0, 2811, 2812, 2813,
2872, 2139, 2125, 2134, 2140, 2126, 2128, 2135, 2814, 2815,
2074, 2816, 2817, 2443, 2818, 2819, 2820, 2822, 2823, 2824,
2825, 2826, 2827, 2828, 2829, 2830, 2831, 2832, 2833, 2835,
2836, 2130, 2132, 2837, 2838, 2839, 2841, 0, 2444, 2842,
2843, 2663, 2845, 2846, 2848, 2849, 2136, 2851, 2852, 2137,
2853, 2854, 2855, 2856, 2442, 516, 2138, 2858, 2860, 2861,
2862, 2863, 2865, 2866, 2867, 2868, 0, 0, 0, 2415,
0, 2103, 0, 1940, 1941, 1964, 1965, 1942, 1970, 1971,
1943, 0, 1944, 2414, 2007, 2210, 2102, 2120, 0, 2108,
2109, 0, 2101, 2097, 2212, 1731, 2410, 0, 2098, 2427,
2429, 2326, 1731, 2408, 216, 272, 0, 273, 2416, 2736,
204, 251, 219, 250, 221, 220, 254, 253, 218, 217,
0, 2511, 205, 0, 0, 206, 0, 0, 0, 0,
269, 267, 0, 1453, 0, 1861, 1860, 2419, 964, 0,
1571, 1568, 2275, 0, 1715, 0, 0, 0, 1980, 1967,
1975, 1974, 0, 1957, 1956, 1955, 0, 1954, 1981, 1981,
1979, 1958, 1931, 0, 0, 0, 1985, 0, 1983, 1927,
1923, 0, 1992, 1993, 1994, 1991, 2004, 1990, 0, 1937,
1995, 0, 1948, 1945, 1816, 0, 1695, 1694, 8, 0,
1576, 1578, 1552, 1574, 1743, 1744, 0, 0, 0, 0,
0, 0, 0, 0, 1803, 1761, 1762, 1764, 1800, 1804,
1812, 0, 1701, 0, 0, 0, 1865, 0, 0, 1479,
0, 0, 0, 0, 0, 1164, 0, 0, 0, 0,
956, 0, 0, 0, 1499, 0, 1501, 1502, 1503, 0,
0, 0, 1504, 1505, 1493, 263, 1512, 1509, 1492, 1494,
1507, 0, 0, 0, 0, 0, 0, 0, 1524, 0,
189, 190, 0, 689, 673, 0, 2594, 0, 0, 0,
0, 1174, 1181, 1334, 0, 0, 0, 0, 0, 0,
0, 0, 1175, 1173, 0, 1176, 265, 1186, 1214, 1217,
0, 0, 1131, 1134, 0, 0, 0, 0, 0, 1325,
0, 0, 0, 1325, 0, 0, 0, 1334, 0, 0,
0, 0, 0, 0, 0, 0, 0, 288, 290, 303,
369, 0, 654, 0, 0, 0, 657, 0, 2594, 1335,
0, 0, 0, 1236, 0, 0, 0, 0, 0, 0,
0, 0, 1217, 0, 0, 0, 0, 0, 0, 0,
0, 0, 148, 149, 154, 0, 0, 0, 0, 1217,
0, 0, 0, 0, 0, 0, 0, 638, 653, 641,
0, 0, 0, 0, 0, 649, 0, 0, 150, 651,
293, 628, 634, 0, 0, 0, 739, 738, 0, 0,
0, 0, 0, 0, 1423, 0, 1422, 0, 0, 0,
0, 0, 1522, 1521, 0, 0, 0, 0, 0, 0,
1325, 0, 282, 284, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 406,
407, 0, 0, 0, 154, 0, 0, 1325, 0, 295,
0, 0, 1473, 1470, 1471, 0, 1476, 0, 0, 0,
0, 2111, 0, 2279, 1753, 2277, 2425, 2332, 0, 2473,
2893, 2894, 2895, 2896, 2897, 2898, 2899, 2900, 2901, 2902,
2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912,
2913, 2914, 2915, 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, 2329, 2328,
2423, 2474, 2475, 2476, 2477, 2335, 1544, 0, 239, 240,
238, 1562, 241, 1563, 1558, 0, 1545, 0, 0, 0,
0, 0, 0, 0, 0, 2513, 2575, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 852, 1493, 1531, 0, 0, 0, 682,
0, 2594, 0, 152, 891, 0, 842, 473, 0, 0,
0, 0, 1399, 152, 0, 0, 192, 0, 0, 736,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
843, 0, 0, 152, 0, 2594, 631, 2594, 0, 553,
553, 0, 0, 141, 138, 0, 0, 0, 0, 0,
0, 0, 0, 1687, 1686, 1689, 1688, 0, 1685, 0,
143, 144, 0, 1224, 1250, 0, 0, 0, 0, 0,
920, 945, 0, 0, 1218, 0, 0, 2594, 145, 2594,
0, 2594, 0, 0, 0, 1226, 145, 0, 1220, 0,
0, 1222, 0, 1425, 0, 936, 934, 933, 935, 0,
0, 918, 0, 0, 0, 0, 0, 913, 0, 0,
915, 0, 0, 0, 0, 1729, 1581, 0, 1010, 0,
1014, 0, 1005, 0, 1011, 0, 1006, 1003, 1004, 0,
1009, 0, 0, 554, 556, 0, 0, 2538, 2555, 0,
2583, 2618, 2619, 2673, 2690, 2720, 2726, 2732, 0, 2763,
2775, 0, 1040, 1078, 1030, 748, 0, 0, 1647, 1447,
2284, 0, 1729, 0, 0, 1265, 0, 0, 138, 258,
228, 0, 0, 1078, 0, 2724, 1460, 995, 673, 0,
2099, 0, 2106, 2107, 2324, 0, 0, 0, 0, 0,
0, 2105, 0, 0, 0, 0, 2381, 0, 0, 2381,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2030, 0, 0, 2283, 0, 0, 2283, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2031,
2012, 2013, 2103, 2275, 0, 2104, 2439, 2436, 2003, 0,
2003, 2478, 2265, 0, 2262, 2263, 2264, 2971, 2972, 2973,
2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983,
2984, 2985, 2986, 2987, 0, 2988, 2989, 2990, 2991, 2992,
2994, 2993, 2995, 2996, 2997, 2998, 2999, 3000, 2339, 3002,
3003, 3004, 3005, 3006, 3007, 3008, 3009, 3010, 3011, 3012,
3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022,
3023, 3024, 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, 2045, 3159, 3160, 3161,
3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171,
3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179, 3180, 3181,
3182, 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, 2047, 3225, 3226, 3227, 3228, 3229, 3230,
3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240,
3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250,
3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259, 3260,
3261, 3262, 3265, 3263, 3264, 3266, 3267, 3268, 3269, 3270,
3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280,
3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, 3290,
3291, 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, 3324, 3323, 3325, 3326, 3327, 3328, 3329, 3330,
3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3340,
3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, 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, 3381,
3380, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390,
3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400,
3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410,
3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420,
3421, 3422, 0, 2259, 2260, 2261, 2253, 2254, 2255, 2256,
2257, 2258, 2269, 0, 0, 2413, 2479, 0, 2212, 0,
2027, 0, 2220, 0, 0, 1816, 2434, 0, 2432, 2327,
1816, 274, 275, 271, 0, 0, 223, 224, 222, 0,
244, 243, 248, 249, 215, 247, 0, 242, 226, 2196,
2195, 225, 214, 233, 211, 209, 229, 231, 232, 212,
210, 268, 0, 0, 0, 145, 1579, 1566, 0, 0,
2339, 0, 2273, 0, 0, 2271, 0, 0, 0, 1813,
0, 1717, 0, 1721, 0, 0, 0, 1978, 1977, 1928,
1924, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 957, 0, 1946, 0, 1881, 2461,
2462, 2337, 1749, 1579, 0, 1575, 1712, 1711, 1754, 1755,
1115, 1710, 1783, 1784, 0, 0, 0, 0, 1809, 1807,
1774, 1765, 1773, 0, 0, 1771, 0, 1775, 2007, 1802,
1699, 1759, 1760, 1763, 1698, 0, 1805, 0, 1650, 1803,
1764, 1634, 0, 1612, 0, 0, 1866, 0, 0, 1480,
0, 0, 0, 1144, 1146, 0, 1145, 0, 1148, 0,
1157, 0, 0, 1143, 1162, 0, 1151, 1149, 0, 1520,
0, 0, 0, 0, 0, 1500, 0, 0, 0, 2763,
262, 1503, 1508, 1495, 1506, 0, 0, 0, 0, 0,
1080, 1079, 0, 0, 0, 1527, 547, 0, 371, 0,
0, 0, 0, 0, 0, 0, 0, 838, 835, 0,
0, 834, 0, 687, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 712, 0, 1325, 0, 301,
0, 1183, 0, 1182, 0, 1187, 0, 0, 1184, 1179,
1180, 2726, 2736, 2770, 264, 1185, 1216, 0, 1215, 1211,
0, 1126, 0, 1127, 0, 0, 0, 0, 0, 0,
0, 2567, 0, 2594, 0, 516, 309, 333, 538, 0,
1324, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 355, 0, 0, 358,
357, 0, 0, 0, 0, 0, 363, 0, 341, 0,
342, 0, 362, 0, 0, 0, 655, 656, 0, 0,
0, 1325, 0, 297, 0, 0, 0, 0, 0, 0,
0, 0, 1233, 0, 765, 0, 0, 2726, 1212, 0,
1408, 0, 2762, 1409, 1412, 553, 0, 553, 1414, 0,
0, 1411, 1413, 0, 0, 178, 0, 173, 177, 0,
0, 2726, 1213, 0, 0, 0, 0, 0, 636, 637,
652, 0, 642, 643, 639, 644, 645, 0, 0, 0,
0, 0, 0, 0, 635, 0, 0, 734, 733, 737,
0, 0, 0, 0, 0, 0, 1417, 0, 0, 1207,
0, 0, 1416, 1424, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1268, 1267, 0, 0, 0, 0,
1335, 0, 881, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 180, 752, 0, 751, 0, 174, 179,
0, 0, 0, 0, 0, 0, 0, 0, 237, 1469,
1475, 1753, 1753, 1753, 2117, 0, 0, 0, 0, 1752,
2330, 2333, 1549, 1555, 1548, 1547, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 420, 417, 418, 420, 0, 0, 0,
0, 854, 0, 857, 860, 1491, 500, 0, 0, 679,
712, 0, 0, 476, 187, 0, 0, 0, 0, 767,
0, 1207, 1206, 147, 138, 196, 474, 0, 195, 197,
199, 200, 201, 198, 202, 0, 731, 735, 0, 0,
0, 0, 675, 0, 0, 0, 0, 0, 0, 0,
1886, 0, 0, 172, 0, 0, 626, 630, 0, 0,
0, 0, 476, 592, 382, 2594, 0, 553, 0, 2594,
0, 137, 0, 841, 0, 0, 0, 1168, 1168, 0,
0, 781, 780, 0, 0, 0, 0, 0, 0, 1684,
145, 1166, 0, 1514, 0, 145, 960, 145, 1130, 186,
2456, 0, 922, 0, 0, 0, 0, 145, 1235, 910,
145, 182, 145, 145, 678, 0, 145, 184, 0, 0,
145, 954, 145, 2421, 0, 145, 1605, 2594, 553, 1583,
1007, 1016, 1015, 1013, 1012, 1008, 0, 1027, 0, 552,
0, 0, 0, 0, 0, 1048, 1049, 0, 0, 1045,
1050, 0, 1052, 1036, 1038, 1046, 1047, 1053, 1042, 1041,
1054, 1055, 0, 0, 0, 1067, 746, 0, 0, 0,
0, 1644, 0, 1642, 0, 1864, 1646, 1635, 1595, 0,
1594, 0, 619, 1259, 1258, 1260, 0, 1024, 0, 145,
0, 1459, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2288, 0, 2289, 0, 0, 2323, 2319,
0, 0, 0, 0, 0, 2293, 0, 2296, 2297, 2298,
2295, 2299, 2294, 0, 0, 2300, 0, 0, 2374, 2391,
0, 2103, 2374, 2402, 0, 2401, 2407, 0, 2279, 2007,
0, 0, 2398, 2392, 0, 2398, 0, 0, 2381, 0,
0, 0, 0, 2180, 0, 0, 0, 2279, 2282, 0,
0, 2849, 0, 0, 0, 0, 2075, 0, 0, 2246,
0, 2279, 0, 0, 0, 0, 0, 0, 0, 2275,
2315, 0, 514, 0, 2065, 0, 0, 0, 2194, 0,
2191, 0, 0, 0, 0, 2336, 0, 2440, 0, 2437,
2008, 2023, 2024, 2025, 2028, 2412, 2011, 0, 2338, 0,
0, 2009, 2036, 0, 2316, 2061, 0, 2066, 2051, 2382,
2301, 2302, 2303, 2304, 2068, 0, 2044, 2049, 2053, 0,
2391, 2032, 0, 2029, 0, 2339, 2274, 0, 2272, 0,
2020, 2021, 2022, 2014, 2015, 2016, 2017, 2018, 2019, 2026,
2250, 2248, 2249, 0, 0, 2220, 0, 0, 2048, 0,
0, 2119, 2586, 2625, 0, 1742, 1742, 1742, 1730, 1740,
2411, 1881, 1753, 1881, 2417, 0, 0, 2003, 0, 1862,
962, 963, 961, 1551, 1565, 1579, 2276, 1573, 1719, 0,
0, 0, 1947, 1960, 0, 1987, 1988, 1989, 1989, 0,
1929, 0, 1972, 1997, 1998, 1999, 2000, 2001, 2002, 0,
1996, 1938, 958, 2825, 2834, 0, 2722, 2869, 0, 1842,
1815, 1817, 1827, 1842, 1849, 1842, 1842, 2121, 1879, 2122,
2123, 2418, 0, 1786, 2458, 1553, 1577, 0, 1113, 1114,
0, 1118, 2849, 2722, 0, 0, 0, 0, 1776, 1810,
0, 1801, 0, 2428, 1777, 2427, 1778, 1781, 1782, 1772,
1811, 1648, 0, 1806, 1703, 1702, 0, 1884, 0, 0,
0, 1626, 1614, 0, 0, 1867, 0, 1816, 1652, 0,
2336, 1814, 1375, 1269, 1336, 1147, 0, 1948, 1158, 0,
1142, 0, 1141, 1948, 0, 1159, 0, 1948, 1376, 1270,
1337, 1377, 1271, 1338, 1378, 1511, 1272, 1510, 1498, 1497,
1496, 0, 0, 0, 0, 0, 0, 0, 0, 819,
2594, 145, 1525, 1379, 0, 1273, 370, 1526, 1339, 1530,
837, 836, 0, 0, 1340, 0, 688, 693, 0, 695,
696, 2513, 2575, 697, 700, 701, 0, 703, 692, 691,
0, 0, 0, 0, 0, 709, 714, 0, 0, 0,
0, 0, 0, 1177, 1178, 1380, 1276, 0, 1341, 0,
1125, 0, 1277, 188, 0, 0, 289, 0, 2594, 311,
0, 0, 0, 0, 0, 0, 0, 0, 819, 498,
819, 0, 1327, 308, 339, 0, 354, 349, 350, 348,
2594, 145, 2594, 145, 0, 0, 0, 0, 0, 351,
346, 347, 343, 0, 0, 356, 2485, 2557, 2737, 0,
720, 722, 0, 727, 359, 1297, 378, 377, 376, 0,
364, 0, 383, 386, 0, 361, 340, 338, 335, 304,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1228, 0, 1383, 1342, 0, 1364, 1368, 0, 0,
0, 759, 1386, 1283, 1345, 0, 553, 0, 0, 568,
568, 553, 1397, 1284, 176, 1314, 165, 0, 0, 161,
0, 0, 0, 0, 153, 1387, 1285, 1346, 0, 0,
1388, 1286, 0, 0, 294, 629, 640, 646, 1291, 650,
647, 1354, 648, 1395, 1287, 0, 1391, 1317, 1349, 396,
612, 395, 1207, 1207, 1398, 1418, 1288, 1207, 0, 1325,
0, 283, 285, 0, 142, 0, 1289, 0, 1347, 1390,
1316, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1533, 0, 0, 0, 0, 0, 0, 145, 0, 0,
0, 1327, 2594, 145, 879, 1389, 0, 1322, 0, 1362,
0, 0, 0, 408, 0, 1315, 1325, 0, 296, 1293,
0, 1356, 0, 0, 235, 234, 236, 0, 0, 0,
0, 2280, 2281, 0, 2278, 2112, 2332, 0, 1543, 984,
970, 983, 0, 966, 2555, 0, 969, 971, 0, 0,
0, 972, 976, 977, 0, 968, 965, 967, 0, 419,
0, 0, 776, 777, 0, 0, 0, 0, 856, 0,
0, 1523, 0, 150, 686, 0, 0, 0, 681, 711,
716, 0, 0, 0, 0, 475, 479, 483, 484, 485,
0, 0, 0, 0, 166, 151, 0, 899, 0, 553,
0, 769, 1207, 1401, 0, 196, 191, 0, 0, 732,
0, 1574, 0, 0, 607, 610, 609, 0, 382, 851,
849, 848, 850, 872, 847, 0, 1885, 1887, 0, 0,
0, 0, 0, 0, 619, 478, 0, 0, 556, 0,
595, 0, 0, 0, 0, 592, 0, 0, 0, 2466,
0, 868, 840, 0, 1136, 0, 1154, 1137, 0, 0,
0, 0, 1192, 1199, 1167, 1193, 1169, 1199, 0, 0,
782, 786, 785, 789, 787, 0, 783, 660, 1690, 1691,
0, 1225, 0, 0, 1519, 0, 1517, 921, 1219, 145,
0, 145, 0, 145, 1227, 1221, 1223, 1426, 0, 919,
0, 0, 912, 914, 0, 916, 0, 1028, 555, 0,
0, 0, 0, 0, 0, 1044, 658, 1051, 0, 0,
0, 1066, 1061, 1063, 0, 1078, 1072, 0, 745, 0,
0, 1645, 1638, 1640, 1639, 0, 0, 1636, 2285, 911,
0, 625, 0, 1078, 1069, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1747, 2286, 2287, 0,
0, 0, 2320, 0, 0, 2156, 0, 2127, 2129, 0,
2142, 0, 2157, 2110, 0, 2373, 2370, 0, 0, 0,
2374, 2381, 2176, 0, 0, 0, 2381, 0, 2401, 0,
0, 0, 2171, 2173, 0, 0, 0, 2391, 2391, 0,
2178, 0, 0, 2158, 2131, 2133, 2143, 0, 0, 2266,
0, 2146, 2145, 0, 2077, 2078, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2092, 2147, 2245, 0, 0, 0,
2149, 2148, 0, 0, 2314, 0, 0, 0, 2154, 515,
2159, 0, 0, 0, 0, 2165, 0, 2202, 0, 0,
0, 2100, 2276, 0, 0, 0, 0, 0, 0, 0,
2384, 2385, 2386, 2383, 0, 2067, 2052, 2070, 2046, 2050,
2054, 0, 2391, 2069, 2072, 0, 0, 2040, 0, 0,
2038, 2062, 2034, 0, 0, 2063, 0, 2118, 0, 0,
0, 2223, 2218, 2219, 1742, 1742, 1742, 1742, 1739, 0,
0, 0, 1786, 0, 1786, 207, 0, 245, 230, 1550,
1720, 1729, 1966, 0, 1984, 1982, 1925, 1930, 2005, 0,
1842, 1849, 1842, 1842, 0, 0, 1705, 0, 1827, 0,
1841, 1825, 1840, 0, 0, 1855, 1853, 0, 1855, 0,
1855, 0, 1819, 0, 1845, 1821, 1840, 1823, 1829, 0,
1871, 2419, 1880, 0, 1799, 1756, 0, 2267, 1118, 0,
1758, 1780, 1779, 0, 1769, 0, 1808, 1766, 1649, 1633,
0, 1631, 1618, 1620, 1619, 0, 0, 1621, 2336, 0,
1631, 1613, 0, 1657, 0, 0, 1884, 0, 1656, 0,
1948, 1139, 1140, 0, 1163, 0, 1083, 1084, 0, 1082,
0, 0, 0, 546, 549, 0, 1528, 0, 1396, 1313,
690, 0, 0, 0, 0, 705, 664, 706, 708, 0,
0, 707, 710, 713, 1325, 0, 302, 1299, 0, 1360,
1171, 0, 0, 1128, 0, 0, 0, 0, 0, 1099,
537, 1098, 0, 0, 0, 0, 819, 0, 0, 541,
0, 497, 494, 334, 0, 0, 0, 0, 391, 0,
313, 326, 389, 332, 0, 366, 0, 337, 0, 330,
352, 344, 353, 345, 365, 367, 0, 724, 725, 723,
719, 0, 726, 728, 0, 380, 0, 0, 0, 398,
360, 397, 0, 1382, 0, 1325, 0, 298, 1295, 0,
1358, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1363, 0, 0, 0, 0, 764, 0,
761, 0, 568, 0, 1410, 0, 1407, 1405, 568, 0,
0, 156, 157, 155, 0, 164, 0, 0, 0, 0,
0, 0, 1419, 1420, 1421, 0, 0, 0, 0, 0,
0, 402, 0, 305, 307, 306, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 409, 373, 0, 875, 0, 0, 0,
411, 0, 0, 1374, 0, 0, 0, 0, 0, 1381,
1278, 2115, 2116, 2113, 1753, 2331, 0, 0, 0, 981,
0, 0, 0, 0, 422, 423, 150, 421, 446, 0,
819, 0, 0, 853, 858, 866, 2663, 2253, 2254, 864,
859, 861, 863, 865, 862, 0, 0, 0, 0, 519,
0, 0, 0, 506, 0, 0, 516, 499, 502, 503,
0, 0, 682, 685, 683, 684, 0, 704, 0, 478,
526, 582, 0, 168, 0, 0, 169, 167, 0, 0,
382, 766, 0, 763, 1400, 0, 194, 0, 736, 0,
0, 0, 0, 0, 1207, 674, 0, 871, 873, 845,
0, 716, 0, 0, 631, 0, 553, 1606, 614, 0,
584, 478, 582, 591, 0, 0, 599, 381, 0, 0,
619, 382, 0, 0, 1099, 0, 867, 0, 0, 1135,
0, 0, 0, 1188, 1194, 1190, 1189, 0, 1168, 1150,
0, 1191, 0, 0, 1197, 1121, 1170, 1122, 1442, 1443,
1440, 1441, 0, 0, 0, 0, 0, 0, 1681, 0,
0, 1515, 0, 923, 0, 906, 0, 908, 145, 753,
0, 145, 0, 0, 0, 0, 0, 0, 1043, 0,
1037, 1039, 1064, 0, 0, 1078, 1077, 0, 1068, 1076,
1074, 1075, 1073, 0, 0, 1643, 1641, 617, 0, 0,
145, 1078, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2290, 0, 2322, 2318, 0, 2124, 2292, 2291,
2372, 2388, 2390, 2177, 2380, 0, 0, 0, 2403, 0,
0, 2381, 2341, 2395, 2394, 0, 0, 2393, 2381, 2381,
2341, 2179, 2341, 0, 0, 0, 2246, 0, 0, 2076,
2088, 2089, 2090, 2307, 0, 2095, 0, 2085, 2086, 2087,
2079, 2080, 2081, 2082, 2083, 2084, 2091, 2311, 2310, 0,
0, 2151, 2152, 2153, 2313, 2160, 0, 2503, 2203, 0,
2164, 2193, 2192, 0, 0, 0, 2167, 0, 0, 2189,
0, 2247, 2441, 2438, 2010, 0, 0, 2037, 2317, 2055,
0, 2071, 2073, 2033, 2266, 0, 0, 0, 0, 0,
2042, 0, 0, 2243, 0, 0, 0, 2225, 2222, 0,
0, 0, 0, 1733, 1732, 1738, 1799, 2112, 1799, 0,
0, 1926, 0, 1826, 1822, 1824, 1830, 0, 2864, 0,
1831, 1838, 0, 1818, 0, 1854, 1850, 0, 1851, 0,
0, 1852, 0, 0, 1820, 0, 1838, 0, 1878, 1745,
0, 2214, 0, 1757, 1116, 1117, 1767, 0, 1770, 2534,
1882, 0, 1632, 0, 0, 0, 1623, 1629, 1611, 0,
0, 0, 1653, 1631, 1654, 1160, 0, 0, 1152, 1089,
1090, 1093, 1091, 1088, 1092, 0, 0, 0, 819, 822,
0, 0, 0, 820, 145, 1274, 0, 0, 0, 0,
665, 1394, 1275, 0, 0, 0, 0, 1172, 1328, 0,
0, 1298, 819, 0, 0, 0, 563, 0, 1112, 1112,
0, 310, 0, 543, 604, 0, 496, 495, 0, 493,
716, 0, 0, 317, 327, 0, 322, 0, 1326, 0,
0, 0, 0, 321, 324, 323, 393, 0, 390, 0,
145, 145, 368, 721, 379, 384, 385, 388, 1333, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 900, 883, 0, 0, 901, 902, 0, 0,
0, 1230, 1231, 1229, 1365, 1366, 1372, 1369, 1367, 1371,
1373, 1370, 0, 1281, 0, 0, 757, 1329, 1402, 1404,
1403, 0, 1406, 162, 159, 158, 160, 163, 1330, 1311,
1292, 1355, 613, 0, 0, 0, 1290, 0, 1348, 0,
1307, 1301, 0, 0, 0, 0, 0, 1393, 1321, 1353,
1392, 1319, 1351, 1318, 1350, 1320, 1352, 1312, 0, 0,
1889, 880, 0, 0, 0, 145, 145, 878, 755, 1294,
0, 1357, 1303, 0, 0, 0, 973, 0, 0, 0,
975, 427, 447, 150, 0, 775, 839, 0, 0, 855,
0, 504, 0, 510, 517, 0, 0, 521, 522, 520,
505, 1207, 553, 1207, 808, 809, 0, 0, 829, 0,
680, 0, 0, 476, 0, 523, 0, 0, 480, 171,
170, 0, 0, 0, 770, 774, 772, 771, 773, 768,
0, 759, 196, 2594, 0, 0, 0, 0, 611, 605,
608, 1415, 846, 0, 1888, 749, 0, 382, 627, 0,
0, 0, 476, 619, 0, 481, 486, 487, 500, 0,
592, 583, 0, 584, 593, 594, 0, 601, 1489, 0,
620, 601, 0, 0, 0, 870, 0, 869, 0, 1138,
1155, 1156, 0, 0, 1199, 0, 0, 1201, 1196, 0,
0, 788, 791, 784, 667, 145, 0, 1518, 145, 145,
1257, 0, 917, 1058, 1059, 1060, 1057, 1056, 659, 0,
1062, 1021, 1071, 747, 0, 618, 0, 1022, 145, 998,
990, 997, 986, 989, 991, 0, 993, 994, 988, 985,
987, 2321, 2141, 0, 2387, 2389, 2175, 2400, 2399, 2174,
2406, 0, 0, 2369, 2397, 2396, 0, 0, 2381, 2381,
2144, 2155, 0, 2245, 2276, 0, 0, 2096, 0, 0,
0, 2150, 2859, 0, 0, 2207, 2208, 0, 2204, 2205,
2200, 2201, 2166, 0, 2651, 2184, 0, 0, 2199, 2059,
2057, 2056, 2041, 0, 0, 2039, 2035, 0, 2064, 2209,
2242, 2276, 2211, 0, 1753, 1737, 1736, 1735, 1734, 2214,
2435, 2433, 2214, 246, 1724, 0, 1874, 0, 1877, 0,
0, 1828, 0, 0, 1832, 0, 0, 1834, 1836, 0,
0, 0, 0, 0, 0, 2422, 0, 1798, 0, 1753,
0, 1768, 0, 1630, 1615, 0, 1616, 1622, 0, 0,
0, 0, 0, 1658, 1651, 1153, 1161, 0, 0, 0,
548, 824, 823, 826, 821, 825, 1529, 0, 698, 699,
702, 1300, 0, 1361, 1309, 0, 1647, 539, 312, 0,
558, 0, 0, 0, 1105, 140, 1104, 0, 558, 558,
492, 491, 500, 320, 0, 0, 0, 314, 392, 0,
394, 315, 319, 373, 336, 329, 0, 0, 0, 1296,
0, 1359, 1305, 1332, 1384, 1279, 1343, 0, 0, 889,
0, 0, 0, 0, 1385, 1280, 1344, 0, 0, 0,
0, 0, 1647, 0, 0, 0, 0, 0, 0, 0,
0, 1538, 0, 0, 372, 877, 876, 373, 410, 1323,
0, 2114, 0, 974, 979, 980, 978, 0, 416, 424,
427, 0, 0, 1248, 1248, 0, 0, 501, 518, 0,
603, 562, 603, 0, 0, 0, 0, 0, 717, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 762,
761, 193, 0, 476, 0, 716, 0, 874, 0, 0,
0, 619, 478, 0, 0, 1603, 477, 0, 0, 489,
0, 595, 584, 592, 0, 0, 616, 0, 1482, 0,
622, 0, 0, 0, 818, 1195, 0, 1209, 0, 1149,
1119, 1204, 0, 1729, 1881, 0, 0, 0, 0, 801,
0, 671, 1249, 1516, 907, 909, 754, 1065, 0, 1078,
1070, 992, 2371, 2405, 2340, 2342, 0, 0, 2363, 2356,
2359, 2357, 2358, 2360, 0, 2355, 0, 2172, 2404, 2353,
2367, 2306, 2247, 2093, 0, 2309, 2308, 2312, 0, 2161,
0, 2162, 2206, 2168, 2185, 0, 2169, 2197, 0, 0,
2060, 2058, 2043, 2244, 0, 2229, 1707, 1706, 0, 1727,
1910, 1879, 0, 0, 1873, 0, 0, 1904, 0, 0,
0, 1839, 1857, 0, 1835, 1833, 0, 1846, 0, 1848,
2533, 2820, 2719, 0, 1785, 1787, 1790, 1792, 1791, 1793,
1789, 2213, 2215, 0, 1764, 2268, 1883, 0, 0, 0,
1100, 0, 0, 1631, 1660, 1672, 1672, 1655, 1066, 0,
145, 694, 0, 0, 291, 1112, 0, 1207, 564, 2663,
565, 1111, 1115, 139, 0, 1207, 1207, 488, 0, 318,
328, 0, 375, 387, 0, 1647, 0, 0, 887, 896,
896, 884, 0, 0, 903, 1282, 758, 0, 567, 0,
286, 1308, 1302, 0, 0, 0, 1540, 1541, 0, 0,
0, 0, 0, 1331, 145, 1304, 982, 0, 449, 457,
428, 432, 1532, 0, 1532, 0, 429, 433, 1532, 1532,
426, 1881, 445, 1248, 0, 1245, 1244, 551, 633, 0,
0, 508, 0, 573, 507, 0, 830, 0, 0, 715,
0, 478, 582, 0, 536, 527, 528, 529, 530, 532,
531, 533, 534, 535, 525, 524, 0, 716, 893, 382,
1489, 756, 0, 0, 729, 0, 716, 0, 1606, 615,
584, 478, 582, 482, 500, 0, 599, 592, 595, 0,
596, 0, 600, 0, 0, 0, 619, 1542, 1099, 0,
0, 819, 1208, 1168, 0, 0, 1198, 1202, 1203, 0,
0, 0, 0, 1252, 795, 796, 790, 792, 0, 803,
807, 666, 0, 0, 670, 661, 716, 145, 0, 0,
2354, 2361, 2362, 0, 2182, 0, 0, 2379, 0, 0,
0, 2094, 0, 0, 2187, 2186, 2198, 2170, 2224, 0,
0, 0, 0, 0, 0, 0, 1718, 0, 2341, 1872,
1875, 0, 1907, 0, 0, 0, 0, 1892, 0, 1837,
0, 0, 1847, 0, 0, 0, 1794, 0, 0, 0,
1803, 0, 1628, 1881, 0, 1625, 0, 1667, 0, 1659,
1661, 0, 0, 0, 1085, 0, 1086, 1310, 0, 1106,
0, 603, 0, 1118, 1115, 553, 603, 603, 633, 0,
0, 331, 0, 299, 1306, 0, 0, 898, 898, 0,
0, 0, 0, 0, 0, 404, 0, 0, 1534, 0,
1535, 1536, 1539, 412, 425, 0, 455, 454, 0, 452,
451, 453, 0, 442, 0, 0, 0, 0, 0, 0,
415, 1243, 1247, 1246, 0, 509, 0, 511, 0, 0,
559, 560, 561, 0, 513, 569, 570, 827, 0, 832,
0, 718, 0, 0, 716, 581, 740, 0, 0, 0,
1483, 0, 0, 606, 750, 1489, 619, 592, 0, 584,
490, 0, 601, 595, 599, 597, 598, 0, 1486, 0,
621, 0, 1108, 817, 0, 1199, 1210, 1205, 1200, 1446,
0, 0, 793, 798, 797, 1532, 802, 0, 0, 0,
669, 668, 744, 1023, 2343, 2344, 2368, 0, 0, 0,
2347, 0, 2345, 0, 0, 2367, 0, 2183, 2305, 2190,
2163, 2188, 2807, 2534, 2778, 0, 2241, 2230, 2241, 2241,
2221, 0, 0, 0, 1909, 0, 0, 0, 1905, 1906,
1890, 0, 0, 1894, 1844, 1870, 0, 0, 0, 1788,
2216, 2217, 2457, 1617, 1627, 1101, 0, 1669, 1671, 0,
0, 0, 1647, 0, 568, 0, 1102, 1118, 562, 819,
819, 325, 316, 374, 0, 0, 0, 894, 897, 885,
886, 905, 904, 760, 1647, 0, 400, 399, 0, 403,
0, 450, 460, 0, 458, 430, 435, 0, 441, 440,
437, 436, 431, 434, 550, 0, 0, 0, 0, 0,
0, 571, 0, 572, 0, 831, 0, 0, 0, 742,
892, 0, 0, 476, 716, 1484, 1604, 595, 584, 592,
0, 0, 586, 1112, 1112, 463, 599, 601, 1487, 1488,
0, 0, 516, 0, 1120, 1445, 1444, 1729, 0, 0,
0, 804, 805, 800, 0, 0, 2348, 0, 2351, 0,
2352, 2346, 2376, 2378, 0, 2364, 2365, 0, 2234, 2233,
2232, 2236, 2235, 0, 2228, 2226, 2227, 0, 0, 0,
0, 1876, 0, 1893, 1896, 0, 0, 0, 1902, 0,
1895, 1897, 0, 1856, 0, 1868, 1796, 0, 1795, 1881,
0, 1674, 0, 0, 1662, 1663, 0, 0, 1664, 145,
292, 557, 819, 566, 1103, 573, 542, 540, 1647, 888,
0, 287, 0, 405, 1537, 456, 0, 439, 438, 632,
512, 602, 578, 0, 577, 0, 575, 574, 828, 833,
0, 716, 882, 1489, 730, 599, 592, 595, 0, 585,
0, 140, 140, 601, 461, 0, 0, 382, 0, 1428,
1729, 1427, 1429, 1437, 1434, 1436, 1435, 1433, 0, 1255,
1256, 794, 799, 0, 0, 2349, 2350, 0, 0, 2181,
0, 0, 0, 2238, 0, 2239, 0, 0, 0, 0,
0, 1899, 1900, 1901, 1903, 1898, 1843, 0, 1797, 1624,
1668, 1670, 1665, 0, 1666, 0, 0, 0, 0, 1675,
1087, 544, 819, 300, 895, 0, 459, 576, 553, 553,
716, 741, 1485, 601, 595, 599, 1112, 587, 589, 588,
465, 1108, 1109, 0, 601, 807, 0, 1438, 1432, 1705,
1692, 0, 0, 806, 0, 0, 0, 0, 2231, 2237,
2240, 0, 0, 0, 0, 2644, 0, 1911, 0, 0,
0, 1673, 1679, 0, 0, 0, 545, 0, 580, 579,
743, 464, 599, 601, 140, 516, 1107, 0, 1881, 0,
1430, 1729, 0, 0, 812, 2375, 2377, 2366, 1723, 1722,
2006, 0, 0, 1726, 1919, 0, 2369, 0, 0, 1922,
0, 1869, 0, 0, 0, 401, 601, 462, 590, 382,
1110, 1094, 0, 1431, 0, 0, 814, 0, 810, 813,
815, 816, 0, 0, 0, 0, 1912, 1913, 1922, 0,
2353, 1922, 1891, 1676, 1680, 0, 1677, 466, 601, 0,
0, 0, 778, 0, 1753, 0, 0, 0, 1908, 2369,
1921, 2379, 2353, 0, 1881, 0, 0, 0, 811, 0,
0, 0, 0, 1916, 2367, 2379, 0, 1095, 812, 1253,
1254, 0, 1725, 0, 0, 1914, 2367, 1678, 0, 0,
1917, 1915, 779, 0, 1918
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 57, 58, 59, 60, 1108, 1113, 1914, 1933, 61,
62, 1634, 3074, 2927, 3904, 3905, 63, 64, 1630, 65,
66, 67, 68, 1544, 69, 1886, 3088, 70, 2760, 850,
851, 852, 2625, 2626, 3019, 2627, 2614, 1392, 1832, 1566,
824, 825, 1526, 1567, 72, 73, 1386, 2603, 74, 75,
76, 1597, 1693, 1598, 1599, 1538, 5050, 5881, 3690, 2882,
3952, 3691, 3692, 4381, 4382, 3770, 4410, 4473, 5895, 5896,
77, 1709, 1710, 78, 79, 3056, 3870, 4526, 5438, 5439,
5700, 669, 5073, 5074, 5687, 5688, 5910, 6083, 6084, 3089,
700, 3947, 4610, 3895, 5144, 3896, 5145, 3897, 5146, 4939,
4940, 4371, 4372, 3881, 4557, 4558, 2090, 5086, 4559, 3898,
5105, 5734, 3899, 2848, 2775, 2776, 5925, 3123, 2005, 2003,
5637, 5713, 4925, 4926, 4446, 5934, 5935, 5936, 6226, 5107,
5150, 5151, 6121, 6122, 3950, 4616, 5157, 5496, 5711, 3648,
81, 3923, 3924, 82, 763, 1908, 4051, 764, 3126, 701,
765, 3090, 87, 3116, 5927, 3117, 1662, 2941, 4539, 4027,
88, 1136, 4335, 5521, 5794, 5795, 754, 89, 1894, 90,
91, 3069, 3888, 92, 2793, 3596, 93, 94, 3615, 3616,
3617, 95, 4567, 5457, 1600, 3679, 3680, 3681, 3682, 4402,
96, 1889, 3097, 3098, 97, 98, 99, 3228, 3229, 100,
3005, 101, 102, 103, 104, 4440, 5006, 5121, 3721, 3911,
4583, 5119, 105, 3874, 3091, 3144, 3985, 3986, 5519, 5786,
5787, 5788, 5985, 6261, 5790, 5987, 6143, 5989, 5096, 6407,
6408, 5771, 4324, 4903, 107, 5097, 5098, 5940, 108, 2791,
109, 110, 1863, 3062, 3063, 4540, 3133, 3960, 3961, 4596,
4597, 111, 3810, 112, 4982, 4983, 702, 5948, 5887, 6069,
113, 114, 4986, 4987, 115, 116, 117, 118, 119, 755,
1070, 1071, 757, 1190, 1191, 3557, 1152, 120, 2635, 121,
3850, 122, 1264, 5210, 123, 789, 1206, 1207, 3092, 125,
799, 3247, 801, 3212, 3213, 2021, 4031, 4032, 4685, 126,
127, 4035, 4036, 4692, 3225, 128, 1531, 2770, 2771, 4895,
3093, 703, 3642, 5619, 5364, 5620, 6132, 6323, 5365, 3501,
4280, 130, 704, 1572, 2832, 1158, 1159, 3137, 3965, 2740,
2741, 1732, 4638, 2743, 3967, 2744, 1505, 2745, 1145, 1146,
3973, 3974, 3975, 3976, 4633, 4644, 4645, 5513, 5779, 4641,
1882, 5507, 5508, 131, 1569, 2829, 132, 133, 134, 1613,
994, 1168, 1169, 135, 716, 717, 136, 5705, 137, 1148,
138, 5517, 139, 140, 1249, 1250, 816, 141, 142, 2852,
4384, 143, 1570, 144, 145, 3715, 3716, 4998, 146, 147,
148, 2913, 2914, 149, 150, 151, 152, 153, 6251, 6326,
6327, 6328, 4652, 6137, 154, 155, 156, 157, 158, 196,
1035, 1036, 1037, 947, 3094, 5498, 160, 161, 1527, 1528,
1529, 1530, 2765, 162, 163, 164, 3995, 3996, 165, 166,
167, 168, 1866, 169, 170, 5678, 171, 172, 1836, 173,
174, 1044, 1045, 1046, 1047, 1834, 3445, 663, 869, 1421,
1427, 1470, 1471, 1472, 176, 767, 177, 1240, 1075, 768,
1199, 179, 769, 2722, 3531, 4295, 4296, 4297, 4300, 5330,
4872, 770, 3527, 182, 2028, 3234, 3237, 3523, 771, 3537,
3538, 3539, 4304, 772, 5623, 5624, 5625, 5626, 5862, 6194,
6195, 6198, 6299, 773, 791, 1139, 3148, 774, 1351, 188,
189, 190, 927, 872, 873, 3450, 5579, 5826, 192, 2595,
3428, 808, 1476, 915, 916, 917, 936, 3029, 2688, 2689,
2713, 2714, 1485, 1486, 2701, 2705, 2706, 3514, 3507, 2694,
4274, 5604, 5605, 5606, 5607, 5608, 5609, 4861, 2709, 2710,
1488, 1489, 1490, 2718, 193, 2678, 3480, 3481, 3482, 4250,
4251, 6183, 4265, 4261, 4846, 5307, 3483, 861, 1236, 1497,
4854, 6185, 3484, 5296, 5297, 5584, 4270, 3493, 4291, 3935,
3936, 3937, 3485, 5836, 5837, 6180, 6181, 5586, 5587, 3486,
5828, 6346, 6347, 6385, 6420, 2746, 1450, 900, 1352, 901,
1463, 1353, 1437, 903, 1354, 1355, 1356, 906, 1357, 1358,
1359, 909, 1429, 1360, 1361, 1446, 1459, 1460, 1362, 1422,
5588, 1364, 1365, 1366, 3488, 1367, 4789, 5267, 5253, 3349,
3350, 2621, 5569, 4785, 4163, 4779, 2588, 2592, 5319, 5611,
5612, 3421, 4212, 4817, 5284, 5822, 6016, 6017, 6164, 1368,
1369, 1370, 3413, 2582, 997, 1371, 4542, 2584, 3340, 3318,
1735, 3319, 2031, 2053, 3266, 3283, 3284, 3389, 3320, 3328,
3333, 3341, 3375, 1372, 3268, 3269, 4073, 2055, 1373, 1041,
1738, 1042, 1465, 3370, 5233, 5534, 5535, 5807, 5808, 5545,
5809, 5546, 5536, 4085, 4086, 6005, 3294, 3390, 4089, 3302,
3303, 4107, 4096, 3295, 1374, 4098, 1382, 1383, 1376, 2022,
862, 5303, 1194, 1819, 805, 1377, 1378, 1379, 1380, 1606,
968, 1161, 1162, 918, 920, 921, 2682, 659, 651, 970,
3683, 2585, 660, 653, 654, 1824, 2586
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -5873
static const int yypact[] =
{
15818, 82, 21406, -5873, -5873, 82, 73636, -5873, 83836, 43,
245, 147, 247, 21150, 84346, 94546, 915, 1117, 21285, 82,
94546, 2122, 63435, 79246, 369, 94546, 1562, 797, 63435, 94546,
95056, 914, 1581, 1330, 95566, 84856, 77716, 1542, 94546, 1776,
1172, 96076, 85366, 1530, 85876, 797, 57851, 177, 1518, 96586,
94546,120982, 1172, 86386, 86386, 86386, 2084, 2165, 1662, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, 706, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, 2286, -5873, 1351,
2942, 1464, 1064, 1682, -5873, -5873, 2221, 73636, 94546, 94546,
94546, 1940, 94546, 1888, 94546, 293, 73636, 69556, 86896, 2090,
1946, 53657, 97096, -5873, 73636, 94546, 67006, 73636, 94546, 94546,
97606, 94546, 98116, 94546, 169, 81796, 94546, 2099, 94546, 94546,
67516, 98626, 2268, 1558, 275, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, 1985,
2060, -5873, 310, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, 63945, 94546, 20290, 1562, 2221, -5873, 2084, 94546,
2272, 94546, 2026, 99136, 94546, -5873, 94546, 2095, 99646, 1000,
2037, 69556, 2154, 54186, 2209, 94546, 94546, 69556,100156,100666,
101176, 94546, 94546, -5873, -5873, 2193, 94546, -5873, 2388, 70066,
123, 2400, 2577, 2401, 1510, -5873, 87406, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, 73126, 1117, -5873, -5873, 2432,
74146, 2529, -5873, -5873,101686,121478, 2255, -5873, 1004, 74656,
70576, 2656, 2264, 54715, 2713, -5873, 75166, -5873, 71086, 75676,
-5873, -5873, -5873, -5873, -5873,102196, -5873,102706, 2362, 2529,
-5873,121974, 71596, -5873, 2517,103216,103726,104236, 2221, 2232,
2058, 1506, 47958, -5873, -5873, -5873, 2296, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, 273, 1042, 340, 253,
359, -5873, -5873, 256, 258, 263, 273, 2774, 2774, -5873,
94546, -5873, -5873, 1042, 823, 2439, 2260, 2260, 2260, 2494,
59, -5873, 2260, 2453, -5873, -5873, -5873, -5873, 85876, -5873,
2287, 1562, 2348, 2842, 2391, 63945, 1394, 94546, -5873, -5873,
2869, 2411, 2705, 2390, -5873, -5873, -5873, 2645, 2640, 174,
151, 1562, 328, -5873, 2792, -5873, 2680, 32792, 32792, 1562,
87916,104746, 260, 72616, 548, 88426, 2518, 1584, 2730, -5873,
-5873, -5873, 703, -5873, 3008, 2557, 2851, 2390, 1558, 50014,
-5873, -5873, 2555, 2060, 85876, -5873, -5873, -5873, 63945, 2911,
35960, 94546, 2562, -5873, 2571, 2562, -5873, -5873, 2629, -5873,
2629, 2629, 2582, 2582, 2780, 2594, -5873, -5873, -5873, -5873,
2041, 2629, 2582, -5873,122966, -5873, 2019, 2068, -5873, -5873,
3115, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, 2636,
-5873, 986, -5873, 2238, -5873, -5873, -5873, 32792, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, 2653, 2659, 1464, -5873, 7342,
63945, 94546, 1658, 1658, 3139, 1658, 1956, 2227, -5873, 3203,
-5873, 3033, 3003, 3009, 85876, 2745, 415, -5873, 1863, 2760,
2075, 2732, 1869, 2013, -5873, 896, 94546, 296, 2805, 88936,
6545, 2779, 2060, 2789, -5873, -5873, -5873, -5873, 2970, 462,
-5873, -5873, -5873, -5873, 3141, 3193, 7753, 257, 89446, -5873,
-5873, -5873, -5873, 94546, 94546, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, 2837, 1480, -5873, -5873, 2836, 3218,
3071, 6668, 1013, 3182, 3032, 1892, 7249, 3095, 214, 3256,
15440, 1620, 3257, 1967, 2240, 89956, 94546, 3223, 3262, 3481,
2073, 1091, 3119, 1145, 3182, 3261, 3073, 1892, 3283, 8051,
94546, -5873, 3190, 3321, 886, -5873, 1007, -5873, 25461, 35960,
57341, -5873, 2060, -5873, 2116, -5873, -5873, 62925, -5873, 2973,
3142, 1329, 73636, 2918, 94546, 94546, -5873,120982, 73636, -5873,
3152, 55244, 73636, -5873, 73636, -5873, -5873, 3286,120982, 94546,
94546, -5873, 94546, -5873, -5873, 2920, -5873, -5873, -5873, -5873,
-5873, 2260, 94546, 3386,120982, 3168, 237, 1730, 3424, 94546,
3171, 1730, 2972,105256, -5873, -5873, 1730, -5873, -5873, -5873,
94546, 94546, 2931, 1849, 3160, 956, 1730, 3177, 3425, 3431,
3191, 3026, 3196, 2571, -5873, 3394, 3170, 1093, 252, 1436,
1730, 3013,105766,106276, 94546, 3015, 94546, 3405, 73636, 3048,
73636, 73636, 94546, 3330, 94546, -5873, 3156, -5873, -5873, 1488,
-5873, -5873, -5873, -5873, 3346, -5873, 266, 3348, 2975, 3353,
1931, 3354, 366, -5873, -5873, 3019, -5873, 3357, 380, -5873,
3358, -5873, 2982,106786, -5873,107296,107806, 3363, 481, -5873,
69556, 3364, 380, 3366, 2982, 3367, 380, 3375, 357, 3376,
-5873, 1162, 3338, 3377, 366, 3378, 2284, 2982, -5873, 3380,
485, -5873, 3381, 607, -5873, 3382, 3232, -5873, 35960, -5873,
3108, -5873, 1518, 2220, 1506, 1042, -5873, 94546, 1042, 94546,
1042, 94546, 1042, 94546, 1042, 94546, 94546, 94546, 1042, -5873,
-5873, -5873, 94546, 3014, 94546, -5873, 94546, -5873, -5873, -5873,
80266, 69556, 80776, -5873, 94546, -5873, 825, 1562, -5873,120982,
3515, 69556, 3405, 2250, -5873, -5873, 3405, -5873, -5873, 3405,
3405, -5873, -5873, -5873, 3303, 94546, 3385, 80266, 69556, 3388,
-5873,108316, -5873, 73126, 3252, 3028, -5873, -5873, -5873, -5873,
-5873, 2325, 1735, 298, 2105, 35960, 3034, 298, 298, 3037,
3392, -5873, -5873, -5873, 348, 3038, 3039, -5873, 349, 349,
-5873, 3040, 3041, -5873, 360, 3042, 3043, 2414, 2503, 363,
372, 3044, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3057,
3058, 3062, 3063, 3064, 2041, 298, 3065, 35960, -5873, 3067,
349, 3068, 3075, 3077, 2553, 3078, -5873, 2610, 3082, -5873,
321, 374, 3083, 3084, -5873, 3266, -5873, 375, 3089, 3091,
3094, 3097, 3099, 3101, 3103, 3104, 35960, 35960, 35960, -5873,
30147, 2060, 2664, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, 385, -5873, 52070, -5873, 3090, -5873, -5873, 3308, -5873,
-5873, 35960, -5873, -5873, 3472, 880, -5873, 399, -5873, -5873,
-5873, 2060, 3417, 3105, -5873, -5873, 1872, 3106, -5873, 492,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
72106, 3602, -5873, 1094, 1562, 1007, 1715, 3538, 60885, 61395,
-5873, -5873, 3393, -5873, 94546, -5873, -5873, 2060, 208, 2269,
-5873, 2296, 19953, 2270, 2562, 94546, 94546, 3609, -5873, 3116,
-5873, -5873, 35960, -5873, -5873, -5873, 2774, -5873, 2629, 2629,
-5873, -5873, 3611, 3206, 3207, 2774, -5873, 2774, -5873, 3121,
3125, 2774, 3211, 3213, 3215, -5873, 3130, 3221, 2774, -5873,
-5873, 64966, 2329, -5873, 3492, 337, -5873, -5873, -5873, 2274,
-5873, 3135, -5873, 2571, -5873, -5873, 1464, 1464, 35960, 1464,
1645, 173, 33320, 36488, 3502, 3370, 1050, 1963, 3506, -5873,
3379, 1956, 2227, 85876, 94546, 85876,108826, 3277, 35960, -5873,
3612, 3238, 3241, 3300, 59891, -5873, 3245, 3210, 3247, 3311,
3159, 3250, 3251, 3312, -5873, 3448, -5873, -5873, 3260, 3623,
3268,109336, -5873, -5873, 1196, -5873, -5873, -5873, 1196, -5873,
3180, 1557, 1736, 1631, 3272, 364, 1348, 3615, -5873, 284,
-5873, -5873, 3316, -5873, 8652, 94546, 3551, 8545, 3404, 257,
3326, -5873, -5873, -5873, 3474, 3279, 94546, 3280, 3430, 257,
378,109846, -5873, -5873, 94546, -5873, -5873, -5873, -5873, 5022,
3600, 28627, -5873, 2233, 3284, 3265, 3295, 94546, 76696, 1137,
3409, 3432, 1832, 2402, 756, 3356, 94546, 1037, 3440, 94546,
3212, 3297, 3298, 3553, 3217, 491, 3656, 3214, -5873, -5873,
-5873, 3625, -5873, 2690, 2694, 3434, -5873, 3558, 3606, 8871,
3293, 3294,118998, -5873, 3320, 94, 55773, 94546, 94546, 3324,
3325,110356, 5022, 3646, 81286, 81286, 3331, 3332, 49500, 3662,
1899, 3333, -5873, -5873, -5873, 1899, 3334, 3339,110866, 5022,
3659, 94546, 3342, 3343, 94546,122966, 257, -5873, 3725, -5873,
257, 257, 2248, 3731, 3345, 476, 3516, 269, 1730, -5873,
3214, 4005, -5873, 3349, 3350, 1101, -5873, 3482, 94546, 3360,
3362, 1916, 3450, 1562, -5873, 3453, -5873, 3368, 3454, 3369,
1298, 2931, -5873, -5873, 74, 3373, 85876, 3469, 3484, 1037,
513, 948, 3214, -5873, 3371, 3374, 3217, 3217, 94546, 94546,
94546, 94546, 94546, 259, 3763, 283, 3384, 272, 1264, 3282,
-5873, 1899, 68026, 3390, -5873, 1899, 94546, 262, 1043, 3214,
2139, 2036, -5873, -5873, -5873, 1558, -5873, 35960, 35960, 35960,
3287, -5873, 2700, 19953, 117, -5873, 2802, 15259, 3278, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, 94546, 63945, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, 94546, -5873, 94546, 3598,120982,
3607, 3524, 3610, 3613, 257, 94546, 94546, 3614, 3617, 3619,
120982, 3621, 3624, 3628, 3531, 3403, 951, 3397, 3322, 3816,
3701, 94546, 64966, -5873, 1196, -5873,120982, 3552, 3702, -5873,
94546, 3569, 821, -5873, 3742, 3395, -5873, -5873, 796, 94546,
79756, 2931, -5873, -5873, 3707, 69556, 1806, 3708, 1562, 3387,
3711, 3562, 1562, 69556, 3618, 94546, 94546, 94546, 94546, 156,
-5873, 68026, 3580, -5873, 94546, 3581, 4005, 3584, 3841, 146,
2260,111376, 3709, -5873,111886, 3391, 94546, 3396, 3396, 3843,
120982, 1178, 3652, -5873, -5873, 2376, -5873, 3507, -5873, 73636,
-5873, -5873, 73636, -5873, -5873,120982, 94546, 3406,120982,120982,
-5873, -5873, 73636, 73636, -5873, 69556, 69556, 3741, 485, 3745,
3433, 3746, 3436, 55773, 55773, -5873, 608, 73636, -5873, 69556,
73636, -5873, 94546, -5873, 94546, -5873, -5873, -5873, -5873,120982,
120982, -5873, 69556, 68026, 3751, 94546, 94546, -5873, 94546, 94546,
-5873, 94546, 94546, 2275,112396, 1506, -5873, 94546, -5873, 94546,
-5873, 94546, -5873, 94546, -5873, 94546, -5873, -5873, -5873, 94546,
-5873, 94546, 2276, -5873, -5873, 2299, 1933, 94546, 94546, 302,
73636, 94546, 3608, 94546, 73636, 73636, 94546, 94546, 94546, 94546,
94546, 3464, 3106, 837, -5873, 1061, 541, 85876, 3616, -5873,
-5873, 2300, 2084, 73, 94546, -5873, 94546, 94546, 94546, -5873,
-5873, 79246, 3734, 480, 80776, 94546, -5873, -5873, 7496, 35960,
2060, 32259, -5873, -5873, 19953, 3427, 35960, 35960, 3407, 2774,
2774, -5873, 1640, 35960, 35960, 35960, 29619, 35960, 35960, 33848,
35960, 35960, 35960, 35960, 35960, 35960, 2774, 2774, 3383, 35960,
14901, 35960, 55773, 35960, 41768, 26529, 35960, 35960, 30675, 341,
3040, 35960, 3643, 42818, 35960, 1715, 3645, 35960, 1715, 14901,
3914, 3914, 2739, 8090, 3389, 2060, -5873, -5873, 1151, 2774,
1151, -5873, 345,120982, 35960, 35960, 35960, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, 35960, -5873, 64966, -5873, -5873, -5873, -5873, -5873,
-5873, 1226, -5873, -5873, -5873, -5873, -5873, -5873, 3493, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, 94546, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, 31203,
-5873, -5873, -5873, -5873, 3408, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, 3470, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, 31731, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, 3410, -5873, -5873, 35960,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, 3490, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, 1003, 35960, 35960, 35960, 35960, 35960, 35960, 35960,
35960, 35960, -5873, 35960, 429, -5873, -5873, 3756, 3472, 97,
467, 3411, 3626, 90466, 32792, 3492, -5873, 25461, -5873, 289,
3492, -5873, -5873, -5873, 94546, 3602, -5873, -5873, -5873, 3480,
-5873, -5873, -5873, -5873, -5873, -5873, 271, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, 3400, -5873, -5873, -5873, -5873,
3400, -5873, 3412, 3753, 3754, 357, 94546, 2588, 35960, 1226,
313, 94546, 35960, 3408, 3470, 35960, 3410, 35960, 3490, -5873,
35960, -5873, 2301, 2123, 35960, 2305, 3415, -5873, -5873, 3420,
3125, 3443, 3444, 3426, 3428, 2774, 285, 3429, 1544, 222,
3566, 2774, 3687, 3435, -5873, 64966, -5873, 44874, 3477, -5873,
-5873, -5873, 1172, 94546, 94546, -5873, 3747, -5873, 3438, -5873,
15908, 3747, -5873, -5873, 42293, 3561, 3726, 3661, -5873, -5873,
-5873, 3439, 19953, 37016, 37016, -5873, 2445, 19953, 2618, -5873,
-5873, -5873, -5873, -5873, -5873, 1556, -5873, 94546, 195, 3502,
1963, 3497, 1353, 3933, 3501, 94546, -5873, 50528, 2306, -5873,
69556, 94546, 94546, 3660, -5873, 3919, -5873,122966, -5873, 3445,
-5873,122470,118006, -5873, -5873, 1244, -5873, 1420, 69556, -5873,
94546, 94546, 69556, 94546, 94546, -5873, 69556, 3491, 94546, 94546,
-5873, -5873, -5873, -5873, -5873, 61905, 822, 79246, 3593, 78226,
-5873, -5873, 3451, 94546, 3689, -5873, -5873,112906, -5873, 3690,
69556, 94546, 94546, 35960, 3696, 94546, 94546, -5873, 1033, 3554,
3556, -5873, 94546, 3557, 73636, 3465,120982, 73636, 56302, 73636,
73636, 3826,120982, 94546, 94546, 1450, 85876, 297, 1209, 3214,
3710, -5873, 384, -5873, 69556, -5873, 94546, 3697, -5873, -5873,
-5873, 82306, 3960, 3599, -5873, -5873, -5873,113416, -5873, -5873,
3703, -5873, 2318, -5873, 69556, 69556, 94546, 9125, 3479,113926,
94546, 1712, 3774, 3723, 3776, 887, -5873, -5873, -5873,120982,
-5873, 94546, 90976, 94546, 94546, 3767, 94546, 82816,114436,114946,
1603, 1799, 3768, 94546, 83326, 3771, -5873, 3640, 94546, -5873,
-5873, 65476, 69556, 94546, 1053, 64966, -5873, 3755, -5873, 94546,
-5873, 1102, -5873, 94546, 6932, 3718, -5873, -5873, 3582, 3596,
94546, 470, 1221, 3214, 3906, 94546, 94546, 3498, 2320, 69556,
94546, 64966, -5873, 3728, 1552, 69556, 94546, 82306, -5873, 3729,
-5873, 85876, 3837, -5873, 3508, 2260, 2555, 2014, 3508, 69556,
94546, -5873, 3508, 94546,104746, -5873, 69556, 2156, -5873, 69556,
94546, 82306, -5873, 3738, 3673, 69556, 94546, 21659, -5873, -5873,
-5873, 257, -5873, -5873, -5873, -5873, -5873, 94546, 94546, 257,
94546, 94546, 257, 1851, -5873, 69556, 94546, -5873, -5873, -5873,
3647, 69556, 94546, 94546, 324, 94546, -5873, 94546, 69556, 3560,
94546, 94546, -5873, -5873, 94546, 3787, 94546, 94546, 94546, 94546,
94546, 94546, 69556, 94546, -5873, -5873, 1474, 1332, 840, 1769,
234, 94546, 3852, 94546,115456, 1562, 69556, 94546, 94546, 1562,
94546, 64966, 479, -5873, -5873, 3653, -5873, 69556, 2156, -5873,
9348, 94546, 94546, 94546, 3622, 3630, 225, 3698, -5873, -5873,
-5873, 125, 125, 3739, -5873, 35960, 35960, 34376, 3520, -5873,
-5873, 35960, 2973, -5873, -5873, -5873, 1142, 4017, 1142,115966,
1142, 1142, 3832, 3586, 3589, 1142, 1142, 1142, 3819, 1142,
1142, 1142, 94546, 3715, -5873, -5873, 3715, 213, 35960,120982,
94546, -5873, 2341, -5873, 3544, -5873, -5873, 64966, 94546, 264,
910, 3913, 3770, 77206, 1551, 3903, 94546, 3594, 94546, 4040,
3648, 36, -5873, 1551, 94546, -5873, 2966, 79246, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, 94546, -5873, -5873, 3907, 94546,
45388, 3733, -5873, 1562, 2931, 2931, 2931, 2931, 3548, 2931,
94546, 3692, 3928, 1551, 3555, 3937, -5873, 4005, 3939, 1234,
94546, 3795, 77206, 3629, 3634, 3810, 4065, 2260, 1562, 3814,
3799, -5873, 60388, -5873, 2931, 4081, 29123, 5667, 6636, 3801,
3870, -5873, -5873, 3812, 1047, 94546, 3924, 3926, 3948, -5873,
266, -5873, 4087, 1931, 3971, 366, -5873, 380, -5873, 2982,
-5873, 94546, -5873, 94546, 94546, 94546, 94546, 481, -5873, -5873,
380, 2982, 380, 357, -5873, 3901, 366, 2982, 3748, 3974,
485, -5873, 607, -5873, 3840, 357, -5873, 3858, 2260, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, 2371, -5873, 94546, -5873,
3950, 3951, 3958, 3959, 3961, 3627, 3631, 3669, 94546, 3633,
3627, 257, 3635, 3638, -5873, 3633, 3633, 3627, 3106, 3106,
3627, 3631, 68536, 4106, 64966, -5873, -5873, 3730, 3642, 4000,
945, -5873, 987, 1502, 3905, -5873, -5873, -5873, -5873,120982,
-5873, 69556, 3691, -5873, -5873, -5873, 3871, 3649, 68536, 357,
249, -5873, 73636, 94546,120982, 73636, 3879, 73636, 73636,120982,
94546, 94546, 2377, -5873, 2120, -5873, 2133, 35960, 230, -5873,
17041, 2385, 35960, 3651, 3658, -5873, 4006, -5873, -5873, -5873,
-5873, -5873, -5873, 3664, 4016, -5873, 2389, 2393, 17109, 2395,
120982, 3309, 3671, -5873, 3665, 354, 3880, 3667, 4417, 3732,
2404, 3672, 362, -5873, 4417, 350, 3668, 8446, 3827, 3670,
2409, 3676, 3680, -5873, 5789, 6667, 3681, 17217, 3679, 3683,
3685, 3688, 41768, 41768, 30147, 2511, -5873, 41768, 3686, 3902,
2410, 16310, 3693, 3694, 17647, 34904, 35960, 34904, 34904, 17672,
3699, 3695, -5873, 4095, -5873, 2415, 64966, 3909, 17749, 2416,
-5873, 35960, 64966, 7982, 35960, -5873, 35960, -5873, 3712, -5873,
-5873, 2484, 2484, 2484, 14901, -5873, -5873, 3737, -5873, 41768,
41768, -5873, 2408, 30147, -5873, -5873, 4066, -5873, -5873, 317,
-5873, -5873, -5873, -5873, -5873, 3258, -5873, -5873, -5873, 3963,
2395, 3299, 55773, 18393, 35960, 343, 35960, 3408, 35960, 3804,
2484, 2484, 2484, 484, 484, 315, 315, 315, 510, 467,
-5873, -5873, -5873, 3719, 3724, 3626, 3735, 35960, -5873, 3764,
51042, -5873, 2457, 2688, 94546, 4149, 5692, 6351, -5873, -5873,
-5873, 3477, 117, 3477, -5873, 1558, 2774, 1151, 62415, -5873,
-5873, -5873, -5873, -5873, -5873, 94546, 19953, -5873, -5873, 3976,
3740, 2417, -5873, -5873, 2774, -5873, -5873, 2501, 2501, 3727,
-5873, 3743, -5873, -5873, -5873, -5873, -5873, -5873, -5873, 3744,
-5873, -5873, -5873, 3752, 3757, 45902, 4085, 3758, 44360, 91486,
3721, 1595, -5873, 91486, 91996, 91486, 91486, -5873, 3749, -5873,
-5873, 2060, 35960, 4078, -5873, -5873, -5873, 35960, -5873, -5873,
747, 3761, 1273, 159, 2698, 2698, 2445, 1313, -5873, -5873,
3802, -5873, 35960, 2795, -5873, 2877, -5873, -5873, -5873, -5873,
3106, -5873, 4004, -5873, -5873, -5873, 44874, 3789, 3807, 104,
48986, 3973, -5873, 94546, 44874, -5873, 94546, 377, -5873, 3765,
-5873, -5873, -5873, -5873, -5873, -5873,118006, 2238, -5873,122470,
-5873,122470, -5873, 2238, 4220, -5873,118006, 2080, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, 69556, 69556, 3984, 94546, 3983, 3987, 35960, 1223, -5873,
4139, 357, -5873, -5873, 3854, -5873, 19953, -5873, -5873, -5873,
-5873, -5873, 69556, 94546, -5873, 73126, -5873, -5873,120982, -5873,
-5873, 94546, 94546, -5873, -5873, -5873,120982, -5873, -5873, -5873,
94546, 905, 3856, 3857, 94546, -5873, 1274, 3482, 9414, 94546,
94546, 94546, 4091, -5873, -5873, -5873, -5873, 4010, -5873, 4148,
-5873,118006, -5873, 2982, 190, 3865, 3214, 35960, 4021, -5873,
394, 94546, 3782, 3783, 4160, 1742, 4112, 3786, -5873, 3900,
-5873, 3921, 1539, -5873, -5873, 3931, -5873, -5873, -5873, -5873,
4168, 357, 4170, 357, 94546, 94546, 94546, 94546, 3936, -5873,
-5873, -5873, -5873, 3938, 4079, -5873, 64966, 64966, 64966, 2421,
-5873, -5873, 1562, -5873, -5873, -5873, -5873, -5873, -5873, 4127,
-5873, 2423, -5873, 2025, 92506, -5873, -5873, -5873, -5873, -5873,
4174, 69556, 94546, 10525, 94546, 94546, 94546, 4030, 2022, 1138,
120982, -5873,119494, -5873, -5873, 2428, -5873, 3817, 94546, 3895,
69556, 3872, -5873, -5873, -5873, 4182, 2260, 3956, 81286, 3859,
3859, 2114, -5873, -5873, -5873, -5873, -5873, 4092, 4018, -5873,
1080, 4020, 69556, 3884, -5873, -5873, -5873, -5873, 4193, 3912,
-5873, -5873, 3915, 1233, 3214, 4005, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, 3941, -5873, -5873, -5873, -5873,
-5873, -5873, 1479, 1479, -5873, -5873, -5873, 1479, 1614, 568,
1235, 3214, -5873, 413, 1879, 3917, -5873, 3920, -5873, -5873,
-5873, 4102, 4104, 4105, 3925, 3927, 3982, 3929, 3932, 3986,
-5873, 3945, 3995, 3946, 3996, 3949, 4244, 357,120982, 4107,
1562, 3997, 4239, 357, -5873, -5873, 3955, -5873, 3957, -5873,
2430, 4350, 4357, -5873, 94546, -5873, 573, 1238, 3214, -5873,
3962, -5873, 69556, 94546, -5873, -5873, -5873, 35960, 3873, 3875,
3876, 19953, 19953, 35960, -5873, -5873, 19953, 3881, -5873, -5873,
-5873, -5873,120982, -5873, 94546, 4188, -5873, -5873, 1142, 94546,
94546, -5873, -5873, -5873, 94546, -5873, -5873, -5873, 4190, -5873,
586, 586, -5873, -5873, 4226, 8684, 3882, 330, -5873, 64966,
52599, 2074, 922, 1730, -5873, 73126, 94546, 73126, -5873, 910,
4108, 94546, 94546, 94546, 3883, 3885, -5873, -5873, -5873, -5873,
69556, 248, 69556, 2774, -5873, -5873, 3967, -5873, 94546, 2260,
4418, 4247, 3560, -5873, 4376, 3431, 1806, 1791, 299, 3026,
4313, 2571, 35960, 427, -5873, -5873, 2060, 94546, 3634, -5873,
-5873, -5873, -5873, 1562, -5873, 3893, 3892, -5873, 94546, 4259,
94546, 94546, 94546, 94546, 3691, 3898, 94546, 3908,120982, 94546,
2570, 3217, 4398, 4280, 2084, 3629, 3993, 4284, 85876, 3922,
2436, -5873, -5873, 1047, -5873, 2437, 228, -5873, 1562, 73126,
118502, 4273, -5873, 346, 6636, -5873, -5873, 346, 1086, 94546,
-5873, -5873, -5873, -5873, 4144, 2015, -5873, 4260, -5873, -5873,
2084, -5873,120982, 3918, -5873, 2441, -5873, -5873, -5873, 485,
3977, 357, 3979, 357, -5873, -5873, -5873, -5873, 94546, -5873,
94546, 68026, -5873, -5873, 94546, -5873, 4297, -5873, -5873, 4067,
4068, 4070, 4071, 4077, 94546, 3627, -5873, 3930, 94546, 94546,
69556, 1740, -5873, -5873, 69556, 530, -5873, 970, -5873, 85876,
4072, -5873, -5873, -5873, -5873, 4311, 4316, -5873, -5873, -5873,
356, -5873, 80266, 876, -5873, 69556, 4249, 4250, 4252, 4253,
257, 4254, 4255, 4256, 4258, 4262, -5873, -5873, -5873, 3952,
18012, 35960, -5873, 4321,120982, -5873, 9218, -5873, -5873, 35960,
-5873, 35960, -5873, -5873, 4266, -5873, -5873, 4023, 4024, 3964,
3671, 3827, -5873, 4189, 4191, 35960, 3827, 4443, 379, 35960,
35960, 35960, -5873, -5873, 4195, 4197, 35960, 2395, 2395, 35960,
-5873, 3972, 35960, -5873, -5873, -5873, -5873, 2447, 35960, -5873,
35960, -5873, -5873, 27063, 4496, 4496, 3981,120982, 41768, 41768,
41768, 41768, 1609, 3068, 41768, 41768, 41768, 41768, 41768, 41768,
41768, 41768, 41768, 41768, 583, -5873, 4199, 35960, 35960, 35432,
-5873, -5873,120982, 3991, 3699, 3994, 3998, 35960, -5873, -5873,
-5873, 2442, 43332, 4001, 64966, -5873, 35960, 16046, 2460, 4029,
18084, 2060, 9622, 2701, 35960, 1784, 2608, 35960, 2461, 35960,
-5873, -5873, -5873, -5873, 4343, -5873, -5873, -5873, -5873, -5873,
-5873, 4231, 2395, -5873, -5873, 35960, 4002, 3988, 41768, 41768,
4481, -5873, 4684, 35960, 30147, -5873, 3739, -5873, 27597, 3992,
35960,117496, -5873, -5873, 797, 797, 797, 797, -5873, 94546,
94546, 94546, 4078, 4003, 4078, 1007, 4007, -5873, -5873, -5873,
-5873, 2084, -5873, 4011, -5873, -5873, -5873, -5873, -5873, 35960,
91486, 91996, 91486, 91486, 4009, 43846, 28112, 1595, 4014, 94546,
-5873, -5873, 4012, 44874, 4303, 4216, -5873, 44874, 4216, 2158,
4216, 4312, 4115, 51556, -5873, -5873, 4022, -5873, -5873, 4236,
-5873, 2233, 19953, 4495, 4366, -5873, 4025, -5873, 3761, 1805,
-5873, -5873, -5873, 1403, -5873, 4114, -5873, -5873, -5873, 3721,
37544, 4186, -5873, -5873, -5873, 4086, 2466, -5873, -5873, 4471,
4186, -5873, 3352, -5873, 2487, 50528, 3789, 35960, 2060, 2492,
2155, -5873, -5873,118006, -5873, 4109, 2982, 2982, 1265, 3627,
4395, 1265, 9842, -5873, 1639, 94546, -5873, 94546, -5873, -5873,
-5873, 4529, 4097, 4098, 4327, -5873, 2732, -5873, -5873, 69556,
94546, -5873, -5873, -5873, 589, 1344, 3214, -5873, 4125, -5873,
-5873, 4358, 94546, -5873, 4514, 4138, 94546, 10062, 4419, 4110,
-5873, -5873, 46416, 94546, 94546, 94546, -5873, 94546, 94546, 1639,
93016, -5873, 4491, 1639, 4162, 4397, 1844, 3217, 476, 6527,
-5873, 2024, -5873, -5873, 4130, -5873, 94546, -5873, 94546, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, 4194, -5873, -5873, -5873,
-5873, 65476, -5873, -5873, 94546, -5873, 64966, 52599, 64966, -5873,
-5873, -5873, 94546, -5873, 1699, 612, 1387, 3214, -5873, 4137,
-5873, 4428, 4143, 4145, 4202, 1237, 305, 4147, 4150, 4206,
4063, 4064, 4069, -5873, 64966, 53128, 4233, 94546, 2982, 4073,
4117, 94546, 3859, 93526, -5873, 4075, -5873, -5873, 3859, 273,
2706, -5873, -5873, -5873, 1562, 2982, 1562, 94546, 94546, 94546,
94546, 324, -5873, -5873, -5873, 4541, 4166, 94546, 94546, 94546,
94546, -5873, 4128, -5873, -5873, -5873, 94546, 94546, 4433, 254,
2288, 69556, 94546, 94546, 69556, 94546, 94546, 94546, 94546, 94546,
94546, 94546, 4301, -5873, 4532, 4457, 2462, 4502, 4163, 94546,
-5873, 94546, 1562, -5873, 3482, 94546, 94546, 94546, 94546, -5873,
-5873, -5873, -5873, -5873, 3739, -5873, 4082, 4396, 1142, -5873,
4401, 4402, 4403, 1142, -5873, -5873, 1730, -5873, 347, 94546,
-5873, 2581, 94546, -5873, -5873, -5873, 4025, 2690, 2694, -5873,
-5873, -5873, -5873, -5873, -5873, 4088, 94546, 94546, 41768, -5873,
2263, 1919, 1505, -5873, 4382, 94546, 3266, -5873, -5873, -5873,
972, 94546, -5873, -5873, -5873, -5873, 4096, -5873, 856, 3898,
-5873, 4421, 77206, 2982, 69556, 69556, 2982, -5873,120982, 4100,
3634, -5873, 280, 4198, -5873, 69556, 1806,116476, 3387, 4140,
4329, 10628, 44874, 45388, 1479, -5873, 4111, 4103, -5873, -5873,
94546, 4108, 68026, 2493, 4005, 4610, 1309, 2232, -5873, 78736,
4324, 3898, 4421, -5873, 3217, 4345, 4346, -5873, 2084, 94546,
3691, 3634, 1562, 94546, 4110, 52599, -5873, 4654, 2369, -5873,
118006, 35960, 35960, -5873, 4119, -5873, -5873, 4124, 6636, -5873,
4203, 4121, 4617, 35960, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, 4221, 4129, 94546, 94546, 1047, 94546, -5873, 4132,
3971, -5873, 3971, -5873, 94546, -5873, 94546, -5873, 357, -5873,
4270, 357, 94546, 94546, 94546, 94546, 94546, 94546, 3627, 257,
3638, -5873, -5873, 4487, 68536, 4488, -5873, 64966, -5873, -5873,
-5873, -5873, -5873, 2508, 94546, -5873, -5873, -5873, 4558, 4497,
357, 480, 1152, 1152, 1152, 1152, 4449, 1152, 1152, 1152,
1152, 1152, -5873, 35960, 19953, -5873, 4141, -5873, 19953, 19953,
4531, 4437, 4438, -5873, -5873, 4153, 4392, 4393, -5873, 4157,
35960, 3827, 18432, -5873, -5873, 4399, 4400, -5873, 3827, 3827,
18432, -5873, 18432, 4159, 11281, 18773, -5873, 2514, 35960, -5873,
1066, 1066, 1066, 4840, 4517, -5873, 3102, 1066, 1066, 1066,
560, 560, 267, 267, 267, 4496, 583, 19025, 18683, 19374,
4164, -5873, -5873, -5873, 3699, -5873, 38072, 140, 4640, 42818,
-5873, -5873, -5873, 4212, 4213, 4169, -5873, 35960, 38600, 4165,
122966, 4384, -5873, -5873, 1746, 35960, 35960, 5251, -5873, 19978,
35960, -5873, -5873, 5251, 431, 35960, 3365, 4371, 35960, 35960,
4875, 11323, 4172, -5873, 2535, 35960, 11414, 4378, -5873, 94546,
94546, 94546, 94546, -5873, -5873, -5873, 4366, 2711, 4366, 1562,
4175, -5873, 4171, -5873, -5873, -5873, -5873, 65986, 4177, 3909,
91486, 4180, 94546, 1595, 44874, -5873, -5873, 2551, -5873, 44874,
4489, -5873, 44874, 73636, -5873, 94546, 4181, 94546, -5873, 1658,
35960, 4230, 55773, -5873, -5873, -5873, -5873, 4272, -5873, 4422,
19953, 32792, -5873, 2084, 2064, 94546, 2060, 108, -5873, 35960,
4208, 94546, -5873, 4186, 19953, -5873, 4269, 2552, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, 4291, 79246, 4549, -5873, -5873,
1980, 4533, 579, -5873, 357, -5873,120982, 94546, 94546, 94546,
3159, -5873, -5873, 94546, 94546, 94546, 94546, -5873, -5873, 69556,
94546, -5873, -5873, 94546, 35960, 2559, -5873, 4257, 4664, 240,
2561, -5873, 2563, 1639, -5873, 2569, -5873, -5873, 94036, -5873,
4108, 324, 2263, 4548, 4550, 4447, -5873, 257, -5873, 4708,
2263, 4451, 324, -5873, -5873, -5873, -5873, 3030, -5873,120982,
357, 357, -5873, -5873, -5873, -5873, -5873, 4227, -5873, 4690,
4315, 94546, 94546, 94546, 94546, 94546, 69556, 94546, 94546, 2774,
2774,120982, 4215, -5873, 2774, 2774, 4218, -5873, 69556, 94546,
94546, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, 4307, -5873, 35960, 4685, -5873, -5873, -5873, -5873,
-5873, 35960, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, 69556, 94546, 4310, -5873, 4314, -5873, 963,
-5873, -5873, 94546, 94546, 94546, 94546, 4601, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, 4599, 94546,
-5873, -5873, 1562, 1562,120982, 357, 357, -5873, -5873, -5873,
4320, -5873, -5873, 4235, 4537, 1142, -5873, 1142, 1142, 1142,
-5873, 4234, -5873, 1730, 4643, -5873, 1639, 1660, 4593, -5873,
35960, -5873, 1434, 4840, -5873, 4653, 4736, -5873, -5873, -5873,
-5873, 3560, 2260, 3560, -5873, -5873, 73636, 465, -5873, 4574,
264, 64966, 4474, 77206, 413, 1745, 4245, 4379, -5873, 2982,
2982, 4318, 94546, 4743, -5873, -5873, -5873, -5873, -5873, -5873,
69556, 3872, -5873, 4492, 1375, 4613, 94546, 45388, -5873, 3721,
-5873, -5873, -5873, 1562, -5873, -5873, 4404, 3634, -5873, 1393,
94546, 4494, 77206, 3691, 2574, -5873, -5873, -5873, 4300, 4735,
3629, -5873, 413, 4324, -5873, -5873, 4711, 4362, 4319, 4766,
-5873, 4362, 4628, 4498, 4275, -5873, 3922, -5873, 94546, -5873,
19953, 19953, 1562,123462, 346,120982, 4639, -5873, 19953, 94546,
1006, 4278, 4455, -5873, 4606, 357, 2583, -5873, 357, 357,
-5873, 94546, -5873, 3627, 3627, 3627, 3627, 3627, -5873, 4507,
-5873, -5873, -5873, -5873, 4597, -5873, 68536, -5873, 357, -5873,
-5873, -5873, -5873, -5873, -5873, 1152, -5873, -5873, -5873, -5873,
-5873, 19953, -5873, 94546, -5873, -5873, -5873, -5873, -5873, -5873,
3438, 4286, 35960, 2079, -5873, -5873, 4287, 4288, 3827, 3827,
-5873, -5873, 35960, -5873, 11784, 41768, 4647, -5873, 35960, 35960,
35960, -5873, 4293, 2587, 2609, -5873, -5873, 140, -5873, 4640,
-5873, -5873, -5873, 11823, 4351, 19953, 4413, 4296, 1711, 5251,
5251, 19978, 5251, 35960, 35960, 5251, 5251, 35960, -5873, -5873,
-5873, 12165, -5873, 4772, 3739, -5873, -5873, -5873, -5873, 4230,
-5873, -5873, 4230, -5873, 4442, 35960, -5873, 2617, 4797, 40712,
4756, -5873, 94546, 2622, -5873, 35960, 4305, -5873, -5873, 44874,
2551, 4306, 2626, 94546, 2627,120982, 39128, 19953, 94546, 3739,
4308, -5873, 94546, 3105, -5873, 104, -5873, -5873, 4748, 46416,
4707, 19273, 35960, -5873, -5873, -5873, -5873, 68536, 4538, 68536,
1639, -5873, -5873, -5873, -5873, -5873, -5873, 4325, -5873, -5873,
-5873, -5873, 4407, -5873, -5873, 87, 3616, 1639, -5873, 12363,
4648, 46416, 56831, 94546, -5873, 94546, -5873, 4500, 4648, 4648,
-5873, -5873, -5873, -5873, 4820, 4704, 4705, -5873, -5873, 4331,
-5873, -5873, -5873, 4532, -5873, -5873, 52599, 69556, 94546, -5873,
4423, -5873, -5873, -5873, -5873, -5873, -5873, 48472, 55773, -5873,
1237, 4332, 4337, 305, -5873, -5873, -5873, 94546, 12626, 4339,
12788, 1254, 3616, 94546, 94546, 4341, 4342, 4344, 1762, 1554,
1979, 3627, 4710, 94546, -5873, -5873, -5873, 4532, -5873, -5873,
94546, -5873, 1142, -5873, -5873, -5873, -5873, 64966, -5873, 3545,
4234, 1562, 73636, 4838, 4838, 13030, 4582, -5873, -5873, 200,
4420, 4625, 4420, 4368, 94546, 972, 4369, 2631, -5873, 94546,
4356, 4505, 2349, 2349, 94546, 94546, 94546, 2633, 2084, 2982,
4117, 1806, 4749, 77206, 4794, 4108, 460, -5873, 94546, 4872,
94546, 3691, 3898, 94546, 4380, -5873, -5873, 78736, 4605, 2074,
94546, 2570, 4324, 3629, 1389, 94546, -5873, 1797, -5873, 2084,
-5873, 94546, 85876, 46416, 4741, -5873,122470, -5873, 2637, -5873,
-5873, -5873, 4465, 20722, 3477, 4509, 4510, 4390, 2203, 4742,
94546, 1018, -5873, -5873, -5873, -5873, -5873, -5873, 94546, 876,
-5873, -5873, -5873, -5873, 4388, -5873, 4888, 35960, 355, -5873,
-5873, -5873, -5873, -5873, 4620, -5873, 4414, -5873, -5873, 2763,
2079, 19524, -5873, 5397, 41768, 19953, 19953, 19953, 35960, -5873,
35960, -5873, -5873, -5873, -5873, 1016, -5873, -5873, 4726, 4415,
5251, 5251, 5251, -5873, 35960, 233, -5873, -5873, 2130, 4821,
19399, 3749, 65986, 4424, -5873, 41768, 2639, -5873, 4493, 94546,
2643, -5873, 19953, 94546, -5873, -5873, 35960, -5873, 2651, -5873,
4425, 1444, 4426, 25995, 4410, -5873, -5873, -5873, -5873, -5873,
19953, 4427, -5873, 4894, 1963, -5873, -5873, 4458, 94546, 2655,
-5873, 1422, 2112, 127, -5873, 4900, 4900, 19953, 1740, 1265,
630, -5873, 94546, 4501, -5873, 4664, 4429, 3560, -5873, 4430,
-5873, -5873, 1820, 3217, 94546, 3560, 3560, 2074, 4757, -5873,
-5873, 35960, 4479, -5873, 1284, 3616, 94546,120982, -5873, 194,
4781, -5873,120982,120982, -5873, -5873, -5873, 35960, -5873, 4518,
-5873, -5873, -5873, 35960, 35960, 76186, -5873, -5873, 94546, 94546,
94546, 94546, 94546, -5873, 357, -5873, -5873, 2657, -5873, 47444,
-5873, -5873, 3424, 1562, 3424, 2110, -5873, -5873, 3424, 3424,
-5873, 3477, -5873, 4838, 435, -5873, -5873, 4668, 4434, 35960,
4754, -5873, 1425, 4658, -5873, 4435, -5873, 73636, 4957, -5873,
64966, 3898, 4421, 94546, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, 2663, 4108, 4804, 3634,
4319, -5873, 94546, 4476, -5873, 44874, 4108, 2084, 2232, -5873,
4324, 3898, 4421, -5873, -5873, 4440, 4346, 3629, 2570, 4587,
-5873, 4590, -5873, 4903, 4672, 4912, 3691, -5873, 4110, 2667,
94546, -5873, -5873, 6636,123462,120982, -5873, -5873, -5873, 4452,
4853, 4508, 4511, -5873, -5873, -5873, 2203, -5873, 813, 4849,
4506, -5873, 4516, 94546, -5873, -5873, 4108, 357, 35960, 64966,
19953, -5873, -5873, 4850, -5873, 555, 274, 276, 4692, 4468,
35960, 5397, 2689, 2693, 4528, -5873, -5873, -5873, 3699, 39656,
39656, 39656, 4477, 4844, 4845, 94546, -5873, 94546, 4693, -5873,
-5873, 94546, 4840, 4499, 40712, 64966, 2695, -5873,119990, -5873,
2699, 2728, -5873, 35960, 4504, 35960, -5873, 39128, 94546, 4512,
3502, 2084, -5873, 3477, 46416, -5873, 4623, -5873, 4763, -5873,
-5873, 35960, 4588, 4591, -5873, 4852, -5873, -5873, 94546, -5873,
94546, 4420, 55773, 3761, 1820, 2260, 4420, 4420, 4434, 13426,
35960, -5873, 4596, -5873, -5873, 2729, 1661, 4681, 4681, 2734,
2735, 13868, 94546, 2749, 2750, -5873, 2751, 2774, 3631, 1979,
3631, -5873, 3627, -5873, -5873, 64966, -5873, -5873, 69046, -5873,
-5873, -5873, 1562, -5873, 1562, 4747, 58361, 58871, 1562, 1562,
-5873, -5873, -5873, -5873, 4832, -5873, 4005, -5873, 13978, 4611,
-5873, -5873, -5873, 934, -5873, 4738, 4740, -5873, 4519, -5873,
2761, -5873, 413, 4651, 4108, -5873, -5873, 94546, 5012, 5015,
-5873, 1380, 94546, 3721, -5873, 4319, 3691, 3629, 413, 4324,
2074, 46930, 4362, 2570, 4346, -5873, -5873, 4746, -5873, 4751,
-5873, 4521, 4856, -5873, 2216, 346, -5873, -5873, -5873, 1426,
4881, 4884, -5873, -5873, -5873, 3424, -5873, 149, 4534, 4909,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, 4575, 353, 365,
-5873, 4576, -5873, 4716, 4721, 2079, 2602, -5873, 19953, -5873,
-5873, -5873, 41240, 4691, 1397, 16847, 4922, -5873, 4922, 4922,
-5873, 5018, 5019, 1355, -5873, 4998, 2766, 42818, -5873, -5873,
-5873, 94546, 4767, 1650, 5045, 4718, 2767, 39128, 2771, -5873,
-5873, -5873, -5873, -5873, -5873, -5873, 50528, 5027, 19953, 453,
1898, 68536, 3616, 2772, 3859, 4553, -5873, 3761, 4625, -5873,
-5873, -5873, -5873, 19953, 94546, 73636, 5032, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, 3616, 4646, -5873, -5873, 76186, -5873,
94546, -5873, -5873, 2783, -5873, -5873, -5873, 59381, -5873, 4278,
-5873, 4278, -5873, -5873, -5873, 2787, 4674, 94546, 1173, 1173,
4972, -5873, 4631, -5873, 4567, -5873, 5098, 4709, 94546, -5873,
-5873, 1237, 2084, 77206, 4108, -5873, -5873, 2570, 4324, 3629,
35960, 2797, -5873, 4664, 240, -5873, 4346, 4362, -5873, -5873,
46416, 4570, 3266, 4965, -5873, -5873, -5873, 1932, 73636, 73636,
94546, -5873, -5873, -5873, 35960, 972, -5873, 4614, -5873, 4616,
-5873, -5873, 4803, 4805, 4578, 2079, -5873, 5079, -5873, -5873,
-5873, -5873, -5873, 1078, -5873, -5873, -5873, 94546, 94546, 94546,
4583, -5873, 3909, -5873, -5873, 41768, 41768, 4818, -5873, 41768,
1650, -5873, 94546, -5873, 4584, -5873, -5873, 2798, -5873, 1583,
122, -5873, 4825, 4720, -5873, -5873, 4829, 290, -5873, 630,
-5873, -5873, -5873, -5873, -5873, 4658, 1639, 1639, 3616, -5873,
94546, -5873, 4595, -5873, -5873, -5873, 69046, -5873, 4278, -5873,
-5873, -5873, -5873, 5099, -5873, 335, -5873, -5873, -5873, -5873,
94546, 4108, 4215, 4319, -5873, 4346, 3629, 2570, 14589, -5873,
46930, 94546, 94546, 4362, -5873, 2803, 46416, 3634, 4750, -5873,
2194, -5873, -5873, -5873, -5873, -5873, -5873, -5873, 864, 4589,
4592, -5873, -5873, 14848, 73636, -5873, -5873, 4737, 4744, -5873,
4822, 40184, 4752, -5873, 4823, -5873, 1378, 1433, 794,116986,
5055, 4840, 4840, -5873, 4840, -5873, -5873, 35960, -5873, -5873,
-5873, -5873, -5873, 50528, -5873, 4660, 104, 4608, 94546, -5873,
-5873, 1639, -5873, -5873, -5873, 35960, -5873, -5873, 2260, 2260,
4108, -5873, -5873, 4362, 2570, 4346, 4664, -5873, -5873, -5873,
-5873, 4856, -5873, 2804, 4362, 4506, 2755, -5873, -5873, 2777,
2659, 4696, 4961, -5873, 4612, 4719, 4722, 4999, -5873, -5873,
-5873, 94546, 94546, 66496, 94546, 407, 2815, -5873,120486, 94546,
15193, 4615, -5873, 4671, 35960, 2823, 1639, 2829, -5873, -5873,
-5873, -5873, 4346, 4362, 94546, 3266, -5873, 46416, 3477, 4993,
-5873, 2194, 4753, 4755, 64456, -5873, -5873, -5873, -5873, -5873,
2100, 408, 5034, -5873, -5873, 1562, 2079,116986, 4841, 565,
2830, -5873, 4678, 2835, 870, -5873, 4362, -5873, -5873, 3634,
-5873, -5873, 972, -5873, 4667, 4669, -5873, 2855, -5873, -5873,
-5873, -5873, 35960, 66496, 2151, 4629, -5873, -5873, 4830, 1562,
2763, 4830, -5873, -5873, -5873, 104, -5873, -5873, 4362, 73636,
4985, 4986, -5873, 64456, 125, 4698, 94546, 4634, -5873, 2079,
-5873, 276, 2763, 4694, 3477, 4641, 73636, 73636, -5873, 4638,
94546, 5092,116986, -5873, 2079, 276, 4678, -5873, 64456, -5873,
-5873, 2711, -5873, 4644, 2857, -5873, 2079, -5873, 2874,116986,
-5873, -5873, -5873, 2881, -5873
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-5873, -5873, -5873, 4251, -335, -1739, -5171, -1126, -917, -5873,
-5873, -966, 420, 3467, -1698, -5873, -5873, -5873, 1499, -5873,
-5873, -5873, -5873, 4214, -5873, -2939, -5873, -5873, 202, 4179,
-1374, 180, 3773, 1748, -5873, -1022, -5873, -5873, -767, 1,
-5873, 4173, 741, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-5873, -740, 2215, -5873, 2307, 1532, -3135, -5873, -5873, -1555,
-3818, -5873, 787, -5873, 815, -3962, -5873, -4877, -879, -5873,
-5873, -5873, 2198, -5873, -5873, -5873, 2145, 1331, -237, -5873,
-5873, -5873, -5873, -5873, -5873, -701, -5873, -5873, -1011, 4,
-674, -2989, -4374, -5873, -5873, 634, -280, -1514, -5873, 829,
-5873, 830, -5873, -4900, -5873, 134, -2785, -2737, -5873, -5873,
-5873, -246, -1533, 1578, -5873, 1641, -5873, -784, -1180, 2023,
-2320, -834, -5873, -138, -3612, -980, -709, -706, -868, -4438,
-4941, -5873, -5873, -1008, -3838, -5270, -5499, -4917, -4743, 1589,
-5873, 110, 642, -5873, 6, -3697, -3772, 7, 619, -5873,
10, 16, -5873, 636, -637, -1005, -1608, -5873, -778, -5873,
-5873, -5873, -3495, -5873, -5873, -5873, 201, -5873, -5873, -5873,
-5873, 685, -5873, -5873, -5873, -5873, -5873, -5873, -3192, 2175,
2178, -5873, -4446, -5873, -956, -5873, 848, -3539, 1573, -5873,
-5873, 1333, 4240, 665, -5873, -5873, -5873, -5873, -5873, -5873,
-1812, -5873, -5873, -5873, -5873, 137, -216, -5873, -5873, -5873,
-5873, -5873, -5873, -5873, 20, -5873, 1297, 606, -5873, -5873,
-523, -5873, -5873, -5873, -5873, -5873, -5873, -1056, -5231, -1188,
-1160, -5873, -3477, -5873, -5873, -5873, -180, -5873, -5873, -5873,
-5873, -5873, -1006, -5873, 1396, -4200, -5873, -5873, 649, -5873,
-5873, -5873, -5873, -5873, -833, -123, 3413, -5873, -381, -608,
-5873, -5873, -5873, -122, -5873, -5873, -5873, -5873, -5873, -519,
-1256, 5266, 4621, -1132, 7164, -847, -572, -5873, -5873, -5873,
-2704, -5873, -5873, -4256, -5873, 5258, 2726, 1690, 21, -5873,
-28, 133, 4060, -5873, 1266, -1177, -3157, 611, -332, -5873,
-5873, -5873, 610, -5873, -1961, -5873, -5873, -5873, -5873, -4155,
22, -5873, -4436, -5249, -4687, -4240, -1021, -5873, -4838, -4406,
-4175, -5873, 2218, -5873, -5873, -554, -106, 3399, -5873, -1488,
2564, -1462, -5873, -2643, 671, 1752, 3398, -3307, -125, 3401,
-3051, -5873, -682, 1335, -5873, -202, -3820, -5873, -5873, -5873,
-2772, -460, -5873, -5873, 1751, 683, -5873, -5873, -5873, -5873,
-642, 3372, -209, -5873, -5873, 4602, -5873, -5034, -5873, 4566,
-5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -5873, -1489,
1509, -5873, -823, -5873, -5873, 2321, 890, -5873, -5873, -5873,
-5873, 1593, -449, -5873, -5873, -5873, -5873, -5873, -5873, -5873,
-810, -1043, -5873, -5873, -4806, -5873, -5873, -5873, -5873, 2427,
-965, -754, 4475, -191, 26, -5455, -5873, -5873, -837, -5873,
3806, -5873, -5873, -5873, -5873, -5873, 669, 670, -5873, -5873,
-5873, -5873, -4117, -5873, -5873, -5071, -5873, -5873, 2303, -5873,
-5873, 1028, 3, 3510, -5873, -5873, -5873, -7, -5873, -5873,
-1039, 2654, -5873, -2423, -5873, -591, -5873, -5873, -1935, 33,
-4418, -5873, 51, -5873, -5873, -5135, -959, 466, -5873, -5873,
-4137, 54, -5873, -5873, -5873, -5873, -5110, -5873, 58, -4909,
1035, -3377, -5873, 15, -5873, -281, -5873, -5873, -283, -5873,
-5873, -5873, -5867, 34, 221, -5873, -5873, 107, 209, -47,
-27, -10, 57, 170, 3935, -5873, -5873, -5873, -4584, 3965,
-5873, 11, -883, 5304, 5305, -5873, -877, -146, 616, 1853,
-664, -2635, 3866, 3868, -5873, 1839, 2660, -2470, -2456, -5873,
-835, -679, -486, -5873, -5873, -5873, -5873, -1427, -662, -2649,
-5873, 3874, -5873, -5873, -5873, -2369, -3425, -3316, 1896, -3326,
-3168, -5873, 1134, 1118, -836, 66, 105, -1477, -789, 1935,
-5873, -5873, 1903, -201, -5873, -5873, -199, -3341, 1074, -5873,
-4617, -2848, 1908, -963, -647, -5873, -793, -5873, -446, 1915,
-5873, -4039, -994, -5873, -3533, 1938, 3953, -831, -5873, -5873,
-815, 9267, -5873, -5873, -5873, 10220, 11196, -5873, -5873, 11897,
12150, -5873, -598, 12851, 5598, -792, -1943, 314, 13682, 18009,
-1784, -920, 130, -5873, -2987, 780, -5873, -5873, -5873, -161,
1232, 992, -5873, -5873, -4679, -4480, -5873, 2812, -2052, -5873,
-439, 1997, -436, -5873, -5873, -5873, -2680, -5586, -2872, 2833,
-5873, -5873, -5873, -96, -5873, 19193, -3290, -5873, -690, -1027,
-1598, 3337, -3050, -1899, -5873, -5873, -5873, -3133, -5873, -5873,
-5873, -536, 2021, -5873, -5873, 2159, -5873, -5873, -5873, -973,
2398, -713, -1191, 2029, -4536, -5873, -379, -5872, -5016, -5873,
-5698, -5856, -1939, -957, -3060, -3902, -1955, 2048, -3119, -5873,
-1964, 2121, 1336, -5873, 2011, -5873, 4520, -800, 2841, -813,
16742, -683, 9751, -1285, -5873, 192, -5120, 116, 7585, 37,
-128, 3796, -657, 2758, 3306, -5873, -5873, -6, 10032, -529,
-672, -5873, 5214, 16261, 15943, -3703, -5873
};
/* 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 -3002
static const yytype_int16 yytable[] =
{
650, 71, 995, 175, 80, 1661, 83, 84, 828, 926,
85, 1734, 1227, 1228, 1229, 184, 86, 802, 1233, 804,
106, 124, 129, 810, 766, 1831, 159, 1387, 818, 826,
830, 1948, 833, 178, 185, 826, 826, 1375, 863, 2876,
866, 1102, 2742, 937, 2002, 2847, 1233, 922, 922, 922,
1477, 180, 1479, 2954, 181, 1666, 864, 191, 183, 793,
3647, 1714, 1491, 1442, 2846, 793, 1462, 1433, 1434, 1825,
3524, 1726, 948, 1193, 1891, 1418, 1395, 1441, 191, 2050,
2042, 1174, 3249, 2833, 3894, 3525, 1200, 3977, 1004, 3111,
4222, 4053, 4224, 1405, 2859, 1187, 1876, 3240, 3550, 3552,
960, 4289, 1026, 4863, 1510, 1448, 3305, 186, 1001, 2742,
4595, 1006, 1900, 3925, 3301, 996, 2034, 4621, 4447, 4341,
2036, 1864, 4927, 2037, 2038, 1869, 3289, 3293, 3296, 3297,
1873, 3023, 3306, 1048, 3308, 3309, 648, 4397, 792, 4399,
1883, 2984, 2985, 3807, 792, 1069, 3916, 2915, 2915, 860,
1417, 2915, 3265, 1601, 1903, 5135, 800, 4647, 4264, 4303,
5300, 3178, 4247, 4878, 939, 3357, 4897, 3359, 931, 829,
1201, 4369, 4608, 4373, 5153, 3130, 2674, 4544, 1623, 1184,
1423, 940, 1172, 1640, 1937, 1176, 1141, 2824, 5164, 5143,
5617, 650, 951, 951, 5642, 5104, 951, 3775, 649, 1605,
962, 2980, 863, 232, 5238, 998, 5239, 4966, 962, 187,
4278, 962, 5493, 3443, 863, 823, 951, 5544, 4302, 863,
875, 5756, 857, 951, 5717, 863, 3431, 5461, 3012, 657,
187, 3433, 4091, 1048, 3516, 1940, 708, 5152, 5312, 4309,
5314, 1944, 5366, 849, 5500, 4605, 5634, 2824, 5489, 1573,
3519, 1955, 4191, -2578, 5769, 1958, -2620, 5962, -2646, 1961,
3495, 1963, 1602, -2687, 2824, 925, 714, 1971, 775, 1833,
1660, 4194, 1484, 1977, 1487, 5492, 1980, 714, 1568, 1692,
4127, -2466, 1430, 1431, 775, 5950, 1048, -2466, 2804, 1719,
-2466, -2466, 1899, 1440, 2877, -2426, 775, 1856, 5258, 3245,
3325, -2426, 5670, 667, -1981, 2633, 3108, 6154, 2991, 3913,
-1981, 5114, 3834, 6001, 1397, 4262, -2467, 4267, 4268, 1568,
5363, 2997, -2467, 1540, 1568, -2467, -2467, -1989, 2113, 3884,
1019, 1930, 2994, -1989, 3853, 775, 3856, 3857, 1417, 1048,
-2499, 3861, 3862, 3863, 2850, 3865, 3866, 3867, 5680, 5681,
4631, 775, 2679, 1258, -2875, -1948, 4180, 867, 3368, -2582,
-2875, -1948, 2639, -2875, -2875, 946, -1961, 5886, 1820, -1986,
775, 1208, -1961, 4104, 4071, -1986, -2251, 4093, -2006, 2850,
-1989, -1976, 1391, -2251, -2006, 4104, -1989, -1976, 3368, 949,
1212, 714, 6147, 1129, 5801, 2641, 5708, 2108, 961, 4642,
938, 1048, 4093, 2915, 6149, 714, 961, 5115, 958, 961,
5706, 2596, 6295, -1920, 714, 2695, 1861, 3207, 5328, 2787,
2596, 3872, 1930, 5819, 4342, 5165, 6157, 5033, 4055, 1878,
2788, 1930, 781, 934, 2685, 781, 4574, 781, 1541, -2643,
1726, 934, 781, 3885, 1825, 1930, 3769, 5212, 5213, 5214,
3120, 5216, 5217, 5218, 5219, 5220, 782, 6308, 2781, 782,
3410, 782, -2270, 2696, 1259, 6127, 782, 3411, 2838, -2270,
-1782, 4697, 5647, 1433, 1434, 1074, -448, 3121, 3342, 5922,
2113, -150, 3416, 1121, 2900, 1499, 4984, -150, 5964, 1540,
5633, 665, 2681, 3521, 5372, 3466, 2047, 2113, 5116, 5022,
6115, 5255, 5454, 4871, 2819, 1441, 3821, 1231, 1983, 4532,
3623, 3109, 1704, 1956, 2639, 4354, 2877, 6003, 1397, 781,
1122, 3241, 1408, 2113, 1553, 6423, 661, 6426, 1881, 2697,
6415, 2639, 194, 2878, 6141, 4471, 6290, 4293, 781, 1448,
1642, 1015, 1400, 782, 803, 5883, 1930, 2641, 6441, 4359,
1930, 5757, 2850, 1096, 714, 664, 2677, 2639, 1123, 1106,
1398, 6291, 782, 2708, 2641, 2605, 3230, 1197, 6142, 2842,
6455, 1120, 1016, 4127, 2023, 3728, 4294, 195, 662, 2698,
6191, 2634, 1643, 6453, 2033, 6004, 4472, 996, 5820, 6467,
2641, 6192, 714, 4355, 5997, 2850, 4127, 194, 1232, 1409,
1825, 2043, 3805, 2820, 1541, 3522, 4592, 2978, 1124, 3624,
2789, 1255, 1946, 1986, 6296, 5622, 1456, 4985, 5256, 5821,
4181, 3822, 2921, 5455, 5034, 2615, 1946, 6243, 4575, 2901,
2628, 2628, 3417, 2608, 6309, 3343, 5923, 996, 2105, 5745,
1931, 1262, 195, 5329, 2699, 5998, 4698, 2676, 3873, 4105,
2850, -1782, 2790, 4094, 3886, 2850, 3027, 1051, 5802, 2951,
2104, 4105, 4467, 863, 3837, 951, 3223, 951, 2599, 5921,
951, 2850, 1930, 1930, 2972, 2973, 5117, 998, 4094, 1430,
1431, 3122, 1109, 1079, 951, 6338, 1226, 2762, 3835, 2949,
951, 3110, 2952, 6126, 2850, 1930, 5598, 4342, 3231, 1542,
3021, 3022, 3208, 5344, 4544, 1500, 4182, 2879, -2643, 5714,
3011, 2959, 868, 1232, 650, 926, 3223, 1440, 3267, 1076,
2998, 4643, 1077, 962, 6418, 191, 1078, 998, 959, 1612,
962, 1931, 5001, 962, 1397, 5709, 6313, 2992, 2880, 2844,
1931, 6384, 2655, 2652, 3369, 3619, 5334, 2027, 3887, 951,
2999, 5118, 1134, 4632, 1931, 2878, 6465, 979, -2251, 1204,
3020, 2995, 5113, 2881, 980, 981, 982, 1543, 6471, 6297,
6002, 2811, 1862, 1039, 4198, 1080, 1261, 1040, 6312, 5562,
1428, 2818, 668, 1603, 1604, -2643, 2894, 1862, 1232, 1820,
2860, -2578, 3261, 1492, -2620, 4183, -2646, -2643, 4142, 787,
788, -2687, 863, 5161, 2875, 1932, 3436, 2809, 2728, 5957,
-2466, 1251, 2782, 1205, 2938, 1210, 6363, 1214, 191, 3460,
5072, 3196, 1039, 1218, -2426, 6298, 1040, 2719, 6080, 2720,
5008, 1381, 1381, -1981, 863, 826, 5012, 1443, 1444, 826,
2657, 2658, 3412, 3180, -2270, -2467, 2581, 6235, 5160, 6148,
787, 788, 1847, 863, 5960, 1931, 1445, 3028, 863, 1931,
2845, 6150, 2680, 6396, 1381, 1862, 787, 788, 2939, 2893,
1039, 1397, 2942, 2943, 1040, 3082, 3206, 187, -2499, 1397,
1397, 6245, 1407, -2875, 1432, 787, 788, 2828, 3221, 4933,
1443, 1444, 792, 4095, 792, 1436, 792, -2582, -1986, 6419,
939, 4106, 792, 1219, 1220, 1939, 4311, 2065, 4312, 1447,
-1976, 1381, 949, 1235, 6264, 4264, 4305, 940, 3704, 1943,
2109, 961, 4544, 1532, 6193, 863, 3232, 1838, 961, 2879,
71, 961, 175, 80, 2597, 83, 84, 4843, 863, 85,
2828, 4847, 6200, 6412, 184, 86, 709, 3233, 5869, 106,
124, 129, 1843, 863, 1525, 159, 1848, 2828, 1849, 5531,
2880, 2979, 178, 185, 6211, 996, 4593, 6315, 1632, 1235,
187, 925, 863, 2877, 2902, 4605, 4586, 951, 951, 5373,
180, 1931, 1931, 181, 4743, 2881, 191, 183, 4738, 4739,
5382, 941, 1633, 2576, 2577, 2578, 2579, 2580, 2581, 4593,
4462, 4463, -150, -150, 1931, 4464, 4887, 4524, 4525, 826,
826, 1221, 2578, 2579, 2580, 2581, 4468, 5999, 6119, 1946,
1954, 4505, 4229, 3223, 1976, 2803, 2875, 3065, 2026, 5744,
4724, 3162, 1381, 1381, 5075, 3516, 186, 4913, 1533, 3169,
1624, 1424, 3300, 1390, 6362, 6125, 650, 1402, 951, 1496,
4283, 6000, 962, 5076, 5345, 998, 962, 3395, 962, 4276,
4971, 6098, 3223, 951, 1547, 6107, 3042, 3590, 2877, 4687,
6318, 6319, 4833, 4802, 4835, 4836, 1269, 2681, 4084, 4127,
4560, 6118, 942, -3002, -3002, -3002, 714, 863, 4139, 4140,
4141, 4142, 4451, 792, 951, 951, 4337, 2610, 6303, 1602,
714, 3610, 4041, 1452, 2593, 775, 2611, 714, 5750, 4137,
4138, 4139, 4140, 4141, 4142, 1092, 863, 863, 863, 1155,
951, 4927, 650, 714, 650, 650, 3124, 2861, 6054, 1880,
3054, 1031, 1825, 6059, 6060, 4689, 938, 6189, 187, 6270,
4584, 2862, 5415, 2863, 4043, 4999, 1979, 1946, 714, 3299,
3299, 1408, 3072, 5094, 4519, 1625, 3077, 951, 714, 951,
951, 6353, 5184, 792, 3326, 4425, 5416, 5129, 4306, 4684,
1223, 6429, 1703, 3347, 3981, 3686, 2918, 6236, 1704, 2922,
3696, 1453, 1698, 6272, 1895, 5515, 5653, 5102, 2089, 661,
3064, 941, 1381, 6398, 6425, 823, 1684, 1723, 5983, 1514,
3611, 3396, 3571, 835, 3218, 3219, 3397, 3141, 3801, 2864,
6244, 2867, 2878, 4648, 6026, 3226, 2612, 1480, 2004, 2850,
2004, 781, 1534, 6382, 863, 1699, 802, 1896, 1409, 3744,
3142, 2851, 807, 3687, 2877, 1032, 5873, 4541, 6222, 813,
1255, 930, 6343, 3802, 949, 782, 2877, 2868, 5984, 2040,
961, 863, 710, 1965, 961, 2046, 961, 3398, 2877, 1454,
2877, 191, 1455, 2877, 1535, 3982, 6273, 6344, 1452, 1381,
985, 986, 987, 988, 989, 990, 991, 992, 993, 3549,
4426, 3078, 942, 4690, 5943, 6241, 6242, 1705, 3159, 1515,
6443, 5946, 6025, 6435, 3572, 3182, 1966, 2772, 1048, 1536,
5954, 1033, 3171, 926, 4649, 1482, 5814, 2878, 5792, 836,
3744, 1381, 5491, 711, 5959, 3177, 3227, 888, 3620, 5479,
1915, 5095, 1917, 1918, 3205, 3639, 6320, 4639, 3210, 3224,
5956, 6253, 5971, 3217, 943, 944, 3220, 1922, 2981, 1626,
1381, 1381, 1381, 1516, 1381, 3914, 1453, 5942, 3688, 6297,
5992, 4042, 2613, 4111, 5510, 712, 3073, 713, 1224, 3262,
3646, 3264, 715, 1034, 2027, 1381, 3155, 3271, 6274, 2877,
5544, 5485, 1537, 3286, 3287, 4928, 1946, 5958, 4133, 4452,
1456, 1627, 4338, 1724, 6351, 3310, 2879, 3614, 3157, 2105,
3472, 5103, 3943, 4044, 3189, 3330, 6361, 3143, 3176, 3055,
2957, 3345, 3705, 3170, 3591, 6099, 3172, 6368, 863, 3697,
4561, 3399, 2877, 187, 2637, 4684, 1628, 2880, 4979, 2594,
1700, 5340, 1897, 5544, 1454, 4691, 1381, 1455, 1988, 3844,
1990, 3081, 1992, 3013, 1994, 1093, 1996, 1997, 1998, 1156,
3316, 3849, 2881, 2000, 6253, 5357, 6397, 4889, 1881, 2686,
2687, 5209, 2691, 2824, 5516, 5417, 3209, 1517, 6135, -1948,
3215, 3216, 3365, 6223, 4427, 3610, 940, 940, 6057, 940,
2783, 1706, 1381, 2878, 5865, 3528, 1381, 1381, 6364, 6427,
2052, 2879, 4650, 2875, 3366, 2878, 5859, 863, 863, 863,
2726, 1967, 1381, 6280, 4227, 5793, 1457, 2878, 6109, 2878,
2061, 3791, 2878, 3983, 5333, 932, 4428, 3792, 4545, 2954,
1244, 6444, 2880, 1707, 5301, 826, 5759, 2774, 3984, 792,
996, 1458, 2761, 6275, 792, 792, 3689, 5815, 5304, 3260,
1923, 5760, 1701, 5308, 1898, 944, 5310, 2881, 4124, 4125,
1128, 4429, -1948, 4144, 1924, 1456, 1725, 6224, 1708, 4980,
2815, 5480, 2656, 6258, 3736, 826, 4548, 4651, 951, 2102,
3554, 2663, 5458, 2664, 3611, 6253, 4375, 2667, 714, 6159,
3432, 863, 2849, 933, 2673, 5912, 6225, 5914, 2875, 3900,
863, 5918, 5919, 951, -1781, 4175, 4176, 5174, -711, -3002,
-3002, -3002, 4137, 4138, 4139, 4140, 4141, 4142, 1496, 3621,
1496, 1925, 1245, 1968, 1129, 5930, 3925, 760, 2878, 1901,
998, 3706, 863, 5140, 6045, 826, 3793, 4550, 2917, 2917,
1603, 1604, 2917, 4460, 4284, 4470, 1825, 15, 4507, 5089,
40, 1525, 826, 1902, 1522, 863, 1525, 1523, 863, -2422,
5141, 3610, 2784, 3275, 3737, 6136, 714, 2879, 3966, 4890,
2971, 2878, 3276, 6175, 3000, 5758, 4891, 5669, 3797, 2879,
4981, 1457, 951, 4892, 20, 792, 6258, 934, 6234, 44,
2742, 2879, 3367, 2879, 2742, 792, 2879, 3529, 2880, 3120,
863, 4376, 1031, 4544, 5140, 938, 938, 5882, 938, 1474,
2880, 1130, 951, 951, 951, 951, 863, 4254, 6056, 3738,
3798, 4893, 2880, 2881, 2880, 1926, 3121, 2880, 1031, 5749,
863, 5141, 1525, 48, 4866, 2881, 1525, 5855, 3442, 1219,
1220, 1381, 1381, 1381, 4894, 2777, 49, 2881, 5446, 2881,
2766, 5761, 2881, 4553, 4915, 3799, -1948, 6160, 2785, 3463,
3611, -1952, 2767, 3569, 2875, 3168, 4754, -1952, 4755, 40,
50, 3614, 5134, 2778, 3901, 5931, 2875, 3277, 6169, 2113,
2768, 3739, 792, 4899, 4541, -1781, 792, 792, 2875, 56,
2875, 5093, 6176, 2875, 3508, 4255, 3612, 4973, 1927, 4554,
3555, 6341, 2879, 3556, 1246, 6311, 1032, 6258, 44, 40,
1203, 2975, 4997, 1946, 1269, 1475, 4555, 4127, 2695, 3001,
3794, 4128, 4129, 4130, 5090, 4285, 1614, 3151, 4123, 4256,
2772, 2619, 1032, 2880, 5066, 2692, 935, 3464, 3613, 5070,
863, 4795, 5131, 1946, 4257, 2879, 2641, 1247, 44, 1248,
2773, 863, 48, 1862, 5932, 3278, 6342, 3158, 2881, 951,
951, 5442, 3795, 1243, 5142, 49, 2696, 4258, 5844, 814,
5298, 4900, 1033, 1590, 2620, 951, 2880, 996, 996, 1131,
40, 3498, 1039, 5763, 6360, 815, 1040, 1862, 6140, 50,
32, 5764, 48, 863, 2917, 5443, 4259, 3796, 1033, 2875,
1928, 2881, 6204, 1615, 3740, 49, 831, 4045, 3530, 951,
951, 951, 951, 5856, 3198, 4867, 1419, 1132, 863, 44,
4556, 5462, 40, 4756, 3520, 863, 1442, 3086, 3131, 50,
5473, 4377, 4378, 3279, 1034, 6113, 3280, 3198, 5567, 5963,
3719, 5949, 2875, 650, 5679, 2779, 650, 3614, 56, 4901,
2693, 3902, 3755, 4902, 1590, 2769, 962, 962, 1456, 4465,
1034, 44, 4379, 48, 6177, -1948, 1663, 998, 998, 6178,
5463, 962, 3499, -1948, 962, 1432, -1948, 1461, 1469, -1948,
792, 1133, 2698, 1134, 3451, 2944, 2778, 1135, 1913, 951,
951, 1881, 3198, 4046, 4260, 4864, 951, 6066, 863, 2064,
858, 3800, 4541, 3903, 6179, 48, 996, 3570, 1664, 899,
3664, 3087, 194, 5594, 5970, 2004, 1404, 2601, 49, 56,
3720, 5568, 951, 1820, 962, 4943, 6322, 3214, 962, 962,
4132, 863, 863, 3246, 951, 3741, 1514, 4466, 1979, 3292,
834, 863, 50, 3742, 4969, 5791, 3743, 2699, 863, 3999,
2774, 863, 3131, 680, 3281, 802, 6196, 195, 802, 3251,
4944, 56, 191, 1381, 5087, 1381, 5676, 1079, 4474, 5529,
1381, 1381, 4865, 870, 6067, 5765, 3665, 1381, 1381, 1381,
1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381,
5677, 2602, 3492, 1381, 4688, 1381, 998, 1381, 1381, 1381,
1381, 1381, 1381, 1076, 2742, 1381, 1077, 1381, 1381, 191,
1078, 1381, 4700, 1979, 2742, 1629, 4133, 3636, 3929, 3930,
3931, 3932, 4970, 3934, 1665, 5341, 1515, 682, 1381, 1381,
1381, -1959, 1438, 1439, 5460, 3200, 6197, -1959, 5088, 6117,
2945, 949, 4305, 1480, 949, 2946, 1381, 6400, 3962, 1481,
1480, 3729, 3235, 3730, 961, 961, 4725, 3803, 4945, 1080,
3925, 4729, 4737, 4353, 3838, 3839, 3840, 2954, 4545, 961,
3282, 1121, 961, 5484, 4546, 6134, 4728, 3, 4, 3736,
1516, 4733, 4734, 3756, 4171, 928, 951, 3806, 4547, 2742,
4712, 3759, 3804, 5780, 3762, 3273, 3274, 3250, 3633, 5342,
5628, 5941, 5630, 5471, 6116, 3641, 3666, 3993, 1122, 1501,
5823, 6436, 3311, 3312, 187, 1511, 4548, 3754, 4549, 4670,
929, 5537, 961, 3693, 3731, 5374, 961, 961, 3190, -474,
3191, 1482, 3192, 5380, 3193, 3646, 3194, 2855, 1482, 2856,
3195, 945, 1632, 760, 5538, 3358, 4587, 6249, 29, 3717,
5539, 1502, 4683, 3991, 6437, 3781, 1397, 1512, 3997, 3844,
3998, 187, 680, 15, 5540, 4514, 1633, -1099, 5652, 3737,
4004, 2915, 3667, 4005, 5676, 4006, 4007, 4550, 946, 4009,
-2450, 5824, 1483, 4012, -175, 4013, 1503, 1672, 4015, 1483,
3828, 35, 1513, 1381, 1517, 3291, 1124, 4365, 5677, 4684,
20, 6237, 3772, 3201, 3773, 2857, 4551, 954, 3777, 693,
4469, 694, 5684, 1669, 5974, -175, 4830, 5084, 5991, 3344,
4832, 1979, 2924, 3083, 3738, 2908, 2963, 4134, 4135, 4136,
4137, 4138, 4139, 4140, 4141, 4142, 682, 3202, 1877, 5450,
5953, 5452, 2932, 3113, 5085, 4655, -624, 1381, 40, 3717,
4656, 3203, 4054, 1673, -474, 1670, 2964, 4506, 4255, 1518,
4899, 956, 4928, 3955, 4750, 4751, 4752, 4753, 4422, 4308,
4757, 4758, 4759, 4760, 4761, 4762, 4763, 4764, 4765, 4766,
5920, 5433, 2944, 5434, 5435, 5436, 3739, 44, 4552, 3204,
1671, 2925, 4256, 4553, 4928, 1674, 2928, 1519, 5541, 5857,
5724, 1520, 1675, 1381, 1632, 35, 1676, 4849, 5325, 6133,
4423, 3448, 3016, 977, -1752, 3882, 4617, 4378, 6314, 1694,
-1752, 1506, 3326, 3326, 5915, 3017, 5858, 3326, 1633, 5916,
4258, 48, 3917, 6464, 4806, 4807, 1521, 3449, 2112, 4554,
-1949, 2113, 2867, 1632, 49, 4424, -1949, 4957, 4900, 6324,
6473, 978, 233, 4026, 5725, 3018, 4555, 5726, 666, 1507,
-1705, 1695, 6202, 1508, 5727, 1696, 758, 1633, 50, 3326,
3326, 1522, 3003, -1705, 1523, 2639, 3009, 1973, 2868, -1705,
40, 5035, -3002, 5917, 832, 3014, -150, 6250, 1209, 1211,
1213, 5676, 5728, 1215, 1216, 1217, 1697, 1094, 1509, 1095,
40, 1974, -1752, 1222, 2850, 5036, 32, 5784, 2641, 3740,
29, 5052, 1021, 3374, 2112, 5677, 2858, 2113, 693, 44,
694, -3002, -3002, -3002, 1635, 1524, 4901, 3015, -1705, -1950,
4902, 5785, 6044, 1030, 5053, -1950, 4928, 2945, 40, 44,
1038, 1269, 2946, 1711, 4127, 4025, 1715, 698, 4128, 4129,
4130, 2639, 5729, -1752, 5542, 1443, 1444, 4260, 2640, 6454,
4556, -1705, -2418, 48, 1082, 5730, 5543, 1039, 1089, 1226,
4407, 1040, 4037, 6466, 1445, 4223, 49, 44, 5731, -1953,
4177, 1084, 4408, 48, 2641, -1953, 1677, 1381, 1381, 1381,
1381, 1381, 1381, 1381, 1381, 1381, 49, 1381, 2105, 1103,
50, 6428, 6206, 6207, 1443, 1444, 1117, 863, 1381, 3603,
40, 1381, -1705, 1039, 1098, 5298, 1099, 1040, 863, 56,
50, 48, -1705, 1447, 1678, 761, -3002, 5885, 1679, 1127,
4315, -3002, 5889, 5890, 49, 1432, -1951, 2675, 1269, 56,
3741, 4127, -1951, 3, 4, 4128, 4129, 4130, 3742, 44,
863, 3743, 1381, -2825, 4126, 951, 1381, -2825, 50, 1381,
3444, 1381, -2419, 1680, 1381, 4796, 4154, 1039, 1381, 1226,
1681, 1040, 1826, 4254, 4067, 1827, -623, 762, 4475, 2650,
2628, 4343, -3002, 1153, 4326, 4234, 4235, 4068, 1125, 3597,
714, 3491, 4069, 48, 4161, 1126, 2106, 863, 863, 5168,
4168, 4225, 2642, 4178, 4656, 4886, 49, 2643, 1381, 1153,
1432, 3600, 2675, 3604, 3605, 2886, 4383, 1381, 1381, 2887,
4310, 775, 996, 4281, 1143, 775, 3632, 714, 1154, 775,
50, 863, 714, 4792, 4131, 3025, 3026, 714, 5014, 3535,
2646, 3540, 5975, 5290, 5201, 6301, 1147, 4209, 5686, 56,
-1439, 4255, -1439, 3380, 3381, 3382, 3383, 4132, 2645, 3573,
5208, 3576, 2676, 4541, 4387, 1163, 4389, 6155, 790, 1164,
4196, -1705, 1622, 6156, 790, 1181, 1985, 1639, 1825, 1827,
4603, 802, 1188, 802, 5083, 4256, 1039, 1198, -2426, 5732,
1040, 4956, 5733, 1432, 1170, 1461, 5231, 1381, 4271, 661,
4257, 3459, 3461, 5236, 5237, 775, 2035, 3469, 650, 1827,
5136, 962, 998, 962, 962, 1226, 2646, 951, 3735, 4153,
863, 4155, 4156, 4258, 1230, 2636, 2649, 3487, 1827, 2650,
2683, 3186, 3197, 1827, 2650, 3198, -3002, -1149, -1149, 3515,
3515, 826, 4946, 4133, 4953, 6356, 1237, 1645, 4330, 3532,
3517, 3518, 4259, 2849, 4132, 3199, 3238, 3447, 3198, 3239,
1979, 3452, 3541, 1234, 2650, 2650, 3652, 863, 6289, 1646,
4931, 2742, 3374, 3663, 3630, 4914, 3711, 3631, 2051, 3712,
56, 5305, 863, 5772, 1432, 5871, 2675, 4928, 3146, 649,
3147, 4533, 1225, 5876, 5877, 4699, 1242, 3878, 4346, 3825,
3879, 792, 4590, 1239, 863, 6439, 3479, 4087, 6442, 4088,
4493, 4319, 2648, -1705, 6199, 1987, 4500, 4214, 1989, 4215,
1991, 1647, 1993, 1241, 1995, 863, -1705, 4017, 1999, 1397,
3198, 3618, -1705, 4066, 4316, 4317, 2650, 4562, 826, 1252,
4133, 4075, -3002, 1253, 2650, 4082, 4972, 1255, 2650, 4083,
4260, 187, 2650, 1254, 2576, 2577, 2578, 2579, 2580, 2581,
4102, 951, 4442, 3837, 951, 4113, 4146, 4448, 2650, 2650,
1257, 4160, 4165, 4232, 2650, 4166, 2650, 4400, 1256, 4405,
4401, -1705, 4406, 4417, 4433, 1263, 4503, 4434, 3651, 4434,
863, 863, 4626, 4629, 6123, 4627, 4630, 4661, 4775, 5850,
4662, 4776, 3465, 3467, 3468, 3808, 949, 3811, 3813, 961,
1265, 961, 961, 1648, -1705, 1842, 4786, 4798, 2572, 4787,
2650, 3771, 4874, -1776, -1776, 4875, 1851, -3002, -3002, -3002,
2576, 2577, 2578, 2579, 2580, 2581, 3726, 1443, 1444, 1381,
1381, 1381, 1859, 4880, 5306, 1381, 4881, 6401, 4885, 5137,
1403, 3556, 3198, 951, 4134, 4135, 4136, 4137, 4138, 4139,
4140, 4141, 4142, 1406, 5203, -1705, 951, 2027, 5645, 5646,
5243, 1649, 1381, 2650, 951, -1705, 1650, 792, 1410, 5154,
-1124, 1651, 4614, 4438, 4615, 792, 1397, 2849, 792, 1411,
1645, 5280, 863, 5077, 2650, 5078, 5147, 2953, 3915, 1412,
792, 802, 4663, 1416, 4665, 4455, 4667, 3351, 5336, 1420,
3354, 3556, 1646, 951, 3926, 5360, -1704, 5367, 5361, 5368,
3198, 1425, 3198, 6457, 3808, 5369, 1426, 4876, 3198, -1704,
5486, 1428, 1653, 5487, 951, -1704, 3948, 1432, 4563, 5523,
4565, 1435, 4662, 5559, 5484, 4580, 5560, 4056, 4216, 1436,
4217, 4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4142,
6018, 6019, 3966, 4928, 1647, 5561, 6165, 6166, 2650, 4059,
680, 4061, 4062, 5581, 1449, 951, 5582, 951, 5591, 951,
1655, 1979, 5597, 5599, -1704, 4600, 4600, 5719, 2742, 5739,
5720, 1451, 3198, 5773, -1097, 5833, 5774, 2030, 5834, 5839,
-1780, -1780, 1979, 4930, 1656, 4932, 3299, 5842, 4935, 1466,
4600, 5853, 2004, 5904, 5854, 1467, 5905, -1704, 2681, 5945,
1478, 6042, 2604, 5972, -1705, 1658, 5854, 3064, 3326, 3326,
3326, 3326, 1493, 4950, 3326, 3326, 3326, 3326, 3326, 3326,
3326, 3326, 3326, 3326, 682, 6009, 3944, 1494, 4166, 6010,
3487, 6030, 2650, 1495, 6031, 6034, 1648, 5576, 1979, 5246,
5577, 5247, 4778, 4573, 4594, 4576, 650, 951, -1704, 962,
4693, 962, 962, 6123, 951, 5805, 1659, 5806, -1704, 4928,
1726, 1381, -1779, -1779, 6035, 6065, 1381, 2650, 3239, 1461,
6071, 6072, 1039, 3239, 3239, 1466, 1040, 926, 3326, 3326,
1498, 684, 4706, 5549, 5550, 6075, 6076, 6077, 2650, 2650,
6078, 6370, 649, 6371, 1649, 1504, 996, 6105, 1825, 1650,
6106, 1545, 6171, 6186, 1651, 4600, 2650, 6188, 6201, 2112,
2650, 3198, 2113, 1466, 1571, -1693, 1381, 1381, 1381, 6215,
2953, 1381, 6216, 6219, -2468, 4839, 926, 792, 187, 1381,
1381, 1381, 1381, 6239, 6288, 2681, 6240, 5847, 1574, 6321,
6366, 4678, 5854, 6367, 1576, 1381, 2639, 6247, 1381, 4956,
1381, 6386, 1577, -3002, 6387, 1653, 1397, 932, 1397, 6394,
923, 924, 4875, 1381, 1381, 6395, 6422, 1381, 2650, 6031,
-1753, 6424, 1612, 1616, 2650, 1269, -1753, 1617, 4127, 2641,
4928, 1618, 4128, 4129, 4130, 1629, 998, 4826, 1381, 4828,
1381, 6432, 1381, 6470, 6433, 4184, 6387, 4185, 4701, 5289,
1631, 5292, 5273, 1655, 4277, 1641, 693, -1704, 694, 5358,
6472, 1381, 4947, 6433, 4213, 1644, 1668, 6474, 863, -1124,
6387, 1686, 4848, 4186, 4851, 933, 1685, 1656, 2721, 1702,
2724, 926, 697, 4747, 1712, 1877, 4219, 4220, 4221, 863,
4636, 1713, 1716, 1721, 949, 1722, 1835, 961, 1658, 961,
961, 4195, 1837, 1839, 4254, 1844, 1855, 3489, -1753, 1850,
1858, 5553, 1860, -1705, 1865, 1868, 1862, 4774, 1870, 650,
1879, 1884, 3491, 4252, 5181, 1885, -1705, 4252, 4266, 4252,
4252, -137, -1705, 926, 1888, 1887, 1381, 1892, 3379, 4910,
1890, 1381, 4781, -3001, 1913, 2676, 1893, -3002, 1904, 1659,
1911, 1916, -3002, 1920, 213, 1929, 1381, 1934, 1578, -1753,
1935, 1969, 1936, 1938, 1579, 1941, 1942, 1945, 4814, 934,
3491, 1946, 1953, 1957, 4298, 1959, 1960, 4301, 3491, 1687,
3540, -1705, 4255, 2102, 1962, 1964, 1970, 1972, 3368, 1975,
1978, 1981, 1982, 1984, 3380, 3381, 3382, 3383, 5058, 2001,
2898, 4187, 4226, -3002, 792, 2032, 2039, 4188, 2041, 1581,
5071, 2044, 2048, 2049, -1705, 2058, 4256, 2089, 5797, 2056,
4233, 1381, 2057, 2059, 2060, 56, 2062, 2063, 2064, 2066,
6399, 4257, 2102, 2587, 2067, 2068, 2069, 2070, 2071, 2072,
2073, 4132, 2074, 2075, -3001, 951, 951, 2076, 2077, 2078,
2079, 5690, 2081, 2082, 4258, 3487, 3374, 3376, 3487, 3377,
2083, 2646, 2084, 2085, 1688, -1705, 1582, 2086, 2087, 2088,
4282, 4282, 4205, 1583, 2091, -1705, 2092, 1584, 3326, 2093,
2589, 1381, 2094, 4259, 2095, 3378, 2096, 5063, 2097, 2098,
2591, 2593, 2609, 2622, 2594, 2604, 2631, -3001, 5691, 2653,
2659, 2654, 2661, 2662, 2665, 1585, 3487, 4996, 2666, 2668,
-3001, 2669, 4879, 2670, 3487, 2671, -3001, 649, 935, 2672,
649, 2677, -3001, 5692, 2684, 1481, 1483, 4133, -3001, 2715,
2727, -3001, 2729, 2717, 4240, -3001, 2730, 4246, 4411, 2731,
2732, 1586, 5693, 2748, 2749, 2750, 2675, 5694, 2752, 2753,
3379, 2751, 2754, 2755, 2757, 2764, 2792, -3002, 2756, 2786,
2806, 5506, 863, 4189, 2810, -3001, 2758, -3001, 649, 5695,
2780, 2812, 2917, 5696, 2813, 4190, 649, 2814, 2816, 2817,
2830, 4260, 2834, 2836, 3693, 3479, 4967, 2835, 5697, 925,
2853, 2865, 2854, 3479, 2869, 2872, 2873, 2871, -3001, 2874,
2883, 5190, 2875, 2884, 5192, 2885, 3380, 3381, 3382, 3383,
2888, 2889, 3717, 3384, 3385, 2890, 2895, 2896, 2899, 3386,
5811, 1689, 2905, 2906, -1705, 1588, 2909, 3037, 2923, 2919,
2920, 2926, 2929, 5207, 4277, 1589, 2940, 2930, 3048, 2933,
2935, 2936, 2947, 2948, 2950, 1590, 1590, 2955, 2956, -3001,
2976, 5832, 2965, -3001, 3066, 2967, 2969, 1591, 2961, -3001,
2962, 2974, 2993, -3002, 1578, 2977, 2968, 2970, 3031, 2982,
1579, 3002, 2983, 3024, 3036, 2576, 2577, 2578, 2579, 2580,
2581, 1381, 2996, 3038, 3039, 1687, 3040, 1381, 3007, 3041,
3045, 3052, 1039, 3046, 5698, 3047, 1040, 3049, 951, 1690,
3050, 3053, 1593, 1594, 3051, 3057, 3059, 3058, 3140, 5259,
3060, 3068, 3067, 3071, 675, 1581, 3084, 3095, 3076, -3001,
3099, 1665, 3100, 3152, 3112, 3115, 1153, 3156, 3118, 3103,
3489, 3119, 3128, 3139, 1691, 863, 863, 863, 4134, 4135,
4136, 4137, 4138, 4139, 4140, 4141, 4142, 3145, 5699, 3149,
3161, 5198, 863, 2681, 3163, 3165, 3164, 3175, 1153, 3166,
3179, 3211, 3222, 3248, 3236, 3267, 1381, 5109, 5110, 3313,
1688, 3346, 1582, 3352, 3369, 3387, 3132, 2113, 3356, 1583,
3435, 3136, 5467, 1584, 2004, 863, 863, 3388, 3394, 3438,
863, 3154, 3272, 3373, 3414, 3392, 3419, 3420, 3439, 3440,
3441, 3453, 863, 3454, 5147, 3455, 3456, 1596, -3001, 5268,
1456, 1585, 3457, 3470, 3458, 3462, 3492, 3509, 3510, 933,
3526, 3471, 3511, 3533, 3534, 3565, 5316, 3497, 3512, 3545,
3546, 3548, -3001, 3574, -3001, -3001, 3577, 5346, 3579, 3582,
5193, 5194, 5195, 5196, 5197, 3587, 792, 1586, 2112, 3606,
3598, 2113, 3592, 969, 3593, 3595, -3001, 3627, 951, 3622,
1400, 1404, 1005, 3629, 3637, 4037, 3643, 3644, 3645, 4577,
3655, 3668, 3214, 4681, 3673, 3674, 1027, 3694, 3700, -3001,
3701, -3001, -3001, 863, 3702, 2639, 3707, 3710, 3718, 3725,
3727, 3749, -3002, 5384, 5385, 1645, 863, 3728, 3748, 3809,
3765, 3360, 1881, 3824, 3836, 934, 3845, 3852, 3858, 3859,
4812, 4620, 3860, 4624, 3864, 1381, 3869, 1646, 2641, 3880,
3832, 5323, 3891, 1381, 3892, 1381, 3906, 1689, 3833, 3908,
3910, 1588, 3920, 3933, 3912, 3927, 5254, 3939, 5874, 1381,
3940, 1589, 3938, 1381, 1381, 1381, 3941, 4658, 3942, 3946,
1381, 1590, 3949, 1381, 3953, 3954, 1381, 5440, 3957, 3958,
3963, 3978, 1381, 1591, 1381, 3979, 3980, 1381, 3988, 1647,
3989, 3990, 1381, 1381, 1381, 1381, 3951, 3992, 1381, 1381,
1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 5428, 5429,
4805, 1381, 1381, 1381, 1235, 3994, 4008, 4011, 4010, -2765,
4014, 1381, 4016, 4019, 4020, 3779, 1381, 926, 1593, 1594,
1381, 4021, 4022, 187, 4023, 4024, 1979, 4034, 1381, 5378,
1976, 1381, 1943, 1381, 4028, 4029, 792, 4039, 4038, 4040,
4047, 4052, 4060, 4050, 4084, 4079, -3002, 4077, 1232, 1381,
3780, -3002, 1381, 1381, 4078, 4081, 4097, 1381, 1381, 187,
4080, 4092, 1381, 3290, 1381, 4818, 4099, 4109, 4103, 4112,
4101, 1648, 4114, 863, 863, 863, 4115, 4119, 3837, 4121,
5320, 4122, 4145, 4123, -2243, 4819, 4820, 4821, 4822, 4150,
4151, 4158, 4159, 1381, 4252, 4266, 4252, 4252, 2650, 1381,
4252, 4162, -3002, 4841, 4230, 4179, 1079, 3491, 4173, 4174,
-2765, 3491, 4203, 4210, 4204, 3489, 4193, 4856, 3489, 4206,
4253, 4236, 5355, 1596, 4244, 4269, 4273, 4288, 5522, 1649,
4208, 5524, 5525, 4286, 1650, 4231, 4279, 4237, 4290, 1651,
4238, 4313, 1076, 4299, 1381, 1077, 4292, 2065, 191, 1078,
4307, 5530, 4239, 4245, 4318, 2953, 4320, 4321, 4325, 3540,
2646, 1381, 4327, -2765, 4339, 4340, 3489, 4350, 5451, 4351,
4352, 4277, 5506, 4356, 3489, 4358, -2765, 4362, 4363, 4364,
4367, 4368, -2765, 4370, 4374, 3326, 4385, 4386, -2765, 4388,
1653, 4394, 4396, 4395, -2765, 4404, 4412, -2765, 1080, 4277,
4421, -2765, 4435, 4437, 4441, 4439, 4443, 4449, 4445, 5418,
5419, 4450, 5421, 4454, 4456, 4457, 4929, 2004, 2849, 2004,
4458, 4461, 2004, 4459, 4937, 4476, 5411, 4478, 4477, 4479,
4480, -2765, 4483, 4481, 4492, 4482, 4486, 4484, 1655, 3326,
4485, 1269, 4961, 3487, 4127, 4488, 4490, 3487, 4128, 4129,
4130, 6281, 6282, 4487, 4489, 6284, -3002, 4491, 4499, 2991,
4497, 4495, 1656, 4501, -2765, 4502, 2994, 5575, 5274, 4511,
4508, 4512, 4513, 2102, 4518, 4515, 4523, 4529, 4531, 4571,
4582, 4581, 4566, 1658, 4572, 4578, 4585, 2112, 4589, 4599,
2113, 4600, 4602, 4609, 2114, 2115, 2116, 5010, 4618, 4619,
187, 4622, 5614, 4623, 4612, 649, 4640, 4625, 4654, 649,
4664, 4657, 4666, 4660, 2638, -2765, 4672, 4673, 4674, -2765,
4675, 4676, 3479, 5469, 2639, -2765, 3479, 4677, 4695, 4679,
4715, 2640, 4694, 4696, 1659, 4702, 4703, 1097, 4704, 4705,
4707, 4708, 4709, 1097, 4710, 2051, 5013, 2954, 4711, 4721,
4722, 2112, 3487, 5055, 2113, 1097, 4720, 2641, 3771, 4726,
4723, 4727, -3002, 1269, 4730, 4735, 4127, 4736, 4741, 4127,
4128, 4129, 4130, 4788, 2576, 2577, 2578, 2579, 2580, 2581,
4748, -2242, 4800, 792, 4801, -2765, 951, 4771, 2639, 4277,
4772, 4815, 4844, 5835, 4773, -3002, 4845, 4780, 4804, 4827,
951, 4852, 1381, 4829, 4837, 4831, 5898, 4842, 5900, 863,
4840, 792, 4853, 4858, 649, 5099, 4859, 4857, 4860, 4868,
4862, 2641, 4871, 4877, 4873, 792, 2849, 4888, 4896, 4906,
4907, 4908, 4909, 4916, 4917, 4919, 4920, 792, 4923, 4938,
4942, 863, 4941, 3641, 807, 4974, 3491, 3926, 4959, 4962,
4975, 4976, 4978, 4977, 3808, 4988, 4990, 4132, 4989, 4991,
4992, 5002, 5023, 5148, 5024, 4993, 5032, 5029, 5004, 5005,
5011, 5048, 5049, 863, -2765, 2642, 5051, 4948, 5064, 5590,
2643, 5054, 5065, 5080, 5091, 1381, 1381, 5067, 5068, 5069,
5590, 5101, 5106, 4808, 3326, 5112, 5126, 1381, -2765, 5127,
-2765, -2765, 5133, 2644, 2306, 6023, 5120, 5132, 2004, 863,
5139, 5736, 5155, 1219, 1220, 5149, 5156, 5166, 5172, 5173,
5176, 5175, -2765, 5177, 5180, 3326, 863, 5909, 5185, 5179,
5191, 2645, 5199, 5205, 3223, 5215, 5206, 5222, 5223, -3002,
5224, 5225, -2765, 4133, -3002, -2765, -2765, -2765, 3490, 5226,
6053, 5227, 5228, 5229, 2112, 5240, 5245, 2113, 5234, 5235,
5251, 5257, 5260, 5261, 5266, 5262, -2244, 1381, 5279, 5283,
5295, 5294, 5299, 5866, 2373, 5302, 5313, 5321, 5309, 4132,
5640, 5318, 3487, 3487, 1381, 5158, 5322, 5335, 5339, 2646,
5654, 2639, 2647, 5332, 3599, -3002, 6089, 6091, -3002, 5337,
3607, 792, 1381, 5343, 5363, 5375, 5377, 5376, 5379, 5362,
5381, 5387, 5386, 5388, 5400, 5407, 5659, 5403, 5413, 5409,
5422, 5423, 5414, 5432, 2641, 5689, 996, 5903, 5430, 5437,
1381, 5431, 5441, 1381, 5444, 5448, 5449, 5456, 5459, 5465,
5464, 1381, 1381, 5468, 649, 649, 5472, 3649, 5474, 1381,
1381, 5466, 5488, 2646, 1381, 792, 5490, 5494, 5483, 1381,
5495, 3479, 1381, 1381, 5478, 4133, 5499, 5501, 5502, 1381,
5503, 5497, 5512, 863, 863, 863, 863, 3198, 5518, 5520,
5527, 5528, 5533, 5547, 5548, 2648, 5554, 187, 5558, 5564,
5565, 650, 5566, 5574, 4252, 5578, 4809, 5583, 3491, 5589,
5593, 5596, 5618, 3491, 5615, 5621, 3491, 650, 5629, 3808,
1269, 5315, 5636, 4127, 1381, 5632, 998, 4128, 4129, 4130,
5648, 5631, 5644, 5649, 5650, 1381, 5651, 5662, 5338, 4298,
5813, 5656, 5663, 1381, 5667, 3540, 5673, 5674, 5704, 5675,
5993, 5090, -3002, 5682, 5818, 2112, 6082, -3002, 2113, -3002,
802, 5712, 5722, 5710, 4134, 4135, 4136, 4137, 4138, 4139,
4140, 4141, 4142, 5715, 5718, 5723, 5841, 6218, 5742, 5743,
5840, 5911, 5747, 2104, 3326, 5789, 5752, 2849, 1381, 5754,
5770, 6095, 2639, 5775, 5781, 5782, 5783, 5798, 5799, -3002,
5803, 2572, 5371, 5816, 5849, 5825, 5851, 5861, -3002, 5868,
2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 5847,
5804, 5817, 5880, 5878, 5886, 2641, 5892, 4100, 5924, 5831,
5843, 5845, 5929, 5939, 5870, 5872, 5848, 3487, 5933, 5926,
5947, 5937, 5952, 5965, 3487, 5961, 5966, 5967, 3771, 3487,
5324, 5326, 3487, 5893, 5894, 5968, 5969, 6276, 6277, 3771,
5978, 5979, 5986, 5990, 5988, -3002, 2646, 3876, 1381, 5902,
5980, 5996, 6006, 5981, 6007, 1381, 6011, 2576, 2577, 2578,
2579, 2580, 2581, 6020, 6021, 6022, 4134, 4135, 4136, 4137,
4138, 4139, 4140, 4141, 4142, 5232, 6046, 5277, 951, 649,
6047, 6051, 6049, 3489, 6064, 6050, 649, 3489, 6027, 6037,
6068, 649, 6094, 951, 649, 5311, 6087, 4211, 6100, 6097,
6102, 6108, 6111, 3479, 6104, 6112, 6130, 792, 3479, 6128,
6131, 3479, 6138, 792, 6129, 6139, 4132, 6145, 792, 6144,
6152, 6146, 6151, -3002, 1381, 6153, 6158, 6163, -3002, 6167,
6168, 6170, 187, 187, 6174, 6182, 1548, 6184, 6190, 6203,
650, 6058, -3002, 6210, 6212, 5397, 5398, 2849, 6220, 6098,
5401, 5402, 6099, 6228, 6229, 6246, 2004, 6172, 6248, 6230,
6265, 3490, 6266, 6267, 6269, 6268, 6271, 6283, 6279, 6287,
6292, 3926, 1549, 6293, 6294, 6307, 6335, 5995, 6331, -3002,
6305, 6332, 6337, 6336, 951, 6325, 3948, 6339, 6349, 6352,
6373, 6340, 3489, 6354, 6372, 6375, 5897, 6374, 6376, 6392,
6377, 6402, 4133, 6036, 4305, 6038, 6413, 6297, 6417, 6430,
1397, 6431, 863, 6029, 6419, 6438, 6446, 6447, 6404, 6452,
6405, 6450, 6456, 863, 6461, 6463, 6458, 4048, 5777, 6469,
1468, 3008, 2630, 1575, 4380, 1550, 4228, 2646, 1682, 5660,
3782, 3699, 4058, 4965, 6082, 1683, 4958, 4063, -3002, 6213,
3823, 3871, 4528, 5701, 6081, 6306, 5108, 5753, 4954, 4955,
2576, 2577, 2578, 2579, 2580, 2581, 5447, 5735, 4360, 4323,
652, 4018, 1551, 5638, 6205, 6302, 1381, 6103, 4090, 6101,
6055, 6227, 6317, 5689, 4366, 5130, 1381, 5476, 5159, 1381,
5138, 6061, 1381, 1381, 1381, 3889, 5481, 5100, 3890, 4963,
4398, 1667, 4588, 5125, 5741, 3326, 3326, 3487, 5470, 3326,
4628, 2112, 5183, 5982, 2113, 914, 996, 1381, 1381, 6369,
6468, 1381, 1552, 6448, 5716, 4534, 5167, 5661, 6232, 5888,
6070, 5664, 6300, -3002, 756, 1072, 809, 3075, 5453, 1381,
4277, 5658, 2024, 1381, 4680, 5200, 5864, 5202, 2639, 1381,
6365, 5169, 996, 3491, 3918, -3002, 3551, 5315, 4314, 4646,
1381, 5778, 5613, 3134, 5976, 1182, 1554, 3138, 1142, 649,
4498, 4444, 3820, 4929, 4994, 3167, 1381, 6252, 6403, 5186,
3150, 2641, 5187, 1413, 2763, 3848, 5703, 3033, 3496, 6355,
4882, 5327, 5860, 5863, 837, 838, 5230, 2600, 187, 1556,
4275, 4287, 2712, 2711, 3506, 4929, 998, 951, 6187, 951,
2651, 6039, 2716, 4134, 4135, 4136, 4137, 4138, 4139, 4140,
4141, 4142, 3489, 3489, 4248, 4834, 5595, 4850, 4241, 1397,
4883, 5830, 5829, 4242, 6173, 6434, 6390, 6285, 6028, -3002,
4243, 962, 998, 6416, 35, 2660, 2826, 5812, 4782, 1558,
3415, 2576, 2577, 2578, 2579, 2580, 2581, 1269, 1559, 6040,
4127, 652, 4207, 6041, 4128, 4129, 4130, 1560, 4201, 5994,
652, 971, 3418, 3332, 4199, 2827, 4108, 4072, 652, 3847,
971, 652, 6421, 4192, 4731, 3430, 962, 1464, 1562, 3487,
3494, 0, 0, 0, 971, 0, 0, 1563, 5099, -3002,
0, 0, 1564, 863, -3002, 0, 0, 0, 863, 3487,
0, 0, 0, 0, 0, 0, 0, 2849, 0, 0,
0, 0, 0, 0, 0, 0, 0, 863, 0, 0,
0, 5148, 0, 0, 5755, 0, 3490, 0, 0, 3490,
0, 3487, 0, 0, 0, 951, 863, 4929, 0, 0,
0, 649, 792, 0, 0, -3002, 0, 0, 3006, 1565,
0, 0, 0, 0, 71, 0, 175, 80, 3479, 83,
84, 649, 0, 85, 6358, 6359, 0, 0, 184, 86,
0, 1381, 0, 106, 124, 129, 4331, 3490, 0, 159,
0, 0, 0, 5616, 4334, 3490, 178, 185, 1381, 5897,
0, 0, 1381, 649, 1381, 0, 926, 6449, 0, 0,
0, 0, 0, 2646, 180, 0, 0, 181, 1381, 0,
191, 183, 0, 0, 0, 5740, 650, 0, 0, 1381,
0, 0, 0, 5838, 0, 0, 0, 0, 0, 961,
1381, 0, 0, 0, 0, 0, 0, 1381, 0, 0,
0, 0, 0, 0, 0, 0, 5766, 5768, 0, 0,
0, 0, 0, 0, 0, 6357, 0, 3489, 0, 0,
186, 0, 0, -3002, 3489, 0, 0, 0, 0, 3489,
0, 0, 3489, 3487, 961, 0, 0, 0, 863, 0,
0, 0, 0, 0, 0, 1381, 0, 0, 4430, 911,
4432, 0, 0, 0, 0, 0, 0, 0, 0, -3002,
0, 1381, 0, 0, 6393, 0, 0, 1381, 1381, 0,
0, 0, 951, 951, 951, 951, 0, 187, 0, 0,
0, 3085, 0, 0, 0, 0, 0, 1397, 0, 3102,
0, 0, -2767, 0, 0, 649, 0, 3006, 0, 0,
0, 0, 6411, 1381, 0, 0, 0, 3968, 187, 4133,
0, 650, 3487, 0, 0, 0, 0, 0, 0, 0,
0, 0, 187, 0, 0, 0, 0, 0, 0, 0,
0, 1548, 0, 0, 0, 0, 863, 0, 0, 3491,
0, 0, 3160, 0, 0, 0, 4494, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 6411, 0, 0, 863, -3002, 0, 1549, 0, 3006,
0, 0, 0, 0, 649, 0, 996, 2576, 2577, 2578,
2579, 2580, 2581, 0, 0, 0, 6411, 0, 0, 0,
4516, 0, 1381, -2767, 0, 0, 0, 0, 0, 2112,
0, 0, 2113, 0, 1381, 792, 2114, 2115, 2116, 0,
0, 0, 2102, 1381, 1381, 1381, 0, 0, 0, 2004,
0, 0, 0, 0, 0, 3808, 2638, 0, 1381, 0,
1550, 0, 0, 0, 0, 0, 2639, 1381, 0, 1381,
0, 1381, 5613, 2640, 0, 0, -2767, 0, 4929, 0,
0, 0, 0, 0, 5955, 1381, 0, 0, 0, -2767,
0, 0, 0, 0, 2004, -2767, 998, 1551, 0, 2641,
0, -2767, 0, 0, 1381, 3487, 971, -2767, 0, 0,
-2767, 0, 0, 0, -2767, 0, 3649, 0, 0, 0,
0, 0, 0, 0, 0, 971, 0, 0, 0, 0,
0, 971, 0, 0, 0, 0, 0, 3489, 0, 5938,
2004, 2004, 3969, 971, -2767, 0, 0, 1552, 0, 0,
4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4142, 971,
4659, 0, 0, 0, 652, 0, 0, 649, 0, 914,
0, 951, 0, 652, 971, 0, 0, -2767, 0, 0,
652, 0, 971, 652, 3479, 6124, 187, 0, 6043, 6209,
0, 1554, 0, 0, 0, 914, 971, 0, 0, 0,
0, 0, 0, 0, 0, 0, 971, 0, 0, 0,
0, 0, 0, 0, 3487, 0, 0, 2642, 0, 0,
0, 0, 2643, 0, 1556, 0, 0, 0, -2767, 0,
0, 0, -2767, 0, 0, 0, 1381, 0, -2767, 0,
0, 0, 4716, 6079, 0, 2644, 2306, 0, 0, 0,
0, 1381, 0, 0, 0, 5838, 0, 0, 0, 971,
0, 1381, 6259, 6260, 0, 0, 0, 0, 0, 35,
3540, 0, 0, 2645, 3970, 0, 649, 0, 0, 0,
0, 652, 652, 1559, 0, 0, 0, 971, 0, 962,
187, 0, 1560, 0, 0, 4749, 0, 0, -2767, 0,
2827, 0, 0, 0, 951, 0, 0, 0, 0, 0,
0, 2004, 971, 1562, 652, 0, 2373, 0, 0, 3489,
4770, 3487, 1563, 0, 0, 0, 0, 1564, 0, 0,
0, 2646, 0, 0, 2647, 0, 0, 2849, 914, 3489,
0, 0, 0, 0, 1381, 0, 0, 0, 3971, 0,
0, 0, 0, 0, 4929, 0, 0, 807, 0, 0,
0, 652, 962, 962, 6262, 0, 0, 0, 1381, 0,
0, 3489, 0, 0, 971, 0, 0, 0, 0, 0,
0, 0, 0, 649, 1565, 0, 0, -2767, 3972, 0,
0, 2004, 2004, 6278, 0, 0, 0, 0, 0, 1381,
1381, 0, 0, 1381, 0, 0, 6286, 0, 0, 0,
0, -2767, 0, -2767, -2767, 0, 0, 0, 6254, 0,
0, 6255, 0, 0, 191, 6256, 0, 2648, 0, 0,
0, 0, 0, 6330, 951, -2767, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 6233,
0, 0, 0, 0, 0, -2767, 0, 0, -2767, -2767,
-2767, 0, 0, 0, 6124, 951, 951, 0, 0, 0,
4929, 0, 0, 0, 6257, 0, 0, 0, 0, 0,
0, 0, 652, 652, 1821, 0, 0, 961, 650, 0,
3487, 971, 0, 0, 3490, 1381, 652, 0, 3490, 0,
0, 914, 652, 6348, 0, 0, 652, 0, 652, 0,
0, 1381, 914, 3489, 0, 0, 0, 3540, 0, 0,
0, 0, 4298, 0, 0, 0, 0, 0, 914, 1381,
0, 6254, 0, 2572, 6255, 0, 0, 191, 6256, 0,
0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580,
2581, 187, 649, 911, 0, 4116, 0, 0, 4117, 0,
961, 961, 0, 0, 0, 6378, 6379, 650, 6383, 0,
6459, 6460, 652, 5838, 652, 652, 187, 0, 1381, 911,
0, -2784, 0, 0, 0, 0, 0, 6257, 951, 0,
0, 4929, 3489, 0, 0, 0, 0, 0, 0, 0,
3487, 0, 0, 3490, 0, 0, 3487, 0, 0, 0,
0, 6348, 0, 0, 971, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1381, 650, 0, 0,
0, 0, 652, 0, 0, 0, 0, 0, 0, 0,
0, 0, 6254, 650, 0, 6255, 0, 0, 191, 6256,
0, 0, 649, 0, 0, 0, 0, 0, 649, 0,
962, 962, 0, 0, 6462, 971, 6348, 0, 0, 0,
0, 0, -2784, 914, 0, 971, 6334, 0, 0, 6329,
0, 0, 0, 6348, 0, 0, 0, 0, 0, 0,
0, 0, 971, 0, 0, 0, 0, 971, 6257, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 652,
6409, 0, 911, 0, 0, 0, 0, 3487, 0, 0,
0, 0, 0, 0, 0, -2784, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5111, 0, -2784, 0,
0, 0, 0, 0, -2784, 3489, 3542, 0, 0, 0,
-2784, 652, 0, 0, 0, 6381, -2784, 0, 0, -2784,
0, 0, 0, -2784, 3558, 0, 0, 0, 3561, 6409,
0, 0, 3564, 0, 0, 0, 0, 0, 0, 649,
652, 652, 652, 0, 652, 0, 0, 1645, 0, 0,
0, 0, 0, -2784, 6409, 0, 3583, 0, 0, 0,
187, 0, 0, 0, 0, 652, 0, 0, 0, 1646,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3490, 3490, 6381, -2784, 0, 0, 1548,
3625, 0, 0, 0, 971, 4938, 0, 0, 0, 0,
0, 6445, 971, 971, 0, 0, 0, 0, 0, 0,
1097, 0, 0, 0, 3489, 0, 0, 0, 961, 961,
0, 1647, 4948, 0, 0, 1549, 652, 0, 0, 2783,
0, 0, 0, 0, 0, 911, 0, -2784, 0, 0,
0, -2784, 0, 0, 0, 0, 911, -2784, 3684, 0,
0, 0, 0, 0, 0, 1821, 3968, 2112, 0, 0,
2113, 0, 911, 0, 2114, 2115, 2116, 0, 4949, 0,
0, 0, 652, 0, 0, 3713, 652, 652, 0, 0,
1548, 3722, 0, 0, 2638, 0, 0, 0, 1550, 0,
4950, 0, 652, 0, 2639, 3732, 0, 0, 914, 0,
0, 2640, 1097, 0, 0, 3745, 0, -2784, 0, 0,
0, 3750, 1548, 1648, 0, 0, 1549, 0, 0, 0,
0, 3489, 0, 0, 0, 1551, 0, 2641, 0, 0,
0, 3763, 0, 0, 0, 0, 0, 3766, 0, 0,
0, 0, 0, 0, 3774, 0, 0, 0, 1549, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3789, 0,
0, 0, 0, 0, 0, 914, 807, 0, 0, 0,
0, 1649, 3815, 0, 0, 1552, 1650, 0, 0, 1550,
0, 1651, 0, 1097, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, -2784, 2953, 0, 0,
0, 4951, 0, 0, 0, 0, 914, 0, 0, 0,
0, 1550, 0, 0, 0, 1553, 1551, 911, 0, 1554,
-2784, 0, -2784, -2784, 5347, 0, 0, 0, 3490, 0,
0, 0, 1653, 0, 0, 3490, 0, 0, 0, 914,
3490, 0, 0, 3490, -2784, 2642, 0, 0, 1551, 0,
2643, 1555, 1556, 0, 0, 0, 0, 0, 0, 0,
0, 3969, 0, 0, -2784, 0, 1552, -2784, -2784, -2784,
0, 0, 0, 2644, 2306, 0, 0, 5383, 0, 0,
1655, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3489, 0, 0, 1557, 0, 0, 0, 35, 1552, 5399,
0, 2645, 1558, 0, 1656, 0, 971, 0, 0, 0,
1554, 1559, 0, 0, 0, 0, 0, 0, 0, 0,
1560, 652, 652, 652, 0, 1658, 0, 4952, 1561, 0,
4370, 0, 0, 0, 0, 0, 0, 0, 1553, 1578,
0, 1562, 1554, 1556, 2373, 1579, 0, 0, 0, 0,
1563, 0, 0, 0, 0, 1564, 0, 0, 0, 2646,
0, 0, 2647, 0, 0, 0, 0, 0, 0, 0,
0, 0, 5427, 0, 1619, 1556, 1659, 0, 0, 0,
0, 2616, 0, 0, 0, 0, 0, 0, 35, 0,
1581, 0, 0, 1558, 0, 0, 0, 0, 4033, 0,
3489, 0, 1559, 0, 0, 0, 3489, 0, 0, 0,
0, 1560, 1565, 0, 0, 0, 1620, 4049, 0, 2827,
35, 971, 0, 0, 4033, 1558, 0, 0, 0, 0,
0, 0, 1562, 914, 1559, 0, 0, 0, 0, 0,
0, 1563, 2875, 1560, 914, 0, 1564, 1582, 0, 0,
0, 1621, 0, 0, 1583, 2648, 1821, 0, 1584, 0,
914, 0, 0, 0, 1562, 0, 0, 3971, 0, 0,
0, 0, 0, 1563, 0, 0, 0, 0, 1564, 971,
0, 0, 911, 0, 0, 0, 1585, 971, 0, 0,
0, 0, 0, 5511, 0, 971, 0, 0, 0, 0,
0, 0, 0, 1565, 0, 0, 0, 3972, 0, 0,
0, 0, 0, 0, 914, 0, 0, 0, 3490, 0,
0, 0, 1586, 652, 0, 0, 652, 3489, 0, 914,
0, 0, 914, 914, 0, 1565, 652, 652, 0, 971,
971, 0, 0, 0, 0, 0, 0, 0, 0, 911,
0, 652, 0, 971, 652, 0, 0, 0, 0, 0,
0, 2572, 0, 914, 914, 0, 971, 971, 0, 0,
2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0,
0, 0, 0, 0, 0, 0, 4118, 0, 0, 0,
911, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1689, 0, 652, 0, 1588, 0, 652, 652,
0, 0, 0, 0, 0, 0, 1589, 0, 0, 0,
0, 0, 0, 911, 0, 0, 1590, 0, 0, 0,
0, 0, 0, 4494, 0, 0, 0, 0, 1591, 0,
0, 0, 0, 652, 0, 652, 0, 0, 0, 0,
652, 652, 0, 0, 0, 0, 0, 652, 652, 652,
652, 652, 652, 652, 652, 652, 652, 652, 652, 652,
0, 0, 0, 652, 0, 652, 0, 652, 652, 652,
652, 652, 652, 1593, 1594, 652, 0, 652, 652, 0,
0, 652, 0, 1548, 0, 0, 0, 0, 0, 0,
3490, 0, 0, 0, 0, 0, 0, 914, 652, 652,
652, 0, 0, 0, 0, 1595, 0, 0, 0, 0,
3490, 0, -136, 0, 0, 0, 652, 0, 1821, 1549,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 950, 952, 1, 0, 955, 0, 0, 0,
0, 0, 3490, 0, 0, 2, 0, 3, 4, 0,
0, 0, 0, 0, 0, 0, 1013, 0, 4328, 0,
0, 0, 0, 1023, 0, 5, 0, 0, 0, 0,
0, 0, 0, 0, 0, 6, 0, 0, 1596, 0,
0, 0, 1550, 0, 0, 0, 0, 7, 0, 8,
9, 0, 0, 0, 0, 0, 10, 0, 11, 0,
0, 0, 0, 0, 0, 0, 0, 911, 0, 0,
0, 12, 0, 13, 0, 0, 0, 0, 911, 1551,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
14, 0, 0, 15, 911, 0, 0, 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, 652, 0, 0, 0, 4413, 0, 1552,
20, 0, 21, 0, 0, 0, 0, 0, 0, 22,
0, 0, 0, 0, 3490, 0, 0, 0, 911, 0,
0, 719, 0, 0, 0, 0, 3252, 23, 0, 0,
0, 0, 0, 911, 0, 0, 911, 911, 0, 1553,
0, 0, 0, 1554, 24, 0, 0, 652, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 911, 911, 0,
0, 0, 0, 0, 0, 1636, 1556, 722, 3253, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3490, 723, 2030, 0, 0, 25, 26,
2030, 2030, 718, 652, 27, 0, 0, 0, 0, 0,
0, 806, 1056, 0, 0, 0, 0, 1637, 0, 28,
0, 35, 0, 0, 0, 0, 1558, 0, 4509, 0,
0, 0, 0, 0, 0, 1559, 3254, 0, 29, 0,
0, 0, 0, 0, 1560, 0, 0, 0, 0, 726,
0, 0, 1638, 0, 0, 0, 0, 0, 727, 0,
0, 0, 0, 0, 0, 1562, 0, 0, 0, 0,
0, 728, 0, 0, 1563, 0, 0, 3255, 0, 1564,
0, 0, 0, 0, 0, 30, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
31, 0, 0, 0, 1059, 0, 32, 33, 0, 34,
0, 911, 0, 5977, 35, 0, 0, 0, 0, 0,
36, 0, 0, 37, 0, 0, 0, 0, 0, 0,
38, 0, 0, 0, 0, 0, 1565, 39, 40, 0,
0, 0, 3256, 0, 0, 41, 0, 0, 0, 42,
0, 0, 0, 0, 0, 0, 3490, 0, 0, 0,
43, 0, 0, 0, 732, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 6033, 44, 0, 0,
1578, 0, 0, 0, 0, 0, 1579, 652, 652, 652,
652, 652, 652, 652, 652, 652, 0, 652, 45, 0,
0, 1580, 0, 0, 0, 0, 0, 3006, 652, 0,
46, 652, 0, 0, 0, 0, 47, 0, 0, 0,
0, 48, 0, 0, 0, 0, 4682, 0, 0, 0,
4686, 1581, 0, 0, 49, 1083, 0, 1086, 0, 0,
1088, 0, 0, 0, 213, 3257, 0, 0, 737, 0,
0, 0, 652, 0, 1114, 0, 652, 0, 50, 652,
1118, 652, 0, 0, 652, 3490, 0, 0, 652, 0,
0, 0, 0, 0, 0, 0, 1063, 56, 0, 3258,
-136, 0, 0, 0, 0, 0, 741, 0, 1582, 1821,
0, 652, 0, 742, 0, 1583, 743, 0, 0, 1584,
0, 0, 0, 0, 0, 0, 0, 0, 652, 0,
0, 0, 0, 0, 0, 0, 744, 652, 652, 0,
0, 0, 0, 0, 1065, 0, 0, 1585, 0, 0,
0, 746, 0, 0, 1066, 0, 0, 0, 0, 748,
0, 0, 0, 0, 971, 0, 0, 0, 0, 0,
0, 914, 0, 0, 3259, 914, 914, 0, 0, 0,
0, 0, 971, 1586, 0, 0, 971, 0, 0, 0,
971, 0, 3490, 0, 0, 0, 0, 0, 0, 971,
0, 753, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2112, 0, 971, 2113, 0, 652, 0, 2114,
2115, 2116, 0, 0, 0, 0, 0, 0, 652, 0,
914, 652, 0, 652, 652, 0, 914, 0, 0, 2638,
0, 0, 0, 0, 0, 0, 0, 0, 971, 2639,
0, 0, 0, 0, 0, 0, 2640, 0, 0, 0,
0, 0, 0, 1587, 0, 0, 0, 1588, 971, 971,
0, 0, 0, 0, 0, 0, 0, 1589, 0, 0,
0, 0, 2641, 914, 0, 0, 0, 1590, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1578, 1591,
0, 0, 0, 0, 1579, 1821, 971, 0, 0, 1821,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2112, 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116,
0, 0, 0, 971, 0, 1821, 0, 0, 0, 971,
0, 1592, 0, 0, 1593, 1594, 0, 2638, 0, 1581,
0, 0, 0, 971, 0, 4911, 0, 2639, 0, 0,
971, 3490, 0, 971, 2640, 0, 0, 1610, 1611, 971,
0, 0, 0, 0, 0, 0, 1595, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 971,
2641, 0, 0, 0, 0, 971, 0, 0, 0, 0,
2642, 0, 971, 0, 0, 2643, 1582, 0, 0, 0,
0, 0, 0, 1583, 0, 0, 971, 1584, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2644, 2306,
971, 0, 0, 0, 0, 1821, 0, 0, 1840, 0,
0, 971, 0, 0, 0, 1585, 0, 0, 0, 1596,
0, 0, 0, 1852, 0, 0, 2645, 0, 0, 652,
652, 652, 0, 0, 0, 652, 0, 0, 0, 0,
1073, 3490, 0, 0, 0, 0, 0, 3490, 0, 0,
0, 1586, 0, 0, 1874, 1875, 0, 0, 0, 0,
0, 0, 652, 914, 0, 0, 0, 5037, 0, 2373,
5040, 1821, 0, 0, 0, 0, 6389, 0, 2642, 0,
1912, 0, 0, 2643, 2646, 0, 0, 2647, 0, 0,
1140, 718, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 652, 0, 2644, 2306, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1950,
1952, 0, 0, 0, 0, 911, 0, 0, 0, 911,
911, 1689, 0, 0, 2645, 1588, 914, 0, 0, 0,
914, 0, 0, 0, 0, 1589, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1590, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1591, 3490, 0,
0, 5122, 0, 0, 0, 0, 0, 2373, 0, 0,
2648, 0, 0, 0, 911, 0, 1238, 0, 3006, 0,
911, 0, 2646, 0, 0, 2647, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1260, 0, 0, 1717,
0, 0, 1593, 1594, 1384, 0, 0, 1393, 1396, 1399,
0, 0, 0, 0, 0, 0, 971, 0, 1821, 0,
0, 0, 0, 0, 0, 0, 0, 911, 0, 0,
0, 0, 0, 914, 1718, 971, 2112, 0, 0, 2113,
0, 0, 971, 2114, 2115, 2116, 652, 0, 914, 652,
0, 652, 652, 914, 0, 0, 0, 0, 0, 0,
4033, 652, 0, 2638, 0, 0, 652, 0, 0, 0,
0, 0, 0, 2639, 0, 0, 2572, 0, 2648, 0,
2640, 0, 0, 0, 914, 2573, 2574, 2575, 2576, 2577,
2578, 2579, 2580, 2581, 0, 0, 0, 0, 0, 0,
0, 4169, 0, 0, 0, 0, 2641, 1596, 0, 0,
0, 0, 0, 0, 0, 0, 652, 652, 652, 0,
0, 652, 0, 0, 0, 0, 0, 0, 0, 652,
652, 652, 652, 0, 0, 0, 0, 0, 0, 0,
1821, 0, 0, 0, 0, 652, 1821, 0, 652, 0,
652, 0, 1578, 0, 0, 0, 0, 0, 1579, 0,
0, 0, 0, 652, 652, 0, 0, 652, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2572, 0, 0, 0, 652, 0,
652, 0, 652, 2573, 2574, 2575, 2576, 2577, 2578, 2579,
2580, 2581, 0, 1581, 0, 0, 3355, 0, 0, 0,
0, 652, 1396, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2642, 0, 0, 0, 0, 2643,
0, 0, 971, 0, 0, 0, 0, 911, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2644, 2306, 0, 0, 0, 719, 0, 0,
1582, 0, 2794, 0, 0, 0, 0, 1583, 0, 652,
0, 1584, 652, 0, 2112, 0, 0, 2113, 0, 0,
2645, 2114, 2115, 2116, 0, 0, 652, 0, 0, 0,
0, 652, 0, 0, 0, 0, 0, 0, 0, 1585,
2795, 2638, 0, 0, 0, 0, 652, 0, 2825, 0,
911, 2639, 0, 722, 911, 0, 0, 0, 2640, 0,
652, 0, 0, 2373, 0, 0, 0, 0, 652, 0,
723, 0, 0, 2870, 0, 1586, 0, 0, 2646, 0,
914, 2647, 0, 914, 2641, 914, 0, 0, 1056, 0,
914, 0, 5394, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5404, 971, 971, 0, 0, 0,
0, 652, 2796, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 726, 971, 0, 0, 971,
0, 0, 914, 0, 727, 0, 0, 0, 0, 0,
914, 0, 2029, 0, 0, 0, 0, 728, 0, 0,
0, 0, 2960, 2797, 0, 1689, 0, 911, 0, 1588,
0, 0, 0, 0, 0, 914, 0, 0, 1396, 1589,
0, 652, 911, 0, 2648, 0, 0, 911, 0, 1590,
1059, 0, 2986, 2987, 2988, 2989, 0, 0, 0, 0,
0, 1591, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2642, 0, 0, 0, 0, 2643, 911, 0,
1821, 1821, 1821, 0, 0, 0, 0, 0, 1578, 0,
0, 0, 0, 0, 1579, 0, 0, 0, 0, 0,
2644, 2306, 0, 2807, 0, 971, 1593, 1594, 0, 0,
732, 0, 0, 0, 914, 0, 914, 0, 0, 0,
0, 0, 0, 0, 971, 0, 0, 2107, 2645, 0,
0, 0, 0, 0, 0, 0, 2110, 0, 2808, 1581,
0, 0, 0, 0, 0, 0, 971, 0, 0, 0,
2572, 0, 2598, 0, 2798, 0, 0, 0, 0, 2573,
2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0,
0, 2373, 4110, 0, 0, 1396, 0, 0, 2617, 2618,
0, 0, 0, 1396, 1396, 0, 2646, 0, 0, 2647,
213, 2799, 4033, 0, 737, 0, 1582, 0, 0, 3043,
3044, 0, 0, 1583, 0, 0, 0, 1584, 0, 0,
0, 1596, 914, 0, 0, 3061, 0, 0, 0, 0,
0, 0, 1063, 0, 0, 2800, 0, 0, 0, 0,
0, 0, 741, 0, 0, 1585, 971, 0, 0, 742,
0, 652, 743, 0, 0, 0, 0, 652, 0, 3104,
3105, 3106, 3107, 0, 0, 0, 914, 0, 0, 0,
0, 0, 744, 0, 0, 0, 0, 0, 0, 0,
1065, 1586, 0, 0, 0, 0, 0, 746, 0, 0,
1066, 0, 2648, 1821, 914, 748, 0, 0, 0, 971,
0, 971, 0, 2801, 0, 0, 0, 0, 0, 0,
2802, 0, 0, 0, 971, 0, 971, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4033, 0, 4033, 652, 753, 0, 0,
3181, 0, 0, 0, 911, 0, 3185, 911, 0, 911,
0, 0, 1578, 0, 911, 0, 0, 0, 1579, 0,
0, 1587, 914, 0, 0, 1588, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1589, 0, 0, 0, 0,
0, 0, 0, 971, 914, 1590, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 911, 1591, 2572, 0,
0, 0, 0, 1581, 911, 0, 914, 2573, 2574, 2575,
2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0,
4530, 0, 0, 0, 0, 971, 0, 0, 2112, 911,
0, 2113, 0, 0, 0, 2114, 2115, 2116, 0, 2891,
0, 0, 1593, 1594, 971, 0, 0, 0, 971, 0,
2958, 0, 0, 0, 0, 2638, 0, 0, 2966, 0,
1582, 0, 0, 0, 0, 2639, 0, 1583, 0, 971,
0, 1584, 2640, 0, 2892, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 652, 0, 0, 914, 0,
0, 0, 0, 652, 0, 652, 0, 0, 2641, 1585,
0, 0, 0, 0, 0, 0, 0, 0, 911, 652,
911, 0, 0, 652, 652, 652, 0, 0, 902, 0,
652, 0, 0, 652, 0, 0, 652, 0, 0, 0,
0, 0, 652, 0, 652, 1586, 3371, 652, 0, 0,
0, 914, 652, 652, 652, 652, 0, 1596, 652, 652,
652, 652, 652, 652, 652, 652, 652, 652, 0, 0,
0, 652, 652, 652, 0, 0, 914, 0, 0, 0,
0, 652, 0, 0, 0, 1578, 652, 0, 1821, 0,
652, 1579, 0, 0, 0, 0, 0, 0, 652, 0,
0, 652, 0, 652, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 911, 0, 0, 652,
0, 0, 652, 652, 0, 1689, 2642, 652, 652, 1588,
0, 2643, 652, 0, 652, 0, 1581, 0, 0, 1589,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1590,
0, 1578, 0, 0, 2644, 2306, 0, 1579, 0, 0,
911, 1591, 0, 652, 0, 0, 0, 0, 0, 652,
0, 0, 0, 0, 0, 0, 0, 652, 0, 0,
0, 652, 2645, 3096, 0, 0, 0, 3101, 911, 0,
0, 0, 0, 1582, 0, 0, 0, 0, 0, 0,
1583, 0, 1581, 3635, 1584, 0, 1593, 1594, 0, 0,
0, 0, 0, 0, 652, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2373, 0, 0, 0, 0,
0, 652, 1585, 0, 0, 0, 0, 914, 1595, 0,
2646, 0, 0, 2647, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 911, 0, 0, 1582,
0, 0, 0, 971, 0, 0, 1583, 0, 1586, 0,
1584, 0, 0, 0, 0, 0, 0, 0, 911, 0,
0, 0, 0, 0, 0, 0, 652, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1585, 0,
911, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1596, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1821, 0, 0, 0, 0,
1821, 914, 1821, 0, 1586, 0, 2648, 0, 0, 0,
0, 0, 2112, 0, 0, 2113, 0, 0, 1689, 2114,
2115, 2116, 1588, 0, 0, 0, 0, 3285, 1821, 914,
0, 0, 1589, 0, 0, 0, 0, 0, 0, 2638,
0, 0, 1590, 0, 0, 0, 0, 0, 0, 2639,
0, 0, 911, 0, 1591, 0, 2640, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 971, 0, 0, 971, 0,
0, 0, 2641, 0, 1689, 0, 0, 0, 1588, 0,
0, 0, 0, 0, 0, 0, 3826, 0, 1589, 1593,
1594, 0, 0, 0, 0, 911, 0, 0, 1590, 0,
0, 0, 2572, 0, 0, 0, 0, 0, 0, 0,
1591, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581,
911, 3827, 0, 0, 4717, 0, 0, 0, 0, 658,
0, 0, 652, 0, 0, 707, 658, 0, 0, 0,
0, 759, 0, 658, 0, 0, 0, 0, 0, 658,
0, 812, 4344, 0, 0, 1593, 1594, 0, 971, 971,
0, 0, 914, 0, 0, 0, 0, 0, 0, 971,
874, 874, 0, 0, 0, 3371, 652, 652, 0, 0,
0, 0, 0, 0, 0, 0, 971, 4345, 0, 0,
2642, 0, 0, 0, 1596, 2643, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 914,
0, 0, 0, 0, 914, 652, 652, 4033, 2644, 2306,
0, 0, 2112, 0, 0, 2113, 0, 652, 0, 2114,
2115, 2116, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2645, 0, 0, 2638,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2639,
1596, 0, 0, 0, 0, 0, 2640, 0, 971, 0,
0, 1821, 0, 0, 0, 0, 0, 0, 0, 0,
0, 911, 0, 0, 0, 0, 0, 0, 0, 2373,
0, 0, 2641, 0, 0, 0, 0, 652, 0, 0,
0, 0, 0, 0, 2646, 0, 0, 2647, 0, 0,
0, 0, 0, 0, 652, 0, 0, 0, 0, 0,
0, 953, 0, 0, 0, 957, 0, 0, 0, 0,
0, 0, 652, 1000, 0, 0, 1002, 3608, 0, 1007,
1008, 0, 1011, 0, 1014, 0, 0, 1020, 0, 1022,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
652, 0, 902, 652, 0, 0, 0, 0, 0, 0,
0, 652, 652, 0, 914, 911, 0, 0, 0, 652,
652, 0, 0, 0, 652, 0, 0, 0, 902, 652,
0, 0, 652, 652, 0, 0, 0, 0, 0, 652,
2648, 0, 0, 911, 0, 0, 0, 0, 0, 0,
2642, 0, 0, 0, 0, 2643, 0, 0, 0, 0,
0, 652, 0, 0, 0, 0, 0, 0, 652, 0,
0, 0, 0, 652, 0, 0, 652, 652, 2644, 2306,
0, 0, 2112, 0, 652, 2113, 0, 0, 0, 2114,
2115, 2116, 0, 913, 0, 652, 0, 0, 0, 0,
0, 0, 0, 652, 0, 0, 2645, 0, 0, 2638,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2639,
0, 3757, 0, 0, 3760, 0, 2640, 0, 0, 0,
914, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 971, 0, 0, 2572, 0, 652, 2373,
0, 0, 2641, 0, 0, 2573, 2574, 2575, 2576, 2577,
2578, 2579, 2580, 2581, 2646, 0, 0, 2647, 4791, 0,
0, 902, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 914, 0, 0, 911, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
971, 0, 0, 0, 0, 914, 0, 0, 0, 0,
0, 3437, 971, 3855, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3868, 0, 652, 0,
0, 0, 0, 911, 3877, 652, 0, 0, 911, 0,
0, 0, 0, 0, 0, 0, 0, 971, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2648, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2642, 0, 0, 3921, 0, 2643, 0, 0, 914, 0,
0, 904, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3945, 0, 0, 0, 2644, 2306,
0, 0, 0, 0, 652, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
652, 0, 0, 0, 0, 1821, 2645, 0, 0, 0,
0, 0, 0, 0, 902, 0, 0, 4000, 0, 4002,
0, 0, 0, 0, 971, 902, 0, 0, 0, 0,
0, 652, 0, 0, 0, 0, 0, 0, 0, 0,
1396, 902, 0, 0, 0, 0, 2572, 0, 0, 2373,
0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577,
2578, 2579, 2580, 2581, 2646, 0, 0, 2647, 4898, 0,
0, 0, 0, 0, 0, 0, 0, 914, 911, 914,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1399, 0, 0, 0,
0, 0, 0, 0, 1050, 0, 0, 4057, 0, 0,
971, 0, 0, 0, 4064, 1087, 0, 0, 0, 1091,
0, 0, 0, 0, 0, 0, 1104, 1105, 0, 0,
1111, 0, 1115, 1116, 0, 0, 652, 0, 0, 0,
0, 0, 0, 0, 0, 0, 652, 1138, 0, 652,
0, 0, 652, 652, 652, 0, 0, 0, 0, 0,
2648, 0, 0, 0, 0, 1150, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 652, 652, 0,
0, 652, 1399, 0, 0, 0, 1178, 0, 1180, 0,
0, 0, 0, 0, 911, 0, 902, 0, 1196, 652,
0, 0, 0, 652, 0, 0, 1399, 0, 0, 652,
0, 0, 0, 652, 0, 0, 0, 0, 0, 914,
652, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 658, 0, 652, 0, 0, 652, 0, 0, 0,
0, 971, 1578, 971, 0, 0, 0, 911, 1579, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 652, 2572, 0, 0, 911,
3814, 0, 0, 0, 3818, 2573, 2574, 2575, 2576, 2577,
2578, 2579, 2580, 2581, 0, 0, 0, 0, 4922, 0,
914, 971, 0, 1581, 0, 0, 0, 0, 0, 0,
0, 652, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3851, 874, 3851, 0, 3851, 3851, 0, 0, 0,
3851, 3851, 3851, 0, 3851, 3851, 3851, 0, 2112, 0,
0, 2113, 0, 0, 0, 2114, 2115, 2116, 0, 0,
0, 1821, 911, 0, 0, 0, 652, 0, 0, 0,
1582, 0, 0, 0, 0, 2638, 0, 1583, 0, 0,
0, 1584, 0, 0, 0, 2639, 0, 0, 0, 0,
0, 0, 2640, 0, 0, 0, 0, 0, 3928, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1585,
0, 0, 0, 0, 0, 0, 0, 1539, 2641, 0,
0, 0, 0, 3956, 0, 0, 0, 652, 0, 0,
914, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1586, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 652, 0, 0, 0, 0, 0, 913, 0, 0,
0, 0, 0, 0, 0, 4332, 4333, 0, 652, 0,
0, 902, 652, 911, 652, 0, 0, 0, 0, 0,
0, 1720, 0, 913, 0, 0, 0, 0, 652, 0,
0, 0, 0, 0, 0, 0, 652, 0, 0, 652,
0, 0, 0, 0, 0, 0, 1841, 0, 0, 0,
652, 0, 0, 0, 0, 1689, 0, 652, 0, 1588,
0, 1853, 0, 1854, 0, 0, 2642, 0, 0, 1589,
0, 2643, 0, 1857, 0, 0, 0, 0, 902, 1590,
1867, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1591, 0, 0, 2644, 2306, 0, 0, 0, 0,
0, 0, 0, 0, 0, 652, 0, 0, 0, 0,
0, 914, 0, 0, 0, 0, 914, 914, 0, 902,
0, 652, 2645, 1919, 0, 1921, 0, 652, 652, 971,
0, 0, 0, 4415, 0, 0, 1593, 1594, 0, 0,
0, 0, 0, 971, 0, 0, 0, 0, 0, 0,
0, 0, 902, 911, 0, 0, 0, 0, 0, 0,
0, 0, 0, 652, 0, 2373, 913, 0, 4416, 0,
0, 652, 0, 0, 1821, 0, 0, 0, 0, 0,
2646, 0, 0, 2647, 0, 904, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 658, 652,
658, 0, 658, 0, 658, 0, 658, 658, 658, 0,
0, 904, 0, 658, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 911, 2025, 0, 0, 914, 914,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1596, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 652, 1821, 0, 0, 0, 0, 4517, 0,
0, 0, 0, 1396, 652, 0, 0, 0, 0, 0,
0, 0, 0, 652, 652, 652, 2648, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 652, 1821,
0, 0, 914, 0, 0, 0, 0, 652, 0, 652,
0, 652, 0, 0, 0, 0, 0, 0, 652, 0,
1736, 0, 0, 0, 0, 652, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 913,
0, 0, 0, 0, 652, 0, 0, 0, 0, 0,
913, 0, 0, 0, 911, 0, 902, 0, 0, 0,
0, 0, 0, 0, 904, 0, 913, 902, 0, 1821,
0, 0, 971, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 902, 0, 0, 0, 0, 0, 0,
0, 0, 2572, 0, 0, 0, 0, 0, 0, 0,
0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581,
0, 0, 0, 0, 5128, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 652, 874, 0, 4671, 0,
1396, 0, 0, 0, 0, 0, 0, 902, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 902, 0, 0, 902, 902, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 652, 0, 0, 0,
0, 0, 0, 0, 0, 0, 902, 902, 0, 0,
0, 652, 0, 0, 0, 0, 0, 905, 0, 0,
0, 652, 0, 0, 0, 911, 0, 0, 0, 0,
911, 911, 0, 0, 0, 971, 0, 4403, 0, 0,
0, 913, 0, 0, 0, 0, 0, 904, 0, 652,
0, 0, 0, 0, 0, 0, 0, 0, 904, 0,
0, 2112, 971, 0, 2113, 0, 2805, 0, 2114, 2115,
2116, 0, 0, 0, 904, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2638, 0,
0, 0, 0, 0, 0, 4453, 0, 0, 2639, 0,
0, 0, 0, 2112, 652, 2640, 2113, 0, 0, 0,
2114, 2115, 2116, 0, 652, 0, 0, 0, 0, 0,
0, 0, 652, 652, 0, 0, 0, 0, 652, 0,
2638, 2641, 0, 0, 0, 0, 0, 0, 2903, 0,
2639, 0, 0, 911, 0, 0, 0, 2640, 0, 0,
902, 0, 0, 0, 0, 0, 0, 0, 0, 652,
652, 0, 0, 652, 0, 4496, 0, 0, 0, 0,
0, 0, 0, 2641, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2112, 0, 0, 2113, 0, 0,
971, 2114, 2115, 2116, 0, 0, 911, 0, 0, 0,
0, 0, 0, 3851, 0, 0, 0, 0, 0, 0,
0, 2638, 0, 0, 652, 4527, 4527, 0, 0, 904,
652, 2639, 0, 0, 0, 4543, 0, 0, 2640, 0,
1396, 0, 1396, 0, 0, 0, 0, 0, 652, 2642,
0, 0, 0, 0, 2643, 652, 0, 0, 0, 0,
0, 0, 0, 0, 2641, 0, 0, 0, 0, 0,
0, 652, 0, 0, 0, 0, 0, 2644, 2306, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4598, 652,
0, 2642, 0, 0, 0, 0, 2643, 0, 0, 0,
0, 0, 0, 0, 0, 2645, 2747, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2644,
2306, 0, 0, 4634, 4635, 0, 0, 652, 0, 0,
0, 0, 914, 0, 0, 0, 0, 0, 652, 0,
0, 0, 0, 0, 0, 0, 0, 2645, 2373, 0,
0, 652, 0, 0, 0, 0, 3034, 0, 1821, 0,
0, 0, 0, 2646, 0, 0, 2647, 0, 0, 0,
0, 0, 0, 2747, 0, 0, 0, 0, 0, 0,
0, 0, 2642, 0, 0, 0, 0, 2643, 0, 0,
2373, 3070, 0, 0, 0, 0, 652, 652, 0, 0,
0, 0, 0, 0, 0, 2646, 0, 0, 2647, 0,
2644, 2306, 0, 652, 913, 0, 0, 1821, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
652, 652, 0, 0, 0, 0, 0, 3135, 2645, 0,
0, 0, 1821, 0, 0, 0, 0, 913, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3153, 0, 2648,
0, 0, 0, 0, 0, 0, 5079, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5081, 2373, 0, 3173, 0, 3174, 0, 0, 0, 0,
0, 0, 0, 0, 904, 0, 2646, 0, 0, 2647,
3183, 2648, 3184, 0, 0, 0, 0, 0, 658, 0,
658, 0, 658, 0, 658, 0, 658, 0, 0, 0,
658, 0, 0, 0, 0, 0, 0, 0, 4793, 1736,
1736, 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, 3243, 0, 0,
0, 904, 0, 0, 2112, 2572, 0, 2113, 0, 0,
0, 2114, 2115, 2116, 2573, 2574, 2575, 2576, 2577, 2578,
2579, 2580, 2581, 0, 0, 0, 0, 5241, 0, 0,
0, 2638, 2648, 0, 0, 0, 0, 0, 0, 0,
0, 2639, 904, 2112, 0, 0, 2113, 2572, 2640, 0,
2114, 2115, 2116, 0, 0, 0, 2573, 2574, 2575, 2576,
2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, 5278,
2638, 0, 0, 0, 2641, 904, 0, 0, 0, 0,
2639, 913, 0, 0, 0, 0, 0, 2640, 0, 0,
0, 0, 913, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 913, 0,
0, 0, 0, 2641, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 905, 0, 0, 0, 0, 0, 0, 2572, 0,
0, 0, 0, 0, 0, 0, 0, 2573, 2574, 2575,
2576, 2577, 2578, 2579, 2580, 2581, 911, 905, 907, 0,
5282, 0, 913, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 913, 0, 0,
913, 913, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2642, 0, 0, 0, 0, 2643, 0, 0,
0, 0, 4543, 0, 0, 0, 0, 0, 0, 0,
0, 913, 913, 0, 902, 0, 0, 0, 902, 902,
2644, 2306, 0, 0, 0, 0, 0, 0, 0, 0,
5000, 2642, 0, 0, 0, 0, 2643, 0, 0, 0,
0, 0, 0, 0, 0, 5015, 0, 0, 2645, 5016,
0, 5017, 0, 0, 0, 0, 0, 0, 0, 2644,
2306, 0, 0, 0, 0, 0, 0, 0, 0, 904,
0, 0, 0, 902, 0, 0, 0, 0, 0, 902,
904, 0, 0, 0, 0, 0, 0, 2645, 0, 0,
0, 2373, 0, 0, 0, 0, 904, 5057, 0, 0,
905, 0, 0, 0, 0, 0, 2646, 0, 0, 2647,
0, 1736, 0, 3851, 0, 0, 0, 0, 3851, 0,
0, 0, 0, 0, 0, 1736, 902, 0, 1736, 0,
2373, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2646, 0, 0, 2647, 0,
904, 0, 0, 0, 0, 913, 0, 0, 0, 0,
0, 0, 0, 0, 0, 904, 0, 0, 904, 904,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2112, 0, 0, 2113, 0,
0, 0, 2114, 2115, 2116, 0, 0, 0, 0, 904,
904, 0, 2648, 0, 0, 0, 0, 0, 5420, 0,
0, 908, 2638, 0, 0, 0, 0, 5162, 0, 0,
4543, 0, 2639, 5424, 0, 0, 0, 0, 0, 2640,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2648, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2641, 0, 0, 0, 0,
0, 0, 0, 905, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 905, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
905, 0, 0, 0, 0, 0, 0, 5211, 5211, 5211,
5211, 0, 5211, 5211, 5211, 5211, 5211, 0, 2572, 0,
0, 0, 0, 0, 5482, 0, 0, 2573, 2574, 2575,
2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0,
5552, 0, 0, 0, 0, 0, 902, 0, 0, 0,
0, 0, 0, 904, 0, 0, 0, 2572, 0, 0,
0, 0, 0, 0, 0, 0, 2573, 2574, 2575, 2576,
2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, 5563,
0, 0, 0, 2642, 0, 0, 0, 0, 2643, 0,
0, 0, 0, 2112, 0, 0, 2113, 0, 0, 0,
2114, 2115, 2116, 0, 0, 0, 0, 0, 0, 0,
0, 2644, 2306, 0, 0, 0, 0, 0, 0, 902,
2638, 0, 0, 902, 0, 0, 0, 0, 0, 0,
2639, 0, 5291, 0, 5293, 0, 0, 2640, 0, 2645,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 905, 0, 0, 0, 0,
0, 0, 0, 2641, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2373, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2646, 0, 0,
2647, 0, 3543, 3544, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3559, 3560, 0, 3562, 3563, 902, 0, 0, 3566,
3567, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 902, 0, 0, 3578, 0, 902, 5641, 3581, 5643,
0, 0, 3584, 3585, 0, 0, 3588, 3589, 0, 0,
0, 0, 0, 3594, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3609, 0, 902, 0, 0,
0, 2642, 0, 0, 0, 0, 2643, 3626, 0, 0,
0, 0, 3628, 2648, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3634, 0, 2644,
2306, 3640, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3650, 0, 0, 3654, 0, 3656, 3659, 3661,
0, 0, 0, 0, 3669, 3672, 0, 2645, 0, 0,
0, 0, 907, 0, 3685, 0, 0, 0, 0, 1736,
3695, 0, 0, 0, 3698, 0, 2112, 5425, 5426, 2113,
0, 0, 0, 2114, 2115, 2116, 3708, 3709, 907, 0,
3851, 3714, 3851, 3851, 3851, 0, 0, 3723, 3724, 0,
2373, 0, 0, 2638, 0, 5767, 0, 0, 0, 0,
0, 3733, 0, 2639, 3734, 2646, 0, 0, 2647, 2572,
2640, 3746, 3747, 0, 0, 0, 0, 3751, 2573, 2574,
2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 3758,
905, 5573, 3761, 0, 0, 0, 2641, 3764, 0, 0,
0, 0, 0, 3767, 3768, 0, 0, 0, 5477, 0,
0, 3776, 0, 0, 0, 3778, 0, 0, 0, 3785,
3786, 3787, 3788, 0, 3790, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3816, 3817,
0, 3819, 0, 0, 0, 0, 0, 5505, 0, 0,
0, 0, 3829, 3830, 3831, 0, 0, 905, 0, 3547,
0, 2648, 0, 2747, 3553, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 907, 0, 0, 0, 0, 0, 0, 2112, 0,
5211, 2113, 0, 0, 0, 2114, 2115, 2116, 905, 0,
0, 0, 0, 902, 0, 0, 902, 0, 902, 3883,
0, 0, 0, 902, 2642, 2638, 0, 3907, 913, 2643,
0, 0, 0, 0, 913, 2639, 0, 0, 0, 0,
0, 905, 2640, 5899, 0, 5901, 3919, 0, 0, 0,
0, 0, 2644, 2306, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 902, 0, 0, 2641, 0,
0, 0, 0, 902, 0, 908, 0, 2572, 0, 0,
2645, 913, 0, 0, 0, 0, 2573, 2574, 2575, 2576,
2577, 2578, 2579, 2580, 2581, 0, 3987, 0, 902, 5635,
0, 908, 910, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4001, 0, 4003, 0, 0,
0, 0, 0, 2373, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2646, 0,
0, 2647, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 907, 0, 0, 904, 0, 0,
0, 904, 904, 0, 0, 907, 0, 0, 0, 0,
0, 4543, 0, 0, 0, 0, 0, 902, 0, 902,
0, 907, 0, 0, 0, 0, 2642, 0, 0, 0,
0, 2643, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4065, 0, 2644, 2306, 904, 3851, 0, 0,
0, 0, 904, 0, 0, 0, 5702, 0, 0, 0,
0, 0, 0, 0, 2648, 905, 0, 0, 0, 0,
2112, 0, 2645, 2113, 908, 0, 905, 2114, 2115, 2116,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1736,
0, 0, 905, 0, 0, 0, 0, 2638, 0, 904,
0, 0, 0, 0, 0, 902, 0, 2639, 0, 0,
0, 0, 0, 0, 2640, 2373, 0, 0, 0, 0,
0, 913, 0, 0, 0, 0, 0, 0, 0, 0,
2646, 0, 0, 2647, 0, 0, 0, 0, 0, 0,
2641, 6110, 0, 0, 0, 0, 905, 0, 0, 902,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 905, 0, 0, 905, 905, 907, 0, 0, 0,
2572, 0, 0, 0, 0, 0, 0, 902, 0, 2573,
2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0,
0, 0, 5666, 0, 2747, 905, 905, 0, 2747, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2648, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 908, 0, 0,
0, 0, 0, 0, 0, 902, 0, 0, 908, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2642, 0,
0, 0, 0, 2643, 908, 0, 0, 902, 0, 0,
0, 0, 0, 0, 6214, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2644, 2306, 0, 902,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 913, 0, 0, 1396, 0, 0, 0, 5913, 904,
0, 0, 0, 0, 2645, 0, 913, 0, 0, 0,
0, 913, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2572, 0, 0, 0, 0, 0, 0, 905,
0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581,
0, 0, 913, 0, 5668, 0, 0, 2373, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 902, 2646, 0, 4329, 2647, 0, 0, 0, 0,
0, 0, 904, 0, 0, 0, 904, 0, 0, 0,
0, 4336, 0, 0, 0, 4336, 0, 0, 0, 0,
4347, 4348, 4349, 0, 6304, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 908,
0, 0, 4361, 0, 902, 0, 0, 0, 0, 0,
0, 907, 0, 0, 0, 1114, 1114, 0, 0, 0,
0, 0, 0, 0, 0, 4390, 4391, 4392, 4393, 902,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2112, 0, 2648, 2113,
0, 0, 0, 2114, 2115, 2116, 0, 0, 0, 0,
0, 0, 0, 4414, 0, 4418, 4419, 4420, 0, 904,
0, 0, 0, 2638, 0, 0, 0, 0, 907, 0,
0, 0, 0, 2639, 904, 0, 0, 0, 0, 904,
2640, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1396, 0, 0, 0, 6085, 0, 6086,
0, 0, 0, 6092, 6093, 0, 2641, 0, 0, 907,
904, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1114, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 907, 0, 2572, 0, 0, 0, 0, 0,
0, 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579,
2580, 2581, 0, 0, 0, 0, 5707, 0, 0, 0,
0, 0, 0, 0, 0, 4504, 910, 0, 2747, 0,
902, 3553, 0, 3553, 4510, 0, 0, 0, 2747, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 910, 0, 0, 0, 0, 0, 0, 0,
4520, 4521, 0, 0, 0, 4522, 0, 0, 0, 0,
0, 0, 0, 0, 2642, 0, 0, 0, 0, 2643,
913, 0, 0, 0, 0, 0, 0, 4564, 913, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2644, 2306, 908, 0, 0, 0, 0, 0,
0, 0, 0, 2747, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 902, 0, 0, 0, 0, 0,
2645, 0, 0, 0, 0, 0, 0, 0, 0, 4601,
0, 0, 0, 0, 4607, 0, 0, 0, 0, 0,
4613, 0, 902, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 908, 0, 2373, 0, 0, 0, 0, 0, 0,
4653, 0, 0, 912, 0, 0, 907, 0, 2646, 0,
0, 2647, 913, 0, 913, 910, 0, 907, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4668,
0, 4669, 908, 907, 0, 0, 904, 0, 0, 904,
0, 904, 0, 0, 0, 0, 904, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 908, 0, 0, 0, 0,
0, 1396, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 907, 904, 0,
0, 0, 0, 0, 0, 0, 904, 0, 0, 0,
0, 0, 907, 0, 2648, 907, 907, 0, 0, 0,
913, 0, 0, 0, 0, 902, 0, 0, 0, 0,
0, 904, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 907, 907, 0, 1736,
0, 0, 0, 0, 0, 1736, 0, 0, 2112, 0,
0, 2113, 0, 0, 913, 2114, 2115, 2116, 0, 0,
0, 0, 902, 0, 0, 0, 0, 902, 0, 0,
0, 0, 0, 0, 0, 2638, 0, 0, 910, 0,
0, 0, 3553, 0, 0, 2639, 0, 0, 0, 910,
0, 0, 2640, 0, 0, 0, 0, 0, 0, 0,
904, 0, 904, 905, 0, 910, 0, 905, 905, 0,
2572, 0, 0, 0, 0, 0, 0, 0, 2641, 2573,
2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 6410,
0, 0, 6062, 0, 0, 0, 2598, 0, 0, 0,
6414, 0, 0, 0, 0, 0, 0, 0, 0, 0,
913, 0, 0, 0, 0, 0, 0, 0, 2112, 908,
0, 2113, 905, 0, 0, 2114, 2115, 2116, 905, 0,
908, 0, 3553, 0, 6440, 0, 0, 0, 0, 0,
907, 0, 0, 0, 0, 2638, 908, 0, 6410, 0,
0, 0, 0, 0, 913, 2639, 0, 0, 904, 0,
0, 0, 2640, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 6410, 0, 905, 5291, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 902, 2641, 0,
0, 0, 0, 0, 0, 0, 2642, 0, 0, 0,
908, 2643, 904, 0, 0, 0, 4904, 0, 4905, 0,
0, 0, 0, 0, 0, 908, 0, 0, 908, 908,
910, 4912, 0, 0, 2644, 2306, 0, 0, 0, 0,
904, 0, 0, 4918, 0, 0, 913, 4921, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4934, 908,
908, 0, 2645, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4960, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4964, 0, 0, 0, 913,
0, 0, 0, 4968, 0, 2373, 0, 0, 904, 0,
0, 0, 0, 902, 0, 0, 2642, 0, 0, 0,
2646, 2643, 0, 2647, 913, 0, 0, 0, 5003, 0,
904, 0, 5007, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2644, 2306, 0, 0, 5018, 5019,
5020, 5021, 904, 0, 0, 0, 0, 0, 5025, 5026,
5027, 5028, 0, 0, 0, 0, 902, 5030, 5031, 0,
0, 0, 2645, 5038, 5039, 0, 5041, 5042, 5043, 5044,
5045, 5046, 5047, 0, 0, 0, 0, 0, 902, 0,
0, 0, 5056, 0, 0, 905, 5059, 5060, 5061, 5062,
0, 0, 0, 908, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2373, 2648, 0, 0, 0,
4336, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2646, 0, 0, 2647, 904, 0, 0, 0, 5082, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 902, 0, 0, 0, 0, 0, 0, 905, 0,
0, 0, 905, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2747, 0, 904, 0, 0,
0, 0, 0, 0, 0, 910, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 904, 0, 5163, 0, 0, 0, 0, 0,
0, 0, 2572, 0, 0, 0, 2648, 0, 0, 0,
0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581,
0, 0, 0, 0, 6073, 0, 0, 912, 4336, 0,
0, 0, 0, 0, 0, 5188, 0, 5189, 0, 0,
0, 0, 910, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 912, 0, 905, 0, 0, 0, 3553,
0, 0, 902, 0, 0, 5204, 0, 0, 0, 0,
905, 0, 0, 0, 0, 905, 0, 0, 0, 0,
0, 0, 0, 910, 0, 0, 0, 3553, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 905, 0, 0, 0,
0, 0, 2572, 0, 0, 0, 910, 0, 0, 0,
0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581,
0, 0, 0, 0, 6096, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 904, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 912, 0, 0, 0,
0, 0, 902, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2112,
0, 0, 2113, 0, 0, 0, 2114, 2115, 2116, 0,
913, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2638, 904, 0, 0,
0, 0, 0, 0, 907, 0, 2639, 0, 907, 907,
0, 0, 0, 2640, 0, 0, 0, 0, 0, 0,
0, 0, 0, 902, 0, 904, 0, 3553, 5348, 5349,
5350, 0, 2747, 0, 5351, 5352, 5353, 5354, 0, 2641,
0, 5356, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
910, 0, 0, 907, 0, 0, 0, 0, 0, 907,
0, 910, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 910, 0, 0,
0, 0, 5389, 5390, 5391, 5392, 5393, 0, 5395, 5396,
0, 0, 0, 0, 0, 0, 0, 0, 0, 912,
5405, 5406, 905, 0, 0, 905, 907, 905, 0, 0,
912, 0, 905, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 912, 0, 0, 0,
0, 910, 0, 902, 0, 5412, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 910, 2642, 0, 910,
910, 0, 2643, 0, 905, 0, 0, 0, 904, 0,
0, 0, 905, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2644, 2306, 0, 0, 0,
910, 910, 913, 0, 0, 0, 0, 905, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2645, 0, 904, 0, 0, 0, 0,
904, 0, 0, 0, 0, 0, 0, 0, 2112, 0,
0, 2113, 0, 0, 0, 2114, 2115, 2116, 0, 0,
0, 0, 0, 0, 0, 0, 0, 5475, 0, 0,
0, 0, 0, 0, 0, 2638, 2373, 908, 0, 0,
0, 908, 908, 0, 0, 2639, 0, 0, 0, 0,
0, 2646, 2640, 0, 2647, 0, 905, 0, 905, 0,
0, 2112, 0, 0, 2113, 0, 0, 0, 2114, 2115,
2116, 912, 0, 0, 902, 0, 0, 0, 2641, 902,
902, 0, 0, 0, 0, 0, 0, 0, 913, 0,
0, 0, 5526, 0, 0, 0, 908, 0, 2639, 0,
0, 0, 908, 0, 0, 2640, 907, 0, 0, 0,
0, 0, 0, 0, 910, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5532, 0, 0, 0, 0, 0,
0, 2641, 0, 0, 0, 0, 0, 0, 0, 0,
0, 913, 0, 0, 0, 0, 0, 2648, 0, 908,
0, 0, 0, 0, 905, 0, 0, 0, 0, 0,
904, 0, 0, 913, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 907,
0, 0, 0, 907, 0, 0, 0, 0, 0, 0,
0, 0, 902, 0, 0, 0, 2642, 0, 905, 0,
0, 2643, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 658, 2644, 2306, 905, 0, 0, 0,
0, 0, 0, 0, 0, 0, 913, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2642,
0, 0, 2645, 2572, 2643, 902, 0, 0, 0, 0,
0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580,
2581, 0, 0, 0, 0, 6316, 904, 2644, 2306, 0,
0, 0, 0, 0, 0, 0, 907, 0, 0, 5655,
0, 0, 0, 0, 905, 2373, 0, 0, 0, 0,
0, 907, 0, 0, 0, 2645, 907, 0, 5665, 0,
2646, 0, 0, 2647, 5671, 5672, 905, 0, 0, 0,
0, 0, 0, 0, 5683, 0, 0, 0, 0, 904,
0, 5685, 0, 0, 0, 0, 912, 907, 905, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2373, 0,
0, 904, 0, 2112, 0, 5509, 2113, 913, 0, 908,
2114, 2115, 2116, 2646, 0, 0, 5737, 5738, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 5746,
2638, 5748, 0, 0, 0, 0, 0, 0, 0, 0,
2639, 0, 0, 0, 0, 0, 5762, 2640, 0, 0,
0, 0, 0, 912, 0, 0, 2648, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2112,
905, 4336, 2113, 2641, 904, 0, 2114, 2115, 2116, 5796,
0, 0, 908, 0, 0, 0, 908, 0, 0, 0,
0, 0, 0, 0, 912, 0, 2638, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2639, 0, 0, 2648,
0, 0, 0, 2640, 0, 0, 0, 0, 0, 0,
0, 0, 0, 905, 0, 0, 0, 912, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2641,
0, 0, 0, 0, 0, 0, 0, 913, 905, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2572, 0, 0, 0, 0, 0, 0, 5852,
0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581,
0, 0, 0, 5867, 6333, 0, 0, 0, 0, 908,
0, 2642, 0, 0, 0, 904, 2643, 0, 0, 0,
0, 0, 0, 0, 908, 0, 0, 5884, 0, 908,
0, 0, 0, 0, 0, 2572, 0, 0, 3553, 2644,
2306, 0, 0, 0, 2573, 2574, 2575, 2576, 2577, 2578,
2579, 2580, 2581, 0, 0, 0, 0, 0, 0, 0,
908, 0, 0, 907, 0, 0, 907, 2645, 907, 0,
0, 0, 0, 907, 0, 0, 0, 2642, 0, 0,
0, 0, 2643, 0, 0, 0, 0, 1578, 0, 0,
0, 0, 0, 1579, 5944, 0, 0, 0, 0, 0,
1645, 0, 0, 0, 0, 2644, 2306, 0, 0, 0,
2373, 0, 0, 0, 0, 907, 0, 0, 0, 0,
0, 0, 1646, 907, 0, 2646, 0, 0, 2647, 905,
0, 0, 0, 2645, 0, 0, 0, 0, 1581, 0,
0, 912, 0, 0, 0, 0, 0, 0, 907, 0,
0, 0, 912, 0, 0, 904, 0, 0, 3553, 0,
0, 0, 0, 0, 4336, 0, 0, 0, 912, 0,
0, 0, 0, 0, 1647, 0, 2373, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2646, 0, 0, 2647, 1582, 0, 0, 6024, 0,
0, 0, 1583, 0, 0, 0, 1584, 0, 910, 0,
0, 0, 910, 910, 0, 0, 0, 0, 0, 0,
0, 2648, 912, 905, 0, 0, 904, 907, 0, 907,
0, 0, 0, 0, 1585, 902, 0, 912, 0, 6052,
912, 912, 0, 0, 0, 0, 0, 0, 0, 0,
0, 905, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 6074, 0, 0, 1648, 910, 0, 0,
1586, 912, 912, 910, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2648, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 913,
0, 0, 0, 0, 913, 913, 908, 0, 0, 908,
910, 908, 0, 6114, 1649, 907, 908, 2572, 0, 1650,
0, 0, 0, 0, 1651, 0, 2573, 2574, 2575, 2576,
2577, 2578, 2579, 2580, 2581, 0, 904, 0, 0, 6391,
1652, 0, 0, 0, 1588, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1589, 0, 0, 0, 908, 907,
0, 0, 0, 0, 1590, 0, 908, 0, 0, 0,
0, 0, 0, 0, 0, 1653, 1591, 0, 0, 0,
0, 0, 0, 2572, 905, 0, 0, 907, 0, 0,
0, 908, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580,
2581, 0, 0, 3030, 0, 912, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5509, 913, 1654, 0,
0, 1593, 1594, 1655, 0, 6208, 0, 0, -136, 0,
0, 905, 0, 0, 0, 0, 905, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1656, 0, 0,
1, 0, 0, 1657, 0, 907, 0, 0, 6221, 0,
0, 2, 0, 3, 4, 0, 0, 0, 1658, 6231,
908, 0, 908, 0, 0, 0, 0, 907, 0, 0,
913, 5, 0, 0, 0, 0, 0, 904, 0, 0,
0, 6, 904, 904, 0, 0, 0, 0, 0, 907,
0, 0, 0, 7, 0, 8, 9, 0, 0, 0,
0, 0, 10, 0, 11, 0, 0, 0, 0, 1659,
910, 0, 0, 0, 0, 0, 1596, 12, 2112, 13,
0, 2113, 0, 0, 0, 2114, 2115, 2116, 0, 0,
0, 0, 0, 0, 0, 0, 14, 0, 0, 15,
0, 0, 0, 0, 0, 2638, 0, 0, 0, 3498,
0, 0, 0, 0, 16, 2639, 17, 0, 908, 0,
18, 0, 2640, 0, 0, 0, 0, 19, 0, 0,
0, 907, 0, 0, 0, 0, 20, 0, 21, 0,
0, 6310, 0, 910, 0, 22, 905, 910, 2641, 0,
0, 0, 0, 0, 0, 904, 0, 0, 0, 0,
0, 0, 908, 23, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
24, 0, 0, 0, 907, 0, 0, 0, 0, 0,
908, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3499, 0, 0, 0, 0, 0, 0, 0, 0, 907,
0, 0, 0, 0, 0, 0, 2112, 0, 904, 2113,
0, 0, 0, 2114, 2115, 2116, 0, 0, 0, 0,
0, 0, 0, 0, 25, 26, 0, 0, 0, 0,
27, 0, 0, 2638, 0, 0, 0, 0, 0, 0,
910, 0, 0, 2639, 0, 28, 0, 0, 908, 0,
2640, 0, 905, 0, 0, 910, 2642, 0, 0, 0,
910, 2643, 0, 0, 29, 0, 0, 0, 0, 0,
908, 0, 0, 0, 0, 0, 2641, 0, 0, 0,
0, 0, 0, 0, 2644, 2306, 0, 0, 0, 0,
0, 910, 908, 0, 0, 0, 0, 0, 0, 963,
973, 0, 0, 0, 0, 905, 0, 963, 0, 973,
963, 30, 2645, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 973, 0, 0, 31, 905, 0, 0,
0, 0, 32, 33, 0, 34, 0, 6451, 0, 0,
35, 0, 0, 0, 0, 0, 36, 0, 0, 37,
0, 0, 0, 0, 0, 2373, 38, 0, 0, 0,
907, 0, 0, 39, 40, 0, 0, 0, 0, 0,
2646, 41, 0, 2647, 908, 42, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 43, 0, 0, 0,
0, 0, 0, 0, 2642, 0, 0, 0, 0, 2643,
905, 0, 0, 44, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2644, 2306, 45, 0, 0, 908, 0, 0,
0, 0, 0, 0, 0, 0, 46, 0, 0, 0,
0, 0, 47, 0, 0, 0, 0, 48, 0, 0,
2645, 0, 908, 0, 907, 0, 0, 0, 0, 0,
49, 0, 0, 0, 0, 0, 2648, 0, 0, 0,
2112, 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116,
0, 0, 907, 0, 50, 0, 51, 52, 53, 54,
55, 0, 0, 2373, 0, 0, 0, 2638, 0, 0,
0, 0, 0, 56, 0, 0, -136, 2639, 2646, 0,
0, 2647, 0, 0, 2640, 0, 0, 0, 0, 0,
0, 905, 0, 0, 0, 0, 0, 0, 0, 0,
913, 3500, 0, 0, 0, 0, 0, 0, 4783, 0,
2641, 0, 0, 0, 0, 0, 0, 910, 0, 0,
910, 0, 910, 0, 0, 0, 0, 910, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 912,
0, 0, 2572, 912, 912, 0, 0, 0, 0, 0,
0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581,
0, 0, 0, 0, 1736, 0, 0, 0, 0, 910,
0, 0, 0, 0, 2648, 0, 0, 910, 0, 0,
0, 0, 0, 908, 0, 0, 0, 0, 972, 0,
0, 0, 0, 4784, 0, 907, 0, 972, 912, 0,
0, 0, 910, 4147, 912, 0, 0, 0, 0, 4148,
0, 972, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2642, 0,
0, 905, 0, 2643, 0, 0, 0, 0, 0, 0,
0, 0, 907, 0, 0, 0, 0, 907, 0, 0,
0, 912, 0, 0, 0, 0, 2644, 2306, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 908, 0, 0,
2572, 910, 0, 910, 2645, 0, 0, 0, 904, 2573,
2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0,
0, 0, 905, 0, 0, 908, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 973, 0, 2373, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2646, 0, 973, 2647, 0, 0, 0, 0,
973, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 973, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 973, 910,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 963, 973, 0, 0, 0, 0, 0, 963,
0, 973, 963, 0, 0, 0, 0, 907, 0, 0,
0, 0, 0, 0, 0, 973, 0, 0, 0, 0,
0, 0, 905, 910, 0, 973, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 4149, 0,
0, 0, 0, 0, 0, 0, 0, 0, 908, 0,
0, 910, 0, 0, 0, 0, 0, 0, 0, 0,
0, 912, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 973, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 908, 0, 0, 0, 0,
908, 0, 0, 0, 0, 0, 973, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 910,
0, 0, 0, 907, 0, 0, 0, 0, 0, 0,
0, 973, 0, 0, 912, 0, 0, 0, 912, 0,
0, 910, 0, 0, 2572, 0, 0, 0, 0, 0,
0, 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579,
2580, 2581, 0, 910, 0, 0, 0, 0, 0, 0,
0, 0, 0, 905, 0, 0, 907, 2112, 905, 905,
2113, 0, 0, 0, 2114, 2115, 2116, 0, 0, 0,
0, 0, 0, 973, 0, 0, 0, 0, 907, 0,
0, 0, 0, 0, 2638, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2639, 0, 0, 0, 0, 0,
0, 2640, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 912, 0, 972, 0, 910, 0, 2641, 0, 0,
0, 0, 0, 0, 0, 0, 912, 0, 0, 0,
908, 912, 972, 0, 0, 0, 0, 0, 972, 0,
976, 907, 0, 0, 0, 0, 0, 0, 0, 0,
972, 0, 1010, 0, 0, 0, 0, 0, 0, 0,
0, 905, 912, 1029, 0, 0, 972, 0, 910, 0,
0, 0, 0, 1823, 0, 0, 0, 0, 0, 0,
973, 972, 0, 0, 0, 0, 0, 0, 0, 972,
0, 963, 0, 910, 0, 963, 0, 963, 0, 0,
0, 0, 0, 972, 0, 0, 0, 0, 0, 6161,
0, 0, 0, 972, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 905, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2642, 0, 0, 0, 0,
2643, 2112, 0, 0, 2113, 0, 908, 0, 2114, 2115,
2116, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 907, 2644, 2306, 0, 972, 0, 2638, 0,
0, 4074, 0, 0, 0, 0, 0, 0, 2639, 0,
0, 0, 0, 0, 0, 2640, 0, 0, 0, 0,
0, 2645, 0, 0, 972, 0, 0, 0, 0, 908,
0, 0, 0, 973, 0, 0, 0, 0, 0, 2112,
0, 2641, 2113, 0, 0, 0, 2114, 2115, 2116, 972,
0, 908, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2373, 0, 2638, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2639, 0, 0, 2646,
0, 0, 2647, 2640, 910, 0, 0, 0, 0, 0,
0, 0, 0, 0, 973, 0, 0, 0, 0, 0,
0, 0, 0, 0, 973, 0, 0, 6162, 0, 2641,
0, 972, 0, 0, 0, 0, 0, 0, 0, 0,
0, 973, 0, 0, 908, 0, 973, 0, 0, 0,
0, 0, 907, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2112, 912, 0,
2113, 912, 0, 912, 2114, 2115, 2116, 0, 912, 2642,
0, 0, 0, 0, 2643, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2638, 2648, 0, 0, 910, 0,
0, 0, 0, 0, 2639, 0, 0, 2644, 2306, 0,
0, 2640, 0, 0, 0, 0, 0, 0, 0, 0,
912, 0, 0, 907, 0, 0, 910, 0, 912, 0,
0, 0, 0, 0, 0, 2645, 0, 2641, 0, 0,
0, 1822, 0, 0, 0, 0, 0, 2642, 972, 0,
0, 0, 2643, 912, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 908, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2644, 2306, 0, 2373, 0,
0, 0, 0, 973, 0, 0, 0, 0, 0, 0,
0, 973, 973, 2646, 0, 0, 2647, 0, 0, 0,
0, 2572, 0, 2645, 0, 0, 0, 0, 0, 0,
2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 912, 0, 912, 0, 0, 0, 0, 0,
0, 0, 0, 907, 1823, 1049, 2373, 0, 0, 0,
0, 1081, 0, 0, 0, 2642, 0, 0, 0, 0,
2643, 2646, 0, 0, 2647, 0, 0, 0, 0, 910,
0, 972, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2644, 2306, 0, 0, 0, 0, 2648,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 908, 0, 0, 0, 0,
0, 2645, 0, 0, 0, 0, 910, 0, 0, 0,
0, 910, 0, 0, 0, 0, 0, 0, 0, 0,
912, 0, 972, 0, 0, 0, 0, 0, 0, 0,
0, 0, 972, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2373, 0, 0, 2648, 0, 972,
0, 0, 0, 0, 972, 0, 0, 0, 0, 2646,
0, 0, 2647, 0, 912, 0, 908, 0, 0, 0,
0, 0, 0, 0, 905, 0, 0, 0, 0, 0,
0, 0, 4120, 0, 907, 2572, 0, 0, 0, 907,
907, 0, 912, 0, 2573, 2574, 2575, 2576, 2577, 2578,
2579, 2580, 2581, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1388, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1415, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4084, 2572, 0, 2648, 0, 0, 0, 0,
912, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580,
2581, 910, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 912, 0, 0, 973, 908, 2112, 0, 0,
2113, 972, 0, 0, 2114, 2115, 2116, 0, 0, 972,
972, 0, 907, 1473, 912, 0, 0, 0, 0, 0,
0, 0, 2112, 0, 2638, 2113, 0, 4152, 0, 2114,
2115, 2116, 0, 0, 2639, 0, 0, 0, 0, 0,
0, 2640, 0, 0, 0, 0, 0, 0, 0, 2638,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2639,
1609, 0, 1822, 0, 0, 0, 2640, 2641, 0, 0,
0, 2572, 0, 0, 0, 907, 0, 0, 0, 0,
2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0,
0, 0, 2641, 0, 0, 0, 912, 910, 0, 2112,
0, 0, 2113, 0, 0, 0, 2114, 2115, 2116, 0,
973, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2638, 0, 0, 4164,
0, 0, 0, 0, 0, 0, 2639, 0, 0, 0,
0, 0, 0, 2640, 0, 1823, 0, 908, 0, 912,
910, 0, 908, 908, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 973, 2641,
0, 0, 910, 0, 912, 1872, 973, 0, 0, 0,
0, 0, 0, 0, 973, 2642, 0, 0, 0, 0,
2643, 4157, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1906, 1909, 1910, 0, 0, 0,
2642, 0, 0, 2644, 2306, 2643, 0, 0, 0, 0,
0, 0, 0, 0, 0, 963, 963, 0, 973, 973,
0, 0, 0, 0, 0, 0, 0, 0, 2644, 2306,
963, 2645, 973, 963, 0, 910, 0, 0, 0, 0,
0, 0, 0, 0, 0, 973, 973, 0, 0, 0,
0, 0, 0, 0, 0, 908, 2645, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2373, 0, 0, 2642, 0, 0,
0, 0, 2643, 963, 0, 0, 0, 963, 963, 2646,
0, 0, 2647, 0, 0, 0, 0, 0, 0, 2373,
0, 0, 1388, 972, 0, 2644, 2306, 0, 0, 0,
0, 0, 0, 0, 2646, 0, 0, 2647, 908, 0,
0, 0, 0, 0, 0, 912, 0, 0, 0, 1388,
0, 0, 0, 2645, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2112, 0, 0, 2113, 910, 0, 0, 2114,
2115, 2116, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2373, 0, 0, 2638,
0, 0, 0, 0, 0, 2648, 0, 0, 0, 2639,
0, 2646, 0, 0, 2647, 0, 2640, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1823, 0, 0,
2648, 0, 0, 0, 0, 0, 0, 0, 972, 912,
0, 0, 2641, 0, 2112, 0, 0, 2113, 0, 0,
0, 2114, 2115, 2116, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 912, 0, 0,
0, 2638, 0, 1822, 4790, 0, 0, 0, 0, 0,
0, 2639, 0, 0, 0, 0, 0, 0, 2640, 0,
0, 0, 0, 0, 0, 0, 972, 0, 0, 0,
0, 0, 0, 0, 972, 0, 2632, 2648, 0, 0,
0, 2572, 972, 0, 2641, 0, 910, 0, 0, 0,
2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 0,
0, 0, 0, 0, 0, 0, 2572, 0, 0, 0,
0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577,
2578, 2579, 2580, 2581, 0, 0, 972, 972, 0, 0,
2642, 0, 0, 0, 0, 2643, 0, 0, 0, 0,
972, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 972, 972, 0, 2723, 910, 2644, 2306,
0, 0, 0, 0, 0, 907, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
912, 0, 0, 2572, 0, 0, 2645, 0, 0, 0,
0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580,
2581, 0, 2642, 0, 0, 0, 0, 2643, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 912, 0, 2373,
2644, 2306, 912, 0, 0, 0, 0, 0, 0, 2837,
0, 0, 0, 0, 2646, 0, 0, 2647, 2866, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2645, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 910, 0, 0,
2904, 0, 0, 0, 0, 0, 2916, 2916, 0, 0,
2916, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2373, 0, 2934, 0, 0, 2937, 0, 0, 0,
0, 0, 0, 0, 0, 1822, 2646, 0, 0, 2647,
0, 0, 0, 2112, 0, 0, 2113, 0, 0, 0,
2114, 2115, 2116, 0, 0, 0, 0, 0, 0, 0,
2648, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2639, 0, 2112, 0, 2990, 2113, 0, 2640, 0, 2114,
2115, 2116, 0, 0, 0, 0, 4713, 0, 3010, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2638,
0, 0, 912, 2641, 0, 0, 0, 0, 0, 2639,
0, 0, 0, 0, 0, 0, 2640, 0, 0, 0,
0, 0, 2648, 0, 0, 0, 0, 0, 908, 0,
0, 0, 0, 0, 0, 0, 0, 0, 910, 0,
0, 0, 2641, 910, 910, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2572, 0, 0, 0,
0, 0, 0, 0, 0, 2573, 2574, 2575, 2576, 2577,
2578, 2579, 2580, 2581, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3032, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3035,
0, 0, 0, 0, 0, 0, 0, 0, 912, 0,
0, 2642, 0, 0, 0, 0, 2643, 0, 2572, 0,
0, 0, 0, 0, 0, 0, 0, 2573, 2574, 2575,
2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 1823, 2644,
2306, 3079, 2916, 0, 0, 0, 910, 0, 0, 0,
2642, 0, 0, 0, 0, 2643, 0, 0, 0, 0,
0, 912, 0, 0, 0, 0, 3114, 2645, 0, 0,
0, 0, 0, 3127, 0, 0, 0, 0, 2644, 2306,
0, 0, 0, 912, 0, 0, 0, 0, 0, 0,
0, 0, 0, 973, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2645, 0, 0, 910,
2373, 973, 0, 2112, 0, 973, 2113, 0, 0, 973,
2114, 2115, 2116, 0, 0, 2646, 0, 0, 973, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2638, 0, 0, 973, 0, 0, 3188, 0, 0, 2373,
2639, 0, 0, 0, 0, 0, 912, 2640, 0, 0,
963, 0, 963, 963, 2646, 0, 0, 2647, 0, 0,
0, 0, 0, 0, 0, 0, 0, 973, 0, 1388,
1388, 0, 0, 2641, 5232, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3242, 973, 973, 3244,
0, 0, 0, 2112, 0, 0, 2113, 0, 0, 0,
2114, 2115, 2116, 0, 0, 0, 0, 0, 0, 0,
0, 2648, 0, 0, 0, 0, 0, 0, 0, 0,
2638, 0, 0, 0, 1823, 973, 0, 0, 1823, 0,
2639, 0, 0, 0, 0, 0, 0, 2640, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2648, 0, 973, 0, 1823, 0, 1363, 1363, 973, 0,
0, 0, 0, 2641, 0, 0, 5249, 912, 0, 0,
0, 0, 973, 0, 0, 0, 0, 0, 0, 973,
0, 0, 973, 0, 0, 0, 0, 0, 973, 0,
0, 2642, 0, 0, 0, 0, 2643, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 973, 0,
0, 0, 0, 0, 973, 0, 0, 2572, 0, 2644,
2306, 973, 0, 0, 0, 0, 2573, 2574, 2575, 2576,
2577, 2578, 2579, 2580, 2581, 973, 1363, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1822, 2645, 0, 973,
0, 0, 0, 0, 1823, 0, 2572, 0, 0, 0,
973, 0, 5242, 0, 0, 2573, 2574, 2575, 2576, 2577,
2578, 2579, 2580, 2581, 0, 0, 0, 0, 0, 0,
0, 2642, 0, 0, 0, 0, 2643, 0, 0, 0,
2373, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 972, 0, 0, 0, 2646, 0, 912, 2647, 2644,
2306, 0, 0, 0, 0, 0, 0, 0, 0, 972,
1823, 0, 0, 972, 0, 0, 0, 972, 0, 0,
0, 0, 0, 0, 0, 0, 972, 2645, 0, 0,
0, 0, 0, 0, 0, 2112, 0, 0, 2113, 0,
0, 972, 2114, 2115, 2116, 0, 0, 1733, 1737, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2638, 0, 0, 0, 0, 0, 912, 0,
2373, 0, 2639, 0, 0, 972, 0, 0, 0, 2640,
0, 0, 0, 0, 0, 2646, 0, 0, 2647, 0,
0, 2648, 0, 0, 0, 972, 972, 0, 0, 0,
0, 0, 0, 0, 0, 2641, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1822, 972, 0, 0, 1822, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
972, 0, 1822, 0, 0, 973, 972, 1823, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
972, 2648, 0, 0, 973, 0, 0, 972, 912, 0,
972, 973, 0, 0, 0, 0, 972, 2572, 963, 910,
963, 963, 0, 0, 5248, 0, 2573, 2574, 2575, 2576,
2577, 2578, 2579, 2580, 2581, 0, 972, 0, 0, 0,
0, 0, 972, 2642, 0, 0, 0, 0, 2643, 972,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 972, 0, 0, 0, 0, 0, 0,
0, 2644, 2306, 0, 0, 0, 0, 972, 0, 0,
0, 0, 1822, 0, 0, 0, 0, 0, 972, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2645,
0, 0, 0, 2112, 2054, 0, 2113, 2572, 0, 1823,
2114, 2115, 2116, 0, 0, 1823, 2573, 2574, 2575, 2576,
2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, 0,
2638, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2639, 0, 2373, 0, 0, 0, 2080, 2640, 1822, 0,
0, 0, 0, 0, 0, 3429, 0, 2646, 0, 912,
2647, 0, 0, 0, 912, 912, 3434, 0, 0, 0,
0, 0, 0, 2641, 0, 2099, 2100, 2101, 0, 2103,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1473, 0,
2590, 973, 0, 0, 2112, 0, 0, 2113, 0, 0,
0, 2114, 2115, 2116, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2112,
0, 2638, 2113, 0, 0, 0, 2114, 2115, 2116, 0,
0, 2639, 0, 0, 0, 1473, 1473, 0, 2640, 0,
0, 0, 0, 2648, 0, 0, 2638, 0, 0, 5827,
0, 0, 0, 0, 0, 0, 2639, 0, 0, 0,
0, 0, 0, 2640, 2641, 0, 0, 912, 0, 1388,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2642, 0, 0, 0, 0, 2643, 0, 0, 2641,
0, 0, 0, 972, 0, 1822, 0, 2690, 0, 0,
0, 2702, 2707, 0, 0, 0, 0, 0, 0, 2644,
2306, 0, 972, 0, 0, 0, 0, 0, 0, 972,
0, 0, 0, 0, 973, 973, 0, 0, 0, 0,
912, 0, 0, 0, 0, 0, 5250, 2645, 0, 0,
0, 0, 0, 0, 2112, 973, 0, 2113, 973, 2572,
0, 2114, 2115, 2116, 0, 0, 0, 0, 2573, 2574,
2575, 2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0,
0, 2638, 0, 0, 0, 0, 0, 0, 0, 0,
2373, 2639, 2642, 0, 0, 0, 0, 2643, 2640, 0,
0, 0, 0, 0, 0, 2646, 0, 0, 2647, 0,
0, 0, 0, 0, 0, 3653, 0, 2642, 0, 0,
2644, 2306, 2643, 0, 2641, 0, 0, 1822, 0, 0,
3675, 0, 0, 1822, 0, 0, 0, 0, 0, 1823,
1823, 1823, 0, 0, 0, 2644, 2306, 0, 2645, 0,
0, 0, 3703, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 973, 0, 0, 0, 0, 0,
0, 0, 0, 2645, 0, 0, 0, 0, 0, 0,
0, 0, 0, 973, 0, 0, 0, 0, 0, 0,
0, 2373, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2648, 0, 0, 0, 973, 2646, 0, 0, 2647,
0, 0, 0, 0, 0, 0, 2373, 5810, 0, 972,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2646, 0, 0, 2647, 0, 0, 0, 3783, 3784,
0, 0, 2642, 0, 0, 0, 0, 2643, 0, 0,
0, 0, 0, 0, 0, 0, 1733, 1733, 1733, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2644, 2306, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5622, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 973, 0, 0, 2645, 0,
0, 0, 2648, 0, 0, 0, 0, 2572, 0, 0,
0, 0, 0, 0, 0, 0, 2573, 2574, 2575, 2576,
2577, 2578, 2579, 2580, 2581, 0, 0, 2648, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3909, 2373, 1823, 0, 0, 0, 0, 0, 973, 0,
973, 0, 972, 972, 0, 0, 2646, 0, 0, 2647,
0, 0, 0, 973, 0, 973, 0, 0, 0, 0,
0, 0, 0, 972, 0, 0, 972, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2572, 0,
0, 0, 0, 0, 0, 0, 0, 2573, 2574, 2575,
2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0,
0, 0, 973, 2572, 0, 0, 0, 0, 0, 0,
0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580,
2581, 0, 2648, 0, 0, 0, 0, 1822, 1822, 1822,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 973, 0, 0, 0, 0, 0,
0, 0, 972, 2112, 0, 0, 2113, 0, 0, 0,
2114, 2115, 2116, 973, 0, 0, 0, 973, 0, 0,
0, 972, 0, 0, 0, 0, 0, 0, 2112, 0,
2638, 2113, 0, 0, 0, 2114, 2115, 2116, 973, 0,
2639, 0, 0, 972, 0, 0, 0, 2640, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2639, 0, 0, 0, 0,
912, 0, 2640, 2641, 0, 0, 0, 0, 2572, 0,
0, 0, 0, 0, 0, 0, 0, 2573, 2574, 2575,
2576, 2577, 2578, 2579, 2580, 2581, 0, 0, 2641, 0,
0, 0, 0, 0, 0, 3270, 0, 0, 0, 0,
0, 0, 0, 0, 3288, 3288, 3288, 3288, 3298, 3304,
3288, 3307, 3288, 3288, 0, 0, 0, 0, 3314, 0,
3315, 0, 3317, 972, 0, 3331, 3334, 3339, 0, 0,
0, 0, 0, 3348, 0, 0, 3353, 1823, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3361, 3362, 3363, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1822, 3364, 0, 0, 0, 0, 972, 0, 972, 0,
0, 2642, 0, 0, 0, 0, 2643, 0, 0, 0,
0, 972, 0, 972, 0, 0, 4218, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2642, 0, 0, 2644,
2306, 2643, 0, 0, 0, 0, 0, 1473, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, -3002, -3002, 0, 2645, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
972, 0, 2645, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2373, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2646, 0, 0, 2647, 0,
0, 0, 972, 0, 0, -3002, 0, 0, 0, 0,
0, 0, 973, 0, 0, 0, 0, 0, 3372, 0,
2646, 972, 0, 0, 0, 972, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 719, 972, 0, 0, 0,
1052, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3391, 0, 1823, 0, 0, 0, 0, 1823,
0, 1823, 0, 0, 0, 0, 0, 0, 1053, 0,
0, 2648, 0, 0, 0, 0, 0, 0, 0, 0,
0, 722, 1054, 0, 0, 0, 0, 1823, 0, 0,
0, 0, 0, 0, 1055, 0, 2648, 0, 723, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3393, 0,
0, 0, 0, 0, 0, 0, 1056, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 973, 1822, 0, 973, 0, 0,
1057, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 726, 0, 0, 0, 0, 0, 0,
0, 0, 727, 0, 0, 0, 0, 0, 0, 0,
4436, 0, 0, 0, 0, 728, 0, 2572, 0, 0,
2916, 1058, 0, 0, 0, 0, 2573, 2574, 2575, 2576,
2577, 2578, 2579, 2580, 2581, 0, 0, 0, 0, 0,
0, 0, 2572, 0, 0, 0, 0, 0, 1059, 0,
0, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581,
0, 0, 0, 0, 0, 0, 0, 973, 973, 0,
0, 0, 0, 0, 0, 0, 0, 0, 973, 0,
0, 0, 0, 0, 0, 0, 1060, 0, 0, 0,
0, 0, 0, 0, 0, 973, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2583, 0, 732, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407,
3408, 0, 3409, 0, 0, 0, 0, 0, 0, 0,
972, 0, 1061, 1363, 0, 0, 1733, 0, 0, 0,
0, 0, 0, 0, 0, 2583, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 973, 735, 0,
1823, 0, 0, 4568, 4569, 4570, 0, 0, 213, 1062,
0, 0, 737, 0, 0, 0, 0, 3364, 0, 0,
4579, 3372, 0, 0, 3391, 0, 3393, 0, 0, 3446,
0, 0, 1822, 0, 0, 0, 0, 1822, 0, 1822,
1063, 0, 0, 1064, 0, 0, 0, 740, 0, 0,
741, 0, 0, 4604, 4606, 0, 0, 742, 4611, 0,
743, 0, 0, 0, 0, 1822, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
744, 0, 2100, 2101, 0, 0, 0, 0, 1065, 0,
0, 0, 0, 0, 0, 746, 0, 0, 1066, 0,
0, 0, 0, 748, 0, 0, 0, 0, 0, 0,
0, 1067, 972, 750, 1, 972, 0, 0, 1068, 0,
0, 0, 0, 0, 0, 2, 0, 3, 4, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 753, 0, 0, 0, 0,
0, 0, 0, 0, 0, 6, 0, 0, 0, 0,
0, 0, 3586, 0, 1388, 0, 0, 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, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 972, 972, 0, 0, 0,
14, 0, 0, 15, 0, 0, 972, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 16, 0,
17, 0, 973, 972, 18, 0, 0, 0, 0, 0,
0, 5776, 0, 0, 0, 0, 0, 0, 0, 0,
20, 0, 21, 0, 0, 0, 0, 0, 0, 22,
0, 0, 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, 0, 0, 973,
0, 0, 0, 0, 24, 0, 2583, 0, 0, 0,
2583, 973, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 972, 0, 0, 1822, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 4823, 4824, 4825, 0, 0, 973, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 25, 26,
0, 0, 0, 0, 27, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 28,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 29, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3841, 3842, 1733, 0, 0, 0,
3846, 0, 0, 0, 1823, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 973, 0, 30, 0, 3875, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
31, 0, 0, 0, 0, 0, 32, 33, 0, 34,
0, 0, 0, 0, 35, 0, 0, 4643, 0, 0,
36, 0, 0, 37, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
43, 0, 0, 0, 0, 0, 0, 0, 0, 973,
0, 0, 0, 0, 0, 0, 0, 44, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 670, 0, 0, 45, 0,
972, 0, 0, 0, 0, 0, 0, 0, 0, 0,
46, 0, 0, 671, 0, 0, 47, 0, 0, 0,
0, 48, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 49, 0, 0, 0, 672, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 673, 0, 0, 0, 0, 0, 972, 50, 0,
0, 0, 0, 0, 0, 0, 0, 2583, -891, 972,
0, 0, 0, 0, 0, 0, 0, 56, 0, 0,
-136, 0, 0, 0, 0, 0, 674, 0, 0, 0,
0, 0, 675, 2583, 0, 0, 4070, 3327, 0, 0,
973, 4076, 973, 0, 972, 0, 0, 0, 0, 0,
676, 0, 2583, 2583, 2583, 0, 2583, 5092, 0, 0,
0, 0, 0, 677, 0, 0, 0, 0, 0, 0,
719, 0, 678, 0, 0, 720, 0, 0, 0, 0,
0, 0, 0, 0, 0, 679, 0, 0, 0, 5124,
973, 0, 0, 2103, 680, 0, 0, 0, 681, 0,
963, 0, 0, 0, 3339, 0, 3339, 3339, 0, 0,
0, 0, 0, 721, 0, 0, 0, 0, -1097, 0,
4167, 3127, 1822, 4170, 0, 4172, 722, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1823, 972, 0, 723, 0, 963, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 5182, 0, 0,
0, 724, 0, 4197, 0, 4200, 0, 4202, 682, 0,
0, 0, 0, 0, 3188, 0, 0, 0, -624, 0,
0, 0, 0, 0, 0, 725, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 197, 0, 726, 0,
0, 0, 0, 0, 0, 0, 0, 727, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
728, 0, 683, 0, 0, 684, 729, 972, 0, 0,
0, 0, 0, 730, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 198, 685, 0,
0, 0, 0, 731, 0, 0, 0, 0, 0, 0,
0, 4272, 686, 0, 199, 0, 2690, 0, 0, 0,
-474, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2707, 200, 0, 0, 0, 0, 0, 201, 0,
687, 0, 0, 0, 0, 0, 0, 0, 0, 0,
688, 0, 0, 0, 0, 0, 202, -474, 0, 0,
689, 0, 0, 732, 0, 0, 0, 0, 0, 203,
0, 5285, 5286, 5287, 5288, 0, 0, 0, 204, 0,
690, 0, 0, 0, 0, 0, 0, 0, 691, 0,
0, 205, 0, 0, 0, -474, 4322, 206, 692, 0,
693, 0, 694, 695, 207, 0, 0, 733, 972, 0,
972, 0, 0, 0, 0, 0, 0, 0, 696, 0,
734, 0, 0, 0, 208, 0, 697, 0, 973, 698,
0, 0, 699, 735, 0, 0, 0, 0, 0, 0,
0, 0, 973, 213, 736, -474, 0, 737, 0, 0,
0, 0, 0, 0, 0, 0, 4357, 0, 972, 0,
0, 0, 209, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1823, 0, 738, 0, 0, 739, 0,
0, 0, 740, 0, 210, 741, 0, 0, 0, 0,
0, 0, 742, 0, 0, 743, 1578, 0, 0, 0,
0, 0, 1579, 0, 0, 0, 0, 0, 1822, 1645,
0, 0, 0, 0, 0, 744, 0, 0, 0, 0,
0, 0, 0, 745, 0, 0, 0, 0, 211, 0,
746, 1646, 0, 747, 0, 0, 0, 0, 748, 0,
0, 0, 0, 0, 0, 0, 749, 1581, 750, 0,
0, 0, 1823, 751, 212, 0, 0, 0, 0, 0,
0, 0, 0, 0, 213, 214, 0, 752, 215, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
753, 0, 0, 1647, 0, 0, 0, 0, 1823, 0,
0, 0, 0, 2583, 0, 0, 216, 0, 0, 217,
0, 0, 0, 218, 1582, 0, 219, 0, 0, 0,
0, 1583, 0, 220, 0, 1584, 221, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 222, 0, 0, 0,
0, 0, 0, 1585, 223, 0, 0, 0, 0, 224,
0, 225, 0, 0, 226, 0, 1733, 0, 1823, 227,
0, 973, 1733, 0, 0, 0, 0, 0, 0, 228,
0, 0, 0, 0, 229, 1648, 0, 0, 0, 1586,
0, 0, 0, 0, 0, 0, 0, 0, 230, 0,
0, 0, 0, 2583, 0, 0, 0, 0, 0, 0,
0, 231, 0, 0, 0, 2583, 0, 0, 0, 0,
2583, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5504, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5514, 0, 1649, 0, 0, 0, 0, 1650, 0,
0, 4591, 0, 1651, 0, 0, 972, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1652,
972, 0, 0, 1588, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1589, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1590, 0, 0, 0, 0, 0, 0,
0, 1822, 0, 0, 1653, 1591, 0, 0, 0, 0,
0, 0, 0, 0, 973, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 963, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 973, 0, 0, 0, 0, 0, 3752, 0, 0,
1593, 1594, 1655, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1656, 0, 0, 0,
1822, 0, 3753, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1658, 0, 0,
4714, 963, 963, 0, 0, 0, 0, 0, 4718, 0,
4719, 0, 0, 0, 0, 0, 1822, 0, 0, 0,
0, 0, 0, 0, 3288, 0, 0, 0, 4732, 3288,
3288, 0, 0, 0, 0, 3304, 0, 0, 4740, 0,
0, 4742, 0, 0, 0, 0, 0, 4744, 1659, 4745,
0, 0, 0, 0, 0, 1596, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4767, 4768, 4769, 973,
0, 0, 0, 0, 0, 0, 1822, 0, 0, 972,
0, 0, 0, 0, 0, 3348, 0, 0, 0, 0,
0, 0, 0, 4794, 0, 0, 4797, 0, 4799, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5721, 0, 0, 4803, 0, 1388, 0, 0, 0,
0, 0, 4810, 4811, 0, 0, 0, 0, 0, 4816,
0, 0, 0, 0, 0, 5751, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3288, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4870,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 972, 0, 0, 0, 4884, 1823, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 972,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1823, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5875, 0, 0, 963,
963, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1823, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2583, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 972, 0, 0,
0, 2583, 0, 0, 5951, 0, 0, 0, 0, 0,
0, 2583, 0, 0, 0, 0, 0, 2583, 0, 0,
2583, 0, 0, 0, 0, 0, 0, 2583, 2583, 0,
2583, 0, 5973, 0, 0, 3327, 3327, 0, 4143, 0,
3327, 0, 0, 0, 2583, 0, 0, 2583, 0, 0,
0, 0, 2583, 0, 0, 0, 0, 0, 0, 0,
0, 2583, 0, 0, 0, 0, 2583, 0, 0, 0,
0, 0, 0, 0, 2583, 2583, 2583, 2583, 0, 0,
0, 0, 3327, 3327, 0, 2583, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2583, 0, 2583, 0, 0, 0,
0, 0, 0, 2583, 2583, 2583, 2583, 2583, 2583, 2583,
2583, 2583, 2583, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1822, 0, 0, 0, 2583,
5170, 5171, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 5178, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1822, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1822,
0, 0, 5221, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2690,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 5244, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2583,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5263, 5265, 0, 0,
0, 0, 0, 0, 5269, 5270, 0, 0, 0, 5271,
0, 0, 0, 0, 5272, 0, 0, 5275, 5276, 0,
0, 0, 0, 0, 5281, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 5317,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1363, 0, 0, 0, 0, 0, 0, 0, 5331, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5359, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5408, 0, 0, 0, 0, 0, 0,
5410, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2583, 2583, 0, 0, 0, 2583,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2583, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 5445,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3288, 0, 0, 0, 0, 0, 0, 0, 0,
0, 5551, 0, 0, 0, 0, 0, 5555, 5556, 5557,
0, 0, 0, 2583, 0, 0, 0, 0, 0, 2583,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 5570, 5571, 0, 0, 5572, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5580, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5592, 0, 0, 4143, 4143, 0,
0, 3327, 3327, 3327, 3327, 5610, 0, 3327, 3327, 3327,
3327, 3327, 3327, 3327, 3327, 3327, 3327, 4143, 0, 0,
0, 5627, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2583, 0, 0, 2583, 0, 2583, 0, 0, 4143, 4143,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2583, 3327, 3327, 2583, 0, 2583, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2583, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2583, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5800, 0, 0, 0,
2583, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3348, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2103, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5879, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5891, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 5928, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3327, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2583, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3288, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 6008,
0, 0, 0, 0, 0, 0, 0, 0, 6015, 6015,
6015, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5610, 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, 6063,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2583, 0, 0,
0, 2583, 2583, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2583, 0, 0, 0, 0,
0, 0, 0, 2583, 0, 2583, 0, 2583, 2583, 0,
0, 0, 0, 4143, 4143, 4143, 4143, 0, 0, 0,
4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143, 4143,
2583, 2583, 2583, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2583, 0, 0,
2583, 0, 2583, 0, 0, 0, 2583, 0, 0, 4143,
4143, 0, 0, 2583, 2583, 0, 0, 0, 0, 2583,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 6015, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 5610, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2583, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2583, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 6238,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 6263, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4143, 0, 0, 0,
6015, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 6350, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2583, 2583, 0, 0, 0, 0, 0,
0, 2583, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2583, 0, 0, 0, 0, 0,
0, 1733, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2583, 3327, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2583, 0, 2583, 0,
0, 0, 2583, 2583, 2583, 2583, 0, 0, 2583, 2583,
0, 0, 0, 0, 2583, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3327, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2583, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2583, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2583, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2583, 0, 2583, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2583, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2583, 0, 4143, 3327, 2583, 2583,
2583, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2583, 2583, 2583, 0, 0, 0, 0,
0, 0, 0, 2583, 0, 0, 0, 0, 3327, 0,
0, 4143, 0, 0, 0, 2583, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2583, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2583, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2583, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4143, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4143, 0, 3327, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2583, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2583, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2583, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2583, 0, 0, 0, 0, 0, 0, 2583, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2583, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2583, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3327, 3327,
0, 0, 3327, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2583, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2583, 0, 0, 0,
0, 0, 0, 0, 234, 0, 1266, 714, 0, 1267,
1268, 1269, 775, 1270, 4143, 4143, 0, 4143, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, 1727, 244, 245, 246, 0, 0, 0, 0,
1271, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 254, 255, 256, 257, 258, 1272, 260, 1273, 1274,
0, 263, 264, 265, 266, 267, 268, 269, 1275, 1276,
270, 271, 1277, 1278, 274, 0, 275, 276, 277, 278,
1279, 0, 1280, 2583, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 298, 299, 300, 301, 1281, 1282, 1283,
1284, 1285, 1286, 1287, 303, 304, 305, 306, 307, 308,
1288, 1289, 311, 1290, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 1728, 0,
324, 325, 884, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 0, 337, 338, 339, 340,
1291, 342, 343, 344, 345, 1292, 1293, 347, 0, 348,
349, 350, 1294, 352, 0, 353, 0, 354, 355, 356,
0, 357, 358, 359, 360, 361, 0, 362, 1295, 0,
1296, 365, 366, 0, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 0, 377, 378, 379, 380, 381,
382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
391, 1297, 1298, 0, 1299, 0, 395, 396, 397, 398,
399, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308,
409, 1309, 411, 412, 413, 414, 415, 416, 417, 0,
0, 418, 1310, 420, 421, 422, 0, 423, 424, 425,
1311, 1312, 426, 427, 428, 429, 430, 431, 432, 433,
434, 435, 1313, 437, 438, 439, 440, 441, 442, 443,
444, 1314, 446, 1315, 448, 449, 450, 451, 452, 453,
454, 455, 456, 1316, 458, 1317, 459, 460, 461, 462,
1318, 1319, 464, 1320, 466, 467, 468, 0, 469, 470,
471, 0, 0, 1321, 473, 474, 0, 0, 475, 476,
477, 478, 479, 480, 1322, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 0, 493, 494, 495,
1323, 497, 498, 499, 500, 501, 0, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 1324, 514,
515, 516, 517, 0, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 0, 531, 532,
533, 534, 535, 536, 537, 538, 1325, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 0, 550, 551,
552, 553, 554, 1326, 555, 556, 557, 558, 559, 560,
561, 562, 1327, 564, 0, 565, 566, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
1328, 581, 0, 582, 583, 1329, 0, 584, 585, 586,
587, 588, 589, 590, 591, 0, 592, 1330, 1331, 0,
0, 595, 596, 1332, 598, 1333, 1334, 600, 601, 602,
603, 604, 605, 606, 607, 608, 0, 1335, 609, 610,
611, 612, 613, 1336, 0, 614, 615, 616, 617, 618,
619, 1337, 1729, 621, 622, 623, 624, 625, 626, 0,
0, 627, 0, 0, 628, 629, 630, 631, 632, 633,
634, 1338, 1339, 1340, 1341, 639, 1342, 1343, 1344, 1345,
644, 645, 646, 647, 0, 1346, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1347, 1348, 1730,
0, 0, 0, 0, 0, 0, 1350, 1731, 234, 0,
1266, 714, 0, 1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1272, 260, 1273, 1274, 0, 263, 264, 265, 266, 267,
268, 269, 1275, 1276, 270, 271, 1277, 1278, 274, 0,
275, 276, 277, 278, 1279, 0, 1280, 0, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 298, 299, 300,
301, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 303, 304,
305, 306, 307, 308, 1288, 1289, 311, 1290, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 884, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 0,
337, 338, 339, 340, 1291, 342, 343, 344, 345, 1292,
1293, 347, 0, 348, 349, 350, 1294, 352, 0, 353,
0, 354, 355, 356, 0, 357, 358, 359, 360, 361,
0, 362, 1295, 0, 1296, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 0, 377,
378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
387, 388, 389, 390, 391, 1297, 1298, 0, 1299, 0,
395, 396, 397, 398, 399, 1300, 1301, 1302, 1303, 1304,
1305, 1306, 1307, 1308, 409, 1309, 411, 412, 413, 414,
415, 416, 417, 0, 0, 418, 1310, 420, 421, 422,
0, 423, 424, 425, 1311, 1312, 426, 427, 428, 429,
430, 431, 432, 433, 434, 435, 1313, 437, 438, 439,
440, 441, 442, 443, 444, 1314, 446, 1315, 448, 449,
450, 451, 452, 453, 454, 455, 456, 1316, 458, 1317,
459, 460, 461, 462, 1318, 1319, 464, 1320, 466, 467,
468, 0, 469, 470, 471, 0, 0, 1321, 473, 474,
0, 0, 475, 476, 477, 478, 479, 480, 1322, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
0, 493, 494, 495, 1323, 497, 498, 499, 500, 501,
0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 1324, 514, 515, 516, 517, 0, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 538,
1325, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 40, 550, 551, 552, 553, 554, 1326, 555, 556,
557, 558, 559, 560, 561, 562, 1327, 564, 0, 565,
566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 1328, 581, 0, 582, 583, 1329,
44, 584, 585, 586, 587, 588, 589, 590, 591, 0,
592, 1330, 1331, 0, 0, 595, 596, 1332, 598, 1333,
1334, 600, 601, 602, 603, 604, 605, 606, 607, 608,
0, 1335, 609, 610, 611, 612, 613, 1336, 0, 614,
615, 616, 617, 618, 1202, 1337, 0, 621, 622, 623,
624, 625, 626, 0, 0, 627, 0, 49, 628, 629,
630, 631, 632, 633, 634, 1338, 1339, 1340, 1341, 639,
1342, 1343, 1344, 1345, 644, 645, 646, 647, 0, 1346,
0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1347, 1348, 0, 0, 0, 0, 0, 0, 0,
1350, 5846, 234, 0, 1266, 714, 0, 1267, 1268, 1269,
775, 1270, 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, 1271, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
255, 256, 257, 258, 1272, 260, 1273, 1274, 0, 263,
264, 265, 266, 267, 268, 269, 1275, 1276, 270, 271,
1277, 1278, 274, 0, 275, 276, 277, 278, 1279, 0,
1280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 298, 299, 300, 301, 1281, 1282, 1283, 1284, 1285,
1286, 1287, 303, 304, 305, 306, 307, 308, 1288, 1289,
311, 1290, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
884, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 0, 337, 338, 339, 340, 1291, 342,
343, 344, 345, 1292, 1293, 347, 0, 348, 349, 350,
1294, 352, 0, 353, 0, 354, 355, 356, 0, 357,
358, 359, 360, 361, 0, 362, 1295, 0, 1296, 365,
366, 0, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 0, 377, 378, 379, 380, 381, 382, 383,
384, 0, 385, 386, 387, 388, 389, 390, 391, 1297,
1298, 0, 1299, 0, 395, 396, 397, 398, 399, 1300,
1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 409, 1309,
411, 412, 413, 414, 415, 416, 417, 0, 0, 418,
1310, 420, 421, 422, 0, 423, 424, 425, 1311, 1312,
426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
1313, 437, 438, 439, 440, 441, 442, 443, 444, 1314,
446, 1315, 448, 449, 450, 451, 452, 453, 454, 455,
456, 1316, 458, 1317, 459, 460, 461, 462, 1318, 1319,
464, 1320, 466, 467, 468, 0, 469, 470, 471, 0,
0, 1321, 473, 474, 0, 0, 475, 476, 477, 478,
479, 480, 1322, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 0, 493, 494, 495, 1323, 497,
498, 499, 500, 501, 0, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 1324, 514, 515, 516,
517, 0, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 0, 531, 532, 533, 534,
535, 536, 537, 538, 1325, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 0, 550, 551, 552, 553,
554, 1326, 555, 556, 557, 558, 559, 560, 561, 562,
1327, 564, 0, 565, 566, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 1328, 581,
0, 582, 583, 1329, 0, 584, 585, 586, 587, 588,
589, 590, 591, 0, 592, 1330, 1331, 0, 0, 595,
596, 1332, 598, 1333, 1334, 600, 601, 602, 603, 604,
605, 606, 607, 608, 0, 1335, 609, 610, 611, 612,
613, 1336, 0, 614, 615, 616, 617, 618, 619, 1337,
0, 621, 622, 623, 624, 625, 626, 0, 0, 627,
0, 0, 628, 629, 630, 631, 632, 633, 634, 1338,
1339, 1340, 1341, 639, 1342, 1343, 1344, 1345, 644, 645,
646, 647, 0, 1346, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1347, 1348, 0, 0, 0,
0, 0, 0, 0, 1350, 3329, 234, 0, 1266, 714,
0, 1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 258, 1272, 260,
1273, 1274, 0, 263, 264, 265, 266, 267, 268, 269,
1275, 1276, 270, 271, 1277, 1278, 274, 0, 275, 276,
277, 278, 1279, 0, 1280, 0, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 298, 299, 300, 301, 1281,
1282, 1283, 1284, 1285, 1286, 1287, 303, 304, 305, 306,
307, 308, 1288, 1289, 311, 1290, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 884, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 0, 337, 338,
339, 340, 1291, 342, 343, 344, 345, 1292, 1293, 347,
0, 348, 349, 350, 1294, 352, 0, 353, 0, 354,
355, 356, 0, 357, 358, 359, 360, 361, 0, 362,
1295, 0, 1296, 365, 366, 0, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 0, 377, 378, 379,
380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
389, 390, 391, 1297, 1298, 0, 1299, 0, 395, 396,
397, 398, 399, 1300, 1301, 1302, 1303, 1304, 1305, 1306,
1307, 1308, 409, 1309, 411, 412, 413, 414, 415, 416,
417, 0, 0, 418, 1310, 420, 421, 422, 0, 423,
424, 425, 1311, 1312, 426, 427, 428, 429, 430, 431,
432, 433, 434, 435, 1313, 437, 438, 439, 440, 441,
442, 443, 444, 1314, 446, 1315, 448, 449, 450, 451,
452, 453, 454, 455, 456, 1316, 458, 1317, 459, 460,
461, 462, 1318, 1319, 464, 1320, 466, 467, 468, 0,
469, 470, 471, 0, 0, 1321, 473, 474, 0, 0,
475, 476, 477, 478, 479, 480, 1322, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 0, 493,
494, 495, 1323, 497, 498, 499, 500, 501, 0, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
1324, 514, 515, 516, 517, 0, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 0,
531, 532, 533, 534, 535, 536, 537, 538, 1325, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 0,
550, 551, 552, 553, 554, 1326, 555, 556, 557, 558,
559, 560, 561, 562, 1327, 564, 0, 565, 566, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 1328, 581, 0, 582, 583, 1329, 0, 584,
585, 586, 587, 588, 589, 590, 591, 0, 592, 1330,
1331, 0, 0, 595, 596, 1332, 598, 1333, 1334, 600,
601, 602, 603, 604, 605, 606, 607, 608, 0, 1335,
609, 610, 611, 612, 613, 1336, 0, 614, 615, 616,
617, 618, 619, 1337, 0, 621, 622, 623, 624, 625,
626, 0, 0, 627, 0, 0, 628, 629, 630, 631,
632, 633, 634, 1338, 1339, 1340, 1341, 639, 1342, 1343,
1344, 1345, 644, 645, 646, 647, 0, 1346, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1347,
1348, 0, 0, 0, 0, 0, 0, 0, 1350, 4746,
234, 0, 1266, 714, 0, 1267, 1268, 1269, 775, 1270,
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, 1271, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
257, 258, 1272, 260, 1273, 1274, 0, 263, 264, 265,
266, 267, 268, 269, 1275, 1276, 270, 271, 1277, 1278,
274, 0, 275, 276, 277, 278, 1279, 0, 1280, 0,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 298,
299, 300, 301, 1281, 1282, 1283, 1284, 1285, 1286, 1287,
303, 304, 305, 306, 307, 308, 1288, 1289, 311, 1290,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 884, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 0, 337, 338, 339, 340, 1291, 342, 343, 344,
345, 1292, 1293, 347, 0, 348, 349, 350, 1294, 352,
0, 353, 0, 354, 355, 356, 0, 357, 358, 359,
360, 361, 0, 362, 1295, 0, 1296, 365, 366, 0,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
0, 377, 378, 379, 380, 381, 382, 383, 384, 0,
385, 386, 387, 388, 389, 390, 391, 1297, 1298, 0,
1299, 0, 395, 396, 397, 398, 399, 1300, 1301, 1302,
1303, 1304, 1305, 1306, 1307, 1308, 409, 1309, 411, 412,
413, 414, 415, 416, 417, 0, 0, 418, 1310, 420,
421, 422, 0, 423, 424, 425, 1311, 1312, 426, 427,
428, 429, 430, 431, 432, 433, 434, 435, 1313, 437,
438, 439, 440, 441, 442, 443, 444, 1314, 446, 1315,
448, 449, 450, 451, 452, 453, 454, 455, 456, 1316,
458, 1317, 459, 460, 461, 462, 1318, 1319, 464, 1320,
466, 467, 468, 0, 469, 470, 471, 0, 0, 1321,
473, 474, 0, 0, 475, 476, 477, 478, 479, 480,
1322, 482, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 0, 493, 494, 495, 1323, 497, 498, 499,
500, 501, 0, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 1324, 514, 515, 516, 517, 0,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 0, 531, 532, 533, 534, 535, 536,
537, 538, 1325, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 0, 550, 551, 552, 553, 554, 1326,
555, 556, 557, 558, 559, 560, 561, 562, 1327, 564,
0, 565, 566, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 1328, 581, 0, 582,
583, 1329, 0, 584, 585, 586, 587, 588, 589, 590,
591, 0, 592, 1330, 1331, 0, 0, 595, 596, 1332,
598, 1333, 1334, 600, 601, 602, 603, 604, 605, 606,
607, 608, 0, 1335, 609, 610, 611, 612, 613, 1336,
0, 614, 615, 616, 617, 618, 619, 1337, 0, 621,
622, 623, 624, 625, 626, 0, 0, 627, 0, 0,
628, 629, 630, 631, 632, 633, 634, 1338, 1339, 1340,
1341, 639, 1342, 1343, 1344, 1345, 644, 645, 646, 647,
0, 1346, 0, 0, 0, 655, 0, 0, 0, 0,
0, 0, 0, 1347, 1348, 0, 0, 0, 0, 0,
0, 0, 1350, 4813, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 0, 4249, 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, -1842, 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, 0, 337, 338, 339,
340, 341, 342, 343, 344, 345, 346, 0, 347, 0,
348, 349, 350, 351, 352, 0, 353, 0, 354, 355,
0, 0, -1842, 358, 359, 360, 361, 0, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 371,
0, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, -1842, 387, 388, 389,
390, 391, 392, 393, 0, 394, 0, 395, 0, 0,
398, -1842, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 419, -1842, 421, 0, 0, 423, 424,
425, 0, 0, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, -1842, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 0, 459, 460, 0,
462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 0, 0, 472, 473, 474, 0, 0, 475,
476, 477, 0, 479, 0, 481, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, -1842, 534, 535, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
0, 561, 562, 563, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 0, 582, 583, 0, 0, 584, 0,
586, 587, 588, 589, 590, 591, 0, 592, 593, 594,
0, 0, 595, 596, 597, 598, 599, 0, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 0, 609,
610, 611, 612, 613, 0, 0, 614, 615, 616, 617,
618, 619, 620, 0, 621, 0, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 0, 0, 0, 0, 0,
876, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1466, 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, 877, 260, 878, 879, 0, 263, 264, 265,
266, 267, 268, 269, 0, 0, 270, 271, 880, 881,
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, 882, 883, 311, 0,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 884, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 0, 337, 338, 339, 340, 0, 342, 343, 344,
345, 0, 0, 347, 0, 348, 349, 350, 885, 352,
0, 353, 0, 354, 355, 356, 0, 357, 358, 359,
360, 361, 0, 362, 0, 0, 0, 365, 366, 0,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
2733, 377, 378, 379, 380, 381, 382, 383, 384, 0,
385, 386, 2734, 388, 389, 390, 391, 886, 887, 0,
888, 0, 395, 396, 397, 398, 399, 889, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 411, 412,
413, 414, 415, 416, 417, 0, 0, 418, 0, 420,
421, 422, 0, 423, 424, 425, 0, 0, 426, 427,
428, 429, 430, 431, 432, 433, 434, 435, 0, 437,
438, 439, 440, 441, 442, 443, 444, 890, 446, 891,
448, 449, 450, 451, 452, 453, 454, 455, 0, 0,
458, 0, 459, 460, 461, 462, 0, 0, 464, 892,
466, 467, 468, 0, 469, 470, 471, 0, 0, 472,
473, 474, 0, 0, 475, 476, 2736, 478, 479, 480,
0, 482, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 0, 493, 494, 495, 0, 497, 0, 499,
500, 501, 0, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 893, 514, 515, 516, 517, 0,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 0, 531, 532, 533, 534, 535, 536,
537, 538, 0, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 0, 550, 551, 552, 553, 554, 0,
555, 556, 2737, 558, 559, 560, 561, 562, 895, 564,
0, 565, 566, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 0, 581, 0, 582,
583, 0, 0, 584, 585, 586, 587, 588, 589, 590,
591, 0, 592, 896, 897, 0, 0, 595, 596, 0,
598, 0, 0, 600, 601, 602, 603, 604, 605, 606,
607, 608, 0, 0, 609, 610, 611, 612, 613, 0,
0, 614, 615, 616, 617, 618, 0, 898, 2738, 621,
622, 623, 624, 625, 626, 0, 0, 627, 0, 0,
628, 629, 630, 631, 632, 633, 876, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 645, 646, 647,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, 0, 244, 245, 246, 0, 0,
0, 0, 0, 2831, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 0, 877, 260,
878, 879, 0, 263, 264, 265, 266, 267, 268, 269,
0, 0, 270, 271, 880, 881, 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, 882, 883, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 884, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 0, 337, 338,
339, 340, 0, 342, 343, 344, 345, 0, 0, 347,
0, 348, 349, 350, 885, 352, 0, 353, 0, 354,
355, 356, 0, 357, 358, 359, 360, 361, 0, 362,
0, 0, 0, 365, 366, 0, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 2733, 377, 378, 379,
380, 381, 382, 383, 384, 0, 385, 386, 2734, 388,
389, 390, 391, 886, 887, 0, 888, 0, 395, 396,
397, 398, 399, 889, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 411, 412, 413, 414, 415, 416,
417, 0, 0, 418, 0, 420, 421, 422, 0, 423,
424, 425, 0, 0, 426, 427, 428, 429, 430, 431,
432, 433, 434, 435, 0, 437, 438, 439, 440, 441,
442, 443, 444, 890, 446, 891, 448, 449, 450, 451,
452, 453, 454, 455, 0, 0, 458, 0, 459, 460,
461, 462, 0, 0, 464, 892, 466, 467, 468, 0,
469, 470, 471, 0, 0, 472, 473, 474, 0, 0,
475, 476, 2736, 478, 479, 480, 0, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 0, 493,
494, 495, 0, 497, 0, 499, 500, 501, 0, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
893, 514, 515, 516, 517, 0, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 0,
531, 532, 533, 534, 535, 536, 537, 538, 0, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 0,
550, 551, 552, 553, 554, 0, 555, 556, 2737, 558,
559, 560, 561, 562, 895, 564, 0, 565, 566, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 0, 581, 0, 582, 583, 0, 0, 584,
585, 586, 587, 588, 589, 590, 591, 0, 592, 896,
897, 0, 0, 595, 596, 0, 598, 0, 0, 600,
601, 602, 603, 604, 605, 606, 607, 608, 0, 0,
609, 610, 611, 612, 613, 0, 0, 614, 615, 616,
617, 618, 0, 898, 2738, 621, 622, 623, 624, 625,
626, 0, 0, 627, 0, 0, 628, 629, 630, 631,
632, 633, 234, 0, 1266, 714, 0, 1267, 1268, 1269,
775, 1270, 0, 645, 646, 647, 0, 0, 0, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
0, 244, 245, 246, 0, 0, 0, 0, 1271, 3964,
0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
255, 256, 257, 258, 1272, 260, 1273, 1274, 0, 263,
264, 265, 266, 267, 268, 269, 1275, 1276, 270, 271,
1277, 1278, 274, 0, 275, 276, 277, 278, 1279, 0,
1280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 298, 299, 300, 301, 1281, 1282, 1283, 1284, 1285,
1286, 1287, 303, 304, 305, 306, 307, 308, 1288, 1289,
311, 1290, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
884, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 0, 337, 338, 339, 340, 1291, 342,
343, 344, 345, 1292, 1293, 347, 0, 348, 349, 350,
1294, 352, 0, 353, 0, 354, 355, 356, 0, 357,
358, 359, 360, 361, 0, 362, 1295, 0, 1296, 365,
366, 0, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 0, 377, 378, 379, 380, 381, 382, 383,
384, 0, 385, 386, 387, 388, 389, 390, 391, 1297,
1298, 0, 1299, 0, 395, 396, 397, 398, 399, 1300,
1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 409, 1309,
411, 412, 413, 414, 415, 416, 417, 0, 0, 418,
1310, 420, 421, 422, 0, 423, 424, 425, 1311, 1312,
426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
1313, 437, 438, 439, 440, 441, 442, 443, 444, 1314,
446, 1315, 448, 449, 450, 451, 452, 453, 454, 455,
456, 1316, 458, 1317, 459, 460, 461, 462, 1318, 1319,
464, 1320, 466, 467, 468, 0, 469, 470, 471, 0,
0, 1321, 473, 474, 0, 0, 475, 476, 477, 478,
479, 480, 1322, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 0, 493, 494, 495, 1323, 497,
498, 499, 500, 501, 0, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 1324, 514, 515, 516,
517, 0, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 3290, 531, 532, 533, 534,
535, 536, 537, 538, 1325, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 40, 550, 551, 552, 553,
554, 1326, 555, 556, 557, 558, 559, 560, 561, 562,
1327, 564, 0, 565, 566, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 1328, 581,
0, 582, 583, 1329, 44, 584, 585, 586, 587, 588,
589, 590, 591, 0, 592, 1330, 1331, 0, 0, 595,
596, 1332, 598, 1333, 1334, 600, 601, 602, 603, 604,
605, 606, 607, 608, 0, 1335, 609, 610, 611, 612,
613, 1336, 0, 614, 615, 616, 617, 618, 1202, 1337,
0, 621, 622, 623, 624, 625, 626, 0, 0, 627,
0, 49, 628, 629, 630, 631, 632, 633, 634, 1338,
1339, 1340, 1341, 639, 1342, 1343, 1344, 1345, 644, 645,
646, 647, 0, 1346, 0, 50, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1347, 1348, 0, 0, 0,
234, 0, 1266, 714, 1350, 1267, 1268, 1269, 775, 1270,
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, 1271, 0, 0, 247,
248, 249, 0, 250, 251, 252, 253, 254, 255, 256,
257, 258, 1272, 260, 1273, 1274, 0, 263, 264, 265,
266, 267, 268, 269, 1275, 1276, 270, 271, 1277, 1278,
274, 0, 275, 276, 277, 278, 1279, 0, 1280, 0,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, 0, 292, 293, 294, 295, 296, 297, 0, 298,
299, 300, 301, 1281, 1282, 1283, 1284, 1285, 1286, 1287,
303, 304, 305, 306, 307, 308, 1288, 1289, 311, 1290,
312, 0, 313, 314, 315, 316, 317, 318, 319, 0,
320, 321, 322, 323, 0, 0, 324, 325, 884, 327,
328, 0, 329, 330, 331, 332, 0, 333, 334, 335,
336, 0, 337, 338, 339, 340, 1291, 342, 343, 344,
345, 1292, 1293, 347, 0, 348, 349, 350, 1294, 352,
0, 353, 0, 354, 355, 356, 0, 357, 358, 359,
360, 361, 0, 362, 1295, 0, 1296, 365, 366, 0,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
0, 377, 378, 379, 380, 381, 382, 383, 384, 0,
385, 386, 387, 388, 389, 390, 391, 1297, 1298, 0,
1299, 0, 395, 396, 397, 398, 399, 1300, 1301, 1302,
1303, 1304, 1305, 1306, 1307, 1308, 409, 1309, 411, 412,
413, 414, 415, 416, 417, 0, 0, 418, 1310, 420,
421, 422, 0, 423, 424, 425, 1311, 1312, 426, 427,
428, 429, 430, 431, 432, 433, 434, 435, 1313, 437,
438, 439, 440, 441, 442, 443, 444, 1314, 446, 1315,
448, 449, 450, 451, 452, 453, 454, 455, 456, 1316,
458, 1317, 459, 460, 461, 462, 1318, 1319, 464, 1320,
466, 467, 468, 0, 469, 470, 471, 0, 0, 1321,
473, 474, 0, 0, 475, 476, 477, 478, 479, 480,
1322, 482, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 0, 493, 494, 495, 1323, 497, 498, 499,
500, 501, 0, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 1324, 514, 515, 516, 517, 0,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 0, 531, 532, 533, 534, 535, 536,
537, 538, 1325, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 40, 550, 551, 552, 553, 554, 1326,
555, 556, 557, 558, 559, 560, 561, 562, 1327, 564,
0, 565, 566, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 1328, 581, 0, 582,
583, 1329, 44, 584, 585, 586, 587, 588, 589, 590,
591, 0, 592, 1330, 1331, 0, 0, 595, 596, 1332,
598, 1333, 1334, 600, 601, 602, 603, 604, 605, 606,
607, 608, 0, 1335, 609, 610, 611, 612, 613, 1336,
0, 614, 615, 616, 617, 618, 1202, 1337, 0, 621,
622, 623, 624, 625, 626, 0, 0, 627, 0, 49,
628, 629, 630, 631, 632, 633, 634, 1338, 1339, 1340,
1341, 639, 1342, 1343, 1344, 1345, 644, 645, 646, 647,
0, 1346, 0, 50, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1347, 1348, 0, 0, 0, 234, 0,
1266, 714, 1350, 1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 254, 255, 256, 257, 258,
1272, 260, 1273, 1274, 3335, 263, 264, 265, 266, 267,
268, 269, 1275, 1276, 270, 271, 1277, 1278, 274, 0,
275, 276, 277, 278, 1279, 0, 1280, 0, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 0,
292, 293, 294, 295, 296, 297, 0, 298, 299, 300,
301, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 303, 304,
305, 306, 307, 308, 1288, 1289, 311, 1290, 312, 0,
313, 314, 315, 316, 317, 318, 319, 0, 320, 321,
322, 323, 0, 0, 324, 325, 884, 327, 328, 0,
329, 330, 331, 332, 0, 333, 334, 335, 336, 0,
337, 338, 339, 340, 1291, 342, 343, 344, 345, 1292,
1293, 347, 0, 348, 349, 350, 1294, 352, 0, 353,
0, 354, 355, 356, 3336, 357, 358, 359, 360, 361,
0, 362, 1295, 0, 1296, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 0, 377,
378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
387, 388, 389, 390, 391, 1297, 1298, 0, 1299, 0,
395, 396, 397, 398, 399, 1300, 1301, 1302, 1303, 1304,
1305, 1306, 1307, 1308, 409, 1309, 411, 412, 413, 414,
415, 416, 417, 0, 3337, 418, 1310, 420, 421, 422,
0, 423, 424, 425, 1311, 1312, 426, 427, 428, 429,
430, 431, 432, 433, 434, 435, 1313, 437, 438, 439,
440, 441, 442, 443, 444, 1314, 446, 1315, 448, 449,
450, 451, 452, 453, 454, 455, 456, 1316, 458, 1317,
459, 460, 461, 462, 1318, 1319, 464, 1320, 466, 467,
468, 0, 469, 470, 471, 0, 0, 1321, 473, 474,
0, 0, 475, 476, 477, 478, 479, 480, 1322, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
0, 493, 494, 495, 1323, 497, 498, 499, 500, 501,
0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 1324, 514, 515, 516, 517, 0, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 538,
1325, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 0, 550, 551, 552, 553, 554, 1326, 555, 556,
557, 558, 559, 560, 561, 562, 1327, 564, 0, 565,
566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 1328, 581, 0, 582, 583, 1329,
0, 584, 585, 586, 587, 588, 589, 590, 591, 0,
592, 1330, 1331, 0, 3338, 595, 596, 1332, 598, 1333,
1334, 600, 601, 602, 603, 604, 605, 606, 607, 608,
0, 1335, 609, 610, 611, 612, 613, 1336, 0, 614,
615, 616, 617, 618, 619, 1337, 0, 621, 622, 623,
624, 625, 626, 0, 0, 627, 0, 0, 628, 629,
630, 631, 632, 633, 634, 1338, 1339, 1340, 1341, 639,
1342, 1343, 1344, 1345, 644, 645, 646, 647, 0, 1346,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1347, 1348, 0, 0, 0, 234, 0, 1266, 714,
1350, 1267, 1268, 1269, 775, 1270, 0, 0, 0, 0,
0, 0, 0, 0, 0, 235, 236, 237, 238, 239,
240, 241, 242, 243, -2273, 244, 245, 246, 0, 0,
0, -2273, 1271, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 258, 1272, 260,
1273, 1274, 0, 263, 264, 265, 266, 267, 268, 269,
1275, 1276, 270, 271, 1277, 1278, 274, 0, 275, 276,
277, 278, 1279, 0, 1280, 0, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 298, 299, 300, 301, 1281,
1282, 1283, 1284, 1285, 1286, 1287, 303, 304, 305, 306,
307, 308, 1288, 1289, 311, 1290, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 884, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 0, 337, 338,
339, 340, 1291, 342, 343, 344, 345, 1292, 1293, 347,
0, 348, 349, 350, 1294, 352, 0, 353, 0, 354,
355, 356, 0, 357, 358, 359, 360, 361, 0, 362,
1295, 0, 1296, 365, 366, 0, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 0, 377, 378, 379,
380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
389, 390, 391, 1297, 1298, 0, 1299, 0, 395, 396,
397, 398, 399, 1300, 1301, 1302, 1303, 1304, 1305, 1306,
1307, 1308, 409, 1309, 411, 412, 413, 414, 415, 416,
417, 0, 0, 418, 1310, 420, 421, 422, 0, 423,
424, 425, 1311, 1312, 426, 427, 428, 429, 430, 431,
432, 433, 434, 435, 1313, 437, 438, 439, 440, 441,
442, 443, 444, 1314, 446, 1315, 448, 449, 450, 451,
452, 453, 454, 455, 456, 1316, 458, 1317, 459, 460,
461, 462, 1318, 1319, 464, 1320, 466, 467, 468, 0,
469, 470, 471, 0, 0, 1321, 473, 474, 0, 0,
475, 476, 477, 478, 479, 480, 1322, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 0, 493,
494, 495, 1323, 497, 498, 499, 500, 501, 0, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
1324, 514, 515, 516, 517, 0, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 0,
531, 532, 533, 534, 535, 536, 537, 538, 1325, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 0,
550, 551, 552, 553, 554, 1326, 555, 556, 557, 558,
559, 560, 561, 562, 1327, 564, -2273, 565, 566, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 1328, 581, 0, 582, 583, 1329, 0, 584,
585, 586, 587, 588, 589, 590, 591, 0, 592, 1330,
1331, 0, 0, 595, 596, 1332, 598, 1333, 1334, 600,
601, 602, 603, 604, 605, 606, 607, 608, 0, 1335,
609, 610, 611, 612, 613, 1336, 0, 614, 615, 616,
617, 618, 619, 1337, 0, 621, 622, 623, 624, 625,
626, 0, 0, 627, 0, 0, 628, 629, 630, 631,
632, 633, 634, 1338, 1339, 1340, 1341, 639, 1342, 1343,
1344, 1345, 644, 645, 646, 647, 0, 1346, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1347,
1348, 0, 0, 0, 234, 0, 1266, 714, 1350, 1267,
1268, 1269, 775, 1270, 0, 0, 0, 0, 0, 0,
0, 0, 0, 235, 236, 237, 238, 239, 240, 241,
242, 243, -2271, 244, 245, 246, 0, 0, 0, -2271,
1271, 0, 0, 247, 248, 249, 0, 250, 251, 252,
253, 254, 255, 256, 257, 258, 1272, 260, 1273, 1274,
0, 263, 264, 265, 266, 267, 268, 269, 1275, 1276,
270, 271, 1277, 1278, 274, 0, 275, 276, 277, 278,
1279, 0, 1280, 0, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 0, 292, 293, 294, 295,
296, 297, 0, 298, 299, 300, 301, 1281, 1282, 1283,
1284, 1285, 1286, 1287, 303, 304, 305, 306, 307, 308,
1288, 1289, 311, 1290, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 884, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 0, 337, 338, 339, 340,
1291, 342, 343, 344, 345, 1292, 1293, 347, 0, 348,
349, 350, 1294, 352, 0, 353, 0, 354, 355, 356,
0, 357, 358, 359, 360, 361, 0, 362, 1295, 0,
1296, 365, 366, 0, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 0, 377, 378, 379, 380, 381,
382, 383, 384, 0, 385, 386, 387, 388, 389, 390,
391, 1297, 1298, 0, 1299, 0, 395, 396, 397, 398,
399, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308,
409, 1309, 411, 412, 413, 414, 415, 416, 417, 0,
0, 418, 1310, 420, 421, 422, 0, 423, 424, 425,
1311, 1312, 426, 427, 428, 429, 430, 431, 432, 433,
434, 435, 1313, 437, 438, 439, 440, 441, 442, 443,
444, 1314, 446, 1315, 448, 449, 450, 451, 452, 453,
454, 455, 456, 1316, 458, 1317, 459, 460, 461, 462,
1318, 1319, 464, 1320, 466, 467, 468, 0, 469, 470,
471, 0, 0, 1321, 473, 474, 0, 0, 475, 476,
477, 478, 479, 480, 1322, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 0, 493, 494, 495,
1323, 497, 498, 499, 500, 501, 0, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 1324, 514,
515, 516, 517, 0, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 0, 531, 532,
533, 534, 535, 536, 537, 538, 1325, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 0, 550, 551,
552, 553, 554, 1326, 555, 556, 557, 558, 559, 560,
561, 562, 1327, 564, -2271, 565, 566, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
1328, 581, 0, 582, 583, 1329, 0, 584, 585, 586,
587, 588, 589, 590, 591, 0, 592, 1330, 1331, 0,
0, 595, 596, 1332, 598, 1333, 1334, 600, 601, 602,
603, 604, 605, 606, 607, 608, 0, 1335, 609, 610,
611, 612, 613, 1336, 0, 614, 615, 616, 617, 618,
619, 1337, 0, 621, 622, 623, 624, 625, 626, 0,
0, 627, 0, 0, 628, 629, 630, 631, 632, 633,
634, 1338, 1339, 1340, 1341, 639, 1342, 1343, 1344, 1345,
644, 645, 646, 647, 0, 1346, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1347, 1348, 0,
0, 0, 234, 0, 1266, 714, 1350, 1267, 1268, 1269,
775, 1270, 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, 1271, 0,
0, 247, 248, 249, 0, 250, 251, 252, 253, 254,
255, 256, 257, 258, 1272, 260, 1273, 1274, 0, 263,
264, 265, 266, 267, 268, 269, 1275, 1276, 270, 271,
1277, 1278, 274, 0, 275, 276, 277, 278, 1279, 0,
1280, 0, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 0, 292, 293, 294, 295, 296, 297,
0, 298, 299, 300, 301, 1281, 1282, 1283, 1284, 1285,
1286, 1287, 303, 304, 305, 306, 307, 308, 1288, 1289,
311, 1290, 312, 0, 313, 314, 315, 316, 317, 318,
319, 0, 320, 321, 322, 323, 0, 0, 324, 325,
884, 327, 328, 0, 329, 330, 331, 332, 0, 333,
334, 335, 336, 0, 337, 338, 339, 340, 1291, 342,
343, 344, 345, 1292, 1293, 347, 0, 348, 349, 350,
1294, 352, 0, 353, 0, 354, 355, 356, 0, 357,
358, 359, 360, 361, 0, 362, 1295, 0, 1296, 365,
366, 0, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 0, 377, 378, 379, 380, 381, 382, 383,
384, 0, 385, 386, 387, 388, 389, 390, 391, 1297,
1298, 0, 1299, 0, 395, 396, 397, 398, 399, 1300,
1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 409, 1309,
411, 412, 413, 414, 415, 416, 417, 0, 0, 418,
1310, 420, 421, 422, 0, 423, 424, 425, 1311, 1312,
426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
1313, 437, 438, 439, 440, 441, 442, 443, 444, 1314,
446, 1315, 448, 449, 450, 451, 452, 453, 454, 455,
456, 1316, 458, 1317, 459, 460, 461, 462, 1318, 1319,
464, 1320, 466, 467, 468, 0, 469, 470, 471, 0,
0, 1321, 473, 474, 0, 0, 475, 476, 477, 478,
479, 480, 1322, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 0, 493, 494, 495, 1323, 497,
498, 499, 500, 501, 0, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 1324, 514, 515, 516,
517, 0, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 0, 531, 532, 533, 534,
535, 536, 537, 538, 1325, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 0, 550, 551, 552, 553,
554, 1326, 555, 556, 557, 558, 559, 560, 561, 562,
1327, 564, 0, 565, 566, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 1328, 581,
0, 582, 583, 1329, 0, 584, 585, 586, 587, 588,
589, 590, 591, 0, 592, 1330, 1331, 0, 0, 595,
596, 1332, 598, 1333, 1334, 600, 601, 602, 603, 604,
605, 606, 607, 608, 0, 1335, 609, 610, 611, 612,
613, 1336, 0, 614, 615, 616, 617, 618, 619, 1337,
0, 621, 622, 623, 624, 625, 626, 0, 0, 627,
0, 0, 628, 629, 630, 631, 632, 633, 634, 1338,
1339, 1340, 1341, 639, 1342, 1343, 1344, 1345, 644, 645,
646, 647, 0, 1346, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1347, 1348, 0, 0, 0,
0, 0, 2051, 3263, 1350, 234, 0, 1266, 714, 0,
1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 254, 255, 256, 257, 258, 1272, 260, 1273,
1274, 0, 263, 264, 265, 266, 267, 268, 269, 1275,
1276, 270, 271, 1277, 1278, 274, 0, 275, 276, 277,
278, 1279, 0, 1280, 0, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 298, 299, 300, 301, 1281, 1282,
1283, 1284, 1285, 1286, 1287, 303, 304, 305, 306, 307,
308, 1288, 1289, 311, 1290, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 884, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 0, 337, 338, 339,
340, 1291, 342, 343, 344, 345, 1292, 1293, 347, 0,
348, 349, 350, 1294, 352, 0, 353, 0, 354, 355,
356, 0, 357, 358, 359, 360, 361, 0, 362, 1295,
0, 1296, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
390, 391, 1297, 1298, 0, 1299, 0, 395, 396, 397,
398, 399, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
1308, 409, 1309, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 1310, 420, 421, 422, 0, 423, 424,
425, 1311, 1312, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 1313, 437, 438, 439, 440, 441, 442,
443, 444, 1314, 446, 1315, 448, 449, 450, 451, 452,
453, 454, 455, 456, 1316, 458, 1317, 459, 460, 461,
462, 1318, 1319, 464, 1320, 466, 467, 468, 0, 469,
470, 471, 0, 0, 1321, 473, 474, 0, 0, 475,
476, 477, 478, 479, 480, 1322, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 1323, 497, 498, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 1324,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 538, 1325, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 1326, 555, 556, 557, 558, 559,
560, 561, 562, 1327, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 1328, 581, 0, 582, 583, 1329, 0, 584, 585,
586, 587, 588, 589, 590, 591, 0, 592, 1330, 1331,
0, 0, 595, 596, 1332, 598, 1333, 1334, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 1335, 609,
610, 611, 612, 613, 1336, 0, 614, 615, 616, 617,
618, 619, 1337, 0, 621, 622, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 634, 1338, 1339, 1340, 1341, 639, 1342, 1343, 1344,
1345, 644, 645, 646, 647, 0, 1346, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1347, 1348,
1349, 0, 0, 234, 0, 1266, 714, 1350, 1267, 1268,
1269, 775, 1270, 0, 0, 0, 0, 0, 0, 0,
0, 0, 235, 236, 237, 238, 239, 240, 241, 242,
243, 2700, 244, 245, 246, 0, 0, 0, 0, 1271,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
254, 255, 256, 257, 258, 1272, 260, 1273, 1274, 0,
263, 264, 265, 266, 267, 268, 269, 1275, 1276, 270,
271, 1277, 1278, 274, 0, 275, 276, 277, 278, 1279,
0, 1280, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 1281, 1282, 1283, 1284,
1285, 1286, 1287, 303, 304, 305, 306, 307, 308, 1288,
1289, 311, 1290, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 884, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 0, 337, 338, 339, 340, 1291,
342, 343, 344, 345, 1292, 1293, 347, 0, 348, 349,
350, 1294, 352, 0, 353, 0, 354, 355, 356, 0,
357, 358, 359, 360, 361, 0, 362, 1295, 0, 1296,
365, 366, 0, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
1297, 1298, 0, 1299, 0, 395, 396, 397, 398, 399,
1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 409,
1309, 411, 412, 413, 414, 415, 416, 417, 0, 0,
418, 1310, 420, 421, 422, 0, 423, 424, 425, 1311,
1312, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 1313, 437, 438, 439, 440, 441, 442, 443, 444,
1314, 446, 1315, 448, 449, 450, 451, 452, 453, 454,
455, 456, 1316, 458, 1317, 459, 460, 461, 462, 1318,
1319, 464, 1320, 466, 467, 468, 0, 469, 470, 471,
0, 0, 1321, 473, 474, 0, 0, 475, 476, 477,
478, 479, 480, 1322, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 0, 493, 494, 495, 1323,
497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 1324, 514, 515,
516, 517, 0, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 538, 1325, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 0, 550, 551, 552,
553, 554, 1326, 555, 556, 557, 558, 559, 560, 561,
562, 1327, 564, 0, 565, 566, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 1328,
581, 0, 582, 583, 1329, 0, 584, 585, 586, 587,
588, 589, 590, 591, 0, 592, 1330, 1331, 0, 0,
595, 596, 1332, 598, 1333, 1334, 600, 601, 602, 603,
604, 605, 606, 607, 608, 0, 1335, 609, 610, 611,
612, 613, 1336, 0, 614, 615, 616, 617, 618, 619,
1337, 0, 621, 622, 623, 624, 625, 626, 0, 0,
627, 0, 0, 628, 629, 630, 631, 632, 633, 634,
1338, 1339, 1340, 1341, 639, 1342, 1343, 1344, 1345, 644,
645, 646, 647, 0, 1346, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1347, 1348, 0, 0,
0, 234, 0, 1266, 714, 1350, 1267, 1268, 1269, 775,
1270, 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, 1271, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 1272, 260, 1273, 1274, 0, 263, 264,
265, 266, 267, 268, 269, 1275, 1276, 270, 271, 1277,
1278, 274, 0, 275, 276, 277, 278, 1279, 0, 1280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 1281, 1282, 1283, 1284, 1285, 1286,
1287, 303, 304, 305, 306, 307, 308, 1288, 1289, 311,
1290, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 884,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 0, 337, 338, 339, 340, 1291, 342, 343,
344, 345, 1292, 1293, 347, 0, 348, 349, 350, 1294,
352, 0, 353, 0, 354, 355, 356, 0, 357, 358,
359, 360, 361, 0, 362, 1295, 0, 1296, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
0, 385, 386, 387, 388, 389, 390, 391, 1297, 1298,
0, 1299, 0, 395, 396, 397, 398, 399, 1300, 1301,
1302, 1303, 1304, 1305, 1306, 1307, 1308, 409, 1309, 411,
412, 413, 414, 415, 416, 417, 0, 0, 418, 1310,
420, 421, 422, 0, 423, 424, 425, 1311, 1312, 426,
427, 428, 429, 430, 431, 432, 433, 434, 435, 1313,
437, 438, 439, 440, 441, 442, 443, 444, 1314, 446,
1315, 448, 449, 450, 451, 452, 453, 454, 455, 456,
1316, 458, 1317, 459, 460, 461, 462, 1318, 1319, 464,
1320, 466, 467, 468, 0, 469, 470, 471, 0, 0,
1321, 473, 474, 0, 0, 475, 476, 477, 478, 479,
480, 1322, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 0, 493, 494, 495, 1323, 497, 498,
499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 1324, 514, 515, 516, 517,
0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 3290, 531, 532, 533, 534, 535,
536, 537, 538, 1325, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 0, 550, 551, 552, 553, 554,
1326, 555, 556, 557, 558, 559, 560, 561, 562, 1327,
564, 0, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 1328, 581, 0,
582, 583, 1329, 0, 584, 585, 586, 587, 588, 589,
590, 591, 0, 592, 1330, 1331, 0, 0, 595, 596,
1332, 598, 1333, 1334, 600, 601, 602, 603, 604, 605,
606, 607, 608, 0, 1335, 609, 610, 611, 612, 613,
1336, 0, 614, 615, 616, 617, 618, 619, 1337, 0,
621, 622, 623, 624, 625, 626, 0, 0, 627, 0,
0, 628, 629, 630, 631, 632, 633, 634, 1338, 1339,
1340, 1341, 639, 1342, 1343, 1344, 1345, 644, 645, 646,
647, 0, 1346, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1347, 1348, 0, 0, 0, 234,
0, 1266, 714, 1350, 1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
258, 1272, 260, 1273, 1274, 0, 263, 264, 265, 266,
267, 268, 269, 1275, 1276, 270, 271, 1277, 1278, 274,
0, 275, 276, 277, 278, 1279, 0, 1280, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 303,
304, 305, 306, 307, 308, 1288, 1289, 311, 1290, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 884, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
0, 337, 338, 339, 340, 1291, 342, 343, 344, 345,
1292, 1293, 347, 0, 348, 349, 350, 1294, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 1295, 0, 1296, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 1297, 1298, 0, 1299,
0, 395, 396, 397, 398, 399, 1300, 1301, 1302, 1303,
1304, 1305, 1306, 1307, 1308, 409, 1309, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 1310, 420, 421,
422, 0, 423, 424, 425, 1311, 1312, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 1313, 437, 438,
439, 440, 441, 442, 443, 444, 1314, 446, 1315, 448,
449, 450, 451, 452, 453, 454, 455, 456, 1316, 458,
1317, 459, 460, 461, 462, 1318, 1319, 464, 1320, 466,
467, 468, 0, 469, 470, 471, 0, 0, 1321, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 1322,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 1323, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 1324, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 1325, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 1326, 555,
556, 557, 558, 559, 560, 561, 562, 1327, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 1328, 581, 0, 582, 583,
1329, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 1330, 1331, 0, 0, 595, 596, 1332, 598,
1333, 1334, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 1335, 609, 610, 611, 612, 613, 1336, 0,
614, 615, 616, 617, 618, 619, 1337, 3843, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 1338, 1339, 1340, 1341,
639, 1342, 1343, 1344, 1345, 644, 645, 646, 647, 0,
1346, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1347, 1348, 0, 0, 0, 234, 0, 1266,
714, 1350, 1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 258, 1272,
260, 1273, 1274, 0, 263, 264, 265, 266, 267, 268,
269, 1275, 1276, 270, 271, 1277, 1278, 274, 0, 275,
276, 277, 278, 1279, 0, 1280, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 301,
1281, 1282, 1283, 1284, 1285, 1286, 1287, 303, 304, 305,
306, 307, 308, 1288, 1289, 311, 1290, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 884, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 0, 337,
338, 339, 340, 1291, 342, 343, 344, 345, 1292, 1293,
347, 0, 348, 349, 350, 1294, 352, 0, 353, 0,
354, 355, 356, 3336, 357, 358, 359, 360, 361, 0,
362, 1295, 0, 1296, 365, 366, 0, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 0, 377, 378,
379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
388, 389, 390, 391, 1297, 1298, 0, 1299, 0, 395,
396, 397, 398, 399, 1300, 1301, 1302, 1303, 1304, 1305,
1306, 1307, 1308, 409, 1309, 411, 412, 413, 414, 415,
416, 417, 0, 0, 418, 1310, 420, 421, 422, 0,
423, 424, 425, 1311, 1312, 426, 427, 428, 429, 430,
431, 432, 433, 434, 435, 1313, 437, 438, 439, 440,
441, 442, 443, 444, 1314, 446, 1315, 448, 449, 450,
451, 452, 453, 454, 455, 456, 1316, 458, 1317, 459,
460, 461, 462, 1318, 1319, 464, 1320, 466, 467, 468,
0, 469, 470, 471, 0, 0, 1321, 473, 474, 0,
0, 475, 476, 477, 478, 479, 480, 1322, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 0,
493, 494, 495, 1323, 497, 498, 499, 500, 501, 0,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 1324, 514, 515, 516, 517, 0, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
0, 531, 532, 533, 534, 535, 536, 537, 538, 1325,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
0, 550, 551, 552, 553, 554, 1326, 555, 556, 557,
558, 559, 560, 561, 562, 1327, 564, 0, 565, 566,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 1328, 581, 0, 582, 583, 1329, 0,
584, 585, 586, 587, 588, 589, 590, 591, 0, 592,
1330, 1331, 0, 0, 595, 596, 1332, 598, 1333, 1334,
600, 601, 602, 603, 604, 605, 606, 607, 608, 0,
1335, 609, 610, 611, 612, 613, 1336, 0, 614, 615,
616, 617, 618, 619, 1337, 0, 621, 622, 623, 624,
625, 626, 0, 0, 627, 0, 0, 628, 629, 630,
631, 632, 633, 634, 1338, 1339, 1340, 1341, 639, 1342,
1343, 1344, 1345, 644, 645, 646, 647, 0, 1346, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1347, 1348, 0, 0, 0, 234, 0, 1266, 714, 1350,
1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 254, 255, 256, 257, 258, 1272, 260, 1273,
1274, 0, 263, 264, 265, 266, 267, 268, 269, 1275,
1276, 270, 271, 1277, 1278, 274, 0, 275, 276, 277,
278, 1279, 0, 1280, 0, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 298, 299, 300, 301, 1281, 1282,
1283, 1284, 1285, 1286, 1287, 303, 304, 305, 306, 307,
308, 1288, 1289, 311, 1290, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 884, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 0, 337, 338, 339,
340, 1291, 342, 343, 344, 345, 1292, 1293, 347, 0,
348, 349, 350, 1294, 352, 0, 353, 0, 354, 355,
356, 0, 357, 358, 359, 360, 361, 0, 362, 1295,
0, 1296, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
390, 391, 1297, 1298, 0, 1299, 0, 395, 396, 397,
398, 399, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
1308, 409, 1309, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 1310, 420, 421, 422, 0, 423, 424,
425, 1311, 1312, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 1313, 437, 438, 439, 440, 441, 442,
443, 444, 1314, 446, 1315, 448, 449, 450, 451, 452,
453, 454, 455, 456, 1316, 458, 1317, 459, 460, 461,
462, 1318, 1319, 464, 1320, 466, 467, 468, 0, 469,
470, 471, 0, 0, 1321, 473, 474, 0, 0, 475,
476, 477, 478, 479, 480, 1322, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 1323, 497, 498, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 1324,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 538, 1325, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 1326, 555, 556, 557, 558, 559,
560, 561, 562, 1327, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 1328, 581, 0, 582, 583, 1329, 0, 584, 585,
586, 587, 588, 589, 590, 591, 0, 592, 1330, 1331,
3394, 0, 595, 596, 1332, 598, 1333, 1334, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 1335, 609,
610, 611, 612, 613, 1336, 0, 614, 615, 616, 617,
618, 619, 1337, 0, 621, 622, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 634, 1338, 1339, 1340, 1341, 639, 1342, 1343, 1344,
1345, 644, 645, 646, 647, 0, 1346, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1347, 1348,
0, 0, 0, 234, 0, 1266, 714, 1350, 1267, 1268,
1269, 775, 1270, 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, 1271,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
254, 255, 256, 257, 258, 1272, 260, 1273, 1274, 0,
263, 264, 265, 266, 267, 268, 269, 1275, 1276, 270,
271, 1277, 1278, 274, 0, 275, 276, 277, 278, 1279,
0, 1280, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 1281, 1282, 1283, 1284,
1285, 1286, 1287, 303, 304, 305, 306, 307, 308, 1288,
1289, 311, 1290, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 884, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 0, 337, 338, 339, 340, 1291,
342, 343, 344, 345, 1292, 1293, 347, 0, 348, 349,
350, 1294, 352, 0, 353, 0, 354, 355, 356, 0,
357, 358, 359, 360, 361, 0, 362, 1295, 0, 1296,
365, 366, 0, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
1297, 1298, 0, 1299, 0, 395, 396, 397, 398, 399,
1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 409,
1309, 411, 412, 413, 414, 415, 416, 417, 0, 0,
418, 1310, 420, 421, 422, 0, 423, 424, 425, 1311,
1312, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 1313, 437, 438, 439, 440, 441, 442, 443, 444,
1314, 446, 1315, 448, 449, 450, 451, 452, 453, 454,
455, 456, 1316, 458, 1317, 459, 460, 461, 462, 1318,
1319, 464, 1320, 466, 467, 468, 0, 469, 470, 471,
0, 0, 1321, 473, 474, 0, 0, 475, 476, 477,
478, 479, 480, 1322, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 0, 493, 494, 495, 1323,
497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 1324, 514, 515,
516, 517, 0, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 538, 1325, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 0, 550, 551, 552,
553, 554, 1326, 555, 556, 557, 558, 559, 560, 561,
562, 1327, 564, 0, 565, 566, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 1328,
581, 0, 582, 583, 1329, 0, 584, 585, 586, 587,
588, 589, 590, 591, 0, 592, 1330, 1331, 0, 0,
595, 596, 1332, 598, 1333, 1334, 600, 601, 602, 603,
604, 605, 606, 607, 608, 0, 1335, 609, 610, 611,
612, 613, 1336, 0, 614, 615, 616, 617, 618, 619,
1337, 0, 621, 622, 623, 624, 625, 626, 0, 0,
627, 0, 0, 628, 629, 630, 631, 632, 633, 634,
1338, 1339, 1340, 1341, 639, 1342, 1343, 1344, 1345, 644,
645, 646, 647, 0, 1346, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1347, 1348, 0, 0,
0, 234, 0, 1266, 714, 1350, 1267, 1268, 1269, 775,
1270, 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, 1271, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 1272, 260, 1273, 1274, 0, 263, 264,
265, 266, 267, 268, 269, 1275, 1276, 270, 271, 1277,
1278, 274, 0, 275, 276, 277, 278, 1279, 0, 1280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 1281, 1282, 1283, 1284, 1285, 1286,
1287, 303, 304, 305, 306, 307, 308, 1288, 1289, 311,
1290, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 884,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 0, 337, 338, 339, 340, 1291, 342, 343,
344, 345, 1292, 1293, 347, 0, 348, 349, 350, 1294,
352, 0, 353, 0, 354, 355, 356, 0, 357, 358,
359, 360, 361, 0, 362, 1295, 0, 1296, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
0, 385, 386, 387, 388, 389, 390, 391, 1297, 1298,
0, 1299, 0, 395, 396, 397, 398, 399, 1300, 1301,
1302, 1303, 1304, 1305, 1306, 1307, 1308, 409, 1309, 411,
412, 413, 414, 415, 416, 417, 0, 0, 418, 1310,
420, 421, 422, 0, 423, 424, 425, 1311, 1312, 426,
427, 428, 429, 430, 431, 432, 433, 434, 435, 1313,
437, 438, 439, 440, 441, 442, 443, 444, 1314, 446,
1315, 448, 449, 450, 451, 452, 453, 454, 455, 456,
1316, 458, 1317, 459, 460, 461, 462, 1318, 1319, 464,
1320, 466, 467, 468, 0, 469, 470, 471, 0, 0,
1321, 473, 474, 0, 0, 475, 476, 477, 478, 479,
480, 1322, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 0, 493, 494, 495, 1323, 497, 498,
499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 1324, 514, 515, 516, 517,
0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 538, 1325, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 0, 550, 551, 552, 553, 554,
1326, 555, 556, 557, 558, 559, 560, 561, 562, 1327,
564, 0, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 1328, 581, 0,
582, 583, 1329, 0, 584, 585, 586, 587, 588, 589,
590, 591, 0, 592, 1330, 1331, 0, 0, 595, 596,
1332, 598, 1333, 1334, 600, 601, 602, 603, 604, 605,
606, 607, 608, 0, 1335, 609, 610, 611, 612, 613,
1336, 0, 614, 615, 616, 617, 618, 619, 1337, 0,
621, 622, 623, 624, 625, 626, 0, 0, 627, 0,
0, 628, 629, 630, 631, 632, 633, 634, 1338, 1339,
1340, 1341, 639, 1342, 1343, 1344, 1345, 644, 645, 646,
647, 0, 1346, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2703, 2704, 0, 0, 0, 234,
0, 3513, 714, 1350, 1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
258, 1272, 260, 1273, 1274, 0, 263, 264, 265, 266,
267, 268, 269, 1275, 1276, 270, 271, 1277, 1278, 274,
0, 275, 276, 277, 278, 1279, 0, 1280, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 303,
304, 305, 306, 307, 308, 1288, 1289, 311, 1290, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 884, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
0, 337, 338, 339, 340, 1291, 342, 343, 344, 345,
1292, 1293, 347, 0, 348, 349, 350, 1294, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 1295, 0, 1296, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 1297, 1298, 0, 1299,
0, 395, 396, 397, 398, 399, 1300, 1301, 1302, 1303,
1304, 1305, 1306, 1307, 1308, 409, 1309, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 1310, 420, 421,
422, 0, 423, 424, 425, 1311, 1312, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 1313, 437, 438,
439, 440, 441, 442, 443, 444, 1314, 446, 1315, 448,
449, 450, 451, 452, 453, 454, 455, 456, 1316, 458,
1317, 459, 460, 461, 462, 1318, 1319, 464, 1320, 466,
467, 468, 0, 469, 470, 471, 0, 0, 1321, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 1322,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 1323, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 1324, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 1325, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 1326, 555,
556, 557, 558, 559, 560, 561, 562, 1327, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 1328, 581, 0, 582, 583,
1329, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 1330, 1331, 0, 0, 595, 596, 1332, 598,
1333, 1334, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 1335, 609, 610, 611, 612, 613, 1336, 0,
614, 615, 616, 617, 618, 619, 1337, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 1338, 1339, 1340, 1341,
639, 1342, 1343, 1344, 1345, 644, 645, 646, 647, 0,
1346, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1347, 1348, 0, 0, 0, 234, 0, 1266,
714, 1350, 1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 258, 1272,
260, 1273, 1274, 0, 263, 264, 265, 266, 267, 268,
269, 1275, 1276, 270, 271, 1277, 1278, 274, 0, 275,
276, 277, 278, 1279, 0, 1280, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 4869,
1281, 1282, 1283, 1284, 1285, 1286, 1287, 303, 304, 305,
306, 307, 308, 1288, 1289, 311, 1290, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 884, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 0, 337,
338, 339, 340, 1291, 342, 343, 344, 345, 1292, 1293,
347, 0, 348, 349, 350, 1294, 352, 0, 353, 0,
354, 355, 356, 0, 357, 358, 359, 360, 361, 0,
362, 1295, 0, 1296, 365, 366, 0, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 0, 377, 378,
379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
388, 389, 390, 391, 1297, 1298, 0, 1299, 0, 395,
396, 397, 398, 399, 1300, 1301, 1302, 1303, 1304, 1305,
1306, 1307, 1308, 409, 1309, 411, 412, 413, 414, 415,
416, 417, 0, 0, 418, 1310, 420, 421, 422, 0,
423, 424, 425, 1311, 1312, 426, 427, 428, 429, 430,
431, 432, 433, 434, 435, 1313, 437, 438, 439, 440,
441, 442, 443, 444, 1314, 446, 1315, 448, 449, 450,
451, 452, 453, 454, 455, 456, 1316, 458, 1317, 459,
460, 461, 462, 1318, 1319, 464, 1320, 466, 467, 468,
0, 469, 470, 471, 0, 0, 1321, 473, 474, 0,
0, 475, 476, 477, 478, 479, 480, 1322, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 0,
493, 494, 495, 1323, 497, 498, 499, 500, 501, 0,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 1324, 514, 515, 516, 517, 0, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
0, 531, 532, 533, 534, 535, 536, 537, 538, 1325,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
0, 550, 551, 552, 553, 554, 1326, 555, 556, 557,
558, 559, 560, 561, 562, 1327, 564, 0, 565, 566,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 1328, 581, 0, 582, 583, 1329, 0,
584, 585, 586, 587, 588, 589, 590, 591, 0, 592,
1330, 1331, 0, 0, 595, 596, 1332, 598, 1333, 1334,
600, 601, 602, 603, 604, 605, 606, 607, 608, 0,
1335, 609, 610, 611, 612, 613, 1336, 0, 614, 615,
616, 617, 618, 619, 1337, 0, 621, 622, 623, 624,
625, 626, 0, 0, 627, 0, 0, 628, 629, 630,
631, 632, 633, 634, 1338, 1339, 1340, 1341, 639, 1342,
1343, 1344, 1345, 644, 645, 646, 647, 0, 1346, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1347, 1348, 0, 0, 0, 234, 0, 1266, 714, 1350,
1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 254, 255, 256, 257, 258, 1272, 260, 1273,
1274, 0, 263, 264, 265, 266, 267, 268, 269, 1275,
1276, 270, 271, 1277, 1278, 274, 0, 275, 276, 277,
278, 1279, 0, 1280, 0, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 298, 299, 300, 301, 1281, 1282,
1283, 1284, 1285, 1286, 1287, 303, 304, 305, 306, 307,
308, 1288, 1289, 311, 1290, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 884, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 0, 337, 338, 339,
340, 1291, 342, 343, 344, 345, 1292, 1293, 347, 0,
348, 349, 350, 1294, 352, 0, 353, 0, 354, 355,
356, 0, 357, 358, 359, 360, 361, 0, 362, 1295,
0, 1296, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
390, 391, 1297, 1298, 0, 1299, 0, 395, 396, 397,
398, 399, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
1308, 409, 1309, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 1310, 420, 421, 422, 0, 423, 424,
425, 1311, 1312, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 1313, 437, 438, 439, 440, 441, 442,
443, 444, 1314, 446, 1315, 448, 449, 450, 451, 452,
453, 454, 455, 456, 1316, 458, 1317, 459, 460, 461,
462, 1318, 1319, 464, 1320, 466, 467, 468, 0, 469,
470, 471, 0, 0, 1321, 473, 474, 0, 0, 475,
476, 477, 478, 479, 480, 1322, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 1323, 497, 498, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 1324,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 538, 1325, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 1326, 555, 556, 557, 558, 559,
560, 561, 562, 1327, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 1328, 581, 0, 582, 583, 1329, 0, 584, 585,
586, 587, 588, 589, 590, 591, 0, 592, 1330, 1331,
0, 0, 595, 596, 1332, 598, 1333, 1334, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 1335, 609,
610, 611, 612, 613, 1336, 0, 614, 615, 616, 617,
618, 619, 1337, 0, 621, 622, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 5252, 1338, 1339, 1340, 1341, 639, 1342, 1343, 1344,
1345, 644, 645, 646, 647, 0, 1346, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1347, 1348,
0, 0, 0, 234, 0, 1266, 714, 1350, 1267, 1268,
1269, 775, 1270, 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, 1271,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
254, 255, 256, 257, 258, 1272, 260, 1273, 1274, 0,
263, 264, 265, 266, 267, 268, 269, 1275, 1276, 270,
271, 1277, 1278, 274, 0, 275, 276, 277, 278, 1279,
0, 1280, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 1281, 1282, 1283, 1284,
1285, 1286, 1287, 303, 304, 305, 306, 307, 308, 1288,
1289, 311, 1290, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 884, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 0, 337, 338, 339, 340, 1291,
342, 343, 344, 345, 1292, 1293, 347, 0, 348, 349,
350, 1294, 352, 0, 353, 0, 354, 355, 356, 0,
357, 358, 359, 360, 361, 0, 362, 1295, 0, 1296,
365, 366, 0, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
1297, 1298, 0, 1299, 0, 395, 396, 397, 398, 399,
1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 409,
1309, 411, 412, 413, 414, 415, 416, 417, 0, 0,
418, 1310, 420, 421, 422, 0, 423, 424, 425, 1311,
1312, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 1313, 437, 438, 439, 440, 441, 442, 443, 444,
1314, 446, 1315, 448, 449, 450, 451, 452, 453, 454,
5264, 456, 1316, 458, 1317, 459, 460, 461, 462, 1318,
1319, 464, 1320, 466, 467, 468, 0, 469, 470, 471,
0, 0, 1321, 473, 474, 0, 0, 475, 476, 477,
478, 479, 480, 1322, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 0, 493, 494, 495, 1323,
497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 1324, 514, 515,
516, 517, 0, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 538, 1325, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 0, 550, 551, 552,
553, 554, 1326, 555, 556, 557, 558, 559, 560, 561,
562, 1327, 564, 0, 565, 566, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 1328,
581, 0, 582, 583, 1329, 0, 584, 585, 586, 587,
588, 589, 590, 591, 0, 592, 1330, 1331, 0, 0,
595, 596, 1332, 598, 1333, 1334, 600, 601, 602, 603,
604, 605, 606, 607, 608, 0, 1335, 609, 610, 611,
612, 613, 1336, 0, 614, 615, 616, 617, 618, 619,
1337, 0, 621, 622, 623, 624, 625, 626, 0, 0,
627, 0, 0, 628, 629, 630, 631, 632, 633, 634,
1338, 1339, 1340, 1341, 639, 1342, 1343, 1344, 1345, 644,
645, 646, 647, 0, 1346, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1347, 1348, 0, 0,
0, 234, 0, 1266, 714, 1350, 1267, 1268, 1269, 775,
1270, 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, 1271, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 1272, 260, 1273, 1274, 0, 263, 264,
265, 266, 267, 268, 269, 1275, 1276, 270, 271, 1277,
1278, 274, 0, 275, 276, 277, 278, 1279, 0, 1280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 5600, 301, 1281, 1282, 1283, 1284, 1285, 1286,
1287, 303, 304, 305, 306, 307, 308, 1288, 1289, 311,
1290, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 884,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 0, 337, 338, 339, 340, 1291, 342, 343,
344, 345, 1292, 1293, 347, 0, 348, 349, 350, 1294,
352, 0, 353, 0, 354, 355, 356, 0, 357, 358,
359, 360, 361, 0, 362, 1295, 0, 5601, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
0, 385, 386, 387, 388, 389, 390, 391, 1297, 1298,
0, 1299, 0, 395, 396, 397, 398, 399, 1300, 1301,
1302, 1303, 1304, 1305, 1306, 1307, 1308, 409, 1309, 411,
412, 413, 414, 415, 416, 417, 0, 0, 418, 1310,
420, 421, 422, 0, 423, 424, 425, 1311, 1312, 426,
427, 428, 429, 430, 431, 432, 433, 434, 435, 1313,
437, 438, 439, 440, 441, 442, 443, 444, 1314, 446,
1315, 448, 449, 450, 451, 452, 453, 454, 455, 456,
1316, 458, 1317, 459, 460, 461, 462, 1318, 1319, 464,
1320, 466, 467, 468, 0, 469, 470, 471, 0, 0,
1321, 473, 474, 0, 0, 475, 476, 477, 478, 479,
480, 1322, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 0, 493, 494, 495, 1323, 497, 498,
499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 1324, 514, 515, 516, 517,
0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 0, 531, 532, 533, 534, 535,
5602, 537, 538, 1325, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 0, 550, 551, 552, 553, 554,
1326, 555, 556, 557, 558, 559, 560, 561, 562, 1327,
564, 0, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 1328, 581, 0,
582, 583, 1329, 0, 584, 585, 586, 587, 588, 589,
590, 591, 0, 592, 1330, 1331, 0, 0, 595, 596,
1332, 598, 1333, 1334, 600, 601, 602, 603, 604, 605,
606, 607, 608, 0, 1335, 609, 610, 611, 612, 613,
1336, 0, 614, 615, 616, 617, 618, 619, 1337, 0,
621, 622, 623, 624, 625, 626, 0, 0, 627, 0,
0, 628, 629, 630, 631, 632, 633, 634, 1338, 1339,
1340, 1341, 639, 1342, 1343, 1344, 1345, 644, 645, 646,
647, 0, 1346, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1347, 1348, 0, 0, 0, 234,
0, 1266, 714, 5603, 1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
6012, 1272, 260, 1273, 1274, 0, 263, 264, 265, 266,
267, 268, 269, 1275, 1276, 270, 271, 1277, 1278, 274,
0, 275, 276, 277, 278, 1279, 0, 1280, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 6013, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 303,
304, 305, 306, 307, 308, 1288, 1289, 311, 1290, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 884, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
0, 337, 338, 339, 340, 1291, 342, 343, 344, 345,
1292, 1293, 347, 0, 348, 349, 350, 1294, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 1295, 0, 1296, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 1297, 1298, 0, 1299,
0, 395, 396, 397, 398, 399, 1300, 1301, 1302, 1303,
1304, 1305, 1306, 1307, 1308, 409, 1309, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 1310, 420, 421,
422, 0, 423, 424, 425, 1311, 1312, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 1313, 437, 438,
439, 440, 441, 442, 443, 444, 1314, 446, 1315, 448,
449, 450, 451, 452, 453, 454, 455, 456, 1316, 458,
1317, 459, 460, 461, 462, 1318, 1319, 464, 1320, 466,
467, 468, 0, 469, 470, 471, 0, 0, 1321, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 1322,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 1323, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 1324, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 1325, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 1326, 555,
556, 557, 558, 559, 560, 561, 562, 1327, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 1328, 581, 0, 582, 583,
1329, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 1330, 1331, 0, 0, 595, 596, 1332, 598,
1333, 1334, 600, 601, 602, 603, 604, 6014, 606, 607,
608, 0, 1335, 609, 610, 611, 612, 613, 1336, 0,
614, 615, 616, 617, 618, 619, 1337, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 1338, 1339, 1340, 1341,
639, 1342, 1343, 1344, 1345, 644, 645, 646, 647, 0,
1346, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1347, 1348, 0, 0, 0, 234, 0, 1266,
714, 1350, 1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248, 249, 0,
250, 251, 252, 253, 254, 255, 256, 257, 258, 1272,
260, 1273, 1274, 0, 263, 264, 265, 266, 267, 268,
269, 1275, 1276, 270, 271, 1277, 1278, 274, 0, 275,
276, 277, 278, 1279, 0, 1280, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 6013,
1281, 1282, 1283, 1284, 1285, 1286, 1287, 303, 304, 305,
306, 307, 308, 1288, 1289, 311, 1290, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 884, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 0, 337,
338, 339, 340, 1291, 342, 343, 344, 345, 1292, 1293,
347, 0, 348, 349, 350, 1294, 352, 0, 353, 0,
354, 355, 356, 0, 357, 358, 359, 360, 361, 0,
362, 1295, 0, 1296, 365, 366, 0, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 0, 377, 378,
379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
388, 389, 390, 391, 1297, 1298, 0, 1299, 0, 395,
396, 397, 398, 399, 1300, 1301, 1302, 1303, 1304, 1305,
1306, 1307, 1308, 409, 1309, 411, 412, 413, 414, 415,
416, 417, 0, 0, 418, 1310, 420, 421, 422, 0,
423, 424, 425, 1311, 1312, 426, 427, 428, 429, 430,
431, 432, 433, 434, 435, 1313, 437, 438, 439, 440,
441, 442, 443, 444, 1314, 446, 1315, 448, 449, 450,
451, 452, 453, 454, 455, 456, 1316, 458, 1317, 459,
460, 461, 462, 1318, 1319, 464, 1320, 466, 467, 468,
0, 469, 470, 471, 0, 0, 1321, 473, 474, 0,
0, 475, 476, 477, 478, 479, 480, 1322, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 0,
493, 494, 495, 1323, 497, 498, 499, 500, 501, 0,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 1324, 514, 515, 516, 517, 0, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
0, 531, 532, 533, 534, 535, 536, 537, 538, 1325,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
0, 550, 551, 552, 553, 554, 1326, 555, 556, 557,
558, 559, 560, 561, 562, 1327, 564, 0, 565, 566,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 1328, 581, 0, 582, 583, 1329, 0,
584, 585, 586, 587, 588, 589, 590, 591, 0, 592,
1330, 1331, 0, 0, 595, 596, 1332, 598, 1333, 1334,
600, 601, 602, 603, 604, 6014, 606, 607, 608, 0,
1335, 609, 610, 611, 612, 613, 1336, 0, 614, 615,
616, 617, 618, 619, 1337, 0, 621, 622, 623, 624,
625, 626, 0, 0, 627, 0, 0, 628, 629, 630,
631, 632, 633, 634, 1338, 1339, 1340, 1341, 639, 1342,
1343, 1344, 1345, 644, 645, 646, 647, 0, 1346, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1347, 1348, 0, 0, 0, 234, 0, 1266, 714, 1350,
1267, 1268, 1269, 775, 1270, 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, 1271, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 254, 255, 256, 257, 258, 1272, 260, 1273,
1274, 0, 263, 264, 265, 266, 267, 268, 269, 1275,
1276, 270, 271, 1277, 1278, 274, 0, 275, 276, 277,
278, 1279, 0, 1280, 0, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 298, 299, 300, 301, 1281, 1282,
1283, 1284, 1285, 1286, 1287, 303, 304, 305, 306, 307,
308, 1288, 1289, 311, 5585, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 884, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 0, 337, 338, 339,
340, 1291, 342, 343, 344, 345, 1292, 1293, 347, 0,
348, 349, 350, 1294, 352, 0, 353, 0, 354, 355,
356, 0, 357, 358, 359, 360, 361, 0, 362, 1295,
0, 1296, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
390, 391, 1297, 1298, 0, 1299, 0, 395, 396, 397,
398, 399, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
1308, 409, 1309, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 1310, 420, 421, 422, 0, 423, 424,
425, 1311, 1312, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 1313, 437, 438, 439, 440, 441, 442,
443, 444, 1314, 446, 1315, 448, 449, 450, 451, 452,
453, 454, 455, 456, 1316, 458, 0, 459, 460, 461,
462, 1318, 1319, 464, 1320, 466, 467, 468, 0, 469,
470, 471, 0, 0, 1321, 473, 474, 0, 0, 475,
476, 477, 478, 479, 480, 1322, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 1323, 497, 498, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 1324,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 538, 3321, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 1326, 555, 556, 557, 558, 559,
560, 561, 562, 1327, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 1328, 581, 0, 582, 583, 1329, 0, 584, 585,
586, 587, 588, 589, 590, 591, 0, 592, 1330, 1331,
0, 0, 595, 596, 1332, 598, 1333, 1334, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 0, 609,
610, 611, 612, 613, 1336, 0, 614, 615, 616, 617,
618, 619, 1337, 0, 621, 622, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 634, 1338, 1339, 1340, 1341, 639, 1342, 1343, 1344,
1345, 644, 645, 646, 647, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3322, 3323,
0, 0, 0, 234, 0, 1266, 714, 3324, 1267, 1268,
1269, 775, 1270, 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, 1271,
0, 0, 247, 248, 249, 0, 250, 251, 252, 253,
254, 255, 256, 257, -3002, 1272, 260, 1273, 1274, 0,
263, 264, 265, 266, 267, 268, 269, 1275, 1276, 270,
271, 1277, 1278, 274, 0, 275, 276, 277, 278, 1279,
0, 1280, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 6013, 1281, 1282, 1283, 1284,
1285, 1286, 1287, 303, 304, 305, 306, 307, 308, 1288,
1289, 311, 1290, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 884, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 0, 337, 338, 339, 340, 1291,
342, 343, 344, 345, 1292, 1293, 347, 0, 348, 349,
350, 1294, 352, 0, 353, 0, 354, 355, 356, 0,
357, 358, 359, 360, 361, 0, 362, 1295, 0, 1296,
365, 366, 0, 367, 368, 369, 370, 371, -3002, 373,
374, 375, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
1297, 1298, 0, 1299, 0, 395, 0, 0, 398, 399,
1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 409,
1309, 411, 412, 413, 414, 415, 416, 417, 0, 0,
418, 1310, 420, 421, -3002, 0, 423, 424, 425, 1311,
1312, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 1313, 437, 438, 439, 440, 441, 442, 443, 444,
1314, 446, 1315, 448, 449, 450, 451, 452, 453, 454,
455, 456, 1316, 458, 1317, 459, 460, 0, 462, 1318,
1319, 464, 1320, 466, 467, 468, 0, 469, 470, 471,
0, 0, 1321, 473, 474, 0, 0, 475, 476, 477,
478, 479, 480, 1322, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 0, 493, 494, 495, 1323,
497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 1324, 514, 515,
516, 517, 0, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 538, 1325, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 0, 550, 551, 552,
553, 554, 1326, 555, 556, 557, 558, 559, -3002, 561,
562, 1327, 564, 0, 565, 566, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 1328,
581, 0, 582, 583, 1329, 0, 584, 585, 586, 587,
588, 589, 590, 591, 0, 592, 1330, 1331, 0, 0,
595, 596, 1332, 598, 1333, 1334, 600, 601, 602, 603,
604, 6014, 606, 607, 608, 0, 1335, 609, 610, 611,
612, 613, 1336, 0, 614, 615, 616, 617, 618, 619,
1337, 0, 621, 622, 623, 624, 625, 626, 0, 0,
627, 0, 0, 628, 629, 630, 631, 632, 633, 634,
1338, 1339, 1340, 1341, 639, 1342, 1343, 1344, 1345, 644,
645, 646, 647, 0, -3002, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1347, 1348, 0, 0,
0, 234, 0, 1266, 714, 1350, 1267, 1268, 1269, 775,
1270, 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, 1271, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 1272, 260, 1273, 1274, 0, 263, 264,
265, 266, 267, 268, 269, 1275, 1276, 270, 271, 1277,
1278, 274, 0, 275, 276, 277, 278, 1279, 0, 1280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 1281, 1282, 1283, 1284, 1285, 1286,
1287, 303, 304, 305, 306, 307, 308, 1288, 1289, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 884,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 0, 337, 338, 339, 340, 1291, 342, 343,
344, 345, 1292, 1293, 347, 0, 348, 349, 350, 1294,
352, 0, 353, 0, 354, 355, 356, 0, 357, 358,
359, 360, 361, 0, 362, 1295, 0, 1296, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
0, 385, 386, 387, 388, 389, 390, 391, 1297, 1298,
0, 1299, 0, 395, 396, 397, 398, 399, 1300, 1301,
1302, 1303, 1304, 1305, 1306, 1307, 1308, 409, 1309, 411,
412, 413, 414, 415, 416, 417, 0, 0, 418, 1310,
420, 421, 422, 0, 423, 424, 425, 1311, 1312, 426,
427, 428, 429, 430, 431, 432, 433, 434, 435, 1313,
437, 438, 439, 440, 441, 442, 443, 444, 1314, 446,
1315, 448, 449, 450, 451, 452, 453, 454, 455, 456,
1316, 458, 0, 459, 460, 461, 462, 1318, 1319, 464,
1320, 466, 467, 468, 0, 469, 470, 471, 0, 0,
1321, 473, 474, 0, 0, 475, 476, 477, 478, 479,
480, 1322, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 0, 493, 494, 495, 1323, 497, 498,
499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 1324, 514, 515, 516, 517,
0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 538, 3321, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 0, 550, 551, 552, 553, 554,
1326, 555, 556, 557, 558, 559, 560, 561, 562, 1327,
564, 0, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 1328, 581, 0,
582, 583, 1329, 0, 584, 585, 586, 587, 588, 589,
590, 591, 0, 592, 1330, 1331, 0, 0, 595, 596,
1332, 598, 1333, 1334, 600, 601, 602, 603, 604, 605,
606, 607, 608, 0, 0, 609, 610, 611, 612, 613,
1336, 0, 614, 615, 616, 617, 618, 619, 1337, 0,
621, 622, 623, 624, 625, 626, 0, 0, 627, 0,
0, 628, 629, 630, 631, 632, 633, 634, 1338, 1339,
1340, 1341, 639, 1342, 1343, 1344, 1345, 644, 645, 646,
647, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3322, 3323, 234, 0, 1266, 714,
0, 1267, 1268, 3324, 775, 1270, 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, 1271, 0, 0, 247, 248, 249, 0, 250,
251, 252, 253, 254, 255, 256, 257, 258, 1272, 260,
1273, 1274, 0, 263, 264, 265, 266, 267, 268, 269,
1275, 1276, 270, 271, 1277, 1278, 274, 0, 275, 276,
277, 278, 1279, 0, 1280, 0, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 0, 292, 293,
294, 295, 296, 297, 0, 298, 299, 300, 301, 1281,
1282, 1283, 1284, 1285, 1286, 1287, 303, 304, 305, 306,
307, 308, 1288, 1289, 311, 0, 312, 0, 313, 314,
315, 316, 317, 318, 319, 0, 320, 321, 322, 323,
0, 0, 324, 325, 884, 327, 328, 0, 329, 330,
331, 332, 0, 333, 334, 335, 336, 0, 337, 338,
339, 340, 1291, 342, 343, 344, 345, 1292, 1293, 347,
0, 348, 349, 350, 1294, 352, 0, 353, 0, 354,
355, 356, 0, 357, 358, 359, 360, 361, 0, 362,
1295, 0, 1296, 365, 366, 0, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 0, 377, 378, 379,
380, 381, 382, 383, 384, 0, 385, 386, 387, 388,
389, 390, 391, 1297, 1298, 0, 1299, 0, 395, 396,
397, 398, 399, 1300, 1301, 1302, 1303, 1304, 1305, 1306,
1307, 1308, 409, 1309, 411, 412, 413, 414, 415, 416,
417, 0, 0, 418, 1310, 420, 421, 422, 0, 423,
424, 425, 1311, 1312, 426, 427, 428, 429, 430, 431,
432, 433, 434, 435, 1313, 437, 438, 439, 440, 441,
442, 443, 444, 1314, 446, 1315, 448, 449, 450, 451,
452, 453, 454, 455, 456, 1316, 458, 0, 459, 460,
461, 462, 1318, 1319, 464, 1320, 466, 467, 468, 0,
469, 470, 471, 0, 0, 472, 473, 474, 0, 0,
475, 476, 477, 478, 479, 480, 1322, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 0, 493,
494, 495, 1323, 497, 498, 499, 500, 501, 0, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
1324, 514, 515, 516, 517, 0, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 0,
531, 532, 533, 534, 535, 536, 537, 538, 3502, 3503,
541, 542, 543, 544, 545, 546, 547, 548, 549, 0,
550, 551, 552, 553, 554, 1326, 555, 556, 557, 558,
559, 560, 561, 562, 1327, 564, 0, 565, 566, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 1328, 581, 0, 582, 583, 1329, 0, 584,
585, 586, 587, 588, 589, 590, 591, 0, 592, 1330,
1331, 0, 0, 595, 596, 1332, 598, 1333, 1334, 600,
601, 602, 603, 604, 605, 606, 607, 608, 0, 0,
609, 610, 611, 612, 613, 1336, 0, 614, 615, 616,
617, 618, 619, 1337, 0, 621, 622, 623, 624, 625,
626, 0, 0, 627, 0, 0, 628, 629, 630, 631,
632, 633, 634, 1338, 1339, 1340, 1341, 639, 1342, 1343,
1344, 1345, 644, 645, 646, 647, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3504,
3505, 234, 0, 1266, 714, 0, 1267, 1268, 3324, 775,
1270, 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, 1271, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 258, 1272, 260, 1273, 1274, 0, 263, 264,
265, 266, 267, 268, 269, 1275, 1276, 270, 271, 1277,
1278, 274, 0, 275, 276, 277, 278, 1279, 0, 1280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 1281, 1282, 1283, 1284, 1285, 1286,
1287, 303, 304, 305, 306, 307, 308, 1288, 1289, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 884,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 0, 337, 338, 339, 340, 1291, 342, 343,
344, 345, 1292, 1293, 347, 0, 348, 349, 350, 1294,
352, 0, 353, 0, 354, 355, 356, 0, 357, 358,
359, 360, 361, 0, 362, 1295, 0, 1296, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
0, 385, 386, 387, 388, 389, 390, 391, 1297, 1298,
0, 1299, 0, 395, 396, 397, 398, 399, 1300, 1301,
1302, 1303, 1304, 1305, 1306, 1307, 1308, 409, 1309, 411,
412, 413, 414, 415, 416, 417, 0, 0, 418, 1310,
420, 421, 422, 0, 423, 424, 425, 1311, 1312, 426,
427, 428, 429, 430, 431, 432, 433, 434, 435, 1313,
437, 438, 439, 440, 441, 442, 443, 444, 1314, 446,
1315, 448, 449, 450, 451, 452, 453, 454, 455, 456,
1316, 458, 0, 459, 460, 461, 462, 1318, 1319, 464,
1320, 466, 467, 468, 0, 469, 470, 471, 0, 0,
472, 473, 474, 0, 0, 475, 476, 477, 478, 479,
480, 1322, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 0, 493, 494, 495, 1323, 497, 498,
499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 1324, 514, 515, 516, 517,
0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 538, 3321, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 0, 550, 551, 552, 553, 554,
1326, 555, 556, 557, 558, 559, 560, 561, 562, 1327,
564, 0, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 1328, 581, 0,
582, 583, 1329, 0, 584, 585, 586, 587, 588, 589,
590, 591, 0, 592, 1330, 1331, 0, 0, 595, 596,
1332, 598, 1333, 1334, 600, 601, 602, 603, 604, 605,
606, 607, 608, 0, 0, 609, 610, 611, 612, 613,
1336, 0, 614, 615, 616, 617, 618, 619, 1337, 0,
621, 622, 623, 624, 625, 626, 0, 0, 627, 0,
0, 628, 629, 630, 631, 632, 633, 634, 1338, 1339,
1340, 1341, 639, 1342, 1343, 1344, 1345, 644, 645, 646,
647, 0, 0, 0, 0, 234, 0, 1266, 714, 0,
1267, 1268, 0, 775, 1270, 0, 0, 0, 0, 0,
0, 0, 0, 3324, 235, 236, 237, 238, 239, 240,
241, 242, 243, 0, 244, 245, 246, 0, 0, 0,
0, 1271, 0, 0, 247, 248, 249, 0, 250, 251,
252, 253, 254, 255, 256, 257, 258, 1272, 260, 1273,
1274, 0, 263, 4777, 265, 266, 267, 268, 269, 1275,
1276, 270, 271, 1277, 1278, 274, 0, 275, 276, 277,
278, 1279, 0, 1280, 0, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 298, 299, 300, 301, 1281, 1282,
1283, 1284, 1285, 1286, 1287, 303, 304, 305, 306, 307,
308, 1288, 1289, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 884, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 0, 337, 338, 339,
340, 1291, 342, 343, 344, 345, 1292, 1293, 347, 0,
348, 349, 350, 1294, 352, 0, 353, 0, 354, 355,
356, 0, 357, 358, 359, 360, 361, 0, 362, 1295,
0, 1296, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
390, 391, 1297, 1298, 0, 1299, 0, 395, 396, 397,
398, 399, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
1308, 409, 1309, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 1310, 420, 421, 422, 0, 423, 424,
425, 1311, 1312, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 1313, 437, 438, 439, 440, 441, 442,
443, 444, 1314, 446, 1315, 448, 449, 450, 451, 452,
453, 454, 455, 456, 1316, 458, 0, 459, 460, 461,
462, 1318, 1319, 464, 1320, 466, 467, 468, 0, 469,
470, 471, 0, 0, 472, 473, 474, 0, 0, 475,
476, 477, 478, 479, 480, 1322, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 1323, 497, 498, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 1324,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 538, 3321, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 1326, 555, 556, 557, 558, 559,
560, 561, 562, 1327, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 1328, 581, 0, 582, 583, 1329, 0, 584, 585,
586, 587, 588, 589, 590, 591, 0, 592, 1330, 1331,
0, 0, 595, 596, 1332, 598, 1333, 1334, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 0, 609,
610, 611, 612, 613, 1336, 0, 614, 615, 616, 617,
618, 619, 1337, 0, 621, 622, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 634, 1338, 1339, 1340, 1341, 639, 1342, 1343, 1344,
1345, 644, 645, 646, 647, 0, 0, 0, 0, 234,
0, 1266, 714, 0, 1267, 1268, 0, 775, 1270, 0,
0, 0, 0, 0, 0, 0, 0, 3324, 235, 236,
237, 238, 239, 240, 241, 242, 243, 0, 244, 245,
246, 0, 0, 0, 0, 1271, 0, 0, 247, 248,
249, 0, 250, 251, 252, 253, 254, 255, 256, 257,
258, 1272, 260, 1273, 1274, 0, 263, 264, 265, 266,
267, 268, 269, 1275, 1276, 270, 271, 1277, 1278, 274,
0, 275, 276, 277, 278, 1279, 0, 1280, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 303,
304, 305, 306, 307, 308, 1288, 1289, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 884, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
0, 337, 338, 339, 340, 1291, 342, 343, 344, 345,
1292, 1293, 347, 0, 348, 349, 350, 1294, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 1295, 0, 1296, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 1297, 1298, 0, 1299,
0, 395, 396, 397, 398, 399, 1300, 1301, 1302, 1303,
1304, 1305, 1306, 1307, 1308, 409, 1309, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 1310, 420, 421,
422, 0, 423, 424, 425, 1311, 1312, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 1313, 437, 438,
439, 440, 441, 442, 443, 444, 1314, 446, 1315, 448,
449, 450, 451, 452, 453, 454, 455, 456, 1316, 458,
0, 459, 460, 461, 462, 1318, 1319, 464, 1320, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 1322,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 1323, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 1324, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 3321, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 1326, 555,
556, 557, 558, 559, 560, 561, 562, 1327, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 1328, 581, 0, 582, 583,
1329, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 1330, 1331, 0, 0, 595, 596, 1332, 598,
1333, 1334, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 1336, 0,
614, 615, 616, 617, 618, 619, 1337, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 1338, 1339, 1340, 1341,
4838, 1342, 1343, 1344, 1345, 644, 645, 646, 647, 0,
0, 0, 0, 234, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3324, 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, 1276, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 1279,
0, 1280, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 1281, 1282, 1283, 1284,
1285, 1286, 1287, 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, 0, 337, 338, 339, 340, 341,
342, 343, 344, 345, 1292, 0, 347, 0, 348, 349,
350, 351, 352, 0, 353, 0, 354, 355, 356, 0,
357, 358, 359, 360, 361, 0, 362, 1295, 0, 364,
365, 366, 0, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
392, 393, 0, 394, 0, 395, 396, 397, 398, 399,
3473, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 3474,
1309, 411, 412, 413, 414, 415, 416, 417, 3475, 0,
418, 1310, 420, 421, 422, 0, 423, 424, 425, 1311,
1312, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 1313, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 1316, 458, 0, 459, 460, 461, 462, 0,
1319, 464, 465, 466, 467, 468, 0, 469, 470, 471,
0, 859, 472, 473, 474, 0, 0, 475, 476, 477,
478, 479, 480, 1322, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 0, 493, 494, 495, 1323,
497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 0, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 538, 539, 3476, 541, 542, 543,
544, 545, 546, 547, 548, 549, 40, 550, 551, 552,
553, 554, 1326, 555, 556, 557, 558, 559, 560, 561,
562, 563, 564, 0, 565, 566, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 1328,
581, 0, 582, 583, 1329, 44, 584, 585, 586, 587,
588, 589, 590, 591, 0, 592, 593, 594, 0, 0,
595, 596, 1332, 598, 1333, 0, 600, 601, 602, 603,
604, 605, 606, 607, 608, 0, 0, 609, 610, 611,
612, 613, 1336, 0, 614, 615, 616, 617, 618, 1202,
620, 0, 621, 622, 623, 624, 625, 626, 0, 0,
627, 0, 49, 628, 629, 630, 631, 632, 633, 634,
1338, 1339, 1340, 1341, 639, 1342, 1343, 1344, 1345, 3477,
645, 646, 647, 0, 0, 0, 50, 234, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3478, 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, 1276, 270, 271, 272, 273, 274, 0, 275,
276, 277, 278, 1279, 0, 1280, 0, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 0, 292,
293, 294, 295, 296, 297, 0, 298, 299, 300, 301,
1281, 1282, 1283, 1284, 1285, 1286, 1287, 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, 0, 337,
338, 339, 340, 341, 342, 343, 344, 345, 1292, 0,
347, 0, 348, 349, 350, 351, 352, 0, 353, 0,
354, 355, 356, 0, 357, 358, 359, 360, 361, 0,
362, 1295, 0, 364, 365, 366, 0, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 0, 377, 378,
379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
388, 389, 390, 391, 392, 393, 0, 394, 0, 395,
396, 397, 398, 399, 3473, 1301, 1302, 1303, 1304, 1305,
1306, 1307, 1308, 3474, 1309, 411, 412, 413, 414, 415,
416, 417, 3475, 0, 418, 1310, 420, 421, 422, 0,
423, 424, 425, 1311, 1312, 426, 427, 428, 429, 430,
431, 432, 433, 434, 435, 1313, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 1316, 458, 0, 459,
460, 461, 462, 0, 1319, 464, 465, 466, 467, 468,
0, 469, 470, 471, 0, 859, 472, 473, 474, 0,
0, 475, 476, 477, 478, 479, 480, 1322, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 0,
493, 494, 495, 1323, 497, 498, 499, 500, 501, 0,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 0, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
0, 531, 532, 533, 534, 535, 536, 537, 538, 539,
3476, 541, 542, 543, 544, 545, 546, 547, 548, 549,
0, 550, 551, 552, 553, 554, 1326, 555, 556, 557,
558, 559, 560, 561, 562, 563, 564, 0, 565, 566,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 1328, 581, 0, 582, 583, 1329, 0,
584, 585, 586, 587, 588, 589, 590, 591, 0, 592,
593, 594, 0, 0, 595, 596, 1332, 598, 1333, 0,
600, 601, 602, 603, 604, 605, 606, 607, 608, 0,
0, 609, 610, 611, 612, 613, 1336, 0, 614, 615,
616, 617, 618, 619, 620, 0, 621, 622, 623, 624,
625, 626, 0, 0, 627, 0, 0, 628, 629, 630,
631, 632, 633, 634, 1338, 1339, 1340, 1341, 639, 1342,
1343, 1344, 1345, 3477, 645, 646, 647, 0, 0, 0,
0, 234, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3478,
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, 1276, 270, 271, 272,
273, 274, 0, 275, 276, 277, 278, 1279, 0, 1280,
0, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 0, 292, 293, 294, 295, 296, 297, 0,
298, 299, 300, 301, 1281, 1282, 1283, 1284, 1285, 1286,
1287, 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, 0, 337, 338, 339, 340, 341, 342, 343,
344, 345, 1292, 0, 347, 0, 348, 349, 350, 351,
352, 0, 353, 0, 354, 355, 356, 0, 357, 358,
359, 360, 361, 0, 362, 1295, 0, 364, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
0, 394, 0, 395, 396, 397, 398, 399, 3473, 1301,
1302, 1303, 1304, 1305, 1306, 1307, 1308, 409, 1309, 411,
412, 413, 414, 415, 416, 417, 0, 0, 418, 1310,
420, 421, 422, 0, 423, 424, 425, 1311, 1312, 426,
427, 428, 429, 430, 431, 432, 433, 434, 435, 1313,
437, 438, 439, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
1316, 458, 0, 459, 460, 461, 462, 0, 1319, 464,
465, 466, 467, 468, 0, 469, 470, 471, 0, 0,
472, 473, 474, 0, 0, 475, 476, 477, 478, 479,
480, 1322, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 0, 493, 494, 495, 1323, 497, 498,
499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 0, 550, 551, 552, 553, 554,
1326, 555, 556, 557, 558, 559, 560, 561, 562, 563,
564, 0, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 1328, 581, 0,
582, 583, 1329, 0, 584, 585, 586, 587, 588, 589,
590, 591, 0, 592, 593, 594, 0, 0, 595, 596,
1332, 598, 1333, 0, 600, 601, 602, 603, 604, 605,
606, 607, 608, 0, 0, 609, 610, 611, 612, 613,
1336, 0, 614, 615, 616, 617, 618, 619, 620, 0,
621, 622, 623, 624, 625, 626, 0, 0, 627, 0,
0, 628, 629, 630, 631, 632, 633, 634, 1338, 1339,
1340, 1341, 639, 1342, 1343, 1344, 1345, 644, 645, 646,
647, 0, 0, 0, 0, 234, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3922, 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,
1276, 270, 271, 272, 273, 274, 0, 275, 276, 277,
278, 1279, 0, 1280, 0, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 0, 292, 293, 294,
295, 296, 297, 0, 298, 299, 300, 301, 1281, 1282,
1283, 1284, 1285, 1286, 1287, 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, 0, 337, 338, 339,
340, 341, 342, 343, 344, 345, 1292, 0, 347, 0,
348, 349, 350, 351, 352, 0, 353, 0, 354, 355,
356, 0, 357, 358, 359, 360, 361, 0, 362, 1295,
0, 364, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
390, 391, 392, 393, 0, 394, 0, 395, 396, 397,
398, 399, 3473, 1301, 1302, 1303, 1304, 1305, 1306, 1307,
1308, 3474, 1309, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 1310, 420, 421, 422, 0, 423, 424,
425, 1311, 1312, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 1313, 437, 438, 439, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 1316, 458, 0, 459, 460, 461,
462, 0, 1319, 464, 465, 466, 467, 468, 0, 469,
470, 471, 0, 0, 472, 473, 474, 0, 0, 475,
476, 477, 478, 479, 480, 1322, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 1323, 497, 498, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 538, 539, 3476, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 1326, 555, 556, 557, 558, 559,
560, 561, 562, 563, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 1328, 581, 0, 582, 583, 1329, 0, 584, 585,
586, 587, 588, 589, 590, 591, 0, 592, 593, 594,
0, 0, 595, 596, 1332, 598, 1333, 0, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 0, 609,
610, 611, 612, 613, 1336, 0, 614, 615, 616, 617,
618, 619, 620, 0, 621, 622, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 634, 1338, 1339, 1340, 1341, 639, 1342, 1343, 1344,
1345, 3477, 645, 646, 647, 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, 1276, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 1279, 0, 1280, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
1292, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 1295, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 3473, 1301, 1302, 1303,
1304, 1305, 1306, 1307, 1308, 409, 1309, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 1310, 420, 421,
422, 0, 423, 424, 425, 1311, 1312, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 1313, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 1316, 458,
0, 459, 460, 461, 462, 0, 1319, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 1322,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 1323, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 1326, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 1328, 581, 0, 582, 583,
1329, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 1332, 598,
1333, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 1336, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 1338, 1339, 1340, 1341,
639, 1342, 1343, 1344, 1345, 644, 645, 646, 647, 0,
0, 0, 0, 234, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 4924, 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, 1276, 270,
271, 272, 273, 274, 0, 275, 276, 277, 278, 1279,
0, 1280, 0, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 0, 292, 293, 294, 295, 296,
297, 0, 298, 299, 300, 301, 1281, 1282, 1283, 1284,
1285, 1286, 1287, 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, 0, 337, 338, 339, 340, 341,
342, 343, 344, 345, 1292, 0, 347, 0, 348, 349,
350, 351, 352, 0, 353, 0, 354, 355, 356, 0,
357, 358, 359, 360, 361, 0, 362, 1295, 0, 364,
365, 366, 0, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 0, 385, 386, 387, 388, 389, 390, 391,
392, 393, 0, 394, 0, 395, 396, 397, 398, 399,
3473, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 409,
1309, 411, 412, 413, 414, 415, 416, 417, 0, 0,
418, 1310, 420, 421, 422, 0, 423, 424, 425, 1311,
1312, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 1313, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 1316, 458, 0, 459, 460, 461, 462, 0,
1319, 464, 465, 466, 467, 468, 0, 469, 470, 471,
0, 0, 472, 473, 474, 0, 0, 475, 476, 477,
478, 479, 480, 1322, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 0, 493, 494, 495, 1323,
497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 0, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 0, 550, 551, 552,
553, 554, 1326, 555, 556, 557, 558, 559, 560, 561,
562, 563, 564, 0, 565, 566, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 1328,
581, 0, 582, 583, 1329, 0, 584, 585, 586, 587,
588, 589, 590, 591, 0, 592, 593, 594, 0, 0,
595, 596, 1332, 598, 1333, 0, 600, 601, 602, 603,
604, 605, 606, 607, 608, 0, 0, 609, 610, 611,
612, 613, 1336, 0, 614, 615, 616, 617, 618, 619,
620, 0, 621, 622, 623, 624, 625, 626, 0, 0,
627, 0, 0, 628, 629, 630, 631, 632, 633, 634,
1338, 1339, 1340, 1341, 639, 1342, 1343, 1344, 1345, 644,
645, 646, 647, 0, 0, 0, 0, 964, 0, 1602,
714, 0, 0, 0, 0, 775, 0, 0, 0, 0,
0, 0, 0, 0, 0, 6120, 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, 5906, 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, 0, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 1828,
347, 0, 348, 349, 350, 351, 352, 0, 353, 0,
354, 355, 356, 0, 357, 358, 359, 360, 361, 0,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 0, 377, 378,
379, 380, 381, 382, 383, 384, 0, 385, 386, 387,
388, 389, 390, 391, 392, 393, 0, 394, 0, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 0, 0, 418, 419, 420, 421, 422, 0,
423, 424, 425, 0, 0, 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, 0, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 1829, 0, 472, 473, 474, 0,
0, 475, 476, 477, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 0,
493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 0, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
0, 531, 532, 533, 534, 535, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
0, 550, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 560, 561, 562, 563, 564, 0, 565, 566,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 0, 582, 583, 0, 0,
584, 585, 586, 587, 588, 589, 590, 591, 0, 592,
593, 594, 0, 0, 595, 596, 597, 598, 599, 1830,
600, 601, 602, 603, 604, 605, 606, 607, 608, 0,
0, 609, 610, 611, 612, 613, 0, 0, 614, 615,
616, 617, 618, 619, 620, 0, 621, 622, 623, 624,
625, 626, 0, 0, 627, 0, 0, 628, 629, 630,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 0, 0, 0,
0, 964, 0, 0, 0, 0, 0, 0, 0, 0,
1603, 1604, 5907, 0, 0, 0, 0, 0, 0, 5908,
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, 0, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 0, 347, 0, 348, 349, 350, 351,
352, 0, 353, 0, 354, 355, 356, 0, 357, 358,
359, 360, 361, 0, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
0, 385, 386, 387, 388, 389, 390, 391, 392, 393,
0, 394, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 0, 0, 418, 419,
420, 421, 422, 0, 423, 424, 425, 0, 0, 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, 0, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 0, 0,
472, 473, 474, 0, 0, 475, 476, 477, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 0, 493, 494, 495, 496, 497, 498,
499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 40, 550, 551, 552, 553, 554,
0, 555, 556, 557, 558, 559, 560, 561, 562, 563,
564, 0, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 0,
582, 583, 0, 44, 584, 585, 586, 587, 588, 589,
590, 591, 0, 592, 593, 594, 0, 0, 595, 596,
597, 598, 599, 0, 600, 601, 602, 603, 604, 605,
606, 607, 608, 0, 0, 609, 610, 611, 612, 613,
0, 0, 614, 615, 616, 617, 618, 1202, 620, 0,
621, 622, 623, 624, 625, 626, 0, 0, 627, 0,
49, 628, 629, 630, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 1043, 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, 0, 337, 338, 339,
340, 341, 342, 343, 344, 345, 346, 0, 347, 0,
348, 349, 350, 351, 352, 0, 353, 0, 354, 355,
356, 0, 357, 358, 359, 360, 361, 0, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, 386, 387, 388, 389,
390, 391, 392, 393, 0, 394, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 419, 420, 421, 422, 0, 423, 424,
425, 0, 0, 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, 0, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 0, 0, 472, 473, 474, 0, 0, 475,
476, 477, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
560, 561, 562, 563, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 0, 582, 583, 0, 0, 584, 585,
586, 587, 588, 589, 590, 591, 0, 592, 593, 594,
0, 0, 595, 596, 597, 598, 599, 0, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 0, 609,
610, 611, 612, 613, 0, 0, 614, 615, 616, 617,
618, 619, 620, 0, 621, 622, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 0, 0, 0, 0, 655,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 5657, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 40, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 44, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 1202, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 49, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 0,
0, 0, 50, 655, 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, 2910,
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, 0, 337, 338, 339, 340, 341,
342, 343, 344, 345, 346, 0, 347, 0, 348, 349,
350, 351, 352, 0, 353, 0, 354, 355, 0, 0,
0, 358, 359, 360, 361, 0, 362, 363, 0, 364,
365, 366, 0, 367, 368, 369, 370, 371, 0, 373,
374, 375, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 0, 385, 0, 387, 388, 389, 390, 391,
392, 393, 0, 394, 0, 395, 0, 0, 398, 0,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, 413, 414, 415, 416, 417, 0, 0,
418, 419, 0, 421, 0, 0, 423, 424, 425, 0,
0, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 0, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 0, 459, 460, 0, 462, 0,
463, 464, 465, 466, 467, 468, 0, 469, 470, 471,
0, 859, 472, 473, 474, 0, 0, 475, 476, 477,
0, 479, 0, 481, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 0, 493, 494, 495, 496,
497, 498, 499, 500, 501, 0, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 513, 514, 515,
516, 517, 0, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 0, 531, 532, 0,
534, 535, 536, 537, 538, 539, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 0, 550, 551, 552,
553, 554, 0, 555, 556, 557, 558, 559, 0, 561,
562, 563, 564, 0, 565, 566, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 580,
581, 0, 582, 583, 0, 2911, 2912, 0, 586, 587,
588, 589, 590, 591, 0, 592, 593, 594, 0, 0,
595, 596, 597, 598, 599, 0, 600, 601, 602, 603,
604, 605, 606, 607, 608, 0, 0, 609, 610, 611,
612, 613, 0, 0, 614, 615, 616, 617, 618, 619,
620, 0, 621, 0, 623, 624, 625, 626, 0, 0,
627, 0, 0, 628, 629, 630, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 0, 0, 0, 0, 655, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1862, 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, 0, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 0,
347, 0, 348, 349, 350, 351, 352, 0, 353, 0,
354, 355, 0, 0, 0, 358, 359, 360, 361, 0,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 371, 0, 373, 374, 375, 376, 0, 377, 378,
379, 380, 381, 382, 383, 384, 0, 385, 0, 387,
388, 389, 390, 391, 392, 393, 0, 394, 0, 395,
0, 0, 398, 0, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 0, 0, 418, 419, 0, 421, 0, 0,
423, 424, 425, 0, 0, 426, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 0, 459,
460, 0, 462, 0, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 0, 0, 472, 473, 474, 0,
0, 475, 476, 477, 0, 479, 0, 481, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 0,
493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 0, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
0, 531, 532, 0, 534, 535, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
0, 550, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 0, 561, 562, 563, 564, 0, 565, 566,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 0, 582, 583, 0, 0,
584, 0, 586, 587, 588, 589, 590, 591, 0, 592,
593, 594, 0, 0, 595, 596, 597, 598, 599, 0,
600, 601, 602, 603, 604, 605, 606, 607, 608, 0,
0, 609, 610, 611, 612, 613, 0, 0, 614, 615,
616, 617, 618, 619, 620, 0, 621, 0, 623, 624,
625, 626, 0, 0, 627, 0, 0, 628, 629, 630,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 0, 0, 0,
0, 655, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1414,
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, 0, 337, 338, 339, 340, 341, 342, 343,
344, 345, 346, 0, 347, 0, 348, 349, 350, 351,
352, 0, 353, 0, 354, 355, 0, 0, 0, 358,
359, 360, 361, 0, 362, 363, 0, 364, 365, 366,
0, 367, 368, 369, 370, 371, 0, 373, 374, 375,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
0, 385, 0, 387, 388, 389, 390, 391, 392, 393,
0, 394, 0, 395, 0, 0, 398, 0, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, 413, 414, 415, 416, 417, 0, 0, 418, 419,
0, 421, 0, 0, 423, 424, 425, 0, 0, 426,
427, 428, 429, 430, 431, 432, 433, 434, 435, 436,
437, 438, 439, 440, 441, 442, 443, 444, 445, 0,
447, 448, 449, 450, 451, 452, 453, 454, 455, 456,
457, 458, 0, 459, 460, 0, 462, 0, 463, 464,
465, 466, 467, 468, 0, 469, 470, 471, 0, 0,
472, 473, 474, 0, 0, 475, 476, 477, 0, 479,
0, 481, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 0, 493, 494, 495, 496, 497, 498,
499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 0, 531, 532, 0, 534, 535,
536, 537, 538, 539, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 0, 550, 551, 552, 553, 554,
0, 555, 556, 557, 558, 559, 0, 561, 562, 563,
564, 0, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 580, 581, 0,
582, 583, 0, 0, 584, 0, 586, 587, 588, 589,
590, 591, 0, 592, 593, 594, 0, 0, 595, 596,
597, 598, 599, 0, 600, 601, 602, 603, 604, 605,
606, 607, 608, 0, 0, 609, 610, 611, 612, 613,
0, 0, 614, 615, 616, 617, 618, 619, 620, 0,
621, 0, 623, 624, 625, 626, 0, 0, 627, 0,
0, 628, 629, 630, 631, 632, 633, 634, 635, 636,
637, 638, 639, 640, 641, 642, 643, 644, 645, 646,
647, 0, 0, 0, 0, 655, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3536, 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, 0, 337, 338, 339,
340, 341, 342, 343, 344, 345, 346, 0, 347, 0,
348, 349, 350, 351, 352, 0, 353, 0, 354, 355,
0, 0, 0, 358, 359, 360, 361, 0, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 371,
0, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, 0, 387, 388, 389,
390, 391, 392, 393, 0, 394, 0, 395, 0, 0,
398, 0, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 419, 0, 421, 0, 0, 423, 424,
425, 0, 0, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 0, 459, 460, 0,
462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 0, 0, 472, 473, 474, 0, 0, 475,
476, 477, 0, 479, 0, 481, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, 0, 534, 535, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
0, 561, 562, 563, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 0, 582, 583, 0, 0, 584, 0,
586, 587, 588, 589, 590, 591, 0, 592, 593, 594,
0, 0, 595, 596, 597, 598, 599, 0, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 0, 609,
610, 611, 612, 613, 0, 0, 614, 615, 616, 617,
618, 619, 620, 0, 621, 0, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 0, 0, 0, 0, 655,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 4211, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 0,
0, 0, 0, 2111, 0, 0, 0, 0, 0, 0,
2112, 0, 0, 2113, 0, 0, 0, 2114, 2115, 2116,
0, 4855, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124,
2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133, 0,
2134, 2135, 2136, 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, 0, 0, 2165, 2166, 2167, 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, 0, 2193, 2194, 2195, 2196, 2197, 2198, 2199, 2200,
2201, 2202, 2203, 2204, 2205, 2206, 2207, 0, 2208, 2209,
2210, 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, 0, 2244, 2245, 2246, 2247, 2248,
2249, 2250, 2251, 2252, 2253, 2254, 2255, 0, 0, 2256,
2257, 2258, 2259, 0, 2260, 2261, 2262, 2263, 2264, 0,
2265, 2266, 2267, 2268, 2269, 0, 2270, 2271, 0, 2272,
2273, 2274, 0, 2275, 2276, 0, 2277, 2278, 2279, 2280,
2281, 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289, 2290,
2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2299, 2300,
2301, 2302, 0, 2303, 0, 2304, 2305, 2306, 2307, 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, 0, 2334, 2335, 2336, 2337,
2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347,
2348, 2349, 2350, 0, 2351, 2352, 0, 2353, 2354, 2355,
2356, 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, 0, 2382, 2383, 2384,
0, 2385, 2386, 2387, 2388, 2389, 0, 2390, 2391, 2392,
2393, 0, 0, 2394, 2395, 2396, 2397, 2398, 2399, 2400,
2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410,
2411, 0, 2412, 2413, 2414, 2415, 2416, 2417, 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, 0, 2446, 2447, 2448,
2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458,
2459, 2460, 2461, 2462, 0, 2463, 2464, 2465, 2466, 2467,
2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477,
2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485, 2486, 2487,
2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497,
2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507,
2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 0, 2516,
2517, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526,
2527, 2528, 2529, 2530, 2531, 0, 2532, 2533, 2534, 2535,
2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543, 2544, 2545,
2546, 2547, 0, 2548, 2549, 2550, 2551, 2552, 2553, 0,
2554, 0, 0, 0, 0, 2555, 2556, 2557, 2558, 2559,
2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569,
0, 2570, 2571, 0, 2572, 0, 0, 0, 0, 0,
0, 0, 0, 2573, 2574, 2575, 2576, 2577, 2578, 2579,
2580, 2581, 876, 0, 1602, 714, 0, 0, 0, 979,
775, 0, 0, 0, 0, 0, 980, 981, 982, 0,
0, 235, 236, 237, 238, 239, 240, 241, 242, 243,
1740, 244, 245, 246, 1741, 1742, 1743, 1744, 1745, 1746,
1747, 247, 248, 249, 1748, 250, 251, 252, 253, 254,
255, 256, 257, 0, 877, 260, 878, 879, 1749, 263,
264, 265, 266, 267, 268, 269, 1750, 1751, 270, 271,
880, 881, 274, 1752, 275, 276, 277, 278, 0, 1753,
280, 1754, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 1755, 292, 293, 294, 295, 296, 297,
1756, 298, 299, 300, 301, 1757, 1758, 1759, 302, 1760,
1761, 1762, 303, 304, 305, 306, 307, 308, 882, 883,
311, 1763, 312, 1764, 313, 314, 315, 316, 317, 318,
319, 1765, 320, 321, 322, 323, 1766, 1767, 324, 325,
884, 327, 328, 1768, 329, 330, 331, 332, 1769, 333,
334, 335, 336, 1770, 337, 338, 339, 340, 0, 342,
343, 344, 345, 0, 1771, 347, 1772, 348, 349, 350,
885, 352, 1773, 353, 1774, 354, 355, 356, 1775, 357,
358, 359, 360, 361, 1776, 362, 0, 1777, 0, 365,
366, 1778, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 1779, 377, 378, 379, 380, 381, 382, 383,
384, 1780, 385, 386, 0, 388, 389, 390, 391, 886,
887, 1781, 888, 1782, 395, 396, 397, 398, 399, 889,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
411, 412, 413, 414, 415, 416, 417, 1783, 1784, 418,
0, 420, 421, 422, 1785, 423, 424, 425, 1786, 1787,
426, 427, 428, 429, 430, 431, 432, 433, 434, 435,
0, 437, 438, 439, 440, 441, 442, 443, 444, 890,
446, 891, 448, 449, 450, 451, 452, 453, 454, 455,
4535, 0, 458, 1788, 459, 460, 461, 462, 1789, 0,
464, 892, 466, 467, 468, 1790, 469, 470, 471, 1791,
1792, 4536, 473, 474, 1793, 1794, 475, 476, 0, 478,
479, 480, 0, 482, 483, 484, 485, 486, 487, 488,
489, 490, 491, 492, 1795, 493, 494, 495, 0, 497,
0, 499, 500, 501, 1796, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, 893, 514, 515, 516,
517, 1797, 518, 519, 520, 521, 522, 523, 524, 525,
526, 527, 528, 529, 530, 1798, 531, 532, 533, 534,
535, 536, 537, 538, 0, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 1799, 550, 551, 552, 553,
554, 1800, 555, 556, 2737, 558, 559, 560, 561, 562,
895, 564, 1801, 565, 566, 567, 568, 569, 570, 571,
572, 573, 574, 575, 576, 577, 578, 579, 0, 581,
1802, 582, 583, 1803, 1804, 584, 585, 586, 587, 588,
589, 590, 591, 1805, 592, 896, 897, 1806, 1807, 595,
596, 0, 598, 0, 1808, 600, 601, 602, 603, 604,
605, 606, 607, 608, 1809, 1810, 609, 610, 611, 612,
613, 1811, 1812, 614, 615, 616, 617, 618, 0, 898,
1813, 621, 622, 623, 624, 625, 626, 1814, 1815, 627,
1816, 1817, 628, 629, 630, 631, 632, 633, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 645,
646, 647, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 985, 986, 987, 4537, 4538, 990, 991, 992,
993, 876, 0, 1602, 714, 0, 0, 0, 979, 775,
0, 0, 0, 0, 0, 980, 981, 982, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 1740,
244, 245, 246, 1741, 1742, 1743, 1744, 1745, 1746, 1747,
247, 248, 249, 1748, 250, 251, 252, 253, 254, 255,
256, 257, 0, 877, 260, 878, 879, 1749, 263, 264,
265, 266, 267, 268, 269, 1750, 1751, 270, 271, 880,
881, 274, 1752, 275, 276, 277, 278, 0, 1753, 280,
1754, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 1755, 292, 293, 294, 295, 296, 297, 1756,
298, 299, 300, 301, 1757, 1758, 1759, 302, 1760, 1761,
1762, 303, 304, 305, 306, 307, 308, 882, 883, 311,
1763, 312, 1764, 313, 314, 315, 316, 317, 318, 319,
1765, 320, 321, 322, 323, 1766, 1767, 324, 325, 884,
327, 328, 1768, 329, 330, 331, 332, 1769, 333, 334,
335, 336, 1770, 337, 338, 339, 340, 0, 342, 343,
344, 345, 0, 1771, 347, 1772, 348, 349, 350, 885,
352, 1773, 353, 1774, 354, 355, 356, 1775, 357, 358,
359, 360, 361, 1776, 362, 0, 1777, 0, 365, 366,
1778, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 1779, 377, 378, 379, 380, 381, 382, 383, 384,
1780, 385, 386, 0, 388, 389, 390, 391, 886, 887,
1781, 888, 1782, 395, 396, 397, 398, 399, 889, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 411,
412, 413, 414, 415, 416, 417, 1783, 1784, 418, 0,
420, 421, 422, 1785, 423, 424, 425, 1786, 1787, 426,
427, 428, 429, 430, 431, 432, 433, 434, 435, 0,
437, 438, 439, 440, 441, 442, 443, 444, 890, 446,
891, 448, 449, 450, 451, 452, 453, 454, 455, 4995,
0, 458, 1788, 459, 460, 461, 462, 1789, 0, 464,
892, 466, 467, 468, 1790, 469, 470, 471, 1791, 1792,
4536, 473, 474, 1793, 1794, 475, 476, 0, 478, 479,
480, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 1795, 493, 494, 495, 0, 497, 0,
499, 500, 501, 1796, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 893, 514, 515, 516, 517,
1797, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 1798, 531, 532, 533, 534, 535,
536, 537, 538, 0, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 1799, 550, 551, 552, 553, 554,
1800, 555, 556, 2737, 558, 559, 560, 561, 562, 895,
564, 1801, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 0, 581, 1802,
582, 583, 1803, 1804, 584, 585, 586, 587, 588, 589,
590, 591, 1805, 592, 896, 897, 1806, 1807, 595, 596,
0, 598, 0, 1808, 600, 601, 602, 603, 604, 605,
606, 607, 608, 1809, 1810, 609, 610, 611, 612, 613,
1811, 1812, 614, 615, 616, 617, 618, 0, 898, 1813,
621, 622, 623, 624, 625, 626, 1814, 1815, 627, 1816,
1817, 628, 629, 630, 631, 632, 633, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 645, 646,
647, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 985, 986, 987, 4537, 4538, 990, 991, 992, 993,
655, 0, 0, 0, 0, 0, 0, 979, 0, 0,
0, 0, 0, 0, 980, 981, 982, 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, 983, 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, 0, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 0, 984, 0, 348, 349, 350, 351, 352,
0, 353, 0, 354, 355, 0, 0, 0, 358, 359,
360, 361, 0, 362, 363, 0, 364, 365, 366, 0,
367, 368, 369, 370, 371, 0, 373, 374, 375, 376,
0, 377, 378, 379, 380, 381, 382, 383, 384, 0,
385, 0, 387, 388, 389, 390, 391, 392, 393, 0,
394, 0, 395, 0, 0, 398, 0, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
413, 414, 415, 416, 417, 0, 0, 418, 419, 0,
421, 0, 0, 423, 424, 425, 0, 0, 426, 427,
428, 429, 430, 431, 432, 433, 434, 435, 436, 437,
438, 439, 440, 441, 442, 443, 444, 445, 0, 447,
448, 449, 450, 451, 452, 453, 454, 455, 456, 457,
458, 0, 459, 460, 0, 462, 0, 463, 464, 465,
466, 467, 468, 0, 469, 470, 471, 0, 0, 472,
473, 474, 0, 0, 475, 476, 477, 0, 479, 0,
481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 0, 493, 494, 495, 496, 497, 498, 499,
500, 501, 0, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 513, 514, 515, 516, 517, 0,
518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
528, 529, 530, 0, 531, 532, 0, 534, 535, 536,
537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
547, 548, 549, 0, 550, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 0, 561, 562, 563, 564,
0, 565, 566, 567, 568, 569, 570, 571, 572, 573,
574, 575, 576, 577, 578, 579, 580, 581, 0, 582,
583, 0, 0, 584, 0, 586, 587, 588, 589, 590,
591, 0, 592, 593, 594, 0, 0, 595, 596, 597,
598, 599, 0, 600, 601, 602, 603, 604, 605, 606,
607, 608, 0, 0, 609, 610, 611, 612, 613, 0,
0, 614, 615, 616, 617, 618, 619, 620, 0, 621,
0, 623, 624, 625, 626, 0, 0, 627, 0, 0,
628, 629, 630, 631, 632, 633, 634, 635, 636, 637,
638, 639, 640, 641, 642, 643, 644, 645, 646, 647,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
985, 986, 987, 988, 989, 990, 991, 992, 993, 655,
0, 0, 0, 0, 0, 0, 979, 0, 0, 0,
0, 0, 0, 980, 981, 982, 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, 1100, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 1101, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 985,
986, 987, 988, 989, 990, 991, 992, 993, 655, 0,
0, 0, 0, 0, 0, 979, 0, 0, 0, 0,
0, 0, 980, 981, 982, 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, 1165, 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, 0,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
0, 1166, 0, 348, 349, 350, 351, 352, 0, 353,
0, 354, 355, 0, 0, 0, 358, 359, 360, 361,
0, 362, 363, 0, 364, 365, 366, 0, 367, 368,
369, 370, 1167, 0, 373, 374, 375, 376, 0, 377,
378, 379, 380, 381, 382, 383, 384, 0, 385, 0,
387, 388, 389, 390, 391, 392, 393, 0, 394, 0,
395, 0, 0, 398, 0, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 0, 0, 418, 419, 0, 421, 0,
0, 423, 424, 425, 0, 0, 426, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 447, 448, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 0,
459, 460, 0, 462, 0, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 0, 0, 472, 473, 474,
0, 0, 475, 476, 477, 0, 479, 0, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 0, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 0, 531, 532, 0, 534, 535, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 0, 561, 562, 563, 564, 0, 565,
566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 0, 582, 583, 0,
0, 584, 0, 586, 587, 588, 589, 590, 591, 0,
592, 593, 594, 0, 0, 595, 596, 597, 598, 599,
0, 600, 601, 602, 603, 604, 605, 606, 607, 608,
0, 0, 609, 610, 611, 612, 613, 0, 0, 614,
615, 616, 617, 618, 619, 620, 0, 621, 0, 623,
624, 625, 626, 0, 0, 627, 0, 0, 628, 629,
630, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 985, 986,
987, 988, 989, 990, 991, 992, 993, 655, 0, 0,
0, 0, 0, 0, 979, 0, 0, 0, 0, 0,
0, 980, 981, 982, 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,
1845, 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, 0, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 0,
1846, 0, 348, 349, 350, 351, 352, 0, 353, 0,
354, 355, 0, 0, 0, 358, 359, 360, 361, 0,
362, 363, 0, 364, 365, 366, 0, 367, 368, 369,
370, 371, 0, 373, 374, 375, 376, 0, 377, 378,
379, 380, 381, 382, 383, 384, 0, 385, 0, 387,
388, 389, 390, 391, 392, 393, 0, 394, 0, 395,
0, 0, 398, 0, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 413, 414, 415,
416, 417, 0, 0, 418, 419, 0, 421, 0, 0,
423, 424, 425, 0, 0, 426, 427, 428, 429, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 0, 447, 448, 449, 450,
451, 452, 453, 454, 455, 456, 457, 458, 0, 459,
460, 0, 462, 0, 463, 464, 465, 466, 467, 468,
0, 469, 470, 471, 0, 0, 472, 473, 474, 0,
0, 475, 476, 477, 0, 479, 0, 481, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 0,
493, 494, 495, 496, 497, 498, 499, 500, 501, 0,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, 514, 515, 516, 517, 0, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
0, 531, 532, 0, 534, 535, 536, 537, 538, 539,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
0, 550, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 0, 561, 562, 563, 564, 0, 565, 566,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 0, 582, 583, 0, 0,
584, 0, 586, 587, 588, 589, 590, 591, 0, 592,
593, 594, 0, 0, 595, 596, 597, 598, 599, 0,
600, 601, 602, 603, 604, 605, 606, 607, 608, 0,
0, 609, 610, 611, 612, 613, 0, 0, 614, 615,
616, 617, 618, 619, 620, 0, 621, 0, 623, 624,
625, 626, 0, 0, 627, 0, 0, 628, 629, 630,
631, 632, 633, 634, 635, 636, 637, 638, 639, 640,
641, 642, 643, 644, 645, 646, 647, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 985, 986, 987,
988, 989, 990, 991, 992, 993, 655, 0, 0, 0,
0, 0, 0, 979, 0, 0, 0, 0, 0, 0,
980, 981, 982, 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, 0, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 0, 347,
0, 348, 349, 350, 351, 352, 0, 353, 0, 354,
355, 0, 0, 0, 358, 359, 360, 361, 0, 362,
363, 0, 364, 365, 366, 0, 367, 368, 369, 370,
371, 0, 373, 374, 375, 376, 0, 377, 378, 379,
380, 381, 382, 383, 384, 0, 385, 0, 387, 388,
389, 390, 391, 392, 393, 0, 394, 0, 395, 0,
0, 398, 0, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 413, 414, 415, 416,
417, 0, 0, 418, 419, 0, 421, 0, 0, 423,
424, 425, 0, 0, 426, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 0, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, 458, 0, 459, 460,
0, 462, 0, 463, 464, 465, 466, 467, 468, 0,
469, 470, 471, 0, 0, 472, 473, 474, 0, 0,
475, 476, 477, 0, 479, 0, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 0, 493,
494, 495, 496, 497, 498, 499, 500, 501, 0, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
513, 514, 515, 516, 517, 0, 518, 519, 520, 521,
522, 523, 524, 525, 526, 527, 528, 529, 530, 0,
531, 532, 0, 534, 535, 536, 537, 538, 539, 540,
541, 542, 543, 544, 545, 546, 547, 548, 549, 0,
550, 551, 552, 553, 554, 0, 555, 556, 557, 558,
559, 0, 561, 562, 563, 564, 0, 565, 566, 567,
568, 569, 570, 571, 572, 573, 574, 575, 576, 577,
578, 579, 580, 581, 0, 582, 583, 0, 0, 584,
0, 586, 587, 588, 589, 590, 591, 0, 592, 593,
594, 0, 0, 595, 596, 597, 598, 599, 0, 600,
601, 602, 603, 604, 605, 606, 607, 608, 0, 0,
609, 610, 611, 612, 613, 0, 0, 614, 615, 616,
617, 618, 619, 620, 0, 621, 0, 623, 624, 625,
626, 0, 0, 627, 0, 0, 628, 629, 630, 631,
632, 633, 634, 635, 636, 637, 638, 639, 640, 641,
642, 643, 644, 645, 646, 647, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 985, 986, 987, 988,
989, 990, 991, 992, 993, 655, 0, 0, 0, 0,
0, 0, 979, 0, 0, 0, 0, 0, 0, 980,
981, 982, 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, 3601, 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, 0, 337, 338, 339,
340, 341, 342, 343, 344, 345, 346, 0, 3602, 0,
348, 349, 350, 351, 352, 0, 353, 0, 354, 355,
0, 0, 0, 358, 359, 360, 361, 0, 362, 363,
0, 364, 365, 366, 0, 367, 368, 369, 370, 371,
0, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, 0, 387, 388, 389,
390, 391, 392, 393, 0, 394, 0, 395, 0, 0,
398, 0, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 419, 0, 421, 0, 0, 423, 424,
425, 0, 0, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 436, 437, 438, 439, 440, 441, 442,
443, 444, 445, 0, 447, 448, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 0, 459, 460, 0,
462, 0, 463, 464, 465, 466, 467, 468, 0, 469,
470, 471, 0, 0, 472, 473, 474, 0, 0, 475,
476, 477, 0, 479, 0, 481, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 496, 497, 498, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, 0, 534, 535, 536, 537, 538, 539, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
0, 561, 562, 563, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 580, 581, 0, 582, 583, 0, 0, 584, 0,
586, 587, 588, 589, 590, 591, 0, 592, 593, 594,
0, 0, 595, 596, 597, 598, 599, 0, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 0, 609,
610, 611, 612, 613, 0, 0, 614, 615, 616, 617,
618, 619, 620, 0, 621, 0, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 634, 635, 636, 637, 638, 639, 640, 641, 642,
643, 644, 645, 646, 647, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 985, 986, 987, 988, 989,
990, 991, 992, 993, 655, 0, 0, 0, 0, 0,
0, 979, 0, 0, 0, 0, 0, 0, 980, 981,
982, 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, 0, 337, 338, 339, 340,
341, 342, 343, 344, 345, 346, 0, 347, 0, 348,
349, 350, 351, 352, 0, 353, 0, 354, 355, 0,
0, 0, 358, 359, 360, 361, 0, 362, 363, 0,
364, 365, 366, 0, 367, 368, 369, 370, 371, 0,
373, 374, 375, 376, 0, 377, 378, 379, 380, 381,
382, 383, 384, 0, 385, 0, 387, 388, 389, 390,
391, 392, 393, 0, 394, 0, 395, 0, 0, 398,
0, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 0,
0, 418, 419, 0, 421, 0, 0, 423, 424, 425,
0, 0, 426, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 0, 459, 460, 0, 462,
0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 0, 0, 5639, 473, 474, 0, 0, 475, 476,
477, 0, 479, 0, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 0, 493, 494, 495,
496, 497, 498, 499, 500, 501, 0, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 0, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 0, 531, 532,
0, 534, 535, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 0,
561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 0, 582, 583, 0, 0, 584, 0, 586,
587, 588, 589, 590, 591, 0, 592, 593, 594, 0,
0, 595, 596, 597, 598, 599, 0, 600, 601, 602,
603, 604, 605, 606, 607, 608, 0, 0, 609, 610,
611, 612, 613, 0, 0, 614, 615, 616, 617, 618,
619, 620, 0, 621, 0, 623, 624, 625, 626, 0,
0, 627, 0, 0, 628, 629, 630, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 1739, 0, 0, 0, 0, 0,
0, 0, 0, 0, 985, 986, 987, 988, 989, 990,
991, 992, 993, 235, 236, 237, 238, 239, 240, 241,
242, 243, 1740, 244, 245, 246, 1741, 1742, 1743, 1744,
1745, 1746, 1747, 247, 248, 249, 1748, 250, 251, 252,
253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
1749, 263, 264, 265, 266, 267, 268, 269, 1750, 1751,
270, 271, 272, 273, 274, 1752, 275, 276, 277, 278,
279, 1753, 280, 1754, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 1755, 292, 293, 294, 295,
296, 297, 1756, 298, 299, 300, 301, 1757, 1758, 1759,
302, 1760, 1761, 1762, 303, 304, 305, 306, 307, 308,
309, 310, 311, 1763, 312, 1764, 313, 314, 315, 316,
317, 318, 319, 1765, 320, 321, 322, 323, 1766, 1767,
324, 325, 326, 327, 328, 1768, 329, 330, 331, 332,
1769, 333, 334, 335, 336, 1770, 337, 338, 339, 340,
341, 342, 343, 344, 345, 346, 1771, 347, 1772, 348,
349, 350, 351, 352, 1773, 353, 1774, 354, 355, 356,
1775, 357, 358, 359, 360, 361, 1776, 362, 363, 1777,
364, 365, 366, 1778, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 1779, 377, 378, 379, 380, 381,
382, 383, 384, 1780, 385, 386, 387, 388, 389, 390,
391, 392, 393, 1781, 394, 1782, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 1783,
1784, 418, 419, 420, 421, 422, 1785, 423, 424, 425,
1786, 1787, 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, 1788, 459, 460, 461, 462,
1789, 463, 464, 465, 466, 467, 468, 1790, 469, 470,
471, 1791, 1792, 472, 473, 474, 1793, 1794, 475, 476,
477, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 1795, 493, 494, 495,
496, 497, 498, 499, 500, 501, 1796, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 1797, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 1798, 531, 532,
533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 1799, 550, 551,
552, 553, 554, 1800, 555, 556, 557, 558, 559, 560,
561, 562, 563, 564, 1801, 565, 566, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 1802, 582, 583, 1803, 1804, 584, 585, 586,
587, 588, 589, 590, 591, 1805, 592, 593, 594, 1806,
1807, 595, 596, 597, 598, 599, 1808, 600, 601, 602,
603, 604, 605, 606, 607, 608, 1809, 1810, 609, 610,
611, 612, 613, 1811, 1812, 614, 615, 616, 617, 618,
619, 620, 1813, 621, 622, 623, 624, 625, 626, 1814,
1815, 627, 1816, 1817, 628, 629, 630, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 655, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1818,
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, 0, 337, 338, 339, 340,
341, 342, 343, 344, 345, 346, 0, 347, 0, 348,
349, 350, 351, 352, 0, 353, 0, 354, 355, 0,
0, 0, 358, 359, 360, 361, 0, 362, 363, 0,
364, 365, 366, 0, 367, 368, 369, 370, 371, 0,
373, 374, 375, 376, 0, 377, 378, 379, 380, 381,
382, 383, 384, 0, 385, 0, 387, 388, 389, 390,
391, 392, 393, 0, 394, 0, 395, 0, 0, 398,
0, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 0,
0, 418, 419, 0, 421, 0, 0, 423, 424, 425,
0, 0, 426, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 0, 459, 460, 0, 462,
0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 0, 0, 472, 473, 474, 0, 0, 475, 476,
477, 0, 479, 0, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 0, 493, 494, 495,
496, 497, 498, 499, 500, 501, 0, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 0, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 0, 531, 532,
0, 534, 535, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 0,
561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 0, 582, 583, 0, 0, 584, 0, 586,
587, 588, 589, 590, 591, 0, 592, 593, 594, 0,
0, 595, 596, 597, 598, 599, 0, 600, 601, 602,
603, 604, 605, 606, 607, 608, 0, 0, 609, 610,
611, 612, 613, 0, 0, 614, 615, 616, 617, 618,
619, 620, 0, 621, 0, 623, 624, 625, 626, 0,
0, 627, 0, 0, 628, 629, 630, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 655, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 865,
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, 0, 337, 338, 339, 340,
341, 342, 343, 344, 345, 346, 0, 347, 0, 348,
349, 350, 351, 352, 0, 353, 0, 354, 355, 0,
0, 0, 358, 359, 360, 361, 0, 362, 363, 0,
364, 365, 366, 0, 367, 368, 369, 370, 371, 0,
373, 374, 375, 376, 0, 377, 378, 379, 380, 381,
382, 383, 384, 0, 385, 0, 387, 388, 389, 390,
391, 392, 393, 0, 394, 0, 395, 0, 0, 398,
0, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 0,
0, 418, 419, 0, 421, 0, 0, 423, 424, 425,
0, 0, 426, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 0, 459, 460, 0, 462,
0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 0, 0, 472, 473, 474, 0, 0, 475, 476,
477, 0, 479, 0, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 0, 493, 494, 495,
496, 497, 498, 499, 500, 501, 0, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 0, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 0, 531, 532,
0, 534, 535, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 0,
561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 0, 582, 583, 0, 0, 584, 0, 586,
587, 588, 589, 590, 591, 0, 592, 593, 594, 0,
0, 595, 596, 597, 598, 599, 0, 600, 601, 602,
603, 604, 605, 606, 607, 608, 0, 0, 609, 610,
611, 612, 613, 0, 0, 614, 615, 616, 617, 618,
619, 620, 0, 621, 0, 623, 624, 625, 626, 0,
0, 627, 0, 0, 628, 629, 630, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 655, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 6088,
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, 0, 337, 338, 339, 340,
341, 342, 343, 344, 345, 346, 0, 347, 0, 348,
349, 350, 351, 352, 0, 353, 0, 354, 355, 0,
0, 0, 358, 359, 360, 361, 0, 362, 363, 0,
364, 365, 366, 0, 367, 368, 369, 370, 371, 0,
373, 374, 375, 376, 0, 377, 378, 379, 380, 381,
382, 383, 384, 0, 385, 0, 387, 388, 389, 390,
391, 392, 393, 0, 394, 0, 395, 0, 0, 398,
0, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 0,
0, 418, 419, 0, 421, 0, 0, 423, 424, 425,
0, 0, 426, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 0, 459, 460, 0, 462,
0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 0, 0, 472, 473, 474, 0, 0, 475, 476,
477, 0, 479, 0, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 0, 493, 494, 495,
496, 497, 498, 499, 500, 501, 0, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 0, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 0, 531, 532,
0, 534, 535, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 0,
561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 0, 582, 583, 0, 0, 584, 0, 586,
587, 588, 589, 590, 591, 0, 592, 593, 594, 0,
0, 595, 596, 597, 598, 599, 0, 600, 601, 602,
603, 604, 605, 606, 607, 608, 0, 0, 609, 610,
611, 612, 613, 0, 0, 614, 615, 616, 617, 618,
619, 620, 0, 621, 0, 623, 624, 625, 626, 0,
0, 627, 0, 0, 628, 629, 630, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 655, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 6090,
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, 0, 337, 338, 339, 340,
341, 342, 343, 344, 345, 346, 0, 347, 0, 348,
349, 350, 351, 352, 0, 353, 0, 354, 355, 0,
0, 0, 358, 359, 360, 361, 0, 362, 363, 0,
364, 365, 366, 0, 367, 368, 369, 370, 371, 0,
373, 374, 375, 376, 0, 377, 378, 379, 380, 381,
382, 383, 384, 0, 385, 0, 387, 388, 389, 390,
391, 392, 393, 0, 394, 0, 395, 0, 0, 398,
0, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, 413, 414, 415, 416, 417, 0,
0, 418, 419, 0, 421, 0, 0, 423, 424, 425,
0, 0, 426, 427, 428, 429, 430, 431, 432, 433,
434, 435, 436, 437, 438, 439, 440, 441, 442, 443,
444, 445, 0, 447, 448, 449, 450, 451, 452, 453,
454, 455, 456, 457, 458, 0, 459, 460, 0, 462,
0, 463, 464, 465, 466, 467, 468, 0, 469, 470,
471, 0, 0, 472, 473, 474, 0, 0, 475, 476,
477, 0, 479, 0, 481, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 0, 493, 494, 495,
496, 497, 498, 499, 500, 501, 0, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 0, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 0, 531, 532,
0, 534, 535, 536, 537, 538, 539, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 0,
561, 562, 563, 564, 0, 565, 566, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
580, 581, 0, 582, 583, 0, 0, 584, 0, 586,
587, 588, 589, 590, 591, 0, 592, 593, 594, 0,
0, 595, 596, 597, 598, 599, 0, 600, 601, 602,
603, 604, 605, 606, 607, 608, 0, 0, 609, 610,
611, 612, 613, 0, 0, 614, 615, 616, 617, 618,
619, 620, 0, 621, 0, 623, 624, 625, 626, 0,
0, 627, 0, 0, 628, 629, 630, 631, 632, 633,
634, 635, 636, 637, 638, 639, 640, 641, 642, 643,
644, 645, 646, 647, 876, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 6217,
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, 877, 260, 878, 879,
0, 263, 264, 265, 266, 267, 268, 269, 0, 0,
270, 271, 880, 881, 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,
882, 883, 311, 0, 312, 0, 313, 314, 315, 316,
317, 318, 319, 0, 320, 321, 322, 323, 0, 0,
324, 325, 884, 327, 328, 0, 329, 330, 331, 332,
0, 333, 334, 335, 336, 0, 337, 338, 339, 340,
0, 342, 343, 344, 345, 0, 0, 347, 0, 348,
349, 350, 885, 352, 0, 353, 0, 354, 355, 356,
0, 357, 358, 359, 360, 361, 0, 362, 0, 0,
0, 365, 366, 0, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, 2733, 377, 378, 379, 380, 381,
382, 383, 384, 0, 385, 386, 2734, 388, 389, 390,
391, 886, 887, 0, 888, 0, 395, 396, 397, 398,
399, 889, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 411, 412, 413, 414, 415, 416, 417, 0,
0, 418, 0, 420, 421, 422, 0, 423, 424, 425,
0, 0, 426, 427, 428, 429, 430, 431, 432, 433,
434, 435, 0, 437, 438, 439, 440, 441, 442, 443,
444, 890, 446, 891, 448, 449, 450, 451, 452, 453,
454, 455, 0, 0, 458, 0, 459, 460, 461, 462,
0, 0, 464, 892, 466, 467, 468, 0, 469, 470,
471, 0, 0, 472, 473, 474, 0, 2735, 475, 476,
2736, 478, 479, 480, 0, 482, 483, 484, 485, 486,
487, 488, 489, 490, 491, 492, 0, 493, 494, 495,
0, 497, 0, 499, 500, 501, 0, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 893, 514,
515, 516, 517, 0, 518, 519, 520, 521, 522, 523,
524, 525, 526, 527, 528, 529, 530, 0, 531, 532,
533, 534, 535, 536, 537, 538, 0, 540, 541, 542,
543, 544, 545, 546, 547, 548, 549, 0, 550, 551,
552, 553, 554, 0, 555, 556, 2737, 558, 559, 560,
561, 562, 895, 564, 0, 565, 566, 567, 568, 569,
570, 571, 572, 573, 574, 575, 576, 577, 578, 579,
0, 581, 0, 582, 583, 0, 0, 584, 585, 586,
587, 588, 589, 590, 591, 0, 592, 896, 897, 0,
0, 595, 596, 0, 598, 0, 0, 600, 601, 602,
603, 604, 605, 606, 607, 608, 0, 0, 609, 610,
611, 612, 613, 0, 0, 614, 615, 616, 617, 618,
0, 898, 2738, 621, 622, 623, 624, 625, 626, 0,
0, 627, 0, 0, 628, 629, 630, 631, 632, 633,
0, 3959, 0, 0, 0, 0, 0, 0, 0, 0,
0, 645, 646, 647, 0, 0, 0, 0, 0, 0,
235, 236, 237, 238, 239, 240, 241, 242, 243, 2739,
244, 245, 246, 0, 0, 0, 0, 0, 0, 0,
247, 248, 249, 0, 250, 251, 252, 253, 254, 255,
256, 257, 0, 877, 260, 878, 879, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 880,
881, 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, 882, 883, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 884,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 0, 337, 338, 339, 340, 0, 342, 343,
344, 345, 0, 0, 347, 0, 348, 349, 350, 885,
352, 0, 353, 0, 354, 355, 356, 0, 357, 358,
359, 360, 361, 0, 362, 0, 0, 0, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 2733, 377, 378, 379, 380, 381, 382, 383, 384,
0, 385, 386, 2734, 388, 389, 390, 391, 886, 887,
0, 888, 0, 395, 396, 397, 398, 399, 889, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 411,
412, 413, 414, 415, 416, 417, 0, 0, 418, 0,
420, 421, 422, 0, 423, 424, 425, 0, 0, 426,
427, 428, 429, 430, 431, 432, 433, 434, 435, 0,
437, 438, 439, 440, 441, 442, 443, 444, 890, 446,
891, 448, 449, 450, 451, 452, 453, 454, 455, 0,
0, 458, 0, 459, 460, 461, 462, 0, 0, 464,
892, 466, 467, 468, 0, 469, 470, 471, 0, 0,
472, 473, 474, 0, 2735, 475, 476, 2736, 478, 479,
480, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 0, 493, 494, 495, 0, 497, 0,
499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 893, 514, 515, 516, 517,
0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 538, 0, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 0, 550, 551, 552, 553, 554,
0, 555, 556, 2737, 558, 559, 560, 561, 562, 895,
564, 0, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 0, 581, 0,
582, 583, 0, 0, 584, 585, 586, 587, 588, 589,
590, 591, 0, 592, 896, 897, 0, 0, 595, 596,
0, 598, 0, 0, 600, 601, 602, 603, 604, 605,
606, 607, 608, 0, 0, 609, 610, 611, 612, 613,
0, 0, 614, 615, 616, 617, 618, 0, 898, 2738,
621, 622, 623, 624, 625, 626, 0, 0, 627, 0,
0, 628, 629, 630, 631, 632, 633, 0, 964, 0,
1602, 714, 0, 0, 0, 0, 775, 2623, 645, 646,
647, 0, 0, 0, 0, 0, 0, 235, 236, 237,
238, 239, 240, 241, 242, 243, 2739, 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, 2624, 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, 0,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
1828, 347, 0, 348, 349, 350, 351, 352, 0, 353,
0, 354, 355, 356, 0, 357, 358, 359, 360, 361,
0, 362, 363, 0, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 0, 377,
378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
387, 388, 389, 390, 391, 392, 393, 0, 394, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 0, 0, 418, 419, 420, 421, 422,
0, 423, 424, 425, 0, 0, 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, 0,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 1829, 0, 472, 473, 474,
0, 0, 475, 476, 477, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 0, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 563, 564, 0, 565,
566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 0, 582, 583, 0,
0, 584, 585, 586, 587, 588, 589, 590, 591, 0,
592, 593, 594, 0, 0, 595, 596, 597, 598, 599,
1830, 600, 601, 602, 603, 604, 605, 606, 607, 608,
0, 0, 609, 610, 611, 612, 613, 0, 0, 614,
615, 616, 617, 618, 619, 620, 0, 621, 622, 623,
624, 625, 626, 0, 0, 627, 0, 0, 628, 629,
630, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 964, 0,
1602, 714, 0, 0, 0, 0, 775, 2623, 0, 0,
0, 1603, 1604, 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, 2629, 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, 0,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
1828, 347, 0, 348, 349, 350, 351, 352, 0, 353,
0, 354, 355, 356, 0, 357, 358, 359, 360, 361,
0, 362, 363, 0, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 0, 377,
378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
387, 388, 389, 390, 391, 392, 393, 0, 394, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 0, 0, 418, 419, 420, 421, 422,
0, 423, 424, 425, 0, 0, 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, 0,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 1829, 0, 472, 473, 474,
0, 0, 475, 476, 477, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 0, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 563, 564, 0, 565,
566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 0, 582, 583, 0,
0, 584, 585, 586, 587, 588, 589, 590, 591, 0,
592, 593, 594, 0, 0, 595, 596, 597, 598, 599,
1830, 600, 601, 602, 603, 604, 605, 606, 607, 608,
0, 0, 609, 610, 611, 612, 613, 0, 0, 614,
615, 616, 617, 618, 619, 620, 0, 621, 622, 623,
624, 625, 626, 0, 0, 627, 0, 0, 628, 629,
630, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 964, 0,
1602, 714, 0, 0, 0, 0, 775, 0, 0, 0,
0, 1603, 1604, 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, 3568, 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, 0,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
1828, 347, 0, 348, 349, 350, 351, 352, 0, 353,
0, 354, 355, 356, 0, 357, 358, 359, 360, 361,
0, 362, 363, 0, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 0, 377,
378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
387, 388, 389, 390, 391, 392, 393, 0, 394, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 0, 0, 418, 419, 420, 421, 422,
0, 423, 424, 425, 0, 0, 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, 0,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 1829, 0, 472, 473, 474,
0, 0, 475, 476, 477, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 0, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 563, 564, 0, 565,
566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 0, 582, 583, 0,
0, 584, 585, 586, 587, 588, 589, 590, 591, 0,
592, 593, 594, 0, 0, 595, 596, 597, 598, 599,
1830, 600, 601, 602, 603, 604, 605, 606, 607, 608,
0, 0, 609, 610, 611, 612, 613, 0, 0, 614,
615, 616, 617, 618, 619, 620, 0, 621, 622, 623,
624, 625, 626, 0, 0, 627, 0, 0, 628, 629,
630, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 964, 0,
1602, 714, 0, 0, 0, 0, 775, 2623, 0, 0,
0, 1603, 1604, 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, 0,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
1828, 347, 0, 348, 349, 350, 351, 352, 0, 353,
0, 354, 355, 356, 0, 357, 358, 359, 360, 361,
0, 362, 363, 0, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 0, 377,
378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
387, 388, 389, 390, 391, 392, 393, 0, 394, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 0, 0, 418, 419, 420, 421, 422,
0, 423, 424, 425, 0, 0, 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, 0,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 1829, 0, 472, 473, 474,
0, 0, 475, 476, 477, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 0, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 563, 564, 0, 565,
566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 0, 582, 583, 0,
0, 584, 585, 586, 587, 588, 589, 590, 591, 0,
592, 593, 594, 0, 0, 595, 596, 597, 598, 599,
1830, 600, 601, 602, 603, 604, 605, 606, 607, 608,
0, 0, 609, 610, 611, 612, 613, 0, 0, 614,
615, 616, 617, 618, 619, 620, 0, 621, 622, 623,
624, 625, 626, 0, 0, 627, 0, 0, 628, 629,
630, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 964, 0,
1602, 714, 0, 0, 0, 0, 775, 0, 0, 0,
0, 1603, 1604, 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, 0,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
1828, 347, 0, 348, 349, 350, 351, 352, 0, 353,
0, 354, 355, 356, 0, 357, 358, 359, 360, 361,
0, 362, 363, 0, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 0, 377,
378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
387, 388, 389, 390, 391, 392, 393, 0, 394, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 0, 0, 418, 419, 420, 421, 422,
0, 423, 424, 425, 0, 0, 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, 0,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 1829, 0, 472, 473, 474,
0, 0, 475, 476, 477, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 0, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 563, 564, 0, 565,
566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 0, 582, 583, 0,
0, 584, 585, 586, 587, 588, 589, 590, 591, 0,
592, 593, 594, 0, 0, 595, 596, 597, 598, 599,
1830, 600, 601, 602, 603, 604, 605, 606, 607, 608,
0, 0, 609, 610, 611, 612, 613, 0, 0, 614,
615, 616, 617, 618, 619, 620, 0, 621, 622, 623,
624, 625, 626, 0, 0, 627, 0, 0, 628, 629,
630, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 655, 0,
0, 0, 0, 0, 0, 0, 775, 0, 0, 0,
0, 1603, 1604, 0, 0, 0, 0, 235, 236, 776,
238, 239, 240, 241, 242, 243, 777, 244, 245, 246,
0, 0, 0, 0, 0, 0, 0, 247, 248, 249,
0, 250, 251, 252, 253, 0, 778, 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, 0,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
0, 347, 0, 348, 349, 779, 351, 352, 0, 353,
0, 354, 780, 0, 781, 0, 358, 359, 360, 361,
0, 362, 363, 0, 364, 365, 366, 0, 367, 368,
369, 370, 371, 0, 373, 374, 375, 376, 782, 377,
378, 379, 380, 381, 382, 383, 384, 0, 385, 0,
387, 388, 389, 390, 391, 392, 393, 0, 394, 0,
395, 0, 0, 398, 0, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 783, 0, 0, 418, 419, 0, 421, 0,
0, 423, 424, 425, 0, 0, 426, 427, 428, 429,
430, 431, 432, 433, 434, 435, 436, 437, 438, 439,
440, 441, 442, 443, 444, 445, 0, 447, 448, 449,
784, 451, 452, 453, 454, 455, 456, 457, 458, 0,
459, 460, 0, 462, 0, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 0, 0, 472, 473, 474,
0, 0, 475, 476, 477, 0, 479, 0, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
0, 785, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 0, 518, 519,
520, 786, 522, 523, 524, 525, 526, 527, 528, 529,
530, 0, 531, 532, 0, 534, 535, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 0, 561, 562, 563, 564, 0, 565,
566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 0, 582, 583, 0,
0, 584, 0, 586, 587, 588, 589, 590, 591, 0,
592, 593, 594, 0, 0, 595, 596, 597, 598, 599,
0, 600, 601, 602, 603, 604, 605, 606, 607, 608,
0, 0, 609, 610, 611, 612, 613, 0, 0, 614,
615, 616, 617, 618, 619, 620, 0, 621, 0, 623,
624, 625, 626, 0, 0, 627, 0, 0, 628, 629,
630, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 964, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 787, 788, 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, 0,
337, 338, 339, 340, 341, 342, 343, 344, 345, 346,
0, 347, 0, 348, 349, 350, 351, 352, 0, 353,
0, 354, 355, 356, 0, 357, 358, 359, 360, 361,
0, 362, 363, 0, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 0, 377,
378, 379, 380, 381, 382, 383, 384, 0, 385, 386,
387, 388, 389, 390, 391, 392, 393, 0, 394, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 0, 0, 418, 419, 420, 421, 422,
0, 423, 424, 425, 0, 0, 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, 0,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 0, 469, 470, 471, 0, 0, 472, 473, 474,
0, 0, 475, 476, 477, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 490, 491, 492,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
0, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, 513, 514, 515, 516, 517, 0, 518, 519,
520, 521, 522, 523, 524, 525, 526, 527, 528, 529,
530, 0, 531, 532, 533, 534, 535, 536, 537, 538,
539, 540, 541, 542, 543, 544, 545, 546, 547, 548,
549, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 563, 564, 0, 565,
566, 567, 568, 569, 570, 571, 572, 573, 574, 575,
576, 577, 578, 579, 580, 581, 0, 582, 583, 0,
0, 584, 585, 586, 587, 588, 589, 590, 591, 0,
592, 593, 594, 0, 0, 595, 596, 597, 598, 599,
0, 600, 601, 602, 603, 604, 605, 606, 607, 608,
0, 0, 609, 610, 611, 612, 613, 0, 0, 614,
615, 616, 617, 618, 619, 620, 0, 621, 622, 623,
624, 625, 626, 0, 0, 627, 0, 0, 628, 629,
630, 631, 632, 633, 634, 635, 636, 637, 638, 639,
640, 641, 642, 643, 644, 645, 646, 647, 1043, 1739,
0, 6406, 714, 0, 0, 0, 0, 775, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 240, 241, 242, 243, 1740, 244, 245,
246, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 247, 248,
249, 1748, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 1749, 263, 264, 265, 266,
267, 268, 269, 1750, 1751, 270, 271, 272, 273, 274,
1752, 275, 276, 277, 278, 279, 1753, 280, 1754, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1755, 292, 293, 294, 295, 296, 297, 1756, 298, 299,
300, 301, 1757, 1758, 1759, 302, 1760, 1761, 1762, 303,
304, 305, 306, 307, 308, 309, 310, 311, 1763, 312,
1764, 313, 314, 315, 316, 317, 318, 319, 1765, 320,
321, 322, 323, 1766, 1767, 324, 325, 326, 327, 328,
1768, 329, 330, 331, 332, 1769, 333, 334, 335, 336,
1770, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 1771, 347, 1772, 348, 349, 350, 351, 352, 1773,
353, 1774, 354, 355, 356, 1775, 357, 358, 359, 360,
361, 1776, 362, 363, 1777, 364, 365, 366, 1778, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 1779,
377, 378, 379, 380, 381, 382, 383, 384, 1780, 385,
386, 387, 388, 389, 390, 391, 392, 393, 1781, 394,
1782, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 1783, 1784, 418, 419, 420, 421,
422, 1785, 423, 424, 425, 1786, 1787, 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,
1788, 459, 460, 461, 462, 1789, 463, 464, 465, 466,
467, 468, 1790, 469, 470, 471, 1791, 1792, 472, 473,
474, 1793, 1794, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 1795, 493, 494, 495, 496, 497, 498, 499, 500,
501, 1796, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 1797, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 1798, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 1799, 550, 551, 552, 553, 554, 1800, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 1801,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 1802, 582, 583,
1803, 1804, 584, 585, 586, 587, 588, 589, 590, 591,
1805, 592, 593, 594, 1806, 1807, 595, 596, 597, 598,
599, 1808, 600, 601, 602, 603, 604, 605, 606, 607,
608, 1809, 1810, 609, 610, 611, 612, 613, 1811, 1812,
614, 615, 616, 617, 618, 619, 620, 1813, 621, 622,
623, 624, 625, 626, 1814, 1815, 627, 1816, 1817, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 1739,
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, 1740, 244, 245,
246, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 247, 248,
249, 1748, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 1749, 263, 264, 265, 266,
267, 268, 269, 1750, 1751, 270, 271, 272, 273, 274,
1752, 275, 276, 277, 278, 279, 1753, 280, 1754, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1755, 292, 293, 294, 295, 296, 297, 1756, 298, 299,
300, 301, 1757, 1758, 1759, 302, 1760, 1761, 1762, 303,
304, 305, 306, 307, 308, 309, 310, 311, 1763, 312,
1764, 313, 314, 315, 316, 317, 318, 319, 1765, 320,
321, 322, 323, 1766, 1767, 324, 325, 326, 327, 328,
1768, 329, 330, 331, 332, 1769, 333, 334, 335, 336,
1770, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 1771, 347, 1772, 348, 349, 350, 351, 352, 1773,
353, 1774, 354, 355, 356, 1775, 357, 358, 359, 360,
361, 1776, 362, 363, 1777, 364, 365, 366, 1778, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 1779,
377, 378, 379, 380, 381, 382, 383, 384, 1780, 385,
386, 387, 388, 389, 390, 391, 392, 393, 1781, 394,
1782, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 1783, 1784, 418, 419, 420, 421,
422, 1785, 423, 424, 425, 1786, 1787, 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,
1788, 459, 460, 461, 462, 1789, 463, 464, 465, 466,
467, 468, 1790, 469, 470, 471, 1791, 1792, 472, 473,
474, 1793, 1794, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 1795, 493, 494, 495, 496, 497, 498, 499, 500,
501, 1796, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 1797, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 1798, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 1799, 550, 551, 552, 553, 554, 1800, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 1801,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 1802, 582, 583,
1803, 1804, 584, 585, 586, 587, 588, 589, 590, 591,
1805, 592, 593, 594, 1806, 1807, 595, 596, 597, 598,
599, 1808, 600, 601, 602, 603, 604, 605, 606, 607,
608, 1809, 1810, 609, 610, 611, 612, 613, 1811, 1812,
614, 615, 616, 617, 618, 619, 620, 1813, 621, 622,
623, 624, 625, 626, 1814, 1815, 627, 1816, 1817, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 1739,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 235, 236,
237, 238, 239, 3676, 241, 242, 243, 1740, 244, 245,
246, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 247, 248,
249, 1748, 250, 251, 252, 253, 254, 255, 256, 257,
258, 259, 260, 261, 262, 1749, 263, 264, 265, 266,
267, 268, 269, 1750, 1751, 270, 271, 272, 273, 274,
1752, 275, 276, 277, 278, 279, 1753, 280, 1754, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
1755, 292, 293, 294, 295, 296, 297, 1756, 298, 299,
300, 301, 1757, 1758, 1759, 302, 1760, 1761, 1762, 303,
304, 305, 306, 307, 308, 309, 310, 311, 1763, 312,
1764, 313, 314, 315, 316, 317, 318, 319, 1765, 320,
321, 322, 323, 1766, 1767, 324, 325, 326, 3677, 328,
1768, 329, 330, 331, 332, 1769, 333, 334, 335, 336,
1770, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 1771, 347, 1772, 348, 349, 350, 351, 352, 1773,
353, 1774, 354, 355, 356, 1775, 357, 358, 359, 360,
361, 1776, 362, 363, 1777, 364, 365, 366, 1778, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 1779,
377, 378, 379, 380, 381, 382, 383, 384, 1780, 385,
386, 387, 388, 389, 390, 391, 392, 393, 1781, 394,
1782, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 1783, 1784, 418, 419, 420, 421,
422, 1785, 423, 424, 425, 1786, 1787, 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,
1788, 459, 460, 461, 462, 1789, 463, 464, 465, 466,
467, 468, 1790, 469, 470, 471, 1791, 1792, 472, 473,
474, 1793, 1794, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 1795, 493, 494, 495, 496, 497, 498, 499, 500,
501, 1796, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 1797, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 1798, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 1799, 550, 551, 552, 553, 554, 1800, 3678,
556, 557, 558, 559, 560, 561, 562, 563, 564, 1801,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 1802, 582, 583,
1803, 1804, 584, 585, 586, 587, 588, 589, 590, 591,
1805, 592, 593, 594, 1806, 1807, 595, 596, 597, 598,
599, 1808, 600, 601, 602, 603, 604, 605, 606, 607,
608, 1809, 1810, 609, 610, 611, 612, 613, 1811, 1812,
614, 615, 616, 617, 618, 619, 620, 1813, 621, 622,
623, 624, 625, 626, 1814, 1815, 627, 1816, 1817, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 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, 1276, 270, 271, 272, 273, 274,
0, 275, 276, 277, 278, 1279, 0, 1280, 0, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
0, 292, 293, 294, 295, 296, 297, 0, 298, 299,
300, 301, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
1292, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 1295, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 3473, 1301, 1302, 1303,
1304, 1305, 1306, 1307, 1308, 409, 1309, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 1310, 420, 421,
422, 0, 423, 424, 425, 1311, 1312, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 1313, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 1316, 458,
0, 459, 460, 461, 462, 0, 1319, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 1322,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 1323, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 1326, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 1328, 581, 0, 582, 583,
1329, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 1332, 598,
1333, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 1336, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 1338, 1339, 1340, 1341,
639, 1342, 1343, 1344, 1345, 644, 645, 646, 647, 234,
0, 1266, 714, 0, 1267, 1268, 0, 775, 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, 1272, 260, 1273, 1274, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 1277, 1278, 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, 1288, 1289, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 884, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 1293, 347, 0, 348, 349, 350, 1294, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 1297, 1298, 0, 1299,
0, 395, 396, 397, 398, 399, 6380, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 1314, 446, 1315, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 461, 462, 1318, 463, 464, 1320, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 1324, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 1327, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 1330, 1331, 0, 0, 595, 596, 597, 598,
599, 1334, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 1337, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
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, 1003, 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, 965, 302, 0, 0, 966, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 967, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
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, 1024, 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, 965, 302, 0, 0, 966, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 1025, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 967, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
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, 965, 302, 0, 0, 966, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 967, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 3004, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
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, 965, 302, 0, 0, 966, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 4030, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 967, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
0, 0, 714, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 1828, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 1829, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 1830, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
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, 965, 302, 0, 0, 966, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 967, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
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, 965, 302, 0, 0, 966, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 1119, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 967, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
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, 965, 302, 0, 0, 966, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1160, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 967, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
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, 965, 302, 0, 0, 966, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1173, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 967, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
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, 965, 302, 0, 0, 966, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1185, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 1186, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 967, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
0, 0, 714, 0, 0, 0, 0, 0, 2606, 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, 2607, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
0, 0, 714, 0, 0, 0, 0, 0, 1394, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
0, 0, 714, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1144, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1157, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1171, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1175, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 964,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 420, 421,
422, 0, 423, 424, 425, 0, 0, 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,
0, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
2838, 275, 276, 277, 278, 279, 0, 0, 2839, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
2840, 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,
0, 2841, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 2842, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 2843, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 2844, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 2845, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
2838, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
2840, 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,
0, 2841, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 2842, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
3893, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 2844, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 2845, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 794, 244, 795,
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, 796, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 827, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 797, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 798, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 794, 244, 795,
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, 796, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 3575, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 797, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 798, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
2838, 275, 276, 277, 278, 279, 0, 0, 0, 281,
282, 283, 284, 285, 286, 0, 288, 289, 290, 291,
2840, 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,
0, 2841, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 2842, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 2844, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 2845, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 794, 244, 795,
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, 796, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 797, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 798, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 3080, 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, 2910, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 859, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 2911, 2912, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 2006, 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, 2007, 307, 308, 309, 310, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 2008, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 2009, 354, 355, 0, 0, 0, 2010, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 2011, 2012, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 2013, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 2014, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 2015,
538, 539, 540, 541, 542, 543, 2016, 545, 546, 547,
548, 549, 0, 2017, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 2018, 584, 0, 2019, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 2020, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 795,
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, 796, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 797, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 798, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 2910, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 859, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 2911, 2912, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 1017, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1018, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 859, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
0, 0, 714, 0, 0, 0, 0, 0, 1398, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 3657, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 3658, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 3670, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 3671, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 656, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 705, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 706,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 819, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 820, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 821, 594, 0, 0, 822, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 853, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 854, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 855, 594, 0, 0, 856, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 859, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
0, 0, 0, 0, 0, 0, 0, 0, 919, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 974, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 975, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 1137, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 1385, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 1400, 255, 256, 257,
258, 259, 0, 261, 262, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 839, 271, 272, 273, 1401,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 842, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 843, 535, 536, 537,
538, 539, 540, 541, 542, 543, 844, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 1389, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 846, 594, 0, 0, 847, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 848, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1546, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 859, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 1607, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1608, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 819, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
3422, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 3423, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 3424, 584, 0, 586, 587, 3425, 589, 3426, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 3427, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
0, 0, 0, 0, 0, 0, 0, 775, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 4249, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 4263, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 4409, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 4936, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 5009, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 5370, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 811, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 817, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 839, 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, 840, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 841, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 842, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 843, 535, 536, 537,
538, 539, 540, 541, 542, 543, 844, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 845, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 846, 594, 0, 0, 847, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 848, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 871, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 999, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1009, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1012, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1028, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1085, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1090, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1107, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1110, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1112, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1149, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1177, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1179, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1189, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1192, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1195, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 839, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 842, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 843, 535, 536, 537,
538, 539, 540, 541, 542, 543, 844, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 1389, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 846, 594, 0, 0, 847, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 848, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1871, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1905, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1907, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1947, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1949, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 1951, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 2045, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 2725, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 0,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 839, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 842, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 843, 535, 536, 537,
538, 539, 540, 541, 542, 543, 844, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 1389, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 2759, 587, 588, 589, 590, 591,
0, 592, 846, 594, 0, 0, 847, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 848, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 839, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 842, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 843, 535, 536, 537,
538, 539, 540, 541, 542, 543, 2821, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 2822, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 846, 594, 0, 0, 2823, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 848, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 839, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 842, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 843, 535, 536, 537,
538, 539, 540, 541, 542, 543, 2907, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 2822, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 846, 594, 0, 0, 2823, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 848, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 839, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 842, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 843, 535, 536, 537,
538, 539, 540, 541, 542, 543, 2931, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 2822, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 846, 594, 0, 0, 2823, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 848, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 3125, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 3129, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 3187, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 3580, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 839, 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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 842, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 843, 535, 536, 537,
538, 539, 540, 541, 542, 543, 844, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 2822, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 846, 594, 0, 0, 2823, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 848, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 3638, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 3660, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 3662, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 3812, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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, 3854, 326, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 5123, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 365, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 6345,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 655,
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,
0, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 0, 347, 0, 348, 349, 350, 351, 352, 0,
353, 0, 354, 355, 0, 0, 0, 358, 359, 360,
361, 0, 362, 363, 0, 364, 0, 366, 0, 367,
368, 369, 370, 371, 0, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
0, 387, 388, 389, 390, 391, 392, 393, 0, 394,
0, 395, 0, 0, 398, 0, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 419, 0, 421,
0, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 0, 447, 448,
449, 450, 451, 452, 453, 454, 455, 456, 457, 458,
0, 459, 460, 0, 462, 0, 463, 464, 465, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 477, 0, 479, 0, 481,
482, 483, 484, 485, 486, 487, 488, 0, 490, 491,
492, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 0, 512, 513, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 0, 534, 535, 536, 537,
538, 539, 0, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 0, 561, 562, 563, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 0, 582, 583,
0, 0, 584, 0, 586, 587, 588, 589, 590, 591,
0, 592, 593, 594, 0, 0, 595, 596, 597, 598,
599, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 619, 620, 0, 621, 0,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 634, 635, 636, 637, 638,
639, 640, 641, 642, 643, 644, 645, 646, 647, 876,
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, 877, 260, 878, 879, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 880, 881, 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, 882, 883, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 884, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
0, 337, 338, 339, 340, 0, 342, 343, 344, 345,
0, 0, 347, 0, 348, 349, 350, 885, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 0, 0, 0, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 2733,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 2734, 388, 389, 390, 391, 886, 887, 0, 888,
0, 395, 396, 397, 398, 399, 889, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 0, 420, 421,
422, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 890, 446, 891, 448,
449, 450, 451, 452, 453, 454, 455, 0, 0, 458,
0, 459, 460, 461, 462, 0, 0, 464, 892, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 2736, 478, 479, 480, 0,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 0, 497, 0, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 893, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 0, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 2737, 558, 559, 560, 561, 562, 895, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 0, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 896, 897, 0, 0, 595, 596, 0, 598,
0, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 0, 898, 2738, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 876, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 645, 646, 647, 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, 877, 260, 878,
879, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 880, 881, 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, 882, 883, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 884, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 0, 337, 338, 339,
340, 0, 342, 343, 344, 345, 0, 0, 347, 0,
348, 349, 350, 885, 352, 0, 353, 0, 354, 355,
356, 0, 357, 358, 359, 360, 361, 0, 362, 0,
0, 0, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, 386, 0, 388, 389,
390, 391, 886, 887, 0, 888, 0, 395, 396, 397,
398, 399, 889, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 0, 420, 421, 422, 0, 423, 424,
425, 0, 0, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 0, 437, 438, 439, 440, 441, 442,
443, 444, 890, 446, 891, 448, 449, 450, 451, 452,
453, 454, 455, 0, 0, 458, 0, 459, 460, 461,
462, 2817, 0, 464, 892, 466, 467, 468, 0, 469,
470, 471, 0, 0, 472, 473, 474, 0, 0, 475,
476, 0, 478, 479, 480, 0, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 0, 497, 0, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 893,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 538, 0, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 0, 555, 556, 2737, 558, 559,
560, 561, 562, 895, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 0, 581, 0, 582, 583, 0, 4637, 584, 585,
586, 587, 588, 589, 590, 591, 0, 592, 896, 897,
0, 0, 595, 596, 0, 598, 0, 0, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 0, 609,
610, 611, 612, 613, 0, 0, 614, 615, 616, 617,
618, 0, 898, 0, 621, 622, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 876, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 645, 646, 647, 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, 877, 260, 878, 879, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 880,
881, 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, 882, 883, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 884,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 0, 337, 338, 339, 340, 0, 342, 343,
344, 345, 0, 0, 347, 0, 348, 349, 350, 885,
352, 0, 353, 0, 354, 355, 356, 0, 357, 358,
359, 360, 361, 0, 362, 0, 0, 0, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
0, 385, 386, 0, 388, 389, 390, 391, 886, 887,
0, 888, 0, 395, 396, 397, 398, 399, 889, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 411,
412, 413, 414, 415, 416, 417, 0, 0, 418, 0,
420, 421, 422, 0, 423, 424, 425, 0, 0, 426,
427, 428, 429, 430, 431, 432, 433, 434, 435, 0,
437, 438, 439, 440, 441, 442, 443, 444, 890, 446,
891, 448, 449, 450, 451, 452, 453, 454, 455, 2897,
0, 458, 0, 459, 460, 461, 462, 0, 0, 464,
892, 466, 467, 468, 0, 469, 470, 471, 0, 0,
472, 473, 474, 0, 0, 475, 476, 0, 478, 479,
480, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 0, 493, 494, 495, 0, 497, 0,
499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 893, 514, 515, 516, 517,
0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 538, 0, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 0, 550, 551, 552, 553, 554,
0, 555, 556, 894, 558, 559, 560, 561, 562, 895,
564, 0, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 0, 581, 0,
582, 583, 0, 0, 584, 585, 586, 587, 588, 589,
590, 591, 0, 592, 896, 897, 0, 0, 595, 596,
0, 598, 0, 0, 600, 601, 602, 603, 604, 605,
606, 607, 608, 0, 0, 609, 610, 611, 612, 613,
0, 0, 614, 615, 616, 617, 618, 0, 898, 0,
621, 622, 623, 624, 625, 626, 0, 0, 627, 0,
0, 628, 629, 630, 631, 632, 633, 876, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 645, 646,
647, 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, 877,
260, 878, 879, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 880, 881, 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, 882, 883, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 884, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 0, 337,
338, 339, 340, 0, 342, 343, 344, 345, 0, 0,
347, 0, 348, 349, 350, 885, 352, 0, 353, 0,
354, 355, 356, 0, 357, 358, 359, 360, 361, 0,
362, 0, 0, 0, 365, 366, 0, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, 0, 377, 378,
379, 380, 381, 382, 383, 384, 0, 385, 386, 0,
388, 389, 390, 391, 886, 887, 0, 888, 0, 395,
396, 397, 398, 399, 889, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 411, 412, 413, 414, 415,
416, 417, 0, 0, 418, 0, 420, 421, 422, 0,
423, 424, 425, 0, 0, 426, 427, 428, 429, 430,
431, 432, 433, 434, 435, 0, 437, 438, 439, 440,
441, 442, 443, 444, 890, 446, 891, 448, 449, 450,
451, 452, 453, 454, 455, 4431, 0, 458, 0, 459,
460, 461, 462, 0, 0, 464, 892, 466, 467, 468,
0, 469, 470, 471, 0, 0, 472, 473, 474, 0,
0, 475, 476, 0, 478, 479, 480, 0, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 0,
493, 494, 495, 0, 497, 0, 499, 500, 501, 0,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 893, 514, 515, 516, 517, 0, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
0, 531, 532, 533, 534, 535, 536, 537, 538, 0,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
0, 550, 551, 552, 553, 554, 0, 555, 556, 894,
558, 559, 560, 561, 562, 895, 564, 0, 565, 566,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 0, 581, 0, 582, 583, 0, 0,
584, 585, 586, 587, 588, 589, 590, 591, 0, 592,
896, 897, 0, 0, 595, 596, 0, 598, 0, 0,
600, 601, 602, 603, 604, 605, 606, 607, 608, 0,
0, 609, 610, 611, 612, 613, 0, 0, 614, 615,
616, 617, 618, 0, 898, 0, 621, 622, 623, 624,
625, 626, 0, 0, 627, 0, 0, 628, 629, 630,
631, 632, 633, 876, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 645, 646, 647, 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, 877, 260, 878, 879, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 880, 881, 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, 882,
883, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 884, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 0, 337, 338, 339, 340, 0,
342, 343, 344, 345, 0, 0, 347, 0, 348, 349,
350, 885, 352, 6032, 353, 0, 354, 355, 356, 0,
357, 358, 359, 360, 361, 0, 362, 0, 0, 0,
365, 366, 0, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 0, 385, 386, 0, 388, 389, 390, 391,
886, 887, 0, 888, 0, 395, 396, 397, 398, 399,
889, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 411, 412, 413, 414, 415, 416, 417, 0, 0,
418, 0, 420, 421, 422, 0, 423, 424, 425, 0,
0, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 0, 437, 438, 439, 440, 441, 442, 443, 444,
890, 446, 891, 448, 449, 450, 451, 452, 453, 454,
455, 0, 0, 458, 0, 459, 460, 461, 462, 0,
0, 464, 892, 466, 467, 468, 0, 469, 470, 471,
0, 0, 472, 473, 474, 0, 0, 475, 476, 0,
478, 479, 480, 0, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 0, 493, 494, 495, 0,
497, 0, 499, 500, 501, 0, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 893, 514, 515,
516, 517, 0, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 538, 0, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 0, 550, 551, 552,
553, 554, 0, 555, 556, 894, 558, 559, 560, 561,
562, 895, 564, 0, 565, 566, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 0,
581, 0, 582, 583, 0, 0, 584, 585, 586, 587,
588, 589, 590, 591, 0, 592, 896, 897, 0, 0,
595, 596, 0, 598, 0, 0, 600, 601, 602, 603,
604, 605, 606, 607, 608, 0, 0, 609, 610, 611,
612, 613, 0, 0, 614, 615, 616, 617, 618, 0,
898, 0, 621, 622, 623, 624, 625, 626, 0, 0,
627, 0, 0, 628, 629, 630, 631, 632, 633, 876,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
645, 646, 647, 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, 877, 260, 878, 879, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 880, 881, 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, 882, 883, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 884, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
0, 337, 338, 339, 340, 0, 342, 343, 344, 345,
0, 0, 347, 0, 348, 349, 350, 885, 352, 6388,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 0, 0, 0, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 0, 388, 389, 390, 391, 886, 887, 0, 888,
0, 395, 396, 397, 398, 399, 889, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 0, 420, 421,
422, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 890, 446, 891, 448,
449, 450, 451, 452, 453, 454, 455, 0, 0, 458,
0, 459, 460, 461, 462, 0, 0, 464, 892, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 0, 478, 479, 480, 0,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 0, 497, 0, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 893, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 0, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 894, 558, 559, 560, 561, 562, 895, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 0, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 896, 897, 0, 0, 595, 596, 0, 598,
0, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 0, 898, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 876, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 645, 646, 647, 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, 877, 260, 878,
879, 0, 263, 264, 265, 266, 267, 268, 269, 0,
0, 270, 271, 880, 881, 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, 882, 883, 311, 0, 312, 0, 313, 314, 315,
316, 317, 318, 319, 0, 320, 321, 322, 323, 0,
0, 324, 325, 884, 327, 328, 0, 329, 330, 331,
332, 0, 333, 334, 335, 336, 0, 337, 338, 339,
340, 0, 342, 343, 344, 345, 0, 0, 347, 0,
348, 349, 350, 885, 352, 0, 353, 0, 354, 355,
356, 0, 357, 358, 359, 360, 361, 0, 362, 0,
0, 0, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, 386, 0, 388, 389,
390, 391, 886, 887, 0, 888, 0, 395, 396, 397,
398, 399, 889, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 0, 420, 421, 422, 0, 423, 424,
425, 0, 0, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 0, 437, 438, 439, 440, 441, 442,
443, 444, 890, 446, 891, 448, 449, 450, 451, 452,
453, 454, 455, 0, 0, 458, 0, 459, 460, 461,
462, 0, 0, 464, 892, 466, 467, 468, 0, 469,
470, 471, 0, 0, 472, 473, 474, 0, 0, 475,
476, 0, 478, 479, 480, 0, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 0, 497, 0, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 893,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 538, 0, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 0, 555, 556, 894, 558, 559,
560, 561, 562, 895, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 0, 581, 0, 582, 583, 0, 0, 584, 585,
586, 587, 588, 589, 590, 591, 0, 592, 896, 897,
0, 0, 595, 596, 0, 598, 0, 0, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 0, 609,
610, 611, 612, 613, 0, 0, 614, 615, 616, 617,
618, 0, 898, 0, 621, 622, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 876, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 645, 646, 647, 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, 877, 260, 878, 879, 0, 263, 264,
265, 266, 267, 268, 269, 0, 0, 270, 271, 880,
881, 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, 882, 883, 311,
0, 312, 0, 313, 314, 315, 316, 317, 318, 319,
0, 320, 321, 322, 323, 0, 0, 324, 325, 884,
327, 328, 0, 329, 330, 331, 332, 0, 333, 334,
335, 336, 0, 337, 338, 339, 340, 0, 342, 343,
344, 345, 0, 0, 347, 0, 348, 349, 350, 885,
352, 0, 353, 0, 354, 355, 356, 0, 357, 358,
359, 360, 361, 0, 362, 0, 0, 0, 365, 366,
0, 367, 368, 369, 370, 1151, 372, 373, 374, 375,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
0, 385, 386, 0, 388, 389, 390, 391, 886, 887,
0, 888, 0, 395, 396, 397, 398, 399, 889, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 411,
412, 413, 414, 415, 416, 417, 0, 0, 418, 0,
420, 421, 422, 0, 423, 424, 425, 0, 0, 426,
427, 428, 429, 430, 431, 432, 433, 434, 435, 0,
437, 438, 439, 440, 441, 442, 443, 444, 890, 446,
891, 448, 449, 450, 451, 452, 453, 454, 455, 0,
0, 458, 0, 459, 460, 461, 462, 0, 0, 464,
892, 466, 467, 468, 0, 469, 470, 471, 0, 0,
472, 473, 474, 0, 0, 475, 476, 0, 478, 479,
480, 0, 482, 483, 484, 485, 486, 487, 488, 489,
490, 491, 492, 0, 493, 494, 495, 0, 497, 0,
499, 500, 501, 0, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, 893, 514, 515, 516, 517,
0, 518, 519, 520, 521, 522, 523, 524, 525, 526,
527, 528, 529, 530, 0, 531, 532, 533, 534, 535,
536, 537, 538, 0, 540, 541, 542, 543, 544, 545,
546, 547, 548, 549, 0, 550, 551, 552, 553, 554,
0, 555, 556, 894, 558, 559, 560, 561, 562, 895,
564, 0, 565, 566, 567, 568, 569, 570, 571, 572,
573, 574, 575, 576, 577, 578, 579, 0, 581, 0,
582, 583, 0, 0, 584, 585, 586, 587, 588, 589,
590, 591, 0, 592, 896, 897, 0, 0, 595, 596,
0, 598, 0, 0, 600, 601, 602, 603, 604, 605,
606, 607, 608, 0, 0, 609, 610, 611, 612, 613,
0, 0, 614, 615, 616, 617, 618, 0, 898, 0,
621, 622, 623, 624, 625, 626, 0, 0, 627, 0,
0, 628, 629, 630, 631, 632, 633, 876, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 645, 646,
647, 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, 877,
260, 878, 879, 0, 263, 264, 265, 266, 267, 268,
269, 0, 0, 270, 271, 880, 881, 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, 882, 883, 311, 0, 312, 0, 313,
314, 315, 316, 317, 318, 319, 0, 320, 321, 322,
323, 0, 0, 324, 325, 884, 327, 328, 0, 329,
330, 331, 332, 0, 333, 334, 335, 336, 0, 337,
338, 339, 340, 0, 342, 343, 344, 345, 0, 0,
347, 0, 348, 349, 350, 885, 352, 0, 353, 0,
354, 355, 356, 0, 357, 358, 359, 360, 361, 0,
362, 0, 0, 0, 365, 366, 0, 367, 368, 369,
370, 1183, 372, 373, 374, 375, 376, 0, 377, 378,
379, 380, 381, 382, 383, 384, 0, 385, 386, 0,
388, 389, 390, 391, 886, 887, 0, 888, 0, 395,
396, 397, 398, 399, 889, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 411, 412, 413, 414, 415,
416, 417, 0, 0, 418, 0, 420, 421, 422, 0,
423, 424, 425, 0, 0, 426, 427, 428, 429, 430,
431, 432, 433, 434, 435, 0, 437, 438, 439, 440,
441, 442, 443, 444, 890, 446, 891, 448, 449, 450,
451, 452, 453, 454, 455, 0, 0, 458, 0, 459,
460, 461, 462, 0, 0, 464, 892, 466, 467, 468,
0, 469, 470, 471, 0, 0, 472, 473, 474, 0,
0, 475, 476, 0, 478, 479, 480, 0, 482, 483,
484, 485, 486, 487, 488, 489, 490, 491, 492, 0,
493, 494, 495, 0, 497, 0, 499, 500, 501, 0,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 893, 514, 515, 516, 517, 0, 518, 519, 520,
521, 522, 523, 524, 525, 526, 527, 528, 529, 530,
0, 531, 532, 533, 534, 535, 536, 537, 538, 0,
540, 541, 542, 543, 544, 545, 546, 547, 548, 549,
0, 550, 551, 552, 553, 554, 0, 555, 556, 894,
558, 559, 560, 561, 562, 895, 564, 0, 565, 566,
567, 568, 569, 570, 571, 572, 573, 574, 575, 576,
577, 578, 579, 0, 581, 0, 582, 583, 0, 0,
584, 585, 586, 587, 588, 589, 590, 591, 0, 592,
896, 897, 0, 0, 595, 596, 0, 598, 0, 0,
600, 601, 602, 603, 604, 605, 606, 607, 608, 0,
0, 609, 610, 611, 612, 613, 0, 0, 614, 615,
616, 617, 618, 0, 898, 0, 621, 622, 623, 624,
625, 626, 0, 0, 627, 0, 0, 628, 629, 630,
631, 632, 633, 876, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 645, 646, 647, 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, 877, 260, 878, 879, 0,
263, 264, 265, 266, 267, 268, 269, 0, 0, 270,
271, 880, 881, 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, 882,
883, 311, 0, 312, 0, 313, 314, 315, 316, 317,
318, 319, 0, 320, 321, 322, 323, 0, 0, 324,
325, 884, 327, 328, 0, 329, 330, 331, 332, 0,
333, 334, 335, 336, 0, 337, 338, 339, 340, 0,
342, 343, 344, 345, 0, 0, 347, 0, 348, 349,
350, 885, 352, 0, 353, 0, 354, 355, 356, 0,
357, 358, 359, 360, 361, 0, 362, 0, 0, 0,
365, 366, 0, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 0, 385, 386, 0, 388, 389, 390, 391,
886, 887, 0, 888, 0, 395, 396, 397, 398, 399,
889, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 411, 412, 413, 414, 415, 416, 417, 0, 0,
418, 0, 420, 421, 422, 0, 423, 424, 425, 0,
0, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 0, 437, 438, 439, 440, 441, 442, 443, 444,
890, 446, 891, 448, 449, 450, 451, 452, 453, 454,
455, 0, 0, 458, 0, 459, 460, 461, 462, 0,
0, 464, 892, 466, 467, 468, 0, 469, 470, 471,
0, 0, 472, 473, 474, 0, 0, 475, 476, 0,
478, 479, 480, 0, 482, 483, 484, 485, 486, 487,
488, 489, 490, 491, 492, 0, 493, 494, 495, 0,
497, 0, 499, 500, 501, 0, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, 893, 514, 515,
516, 517, 0, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 0, 531, 532, 533,
534, 535, 536, 537, 538, 0, 540, 541, 542, 543,
544, 545, 546, 547, 548, 549, 0, 550, 551, 552,
553, 554, 0, 555, 556, 2737, 558, 559, 560, 561,
562, 895, 564, 0, 565, 566, 567, 568, 569, 570,
571, 572, 573, 574, 575, 576, 577, 578, 579, 0,
581, 0, 582, 583, 0, 0, 584, 585, 586, 587,
588, 589, 590, 591, 0, 592, 896, 897, 0, 0,
595, 596, 0, 598, 0, 0, 600, 601, 602, 603,
604, 605, 606, 607, 608, 0, 0, 609, 610, 611,
612, 613, 0, 0, 614, 615, 616, 617, 618, 0,
898, 0, 621, 622, 623, 624, 625, 626, 0, 0,
627, 0, 0, 628, 629, 630, 631, 632, 633, 876,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
645, 646, 647, 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, 877, 260, 878, 879, 0, 263, 264, 265, 266,
267, 268, 269, 0, 0, 270, 271, 880, 881, 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, 882, 883, 311, 0, 312,
0, 313, 314, 315, 316, 317, 318, 319, 0, 320,
321, 322, 323, 0, 0, 324, 325, 884, 327, 328,
0, 329, 330, 331, 332, 0, 333, 334, 335, 336,
0, 337, 338, 339, 340, 0, 342, 343, 344, 345,
0, 0, 347, 0, 348, 349, 350, 885, 352, 0,
353, 0, 354, 355, 356, 0, 357, 358, 359, 360,
361, 0, 362, 0, 0, 0, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 0, 385,
386, 0, 388, 389, 390, 391, 886, 887, 0, 888,
0, 395, 396, 397, 398, 399, 889, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 411, 412, 413,
414, 415, 416, 417, 0, 0, 418, 0, 420, 421,
422, 0, 423, 424, 425, 0, 0, 426, 427, 428,
429, 430, 431, 432, 433, 434, 435, 0, 437, 438,
439, 440, 441, 442, 443, 444, 890, 446, 891, 448,
449, 450, 451, 452, 453, 454, 455, 0, 0, 458,
0, 459, 460, 461, 462, 0, 0, 464, 892, 466,
467, 468, 0, 469, 470, 471, 0, 0, 472, 473,
474, 0, 0, 475, 476, 0, 478, 479, 480, 0,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 0, 493, 494, 495, 0, 497, 0, 499, 500,
501, 0, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, 893, 514, 515, 516, 517, 0, 518,
519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
529, 530, 0, 531, 532, 533, 534, 535, 536, 537,
538, 0, 540, 541, 542, 543, 544, 545, 546, 547,
548, 549, 0, 550, 551, 552, 553, 554, 0, 555,
556, 0, 558, 559, 560, 561, 562, 895, 564, 0,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 0, 581, 0, 582, 583,
0, 0, 584, 585, 586, 587, 588, 589, 590, 591,
0, 592, 896, 897, 0, 0, 595, 596, 0, 598,
0, 0, 600, 601, 602, 603, 604, 605, 606, 607,
608, 0, 0, 609, 610, 611, 612, 613, 0, 0,
614, 615, 616, 617, 618, 0, 898, 0, 621, 622,
623, 624, 625, 626, 0, 0, 627, 0, 0, 628,
629, 630, 631, 632, 633, 876, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 645, 646, 647, 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, 0, 337, 338, 339,
340, 0, 342, 343, 344, 345, 0, 0, 347, 0,
348, 349, 350, 0, 352, 0, 353, 0, 354, 355,
356, 0, 357, 358, 359, 360, 361, 0, 362, 0,
0, 0, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 0, 385, 386, 0, 388, 389,
390, 391, 0, 0, 0, 0, 0, 395, 396, 397,
398, 399, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 411, 412, 413, 414, 415, 416, 417,
0, 0, 418, 0, 420, 421, 422, 0, 423, 424,
425, 0, 0, 426, 427, 428, 429, 430, 431, 432,
433, 434, 435, 0, 437, 438, 439, 440, 441, 442,
443, 444, 0, 446, 0, 448, 449, 450, 451, 452,
453, 454, 455, 0, 0, 458, 0, 459, 460, 461,
462, 0, 0, 464, 0, 466, 467, 468, 0, 469,
470, 471, 0, 0, 472, 473, 474, 0, 0, 475,
476, 0, 478, 479, 480, 0, 482, 483, 484, 485,
486, 487, 488, 489, 490, 491, 492, 0, 493, 494,
495, 0, 497, 0, 499, 500, 501, 0, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 0,
514, 515, 516, 517, 0, 518, 519, 520, 521, 522,
523, 524, 525, 526, 527, 528, 529, 530, 0, 531,
532, 533, 534, 535, 536, 537, 538, 0, 540, 541,
542, 543, 544, 545, 546, 547, 548, 549, 0, 550,
551, 552, 553, 554, 0, 555, 556, 0, 558, 559,
560, 561, 562, 0, 564, 0, 565, 566, 567, 568,
569, 570, 571, 572, 573, 574, 575, 576, 577, 578,
579, 0, 581, 0, 582, 583, 0, 0, 584, 585,
586, 587, 588, 589, 590, 591, 0, 592, 0, 0,
0, 0, 595, 596, 0, 598, 0, 0, 600, 601,
602, 603, 604, 605, 606, 607, 608, 0, 0, 609,
610, 611, 612, 613, 0, 0, 614, 615, 616, 617,
618, 0, 0, 0, 621, 622, 623, 624, 625, 626,
0, 0, 627, 0, 0, 628, 629, 630, 631, 632,
633, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 645, 646, 647
};
static const yytype_int16 yycheck[] =
{
6, 0, 211, 0, 0, 1010, 0, 0, 36, 56,
0, 1038, 796, 797, 798, 0, 0, 23, 802, 25,
0, 0, 0, 29, 21, 1047, 0, 840, 34, 35,
36, 1163, 38, 0, 0, 41, 42, 837, 44, 1594,
46, 683, 1504, 189, 1224, 1578, 830, 53, 54, 55,
933, 0, 935, 1661, 0, 1011, 45, 0, 0, 22,
2845, 1027, 939, 894, 1578, 28, 913, 882, 883, 1042,
2719, 1036, 197, 756, 1113, 864, 843, 892, 21, 1270,
1257, 738, 2043, 1571, 3073, 2720, 760, 3138, 216, 1901,
3431, 3248, 3433, 847, 1583, 752, 1102, 2032, 2741, 2742,
206, 3526, 230, 4278, 951, 897, 2070, 0, 214, 1571,
3928, 217, 1118, 3100, 2069, 211, 1242, 3955, 3730, 3614,
1246, 1087, 4362, 1249, 1250, 1091, 2065, 2066, 2067, 2068,
1096, 1729, 2071, 662, 2073, 2074, 6, 3676, 22, 3678,
1106, 1696, 1697, 2991, 28, 664, 3085, 1624, 1625, 44,
863, 1628, 2051, 976, 1120, 4601, 23, 3977, 3484, 3536,
4839, 1973, 3478, 4300, 191, 2108, 4321, 2110, 175, 36,
761, 3648, 3944, 3650, 4612, 1914, 1461, 3880, 1001, 751,
870, 191, 736, 1006, 1150, 739, 715, 1561, 4624, 4607,
5325, 197, 198, 199, 5365, 4569, 202, 2969, 6, 977,
206, 1690, 208, 2, 4740, 211, 4742, 4407, 214, 0,
3500, 217, 5153, 2636, 220, 35, 222, 5233, 3534, 225,
50, 5491, 42, 229, 5455, 231, 2595, 5104, 1717, 8,
21, 2600, 3292, 762, 2704, 1152, 15, 4611, 4855, 3546,
4857, 1158, 4929, 41, 5161, 3942, 5356, 1621, 5148, 962,
2706, 1168, 3385, 0, 5503, 1172, 0, 5756, 0, 1176,
2683, 1178, 5, 0, 1638, 56, 6, 1184, 11, 1047,
1010, 3390, 936, 1190, 936, 5152, 1193, 6, 960, 1019,
13, 6, 880, 881, 11, 5740, 815, 12, 1544, 1029,
15, 16, 40, 891, 25, 6, 11, 1081, 4778, 2038,
2084, 12, 5412, 56, 6, 97, 150, 6005, 49, 3081,
12, 31, 87, 39, 843, 3483, 6, 3485, 3486, 1001,
80, 49, 12, 27, 1006, 15, 16, 6, 13, 65,
225, 65, 49, 12, 3038, 11, 3040, 3041, 1051, 868,
0, 3045, 3046, 3047, 82, 3049, 3050, 3051, 5419, 5420,
122, 11, 15, 179, 6, 6, 39, 180, 45, 0,
12, 12, 47, 15, 16, 37, 6, 173, 1040, 6,
11, 31, 12, 23, 144, 12, 31, 23, 6, 82,
6, 6, 122, 38, 12, 23, 12, 12, 45, 197,
31, 6, 39, 94, 39, 80, 196, 12, 206, 53,
191, 930, 23, 1880, 39, 6, 214, 127, 115, 217,
5444, 12, 122, 6, 6, 242, 179, 115, 310, 135,
12, 208, 65, 190, 3616, 4625, 6012, 173, 179, 1103,
146, 65, 179, 316, 1473, 179, 188, 179, 142, 179,
1405, 316, 179, 179, 1417, 65, 122, 4703, 4704, 4705,
304, 4707, 4708, 4709, 4710, 4711, 203, 122, 94, 203,
31, 203, 31, 290, 313, 5964, 203, 38, 74, 38,
311, 115, 5372, 1288, 1289, 666, 129, 331, 137, 44,
13, 5, 385, 360, 390, 70, 181, 11, 5758, 27,
403, 344, 1465, 298, 4940, 273, 1263, 13, 218, 4461,
5955, 361, 37, 376, 126, 1320, 27, 448, 1198, 179,
126, 355, 33, 1170, 47, 325, 25, 241, 1047, 179,
397, 448, 448, 13, 290, 6392, 483, 6394, 492, 356,
6386, 47, 450, 264, 385, 122, 414, 433, 179, 1331,
326, 372, 50, 203, 175, 5655, 65, 80, 6420, 155,
65, 5492, 82, 681, 6, 310, 179, 47, 435, 687,
12, 439, 203, 1483, 80, 73, 25, 758, 419, 175,
6442, 699, 403, 13, 1231, 539, 472, 495, 535, 406,
127, 373, 368, 6439, 1241, 309, 173, 683, 355, 6456,
80, 138, 6, 403, 39, 82, 13, 450, 539, 525,
1573, 1258, 368, 225, 142, 410, 179, 94, 485, 225,
326, 537, 539, 1204, 324, 488, 394, 312, 478, 386,
303, 142, 1628, 158, 370, 1403, 539, 6126, 380, 535,
1408, 1409, 535, 1400, 299, 294, 201, 733, 1351, 179,
374, 832, 495, 535, 471, 90, 290, 1462, 435, 299,
82, 492, 368, 299, 390, 82, 539, 663, 303, 390,
1350, 299, 94, 669, 539, 671, 186, 673, 1381, 5703,
676, 82, 65, 65, 1680, 1681, 396, 683, 299, 1277,
1278, 535, 688, 668, 690, 6271, 535, 1524, 463, 1655,
696, 535, 1658, 5963, 82, 65, 5313, 3889, 157, 403,
1727, 1728, 400, 124, 4407, 290, 389, 438, 448, 5452,
448, 1667, 535, 539, 720, 762, 186, 1315, 488, 668,
448, 375, 668, 729, 159, 668, 668, 733, 435, 535,
736, 374, 4435, 739, 1263, 535, 6235, 478, 469, 345,
374, 334, 1432, 1426, 431, 448, 4883, 539, 484, 755,
478, 471, 453, 525, 374, 264, 6454, 10, 413, 766,
1725, 478, 4580, 494, 17, 18, 19, 471, 6466, 479,
496, 1549, 535, 533, 431, 668, 448, 537, 6233, 5259,
482, 1559, 535, 526, 527, 525, 1609, 535, 539, 1461,
34, 538, 2048, 939, 538, 478, 538, 537, 531, 526,
527, 538, 808, 4621, 535, 539, 535, 1547, 1498, 5750,
535, 817, 448, 776, 1645, 778, 6315, 780, 761, 534,
473, 2001, 533, 786, 535, 535, 537, 1491, 5899, 1491,
4442, 837, 838, 535, 840, 841, 4448, 516, 517, 845,
1438, 1439, 413, 1975, 413, 535, 531, 6117, 4620, 496,
526, 527, 1061, 859, 5754, 374, 535, 1734, 864, 374,
466, 496, 525, 6362, 870, 535, 526, 527, 1646, 1609,
533, 1400, 1650, 1651, 537, 1881, 2008, 668, 538, 1408,
1409, 6130, 179, 535, 535, 526, 527, 1569, 2020, 4366,
516, 517, 776, 539, 778, 535, 780, 538, 535, 334,
927, 539, 786, 787, 788, 539, 3549, 535, 3551, 535,
535, 917, 720, 808, 6145, 4241, 539, 927, 448, 539,
535, 729, 4625, 27, 471, 931, 385, 1052, 736, 438,
929, 739, 929, 929, 535, 929, 929, 4253, 944, 929,
1622, 4257, 6052, 535, 929, 929, 31, 406, 5635, 929,
929, 929, 1058, 959, 953, 929, 1062, 1639, 1064, 5215,
469, 448, 929, 929, 6074, 1061, 539, 6237, 492, 864,
761, 762, 978, 25, 1616, 4672, 3915, 983, 984, 4941,
929, 374, 374, 929, 4117, 494, 929, 929, 4107, 4108,
4952, 127, 516, 526, 527, 528, 529, 530, 531, 539,
3772, 3773, 526, 527, 374, 3777, 4313, 421, 422, 1015,
1016, 790, 528, 529, 530, 531, 448, 462, 5959, 539,
539, 448, 3445, 186, 539, 1544, 535, 1864, 203, 5475,
4090, 1948, 1038, 1039, 4529, 3505, 929, 448, 142, 1956,
27, 871, 2069, 841, 6314, 5962, 1052, 845, 1054, 944,
3506, 496, 1058, 4530, 475, 1061, 1062, 54, 1064, 312,
448, 127, 186, 1069, 959, 5942, 1844, 34, 25, 539,
6241, 6242, 4240, 4192, 4242, 4243, 10, 2050, 513, 13,
158, 5958, 218, 17, 18, 19, 6, 1093, 528, 529,
530, 531, 12, 977, 1100, 1101, 191, 3, 6208, 5,
6, 191, 157, 117, 224, 11, 12, 6, 5482, 526,
527, 528, 529, 530, 531, 115, 1122, 1123, 1124, 115,
1126, 5361, 1128, 6, 1130, 1131, 1910, 371, 5871, 173,
179, 124, 2105, 5876, 5877, 165, 927, 6046, 929, 6155,
3912, 385, 179, 387, 157, 4435, 539, 539, 6, 2069,
2070, 448, 331, 181, 3858, 142, 360, 1163, 6, 1165,
1166, 6296, 4657, 1047, 2084, 27, 203, 4592, 3537, 539,
347, 6402, 27, 2093, 127, 122, 1625, 6118, 33, 1628,
78, 195, 91, 105, 91, 179, 5386, 331, 301, 483,
1862, 127, 1198, 6364, 324, 1015, 1016, 311, 385, 3,
290, 198, 380, 31, 2017, 2018, 203, 29, 368, 453,
6127, 174, 264, 127, 5831, 154, 122, 167, 1224, 82,
1226, 179, 326, 6343, 1230, 134, 1232, 134, 525, 2927,
52, 94, 435, 180, 25, 228, 5642, 3880, 65, 325,
537, 535, 448, 403, 1052, 203, 25, 210, 435, 1255,
1058, 1257, 337, 91, 1062, 1261, 1064, 254, 25, 273,
25, 1204, 276, 25, 368, 218, 188, 473, 117, 1275,
523, 524, 525, 526, 527, 528, 529, 530, 531, 2741,
142, 485, 218, 313, 5722, 6123, 6124, 142, 1945, 93,
6425, 5737, 5828, 6413, 472, 1978, 134, 74, 1827, 403,
5746, 294, 1959, 1350, 218, 255, 290, 264, 290, 137,
3008, 1317, 5150, 398, 5752, 1972, 255, 223, 2807, 5137,
1128, 349, 1130, 1131, 2007, 2839, 6243, 3970, 2011, 492,
5748, 6137, 5768, 2016, 270, 471, 2019, 1136, 390, 326,
1346, 1347, 1348, 147, 1350, 3084, 195, 5721, 295, 479,
5796, 406, 258, 3308, 5174, 440, 535, 442, 535, 2049,
473, 2051, 245, 356, 539, 1371, 1938, 2057, 290, 25,
6386, 5143, 476, 2063, 2064, 4362, 539, 5751, 312, 299,
394, 368, 477, 497, 6293, 2075, 438, 477, 1942, 2102,
2675, 535, 158, 406, 1985, 2085, 6313, 219, 1970, 448,
299, 2091, 2891, 1957, 371, 471, 1960, 6324, 1414, 307,
488, 408, 25, 1204, 1421, 539, 403, 469, 181, 539,
329, 4898, 329, 6439, 273, 455, 1432, 276, 1207, 3027,
1209, 1880, 1211, 390, 1213, 435, 1215, 1216, 1217, 435,
2082, 299, 494, 1222, 6250, 4922, 6363, 182, 492, 1476,
1477, 299, 1479, 2827, 448, 492, 2010, 261, 32, 39,
2014, 2015, 2134, 290, 326, 191, 1476, 1477, 5874, 1479,
122, 326, 1478, 264, 5629, 122, 1482, 1483, 6316, 6396,
1271, 438, 396, 535, 258, 264, 5623, 1493, 1494, 1495,
1496, 329, 1498, 6172, 3437, 477, 510, 264, 5944, 264,
1291, 27, 264, 456, 4881, 154, 368, 33, 74, 3117,
116, 6428, 469, 368, 4840, 1521, 127, 294, 471, 1403,
1616, 535, 326, 445, 1408, 1409, 473, 511, 4844, 2048,
42, 142, 441, 4849, 441, 471, 4852, 494, 3322, 3323,
30, 403, 122, 3327, 56, 394, 539, 374, 403, 312,
1556, 158, 1436, 6137, 3, 1561, 122, 471, 1564, 1350,
316, 1445, 5101, 1447, 290, 6371, 27, 1451, 6, 172,
2597, 1577, 1578, 222, 1458, 5692, 403, 5694, 535, 28,
1586, 5698, 5699, 1589, 311, 3369, 3370, 4638, 314, 523,
524, 525, 526, 527, 528, 529, 530, 531, 1493, 390,
1495, 113, 208, 441, 94, 180, 4593, 101, 264, 173,
1616, 390, 1618, 304, 5854, 1621, 142, 183, 1624, 1625,
526, 527, 1628, 390, 311, 390, 2599, 121, 390, 124,
396, 1630, 1638, 197, 438, 1641, 1635, 441, 1644, 310,
331, 191, 294, 3, 93, 219, 6, 438, 3136, 384,
352, 264, 12, 3, 390, 5493, 391, 403, 326, 438,
423, 510, 1668, 398, 158, 1549, 6250, 316, 6114, 435,
3132, 438, 446, 438, 3136, 1559, 438, 324, 469, 304,
1686, 142, 124, 5386, 304, 1476, 1477, 403, 1479, 31,
469, 181, 1698, 1699, 1700, 1701, 1702, 102, 5873, 148,
368, 436, 469, 494, 469, 217, 331, 469, 124, 5481,
1716, 331, 1711, 479, 311, 494, 1715, 295, 2635, 1603,
1604, 1727, 1728, 1729, 459, 94, 492, 494, 294, 494,
173, 342, 494, 299, 390, 403, 316, 340, 390, 195,
290, 6, 185, 2765, 535, 1954, 137, 12, 139, 396,
516, 477, 4600, 122, 203, 330, 535, 117, 403, 13,
203, 210, 1646, 124, 4407, 492, 1650, 1651, 535, 535,
535, 4556, 122, 535, 2694, 180, 326, 390, 290, 345,
536, 403, 438, 539, 390, 6231, 228, 6371, 435, 396,
762, 1686, 4435, 539, 10, 137, 362, 13, 242, 535,
326, 17, 18, 19, 299, 492, 326, 1932, 535, 214,
74, 96, 228, 469, 4518, 170, 465, 273, 368, 4523,
1826, 37, 4594, 539, 229, 438, 80, 433, 435, 435,
94, 1837, 479, 535, 409, 195, 403, 1943, 494, 1845,
1846, 181, 368, 815, 535, 492, 290, 252, 404, 268,
4837, 212, 294, 314, 139, 1861, 469, 1953, 1954, 349,
396, 41, 533, 66, 6310, 535, 537, 535, 5985, 516,
364, 74, 479, 1879, 1880, 215, 281, 403, 294, 535,
392, 494, 6057, 403, 333, 492, 344, 385, 535, 1895,
1896, 1897, 1898, 471, 539, 492, 868, 387, 1904, 435,
466, 156, 396, 294, 2717, 1911, 2737, 101, 1914, 516,
535, 372, 373, 273, 356, 535, 276, 539, 207, 5757,
368, 5739, 535, 1929, 370, 294, 1932, 477, 535, 290,
285, 380, 2937, 294, 314, 378, 1942, 1943, 394, 325,
356, 435, 403, 479, 294, 525, 326, 1953, 1954, 299,
205, 1957, 132, 533, 1960, 535, 536, 537, 930, 539,
1844, 451, 406, 453, 2654, 114, 122, 457, 89, 1975,
1976, 492, 539, 471, 379, 170, 1982, 316, 1984, 535,
450, 2987, 4625, 432, 334, 479, 2082, 2765, 368, 51,
387, 185, 450, 5309, 5766, 2001, 412, 125, 492, 535,
448, 290, 2008, 2675, 2010, 161, 6246, 2013, 2014, 2015,
226, 2017, 2018, 2041, 2020, 464, 3, 403, 539, 2066,
244, 2027, 516, 472, 325, 5520, 475, 471, 2034, 3161,
294, 2037, 2038, 184, 394, 2041, 138, 495, 2044, 2045,
196, 535, 1985, 2049, 125, 2051, 492, 2032, 169, 5206,
2056, 2057, 247, 535, 393, 258, 453, 2063, 2064, 2065,
2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075,
516, 199, 489, 2079, 4035, 2081, 2082, 2083, 2084, 2085,
2086, 2087, 2088, 2032, 3546, 2091, 2032, 2093, 2094, 2032,
2032, 2097, 4053, 539, 3556, 203, 312, 2837, 3104, 3105,
3106, 3107, 403, 3109, 484, 125, 93, 258, 2114, 2115,
2116, 6, 71, 72, 5103, 182, 218, 12, 199, 5957,
269, 1929, 539, 167, 1932, 274, 2132, 6367, 3134, 173,
167, 2915, 2027, 2917, 1942, 1943, 4091, 368, 294, 2032,
5127, 4096, 4106, 3631, 3021, 3022, 3023, 3755, 74, 1957,
510, 360, 1960, 5142, 80, 5975, 4095, 35, 36, 3,
147, 4100, 4101, 2941, 3355, 0, 2172, 2990, 94, 3631,
4069, 2949, 403, 5514, 2952, 2059, 2060, 2044, 2835, 199,
5337, 5720, 5339, 5122, 5956, 473, 387, 3153, 397, 326,
60, 40, 2076, 2077, 1985, 326, 122, 2937, 124, 4011,
538, 122, 2010, 2875, 2917, 4942, 2014, 2015, 1987, 360,
1989, 255, 1991, 4950, 1993, 473, 1995, 385, 255, 387,
1999, 539, 492, 101, 145, 2109, 435, 295, 296, 2901,
151, 368, 492, 3150, 83, 2975, 2765, 368, 3155, 3837,
3157, 2032, 184, 121, 165, 3843, 516, 535, 5383, 93,
3167, 3728, 453, 3170, 492, 3172, 3173, 183, 37, 3176,
368, 131, 306, 3180, 372, 3182, 403, 27, 3185, 306,
3010, 372, 403, 2279, 261, 2066, 485, 535, 516, 539,
158, 6119, 2965, 350, 2967, 453, 212, 347, 2971, 440,
3779, 442, 5427, 326, 5771, 403, 4231, 34, 5793, 2090,
4239, 539, 403, 1883, 148, 1622, 390, 523, 524, 525,
526, 527, 528, 529, 530, 531, 258, 384, 469, 5091,
5745, 5093, 1639, 1903, 61, 310, 268, 2333, 396, 3001,
315, 398, 3249, 93, 485, 368, 420, 3826, 180, 326,
124, 453, 5329, 3127, 4128, 4129, 4130, 4131, 326, 3540,
4134, 4135, 4136, 4137, 4138, 4139, 4140, 4141, 4142, 4143,
5701, 5065, 114, 5067, 5068, 5069, 210, 435, 294, 436,
403, 1630, 214, 299, 5361, 135, 1635, 364, 299, 267,
31, 368, 142, 2389, 492, 372, 146, 229, 324, 173,
368, 268, 356, 303, 167, 3067, 3951, 373, 6236, 326,
173, 326, 3322, 3323, 294, 369, 294, 3327, 516, 299,
252, 479, 3086, 6452, 4198, 4199, 403, 294, 10, 345,
6, 13, 174, 492, 492, 403, 12, 403, 212, 6247,
6469, 485, 5, 3211, 85, 399, 362, 88, 11, 364,
154, 368, 6054, 368, 95, 372, 19, 516, 516, 3369,
3370, 438, 1711, 167, 441, 47, 1715, 173, 210, 173,
396, 173, 54, 353, 37, 326, 535, 535, 778, 779,
780, 492, 123, 783, 784, 785, 403, 440, 403, 442,
396, 197, 255, 793, 82, 197, 364, 284, 80, 333,
296, 29, 393, 2284, 10, 516, 94, 13, 440, 435,
442, 17, 18, 19, 1005, 492, 290, 368, 222, 6,
294, 308, 5853, 245, 52, 12, 5503, 269, 396, 435,
535, 10, 274, 1024, 13, 3208, 1027, 469, 17, 18,
19, 47, 183, 306, 455, 516, 517, 379, 54, 6441,
466, 255, 528, 479, 272, 196, 467, 533, 453, 535,
525, 537, 3224, 6455, 535, 3432, 492, 435, 209, 6,
152, 535, 537, 479, 80, 12, 326, 2573, 2574, 2575,
2576, 2577, 2578, 2579, 2580, 2581, 492, 2583, 3291, 370,
516, 6399, 6059, 6060, 516, 517, 393, 2593, 2594, 2798,
396, 2597, 306, 533, 440, 5582, 442, 537, 2604, 535,
516, 479, 316, 535, 364, 483, 198, 5657, 368, 208,
530, 203, 5662, 5663, 492, 535, 6, 537, 10, 535,
464, 13, 12, 35, 36, 17, 18, 19, 472, 435,
2636, 475, 2638, 533, 3324, 2641, 2642, 537, 516, 2645,
2637, 2647, 528, 403, 2650, 37, 3336, 533, 2654, 535,
410, 537, 536, 102, 534, 539, 268, 535, 3784, 539,
3438, 3617, 254, 725, 3581, 3457, 3458, 534, 268, 2794,
6, 2677, 539, 479, 3346, 98, 12, 2683, 2684, 310,
3352, 3435, 198, 3373, 315, 530, 492, 203, 2694, 751,
535, 2797, 537, 2799, 2800, 5, 3652, 2703, 2704, 5,
3547, 11, 2798, 5, 272, 11, 2834, 6, 453, 11,
516, 2717, 6, 12, 203, 15, 16, 6, 12, 2725,
312, 2727, 5773, 12, 4685, 6202, 197, 3417, 5432, 535,
536, 180, 538, 286, 287, 288, 289, 226, 254, 2767,
4701, 2769, 3557, 5386, 3661, 89, 3663, 145, 22, 485,
3392, 465, 1001, 151, 28, 393, 536, 1006, 3731, 539,
3940, 2767, 245, 2769, 4548, 214, 533, 535, 535, 420,
537, 4379, 423, 535, 61, 537, 4731, 2783, 3491, 483,
229, 2665, 2666, 4738, 4739, 11, 536, 2671, 2794, 539,
4602, 2797, 2798, 2799, 2800, 535, 312, 2803, 2926, 3335,
2806, 3337, 3338, 252, 310, 536, 536, 2677, 539, 539,
536, 536, 536, 539, 539, 539, 408, 15, 16, 2703,
2704, 2827, 4377, 312, 4379, 6302, 539, 40, 3595, 2722,
385, 386, 281, 2839, 226, 536, 536, 536, 539, 539,
539, 536, 536, 390, 539, 539, 2852, 2853, 6189, 62,
4364, 4313, 2643, 2859, 536, 4344, 536, 539, 533, 539,
535, 310, 2868, 5506, 535, 5637, 537, 5854, 492, 2677,
494, 3877, 433, 5645, 5646, 4052, 485, 536, 3618, 3007,
539, 2765, 3921, 535, 2890, 6418, 2677, 492, 6421, 494,
3807, 3574, 408, 154, 6051, 1205, 3813, 440, 1208, 442,
1210, 114, 1212, 61, 1214, 2911, 167, 536, 1218, 3438,
539, 2806, 173, 536, 3571, 3572, 539, 3883, 2924, 50,
312, 536, 514, 512, 539, 536, 4415, 537, 539, 536,
379, 2722, 539, 228, 526, 527, 528, 529, 530, 531,
536, 2947, 3726, 539, 2950, 536, 536, 3731, 539, 539,
310, 536, 536, 536, 539, 539, 539, 536, 313, 536,
539, 222, 539, 3703, 536, 173, 536, 539, 2852, 539,
2976, 2977, 536, 536, 5961, 539, 539, 536, 536, 5614,
539, 539, 2668, 2669, 2670, 2991, 2794, 2993, 2994, 2797,
310, 2799, 2800, 206, 255, 1057, 536, 536, 514, 539,
539, 2964, 536, 385, 386, 539, 1068, 523, 524, 525,
526, 527, 528, 529, 530, 531, 2911, 516, 517, 3025,
3026, 3027, 1084, 536, 473, 3031, 539, 6368, 536, 536,
512, 539, 539, 3039, 523, 524, 525, 526, 527, 528,
529, 530, 531, 313, 536, 306, 3052, 539, 5368, 5369,
536, 264, 3058, 539, 3060, 316, 269, 2941, 50, 4614,
94, 274, 492, 3720, 494, 2949, 3595, 3073, 2952, 512,
40, 536, 3078, 492, 539, 494, 4609, 290, 3084, 228,
2964, 3087, 3999, 528, 4001, 3742, 4003, 2095, 536, 178,
2098, 539, 62, 3099, 3100, 536, 154, 536, 539, 536,
539, 539, 539, 6444, 3110, 536, 535, 4298, 539, 167,
536, 482, 325, 539, 3120, 173, 3122, 535, 3885, 536,
3887, 341, 539, 536, 6113, 3909, 539, 3252, 440, 535,
442, 523, 524, 525, 526, 527, 528, 529, 530, 531,
5820, 5821, 4630, 6130, 114, 536, 6018, 6019, 539, 3255,
184, 3257, 3258, 536, 39, 3161, 539, 3163, 536, 3165,
373, 539, 536, 536, 222, 539, 539, 536, 4630, 536,
539, 535, 539, 536, 208, 536, 539, 1239, 539, 536,
385, 386, 539, 4363, 397, 4365, 4106, 536, 4368, 536,
539, 536, 3198, 536, 539, 536, 539, 255, 4171, 536,
61, 5850, 539, 536, 465, 418, 539, 3879, 4128, 4129,
4130, 4131, 179, 183, 4134, 4135, 4136, 4137, 4138, 4139,
4140, 4141, 4142, 4143, 258, 536, 3119, 224, 539, 536,
3100, 536, 539, 224, 539, 536, 206, 5289, 539, 137,
5292, 139, 4162, 3900, 3927, 3902, 3252, 3253, 306, 3255,
4039, 3257, 3258, 6240, 3260, 492, 469, 494, 316, 6246,
4225, 3267, 385, 386, 536, 536, 3272, 539, 539, 537,
536, 536, 533, 539, 539, 536, 537, 3324, 4198, 4199,
535, 315, 4060, 5238, 5239, 536, 536, 536, 539, 539,
539, 536, 3100, 538, 264, 535, 3392, 536, 4271, 269,
539, 496, 536, 536, 274, 539, 539, 536, 536, 10,
539, 539, 13, 536, 535, 538, 3322, 3323, 3324, 536,
290, 3327, 539, 536, 535, 4245, 3373, 3211, 3119, 3335,
3336, 3337, 3338, 536, 536, 4308, 539, 539, 368, 536,
536, 4024, 539, 539, 203, 3351, 47, 6132, 3354, 4957,
3356, 536, 159, 54, 539, 325, 3885, 154, 3887, 536,
54, 55, 539, 3369, 3370, 536, 536, 3373, 539, 539,
167, 536, 535, 537, 539, 10, 173, 159, 13, 80,
6367, 310, 17, 18, 19, 203, 3392, 4222, 3394, 4224,
3396, 536, 3398, 536, 539, 137, 539, 139, 4055, 4826,
368, 4828, 37, 373, 3500, 310, 440, 465, 442, 4923,
536, 3417, 4378, 539, 3420, 159, 159, 536, 3424, 453,
539, 159, 4258, 165, 4260, 222, 203, 397, 1493, 310,
1495, 3478, 466, 4123, 173, 469, 3425, 3426, 3427, 3445,
3969, 368, 159, 253, 3252, 124, 473, 3255, 418, 3257,
3258, 152, 310, 535, 102, 303, 536, 2677, 255, 173,
74, 5245, 294, 154, 40, 294, 535, 4157, 496, 3475,
310, 294, 3478, 3479, 4654, 50, 167, 3483, 3484, 3485,
3486, 50, 173, 3530, 458, 294, 3492, 93, 230, 4336,
294, 3497, 4164, 0, 89, 4310, 326, 198, 485, 469,
485, 453, 203, 173, 348, 159, 3512, 159, 27, 306,
535, 173, 159, 159, 33, 496, 159, 159, 4208, 316,
3526, 539, 159, 159, 3530, 159, 159, 3533, 3534, 48,
3536, 222, 180, 3324, 159, 159, 159, 159, 45, 159,
159, 159, 310, 435, 286, 287, 288, 289, 4504, 535,
1612, 293, 3436, 254, 3438, 40, 253, 299, 173, 78,
4526, 173, 310, 535, 255, 173, 214, 301, 5529, 535,
3454, 3577, 535, 535, 535, 535, 535, 535, 535, 535,
6365, 229, 3373, 493, 535, 535, 535, 535, 535, 535,
535, 226, 535, 535, 101, 3601, 3602, 535, 535, 535,
535, 56, 535, 535, 252, 3475, 3397, 137, 3478, 139,
535, 312, 535, 535, 133, 306, 135, 535, 535, 535,
3504, 3505, 3413, 142, 535, 316, 535, 146, 4548, 535,
322, 3637, 535, 281, 535, 165, 535, 4514, 535, 535,
168, 224, 40, 105, 539, 539, 253, 154, 103, 40,
39, 535, 446, 446, 533, 174, 3526, 4435, 533, 448,
167, 448, 310, 448, 3534, 535, 173, 3475, 465, 448,
3478, 179, 179, 128, 539, 173, 306, 312, 185, 173,
403, 188, 70, 304, 3475, 192, 448, 3478, 3694, 448,
390, 210, 147, 448, 484, 448, 537, 152, 448, 448,
230, 390, 390, 255, 81, 525, 390, 408, 448, 94,
159, 5173, 3718, 455, 310, 222, 448, 224, 3526, 174,
448, 395, 3728, 178, 250, 467, 3534, 448, 448, 299,
130, 379, 448, 438, 4406, 3526, 4408, 472, 193, 3530,
331, 385, 310, 3534, 304, 448, 448, 535, 255, 196,
94, 4668, 535, 539, 4671, 130, 286, 287, 288, 289,
326, 203, 4434, 293, 294, 159, 473, 473, 448, 299,
5554, 290, 448, 448, 465, 294, 130, 1839, 116, 448,
448, 448, 448, 4700, 3880, 304, 61, 448, 1850, 130,
448, 448, 61, 448, 278, 314, 314, 448, 448, 306,
331, 5585, 352, 310, 1866, 352, 352, 326, 448, 316,
448, 438, 49, 514, 27, 331, 448, 448, 540, 448,
33, 539, 448, 536, 226, 526, 527, 528, 529, 530,
531, 3837, 448, 226, 310, 48, 226, 3843, 448, 226,
226, 310, 533, 226, 299, 226, 537, 226, 3854, 368,
226, 448, 371, 372, 226, 458, 40, 535, 1920, 4779,
159, 159, 310, 294, 122, 78, 159, 159, 473, 376,
159, 484, 310, 1935, 294, 294, 1938, 1939, 294, 261,
3100, 40, 173, 40, 403, 3891, 3892, 3893, 523, 524,
525, 526, 527, 528, 529, 530, 531, 245, 353, 392,
159, 4679, 3908, 4876, 159, 159, 473, 1969, 1970, 473,
159, 303, 448, 179, 298, 488, 3922, 4574, 4575, 536,
133, 278, 135, 278, 431, 455, 535, 13, 539, 142,
450, 535, 5112, 146, 3940, 3941, 3942, 467, 448, 539,
3946, 535, 535, 535, 188, 535, 535, 321, 536, 196,
196, 536, 3958, 533, 5487, 512, 512, 476, 465, 4790,
394, 174, 536, 276, 536, 536, 489, 406, 242, 222,
473, 536, 311, 40, 473, 484, 4859, 539, 539, 319,
61, 536, 489, 390, 491, 492, 535, 4904, 299, 299,
4673, 4674, 4675, 4676, 4677, 299, 3880, 210, 10, 173,
535, 13, 448, 207, 448, 448, 513, 310, 4014, 299,
50, 412, 216, 310, 535, 4687, 242, 294, 242, 3903,
253, 253, 4028, 4029, 253, 385, 230, 272, 310, 536,
448, 538, 539, 4039, 438, 47, 130, 539, 310, 310,
203, 368, 54, 4960, 4961, 40, 4052, 539, 310, 197,
403, 2113, 492, 400, 356, 316, 536, 40, 226, 473,
4206, 3954, 473, 3958, 245, 4071, 351, 62, 80, 525,
448, 4871, 159, 4079, 304, 4081, 173, 290, 448, 485,
40, 294, 175, 535, 436, 352, 4776, 159, 5643, 4095,
535, 304, 400, 4099, 4100, 4101, 159, 3990, 159, 304,
4106, 314, 473, 4109, 294, 40, 4112, 5073, 294, 310,
29, 310, 4118, 326, 4120, 245, 304, 4123, 194, 114,
194, 173, 4128, 4129, 4130, 4131, 492, 40, 4134, 4135,
4136, 4137, 4138, 4139, 4140, 4141, 4142, 4143, 5055, 5056,
152, 4147, 4148, 4149, 4039, 174, 245, 173, 400, 0,
310, 4157, 294, 203, 203, 368, 4162, 4204, 371, 372,
4166, 203, 203, 3954, 203, 496, 539, 61, 4174, 4947,
539, 4177, 539, 4179, 539, 537, 4060, 535, 448, 179,
275, 310, 303, 492, 513, 179, 198, 536, 539, 4195,
403, 203, 4198, 4199, 536, 179, 316, 4203, 4204, 3990,
536, 536, 4208, 376, 4210, 4211, 539, 539, 536, 539,
478, 206, 536, 4219, 4220, 4221, 536, 536, 539, 536,
4862, 536, 536, 535, 322, 4214, 4215, 4216, 4217, 536,
536, 536, 137, 4239, 4240, 4241, 4242, 4243, 539, 4245,
4246, 332, 254, 4249, 268, 179, 4231, 4253, 536, 512,
101, 4257, 448, 489, 535, 3475, 293, 4263, 3478, 535,
539, 534, 4919, 476, 179, 516, 188, 263, 5185, 264,
535, 5188, 5189, 471, 269, 535, 515, 534, 489, 274,
536, 61, 4231, 310, 4290, 4231, 479, 535, 4231, 4231,
525, 5208, 535, 535, 310, 290, 313, 310, 159, 4305,
312, 4307, 448, 154, 448, 448, 3526, 216, 5092, 299,
162, 4407, 5774, 448, 3534, 294, 167, 535, 535, 159,
208, 535, 173, 423, 403, 5245, 395, 159, 179, 159,
325, 395, 253, 395, 185, 208, 162, 188, 4231, 4435,
310, 192, 525, 448, 162, 473, 390, 255, 489, 5032,
5033, 333, 5035, 333, 470, 162, 4362, 4363, 4364, 4365,
448, 420, 4368, 448, 4370, 448, 5023, 265, 448, 265,
265, 222, 390, 448, 130, 448, 390, 448, 373, 5299,
448, 10, 4388, 4253, 13, 390, 390, 4257, 17, 18,
19, 6175, 6176, 448, 448, 6179, 408, 448, 159, 49,
403, 294, 397, 448, 255, 448, 49, 5284, 37, 536,
448, 536, 536, 4204, 226, 534, 226, 191, 536, 536,
173, 3, 314, 418, 539, 458, 50, 10, 115, 536,
13, 539, 173, 535, 17, 18, 19, 4443, 40, 159,
4231, 448, 5319, 159, 536, 4253, 173, 525, 304, 4257,
473, 191, 473, 535, 37, 306, 159, 390, 390, 310,
390, 390, 4253, 5120, 47, 316, 4257, 390, 157, 539,
149, 54, 400, 157, 469, 226, 226, 681, 226, 226,
226, 226, 226, 687, 226, 533, 4449, 6095, 226, 466,
466, 10, 4362, 4499, 13, 699, 230, 80, 4461, 310,
536, 310, 514, 10, 61, 310, 13, 310, 536, 13,
17, 18, 19, 484, 526, 527, 528, 529, 530, 531,
539, 322, 179, 4407, 293, 376, 4532, 536, 47, 4625,
536, 539, 229, 40, 536, 54, 320, 536, 536, 536,
4546, 229, 4548, 536, 535, 534, 5678, 535, 5680, 4555,
536, 4435, 437, 317, 4362, 4561, 61, 535, 192, 445,
535, 80, 376, 92, 478, 4449, 4572, 458, 173, 40,
473, 473, 245, 448, 216, 61, 438, 4461, 159, 88,
183, 4587, 420, 473, 435, 448, 4592, 4593, 458, 395,
162, 448, 390, 448, 4600, 448, 390, 226, 448, 536,
536, 368, 61, 4609, 438, 536, 173, 479, 535, 492,
535, 310, 80, 4619, 465, 198, 159, 115, 536, 5302,
203, 458, 226, 535, 242, 4631, 4632, 226, 226, 226,
5313, 535, 211, 152, 5554, 535, 496, 4643, 489, 310,
491, 492, 539, 226, 227, 5825, 448, 536, 4654, 4655,
40, 5464, 307, 4537, 4538, 331, 310, 3, 539, 535,
539, 458, 513, 46, 535, 5585, 4672, 5689, 536, 448,
400, 254, 185, 115, 186, 226, 179, 536, 147, 198,
243, 243, 533, 312, 203, 536, 537, 538, 2677, 536,
5870, 299, 299, 536, 10, 536, 179, 13, 299, 299,
536, 61, 490, 490, 539, 536, 322, 4713, 536, 331,
539, 536, 535, 5630, 297, 535, 535, 445, 229, 226,
5362, 491, 4592, 4593, 4730, 4618, 304, 458, 179, 312,
5387, 47, 315, 525, 2796, 254, 5916, 5917, 54, 448,
2802, 4625, 4748, 210, 80, 197, 299, 197, 40, 492,
299, 61, 525, 438, 539, 448, 5398, 539, 448, 74,
159, 162, 448, 226, 80, 5437, 4862, 5684, 448, 535,
4776, 536, 129, 4779, 181, 122, 40, 203, 304, 400,
535, 4787, 4788, 40, 4592, 4593, 294, 2849, 175, 4795,
4796, 473, 492, 312, 4800, 4679, 61, 86, 304, 4805,
438, 4592, 4808, 4809, 400, 312, 40, 179, 310, 4815,
535, 492, 173, 4819, 4820, 4821, 4822, 539, 363, 213,
313, 224, 536, 536, 536, 408, 179, 4618, 535, 478,
417, 4837, 536, 61, 4840, 393, 152, 40, 4844, 83,
535, 535, 94, 4849, 536, 138, 4852, 4853, 310, 4855,
10, 4857, 204, 13, 4860, 448, 4862, 17, 18, 19,
40, 536, 362, 159, 159, 4871, 535, 535, 4896, 4875,
5560, 448, 535, 4879, 535, 4881, 535, 535, 40, 535,
5797, 299, 198, 173, 5574, 10, 5908, 203, 13, 408,
4896, 266, 536, 473, 523, 524, 525, 526, 527, 528,
529, 530, 531, 535, 535, 400, 5596, 6087, 159, 115,
5593, 5689, 40, 5603, 5834, 173, 536, 4923, 4924, 314,
179, 5926, 47, 458, 415, 415, 536, 539, 40, 54,
310, 514, 4938, 207, 40, 114, 478, 37, 254, 438,
523, 524, 525, 526, 527, 528, 529, 530, 531, 539,
536, 536, 473, 196, 173, 80, 438, 540, 290, 535,
535, 535, 208, 6, 535, 535, 539, 4837, 310, 535,
166, 536, 496, 386, 4844, 535, 386, 74, 4941, 4849,
4873, 4874, 4852, 5673, 5674, 313, 74, 6167, 6168, 4952,
538, 138, 143, 477, 488, 514, 312, 3059, 5004, 5682,
492, 151, 310, 492, 536, 5011, 478, 526, 527, 528,
529, 530, 531, 536, 170, 170, 523, 524, 525, 526,
527, 528, 529, 530, 531, 332, 403, 152, 5034, 4837,
267, 179, 444, 4253, 438, 444, 4844, 4257, 539, 535,
359, 4849, 210, 5049, 4852, 4853, 299, 535, 310, 438,
310, 400, 40, 4844, 535, 40, 535, 4941, 4849, 313,
204, 4852, 181, 4947, 313, 181, 226, 158, 4952, 535,
354, 496, 496, 198, 5080, 354, 385, 155, 203, 61,
61, 83, 4873, 4874, 317, 40, 64, 369, 61, 536,
5096, 5875, 408, 61, 448, 4979, 4980, 5103, 424, 127,
4984, 4985, 471, 536, 6, 535, 5112, 6027, 143, 400,
496, 3100, 496, 310, 536, 310, 37, 299, 535, 535,
295, 5127, 100, 403, 295, 26, 389, 5799, 539, 254,
535, 539, 310, 389, 5140, 385, 5142, 385, 83, 479,
179, 318, 4362, 535, 448, 426, 5675, 535, 426, 478,
151, 158, 312, 5843, 539, 5845, 122, 479, 317, 492,
5689, 492, 5168, 5835, 334, 536, 181, 181, 415, 535,
415, 473, 478, 5179, 536, 83, 535, 3239, 5513, 535,
929, 1714, 1409, 969, 3652, 163, 3438, 312, 1015, 5398,
2975, 2884, 3254, 4406, 6216, 1016, 4381, 3259, 514, 6078,
3002, 3056, 3871, 5440, 5905, 6216, 4572, 5487, 4379, 4379,
526, 527, 528, 529, 530, 531, 5082, 5463, 3640, 3578,
6, 3198, 200, 5361, 6058, 6205, 5232, 5936, 3290, 5935,
5872, 6099, 6240, 5905, 3645, 4593, 5242, 5127, 4619, 5245,
4604, 5878, 5248, 5249, 5250, 3070, 5139, 4562, 3070, 4401,
3677, 1011, 3919, 4588, 5470, 6175, 6176, 5127, 5121, 6179,
3963, 10, 4656, 5786, 13, 51, 5362, 5273, 5274, 6325,
6458, 5277, 250, 6433, 5454, 3879, 4627, 5400, 6111, 5660,
5888, 5403, 6199, 408, 18, 664, 28, 1874, 5096, 5295,
5386, 5397, 1232, 5299, 4028, 4684, 5628, 4687, 47, 5305,
6321, 4630, 5398, 5309, 3086, 54, 2742, 5313, 3556, 3974,
5316, 5513, 5318, 1915, 5774, 749, 294, 1918, 716, 5127,
3811, 3728, 3001, 5329, 4434, 1953, 5332, 6137, 6371, 4660,
1929, 80, 4662, 858, 1528, 3032, 5442, 1827, 2684, 6298,
4305, 4875, 5623, 5626, 40, 40, 4730, 1382, 5139, 327,
3497, 3512, 1486, 1485, 2694, 5361, 5362, 5363, 6037, 5365,
1425, 5847, 1488, 523, 524, 525, 526, 527, 528, 529,
530, 531, 4592, 4593, 3478, 4241, 5310, 4259, 3475, 5908,
4306, 5582, 5581, 3475, 6031, 6412, 6349, 6180, 5834, 514,
3475, 5397, 5398, 6387, 372, 1442, 374, 5558, 4166, 377,
2588, 526, 527, 528, 529, 530, 531, 10, 386, 5848,
13, 197, 3415, 5849, 17, 18, 19, 395, 3397, 5798,
206, 207, 2589, 2086, 3395, 403, 3305, 3268, 214, 3031,
216, 217, 6389, 3385, 4098, 2594, 5442, 917, 416, 5309,
2682, -1, -1, -1, 230, -1, -1, 425, 5454, 198,
-1, -1, 430, 5459, 203, -1, -1, -1, 5464, 5329,
-1, -1, -1, -1, -1, -1, -1, 5473, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5483, -1, -1,
-1, 5487, -1, -1, 5490, -1, 3475, -1, -1, 3478,
-1, 5361, -1, -1, -1, 5501, 5502, 5503, -1, -1,
-1, 5309, 5386, -1, -1, 254, -1, -1, 1712, 487,
-1, -1, -1, -1, 5513, -1, 5513, 5513, 5309, 5513,
5513, 5329, -1, 5513, 6308, 6309, -1, -1, 5513, 5513,
-1, 5537, -1, 5513, 5513, 5513, 3598, 3526, -1, 5513,
-1, -1, -1, 5322, 3606, 3534, 5513, 5513, 5554, 6078,
-1, -1, 5558, 5361, 5560, -1, 5603, 6434, -1, -1,
-1, -1, -1, 312, 5513, -1, -1, 5513, 5574, -1,
5513, 5513, -1, -1, -1, 5468, 5582, -1, -1, 5585,
-1, -1, -1, 5589, -1, -1, -1, -1, -1, 5397,
5596, -1, -1, -1, -1, -1, -1, 5603, -1, -1,
-1, -1, -1, -1, -1, -1, 5499, 5502, -1, -1,
-1, -1, -1, -1, -1, 6305, -1, 4837, -1, -1,
5513, -1, -1, 226, 4844, -1, -1, -1, -1, 4849,
-1, -1, 4852, 5503, 5442, -1, -1, -1, 5644, -1,
-1, -1, -1, -1, -1, 5651, -1, -1, 3710, 51,
3712, -1, -1, -1, -1, -1, -1, -1, -1, 408,
-1, 5667, -1, -1, 6354, -1, -1, 5673, 5674, -1,
-1, -1, 5678, 5679, 5680, 5681, -1, 5468, -1, -1,
-1, 1885, -1, -1, -1, -1, -1, 6216, -1, 1893,
-1, -1, 0, -1, -1, 5503, -1, 1901, -1, -1,
-1, -1, 6374, 5709, -1, -1, -1, 40, 5499, 312,
-1, 5717, 5582, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5513, -1, -1, -1, -1, -1, -1, -1,
-1, 64, -1, -1, -1, -1, 5742, -1, -1, 5745,
-1, -1, 1946, -1, -1, -1, 3808, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 6433, -1, -1, 5770, 514, -1, 100, -1, 1973,
-1, -1, -1, -1, 5582, -1, 5872, 526, 527, 528,
529, 530, 531, -1, -1, -1, 6458, -1, -1, -1,
3852, -1, 5798, 101, -1, -1, -1, -1, -1, 10,
-1, -1, 13, -1, 5810, 5689, 17, 18, 19, -1,
-1, -1, 5603, 5819, 5820, 5821, -1, -1, -1, 5825,
-1, -1, -1, -1, -1, 5831, 37, -1, 5834, -1,
163, -1, -1, -1, -1, -1, 47, 5843, -1, 5845,
-1, 5847, 5848, 54, -1, -1, 154, -1, 5854, -1,
-1, -1, -1, -1, 5747, 5861, -1, -1, -1, 167,
-1, -1, -1, -1, 5870, 173, 5872, 200, -1, 80,
-1, 179, -1, -1, 5880, 5745, 662, 185, -1, -1,
188, -1, -1, -1, 192, -1, 3948, -1, -1, -1,
-1, -1, -1, -1, -1, 681, -1, -1, -1, -1,
-1, 687, -1, -1, -1, -1, -1, 5127, -1, 5717,
5916, 5917, 245, 699, 222, -1, -1, 250, -1, -1,
523, 524, 525, 526, 527, 528, 529, 530, 531, 715,
3992, -1, -1, -1, 720, -1, -1, 5745, -1, 725,
-1, 5947, -1, 729, 730, -1, -1, 255, -1, -1,
736, -1, 738, 739, 5745, 5961, 5747, -1, 5851, 6065,
-1, 294, -1, -1, -1, 751, 752, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 762, -1, -1, -1,
-1, -1, -1, -1, 5854, -1, -1, 198, -1, -1,
-1, -1, 203, -1, 327, -1, -1, -1, 306, -1,
-1, -1, 310, -1, -1, -1, 6012, -1, 316, -1,
-1, -1, 4074, 5897, -1, 226, 227, -1, -1, -1,
-1, 6027, -1, -1, -1, 6031, -1, -1, -1, 815,
-1, 6037, 6138, 6139, -1, -1, -1, -1, -1, 372,
6046, -1, -1, 254, 377, -1, 5854, -1, -1, -1,
-1, 837, 838, 386, -1, -1, -1, 843, -1, 6065,
5851, -1, 395, -1, -1, 4127, -1, -1, 376, -1,
403, -1, -1, -1, 6080, -1, -1, -1, -1, -1,
-1, 6087, 868, 416, 870, -1, 297, -1, -1, 5309,
4152, 5961, 425, -1, -1, -1, -1, 430, -1, -1,
-1, 312, -1, -1, 315, -1, -1, 6113, 894, 5329,
-1, -1, -1, -1, 6120, -1, -1, -1, 451, -1,
-1, -1, -1, -1, 6130, -1, -1, 435, -1, -1,
-1, 917, 6138, 6139, 6140, -1, -1, -1, 6144, -1,
-1, 5361, -1, -1, 930, -1, -1, -1, -1, -1,
-1, -1, -1, 5961, 487, -1, -1, 465, 491, -1,
-1, 6167, 6168, 6169, -1, -1, -1, -1, -1, 6175,
6176, -1, -1, 6179, -1, -1, 6182, -1, -1, -1,
-1, 489, -1, 491, 492, -1, -1, -1, 6137, -1,
-1, 6137, -1, -1, 6137, 6137, -1, 408, -1, -1,
-1, -1, -1, 6250, 6210, 513, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 6112,
-1, -1, -1, -1, -1, 533, -1, -1, 536, 537,
538, -1, -1, -1, 6240, 6241, 6242, -1, -1, -1,
6246, -1, -1, -1, 6137, -1, -1, -1, -1, -1,
-1, -1, 1038, 1039, 1040, -1, -1, 6065, 6264, -1,
6130, 1047, -1, -1, 4253, 6271, 1052, -1, 4257, -1,
-1, 1057, 1058, 6279, -1, -1, 1062, -1, 1064, -1,
-1, 6287, 1068, 5503, -1, -1, -1, 6293, -1, -1,
-1, -1, 6298, -1, -1, -1, -1, -1, 1084, 6305,
-1, 6250, -1, 514, 6250, -1, -1, 6250, 6250, -1,
-1, -1, 523, 524, 525, 526, 527, 528, 529, 530,
531, 6112, 6130, 725, -1, 536, -1, -1, 539, -1,
6138, 6139, -1, -1, -1, 6341, 6342, 6343, 6344, -1,
6446, 6447, 1128, 6349, 1130, 1131, 6137, -1, 6354, 751,
-1, 0, -1, -1, -1, -1, -1, 6250, 6364, -1,
-1, 6367, 5582, -1, -1, -1, -1, -1, -1, -1,
6240, -1, -1, 4362, -1, -1, 6246, -1, -1, -1,
-1, 6387, -1, -1, 1170, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 6412, 6413, -1, -1,
-1, -1, 1198, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 6371, 6429, -1, 6371, -1, -1, 6371, 6371,
-1, -1, 6240, -1, -1, -1, -1, -1, 6246, -1,
6446, 6447, -1, -1, 6450, 1231, 6452, -1, -1, -1,
-1, -1, 101, 1239, -1, 1241, 6264, -1, -1, 6250,
-1, -1, -1, 6469, -1, -1, -1, -1, -1, -1,
-1, -1, 1258, -1, -1, -1, -1, 1263, 6371, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1275,
6374, -1, 894, -1, -1, -1, -1, 6367, -1, -1,
-1, -1, -1, -1, -1, 154, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4578, -1, 167, -1,
-1, -1, -1, -1, 173, 5745, 2730, -1, -1, -1,
179, 1317, -1, -1, -1, 6343, 185, -1, -1, 188,
-1, -1, -1, 192, 2748, -1, -1, -1, 2752, 6433,
-1, -1, 2756, -1, -1, -1, -1, -1, -1, 6367,
1346, 1347, 1348, -1, 1350, -1, -1, 40, -1, -1,
-1, -1, -1, 222, 6458, -1, 2780, -1, -1, -1,
6371, -1, -1, -1, -1, 1371, -1, -1, -1, 62,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4592, 4593, 6413, 255, -1, -1, 64,
2814, -1, -1, -1, 1400, 88, -1, -1, -1, -1,
-1, 6429, 1408, 1409, -1, -1, -1, -1, -1, -1,
2834, -1, -1, -1, 5854, -1, -1, -1, 6446, 6447,
-1, 114, 115, -1, -1, 100, 1432, -1, -1, 122,
-1, -1, -1, -1, -1, 1057, -1, 306, -1, -1,
-1, 310, -1, -1, -1, -1, 1068, 316, 2872, -1,
-1, -1, -1, -1, -1, 1461, 40, 10, -1, -1,
13, -1, 1084, -1, 17, 18, 19, -1, 161, -1,
-1, -1, 1478, -1, -1, 2899, 1482, 1483, -1, -1,
64, 2905, -1, -1, 37, -1, -1, -1, 163, -1,
183, -1, 1498, -1, 47, 2919, -1, -1, 1504, -1,
-1, 54, 2926, -1, -1, 2929, -1, 376, -1, -1,
-1, 2935, 64, 206, -1, -1, 100, -1, -1, -1,
-1, 5961, -1, -1, -1, 200, -1, 80, -1, -1,
-1, 2955, -1, -1, -1, -1, -1, 2961, -1, -1,
-1, -1, -1, -1, 2968, -1, -1, -1, 100, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2982, -1,
-1, -1, -1, -1, -1, 1571, 435, -1, -1, -1,
-1, 264, 2996, -1, -1, 250, 269, -1, -1, 163,
-1, 274, -1, 3007, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 465, 290, -1, -1,
-1, 294, -1, -1, -1, -1, 1612, -1, -1, -1,
-1, 163, -1, -1, -1, 290, 200, 1239, -1, 294,
489, -1, 491, 492, 4906, -1, -1, -1, 4837, -1,
-1, -1, 325, -1, -1, 4844, -1, -1, -1, 1645,
4849, -1, -1, 4852, 513, 198, -1, -1, 200, -1,
203, 326, 327, -1, -1, -1, -1, -1, -1, -1,
-1, 245, -1, -1, 533, -1, 250, 536, 537, 538,
-1, -1, -1, 226, 227, -1, -1, 4959, -1, -1,
373, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6130, -1, -1, 368, -1, -1, -1, 372, 250, 4981,
-1, 254, 377, -1, 397, -1, 1712, -1, -1, -1,
294, 386, -1, -1, -1, -1, -1, -1, -1, -1,
395, 1727, 1728, 1729, -1, 418, -1, 420, 403, -1,
423, -1, -1, -1, -1, -1, -1, -1, 290, 27,
-1, 416, 294, 327, 297, 33, -1, -1, -1, -1,
425, -1, -1, -1, -1, 430, -1, -1, -1, 312,
-1, -1, 315, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5054, -1, 326, 327, 469, -1, -1, -1,
-1, 1403, -1, -1, -1, -1, -1, -1, 372, -1,
78, -1, -1, 377, -1, -1, -1, -1, 3222, -1,
6240, -1, 386, -1, -1, -1, 6246, -1, -1, -1,
-1, 395, 487, -1, -1, -1, 368, 3241, -1, 403,
372, 1827, -1, -1, 3248, 377, -1, -1, -1, -1,
-1, -1, 416, 1839, 386, -1, -1, -1, -1, -1,
-1, 425, 535, 395, 1850, -1, 430, 135, -1, -1,
-1, 403, -1, -1, 142, 408, 1862, -1, 146, -1,
1866, -1, -1, -1, 416, -1, -1, 451, -1, -1,
-1, -1, -1, 425, -1, -1, -1, -1, 430, 1885,
-1, -1, 1504, -1, -1, -1, 174, 1893, -1, -1,
-1, -1, -1, 5175, -1, 1901, -1, -1, -1, -1,
-1, -1, -1, 487, -1, -1, -1, 491, -1, -1,
-1, -1, -1, -1, 1920, -1, -1, -1, 5127, -1,
-1, -1, 210, 1929, -1, -1, 1932, 6367, -1, 1935,
-1, -1, 1938, 1939, -1, 487, 1942, 1943, -1, 1945,
1946, -1, -1, -1, -1, -1, -1, -1, -1, 1571,
-1, 1957, -1, 1959, 1960, -1, -1, -1, -1, -1,
-1, 514, -1, 1969, 1970, -1, 1972, 1973, -1, -1,
523, 524, 525, 526, 527, 528, 529, 530, 531, -1,
-1, -1, -1, -1, -1, -1, 539, -1, -1, -1,
1612, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 290, -1, 2010, -1, 294, -1, 2014, 2015,
-1, -1, -1, -1, -1, -1, 304, -1, -1, -1,
-1, -1, -1, 1645, -1, -1, 314, -1, -1, -1,
-1, -1, -1, 5315, -1, -1, -1, -1, 326, -1,
-1, -1, -1, 2049, -1, 2051, -1, -1, -1, -1,
2056, 2057, -1, -1, -1, -1, -1, 2063, 2064, 2065,
2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075,
-1, -1, -1, 2079, -1, 2081, -1, 2083, 2084, 2085,
2086, 2087, 2088, 371, 372, 2091, -1, 2093, 2094, -1,
-1, 2097, -1, 64, -1, -1, -1, -1, -1, -1,
5309, -1, -1, -1, -1, -1, -1, 2113, 2114, 2115,
2116, -1, -1, -1, -1, 403, -1, -1, -1, -1,
5329, -1, 0, -1, -1, -1, 2132, -1, 2134, 100,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 198, 199, 22, -1, 202, -1, -1, -1,
-1, -1, 5361, -1, -1, 33, -1, 35, 36, -1,
-1, -1, -1, -1, -1, -1, 222, -1, 3592, -1,
-1, -1, -1, 229, -1, 53, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 63, -1, -1, 476, -1,
-1, -1, 163, -1, -1, -1, -1, 75, -1, 77,
78, -1, -1, -1, -1, -1, 84, -1, 86, -1,
-1, -1, -1, -1, -1, -1, -1, 1839, -1, -1,
-1, 99, -1, 101, -1, -1, -1, -1, 1850, 200,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
118, -1, -1, 121, 1866, -1, -1, -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, 2279, -1, -1, -1, 3701, -1, 250,
158, -1, 160, -1, -1, -1, -1, -1, -1, 167,
-1, -1, -1, -1, 5503, -1, -1, -1, 1920, -1,
-1, 25, -1, -1, -1, -1, 30, 185, -1, -1,
-1, -1, -1, 1935, -1, -1, 1938, 1939, -1, 290,
-1, -1, -1, 294, 202, -1, -1, 2333, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1969, 1970, -1,
-1, -1, -1, -1, -1, 326, 327, 81, 82, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5582, 98, 5657, -1, -1, 256, 257,
5662, 5663, 17, 2389, 262, -1, -1, -1, -1, -1,
-1, 26, 116, -1, -1, -1, -1, 368, -1, 277,
-1, 372, -1, -1, -1, -1, 377, -1, 3832, -1,
-1, -1, -1, -1, -1, 386, 140, -1, 296, -1,
-1, -1, -1, -1, 395, -1, -1, -1, -1, 153,
-1, -1, 403, -1, -1, -1, -1, -1, 162, -1,
-1, -1, -1, -1, -1, 416, -1, -1, -1, -1,
-1, 175, -1, -1, 425, -1, -1, 181, -1, 430,
-1, -1, -1, -1, -1, 343, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
358, -1, -1, -1, 208, -1, 364, 365, -1, 367,
-1, 2113, -1, 5775, 372, -1, -1, -1, -1, -1,
378, -1, -1, 381, -1, -1, -1, -1, -1, -1,
388, -1, -1, -1, -1, -1, 487, 395, 396, -1,
-1, -1, 246, -1, -1, 403, -1, -1, -1, 407,
-1, -1, -1, -1, -1, -1, 5745, -1, -1, -1,
418, -1, -1, -1, 268, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5838, 435, -1, -1,
27, -1, -1, -1, -1, -1, 33, 2573, 2574, 2575,
2576, 2577, 2578, 2579, 2580, 2581, -1, 2583, 456, -1,
-1, 48, -1, -1, -1, -1, -1, 4011, 2594, -1,
468, 2597, -1, -1, -1, -1, 474, -1, -1, -1,
-1, 479, -1, -1, -1, -1, 4030, -1, -1, -1,
4034, 78, -1, -1, 492, 671, -1, 673, -1, -1,
676, -1, -1, -1, 348, 349, -1, -1, 352, -1,
-1, -1, 2638, -1, 690, -1, 2642, -1, 516, 2645,
696, 2647, -1, -1, 2650, 5854, -1, -1, 2654, -1,
-1, -1, -1, -1, -1, -1, 380, 535, -1, 383,
538, -1, -1, -1, -1, -1, 390, -1, 135, 2675,
-1, 2677, -1, 397, -1, 142, 400, -1, -1, 146,
-1, -1, -1, -1, -1, -1, -1, -1, 2694, -1,
-1, -1, -1, -1, -1, -1, 420, 2703, 2704, -1,
-1, -1, -1, -1, 428, -1, -1, 174, -1, -1,
-1, 435, -1, -1, 438, -1, -1, -1, -1, 443,
-1, -1, -1, -1, 2730, -1, -1, -1, -1, -1,
-1, 2737, -1, -1, 458, 2741, 2742, -1, -1, -1,
-1, -1, 2748, 210, -1, -1, 2752, -1, -1, -1,
2756, -1, 5961, -1, -1, -1, -1, -1, -1, 2765,
-1, 485, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 10, -1, 2780, 13, -1, 2783, -1, 17,
18, 19, -1, -1, -1, -1, -1, -1, 2794, -1,
2796, 2797, -1, 2799, 2800, -1, 2802, -1, -1, 37,
-1, -1, -1, -1, -1, -1, -1, -1, 2814, 47,
-1, -1, -1, -1, -1, -1, 54, -1, -1, -1,
-1, -1, -1, 290, -1, -1, -1, 294, 2834, 2835,
-1, -1, -1, -1, -1, -1, -1, 304, -1, -1,
-1, -1, 80, 2849, -1, -1, -1, 314, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 27, 326,
-1, -1, -1, -1, 33, 2871, 2872, -1, -1, 2875,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
10, -1, -1, 13, -1, -1, -1, 17, 18, 19,
-1, -1, -1, 2899, -1, 2901, -1, -1, -1, 2905,
-1, 368, -1, -1, 371, 372, -1, 37, -1, 78,
-1, -1, -1, 2919, -1, 4339, -1, 47, -1, -1,
2926, 6130, -1, 2929, 54, -1, -1, 983, 984, 2935,
-1, -1, -1, -1, -1, -1, 403, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2955,
80, -1, -1, -1, -1, 2961, -1, -1, -1, -1,
198, -1, 2968, -1, -1, 203, 135, -1, -1, -1,
-1, -1, -1, 142, -1, -1, 2982, 146, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 226, 227,
2996, -1, -1, -1, -1, 3001, -1, -1, 1054, -1,
-1, 3007, -1, -1, -1, 174, -1, -1, -1, 476,
-1, -1, -1, 1069, -1, -1, 254, -1, -1, 3025,
3026, 3027, -1, -1, -1, 3031, -1, -1, -1, -1,
665, 6240, -1, -1, -1, -1, -1, 6246, -1, -1,
-1, 210, -1, -1, 1100, 1101, -1, -1, -1, -1,
-1, -1, 3058, 3059, -1, -1, -1, 4481, -1, 297,
4484, 3067, -1, -1, -1, -1, 6348, -1, 198, -1,
1126, -1, -1, 203, 312, -1, -1, 315, -1, -1,
715, 716, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3100, -1, 226, 227, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1165,
1166, -1, -1, -1, -1, 2737, -1, -1, -1, 2741,
2742, 290, -1, -1, 254, 294, 3132, -1, -1, -1,
3136, -1, -1, -1, -1, 304, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 314, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 326, 6367, -1,
-1, 4585, -1, -1, -1, -1, -1, 297, -1, -1,
408, -1, -1, -1, 2796, -1, 811, -1, 4602, -1,
2802, -1, 312, -1, -1, 315, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 831, -1, -1, 368,
-1, -1, 371, 372, 839, -1, -1, 842, 843, 844,
-1, -1, -1, -1, -1, -1, 3222, -1, 3224, -1,
-1, -1, -1, -1, -1, -1, -1, 2849, -1, -1,
-1, -1, -1, 3239, 403, 3241, 10, -1, -1, 13,
-1, -1, 3248, 17, 18, 19, 3252, -1, 3254, 3255,
-1, 3257, 3258, 3259, -1, -1, -1, -1, -1, -1,
4684, 3267, -1, 37, -1, -1, 3272, -1, -1, -1,
-1, -1, -1, 47, -1, -1, 514, -1, 408, -1,
54, -1, -1, -1, 3290, 523, 524, 525, 526, 527,
528, 529, 530, 531, -1, -1, -1, -1, -1, -1,
-1, 539, -1, -1, -1, -1, 80, 476, -1, -1,
-1, -1, -1, -1, -1, -1, 3322, 3323, 3324, -1,
-1, 3327, -1, -1, -1, -1, -1, -1, -1, 3335,
3336, 3337, 3338, -1, -1, -1, -1, -1, -1, -1,
3346, -1, -1, -1, -1, 3351, 3352, -1, 3354, -1,
3356, -1, 27, -1, -1, -1, -1, -1, 33, -1,
-1, -1, -1, 3369, 3370, -1, -1, 3373, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 514, -1, -1, -1, 3394, -1,
3396, -1, 3398, 523, 524, 525, 526, 527, 528, 529,
530, 531, -1, 78, -1, -1, 536, -1, -1, -1,
-1, 3417, 1047, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 198, -1, -1, -1, -1, 203,
-1, -1, 3438, -1, -1, -1, -1, 3059, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 226, 227, -1, -1, -1, 25, -1, -1,
135, -1, 30, -1, -1, -1, -1, 142, -1, 3475,
-1, 146, 3478, -1, 10, -1, -1, 13, -1, -1,
254, 17, 18, 19, -1, -1, 3492, -1, -1, -1,
-1, 3497, -1, -1, -1, -1, -1, -1, -1, 174,
68, 37, -1, -1, -1, -1, 3512, -1, 1564, -1,
3132, 47, -1, 81, 3136, -1, -1, -1, 54, -1,
3526, -1, -1, 297, -1, -1, -1, -1, 3534, -1,
98, -1, -1, 1589, -1, 210, -1, -1, 312, -1,
3546, 315, -1, 3549, 80, 3551, -1, -1, 116, -1,
3556, -1, 4976, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4988, 3571, 3572, -1, -1, -1,
-1, 3577, 140, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 153, 3592, -1, -1, 3595,
-1, -1, 3598, -1, 162, -1, -1, -1, -1, -1,
3606, -1, 1237, -1, -1, -1, -1, 175, -1, -1,
-1, -1, 1668, 181, -1, 290, -1, 3239, -1, 294,
-1, -1, -1, -1, -1, 3631, -1, -1, 1263, 304,
-1, 3637, 3254, -1, 408, -1, -1, 3259, -1, 314,
208, -1, 1698, 1699, 1700, 1701, -1, -1, -1, -1,
-1, 326, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 198, -1, -1, -1, -1, 203, 3290, -1,
3676, 3677, 3678, -1, -1, -1, -1, -1, 27, -1,
-1, -1, -1, -1, 33, -1, -1, -1, -1, -1,
226, 227, -1, 368, -1, 3701, 371, 372, -1, -1,
268, -1, -1, -1, 3710, -1, 3712, -1, -1, -1,
-1, -1, -1, -1, 3720, -1, -1, 1352, 254, -1,
-1, -1, -1, -1, -1, -1, 1361, -1, 403, 78,
-1, -1, -1, -1, -1, -1, 3742, -1, -1, -1,
514, -1, 1377, -1, 312, -1, -1, -1, -1, 523,
524, 525, 526, 527, 528, 529, 530, 531, -1, -1,
-1, 297, 536, -1, -1, 1400, -1, -1, 1403, 1404,
-1, -1, -1, 1408, 1409, -1, 312, -1, -1, 315,
348, 349, 5206, -1, 352, -1, 135, -1, -1, 1845,
1846, -1, -1, 142, -1, -1, -1, 146, -1, -1,
-1, 476, 3808, -1, -1, 1861, -1, -1, -1, -1,
-1, -1, 380, -1, -1, 383, -1, -1, -1, -1,
-1, -1, 390, -1, -1, 174, 3832, -1, -1, 397,
-1, 3837, 400, -1, -1, -1, -1, 3843, -1, 1895,
1896, 1897, 1898, -1, -1, -1, 3852, -1, -1, -1,
-1, -1, 420, -1, -1, -1, -1, -1, -1, -1,
428, 210, -1, -1, -1, -1, -1, 435, -1, -1,
438, -1, 408, 3879, 3880, 443, -1, -1, -1, 3885,
-1, 3887, -1, 451, -1, -1, -1, -1, -1, -1,
458, -1, -1, -1, 3900, -1, 3902, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5337, -1, 5339, 3922, 485, -1, -1,
1976, -1, -1, -1, 3546, -1, 1982, 3549, -1, 3551,
-1, -1, 27, -1, 3556, -1, -1, -1, 33, -1,
-1, 290, 3948, -1, -1, 294, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 304, -1, -1, -1, -1,
-1, -1, -1, 3969, 3970, 314, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3598, 326, 514, -1,
-1, -1, -1, 78, 3606, -1, 3992, 523, 524, 525,
526, 527, 528, 529, 530, 531, -1, -1, -1, -1,
536, -1, -1, -1, -1, 4011, -1, -1, 10, 3631,
-1, 13, -1, -1, -1, 17, 18, 19, -1, 368,
-1, -1, 371, 372, 4030, -1, -1, -1, 4034, -1,
1665, -1, -1, -1, -1, 37, -1, -1, 1673, -1,
135, -1, -1, -1, -1, 47, -1, 142, -1, 4055,
-1, 146, 54, -1, 403, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4071, -1, -1, 4074, -1,
-1, -1, -1, 4079, -1, 4081, -1, -1, 80, 174,
-1, -1, -1, -1, -1, -1, -1, -1, 3710, 4095,
3712, -1, -1, 4099, 4100, 4101, -1, -1, 51, -1,
4106, -1, -1, 4109, -1, -1, 4112, -1, -1, -1,
-1, -1, 4118, -1, 4120, 210, 2172, 4123, -1, -1,
-1, 4127, 4128, 4129, 4130, 4131, -1, 476, 4134, 4135,
4136, 4137, 4138, 4139, 4140, 4141, 4142, 4143, -1, -1,
-1, 4147, 4148, 4149, -1, -1, 4152, -1, -1, -1,
-1, 4157, -1, -1, -1, 27, 4162, -1, 4164, -1,
4166, 33, -1, -1, -1, -1, -1, -1, 4174, -1,
-1, 4177, -1, 4179, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3808, -1, -1, 4195,
-1, -1, 4198, 4199, -1, 290, 198, 4203, 4204, 294,
-1, 203, 4208, -1, 4210, -1, 78, -1, -1, 304,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 314,
-1, 27, -1, -1, 226, 227, -1, 33, -1, -1,
3852, 326, -1, 4239, -1, -1, -1, -1, -1, 4245,
-1, -1, -1, -1, -1, -1, -1, 4253, -1, -1,
-1, 4257, 254, 1888, -1, -1, -1, 1892, 3880, -1,
-1, -1, -1, 135, -1, -1, -1, -1, -1, -1,
142, -1, 78, 368, 146, -1, 371, 372, -1, -1,
-1, -1, -1, -1, 4290, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 297, -1, -1, -1, -1,
-1, 4307, 174, -1, -1, -1, -1, 4313, 403, -1,
312, -1, -1, 315, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3948, -1, -1, 135,
-1, -1, -1, 4339, -1, -1, 142, -1, 210, -1,
146, -1, -1, -1, -1, -1, -1, -1, 3970, -1,
-1, -1, -1, -1, -1, -1, 4362, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 174, -1,
3992, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 476, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4401, -1, -1, -1, -1,
4406, 4407, 4408, -1, 210, -1, 408, -1, -1, -1,
-1, -1, 10, -1, -1, 13, -1, -1, 290, 17,
18, 19, 294, -1, -1, -1, -1, 2062, 4434, 4435,
-1, -1, 304, -1, -1, -1, -1, -1, -1, 37,
-1, -1, 314, -1, -1, -1, -1, -1, -1, 47,
-1, -1, 4074, -1, 326, -1, 54, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4481, -1, -1, 4484, -1,
-1, -1, 80, -1, 290, -1, -1, -1, 294, -1,
-1, -1, -1, -1, -1, -1, 368, -1, 304, 371,
372, -1, -1, -1, -1, 4127, -1, -1, 314, -1,
-1, -1, 514, -1, -1, -1, -1, -1, -1, -1,
326, 523, 524, 525, 526, 527, 528, 529, 530, 531,
4152, 403, -1, -1, 536, -1, -1, -1, -1, 8,
-1, -1, 4548, -1, -1, 14, 15, -1, -1, -1,
-1, 20, -1, 22, -1, -1, -1, -1, -1, 28,
-1, 30, 368, -1, -1, 371, 372, -1, 4574, 4575,
-1, -1, 4578, -1, -1, -1, -1, -1, -1, 4585,
49, 50, -1, -1, -1, 2641, 4592, 4593, -1, -1,
-1, -1, -1, -1, -1, -1, 4602, 403, -1, -1,
198, -1, -1, -1, 476, 203, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4625,
-1, -1, -1, -1, 4630, 4631, 4632, 6051, 226, 227,
-1, -1, 10, -1, -1, 13, -1, 4643, -1, 17,
18, 19, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 254, -1, -1, 37,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
476, -1, -1, -1, -1, -1, 54, -1, 4684, -1,
-1, 4687, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4313, -1, -1, -1, -1, -1, -1, -1, 297,
-1, -1, 80, -1, -1, -1, -1, 4713, -1, -1,
-1, -1, -1, -1, 312, -1, -1, 315, -1, -1,
-1, -1, -1, -1, 4730, -1, -1, -1, -1, -1,
-1, 200, -1, -1, -1, 204, -1, -1, -1, -1,
-1, -1, 4748, 212, -1, -1, 215, 2803, -1, 218,
219, -1, 221, -1, 223, -1, -1, 226, -1, 228,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4776, -1, 725, 4779, -1, -1, -1, -1, -1, -1,
-1, 4787, 4788, -1, 4790, 4407, -1, -1, -1, 4795,
4796, -1, -1, -1, 4800, -1, -1, -1, 751, 4805,
-1, -1, 4808, 4809, -1, -1, -1, -1, -1, 4815,
408, -1, -1, 4435, -1, -1, -1, -1, -1, -1,
198, -1, -1, -1, -1, 203, -1, -1, -1, -1,
-1, 4837, -1, -1, -1, -1, -1, -1, 4844, -1,
-1, -1, -1, 4849, -1, -1, 4852, 4853, 226, 227,
-1, -1, 10, -1, 4860, 13, -1, -1, -1, 17,
18, 19, -1, 51, -1, 4871, -1, -1, -1, -1,
-1, -1, -1, 4879, -1, -1, 254, -1, -1, 37,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
-1, 2947, -1, -1, 2950, -1, 54, -1, -1, -1,
4906, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4919, -1, -1, 514, -1, 4924, 297,
-1, -1, 80, -1, -1, 523, 524, 525, 526, 527,
528, 529, 530, 531, 312, -1, -1, 315, 536, -1,
-1, 894, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4959, -1, -1, 4578, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4976, -1, -1, -1, -1, 4981, -1, -1, -1, -1,
-1, 2616, 4988, 3039, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3052, -1, 5004, -1,
-1, -1, -1, 4625, 3060, 5011, -1, -1, 4630, -1,
-1, -1, -1, -1, -1, -1, -1, 5023, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
408, -1, -1, -1, -1, -1, -1, -1, -1, -1,
198, -1, -1, 3099, -1, 203, -1, -1, 5054, -1,
-1, 51, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3120, -1, -1, -1, 226, 227,
-1, -1, -1, -1, 5080, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5096, -1, -1, -1, -1, 5101, 254, -1, -1, -1,
-1, -1, -1, -1, 1057, -1, -1, 3163, -1, 3165,
-1, -1, -1, -1, 5120, 1068, -1, -1, -1, -1,
-1, 5127, -1, -1, -1, -1, -1, -1, -1, -1,
2765, 1084, -1, -1, -1, -1, 514, -1, -1, 297,
-1, -1, -1, -1, -1, 523, 524, 525, 526, 527,
528, 529, 530, 531, 312, -1, -1, 315, 536, -1,
-1, -1, -1, -1, -1, -1, -1, 5173, 4790, 5175,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2821, -1, -1, -1,
-1, -1, -1, -1, 663, -1, -1, 3253, -1, -1,
5206, -1, -1, -1, 3260, 674, -1, -1, -1, 678,
-1, -1, -1, -1, -1, -1, 685, 686, -1, -1,
689, -1, 691, 692, -1, -1, 5232, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5242, 706, -1, 5245,
-1, -1, 5248, 5249, 5250, -1, -1, -1, -1, -1,
408, -1, -1, -1, -1, 724, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5273, 5274, -1,
-1, 5277, 2907, -1, -1, -1, 745, -1, 747, -1,
-1, -1, -1, -1, 4906, -1, 1239, -1, 757, 5295,
-1, -1, -1, 5299, -1, -1, 2931, -1, -1, 5305,
-1, -1, -1, 5309, -1, -1, -1, -1, -1, 5315,
5316, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 790, -1, 5329, -1, -1, 5332, -1, -1, -1,
-1, 5337, 27, 5339, -1, -1, -1, 4959, 33, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5361, 514, -1, -1, 4981,
2995, -1, -1, -1, 2999, 523, 524, 525, 526, 527,
528, 529, 530, 531, -1, -1, -1, -1, 536, -1,
5386, 5387, -1, 78, -1, -1, -1, -1, -1, -1,
-1, 5397, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3036, 871, 3038, -1, 3040, 3041, -1, -1, -1,
3045, 3046, 3047, -1, 3049, 3050, 3051, -1, 10, -1,
-1, 13, -1, -1, -1, 17, 18, 19, -1, -1,
-1, 5437, 5054, -1, -1, -1, 5442, -1, -1, -1,
135, -1, -1, -1, -1, 37, -1, 142, -1, -1,
-1, 146, -1, -1, -1, 47, -1, -1, -1, -1,
-1, -1, 54, -1, -1, -1, -1, -1, 3103, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 174,
-1, -1, -1, -1, -1, -1, -1, 956, 80, -1,
-1, -1, -1, 3128, -1, -1, -1, 5503, -1, -1,
5506, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 210, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5537, -1, -1, -1, -1, -1, 725, -1, -1,
-1, -1, -1, -1, -1, 3601, 3602, -1, 5554, -1,
-1, 1504, 5558, 5175, 5560, -1, -1, -1, -1, -1,
-1, 1030, -1, 751, -1, -1, -1, -1, 5574, -1,
-1, -1, -1, -1, -1, -1, 5582, -1, -1, 5585,
-1, -1, -1, -1, -1, -1, 1055, -1, -1, -1,
5596, -1, -1, -1, -1, 290, -1, 5603, -1, 294,
-1, 1070, -1, 1072, -1, -1, 198, -1, -1, 304,
-1, 203, -1, 1082, -1, -1, -1, -1, 1571, 314,
1089, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 326, -1, -1, 226, 227, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5651, -1, -1, -1, -1,
-1, 5657, -1, -1, -1, -1, 5662, 5663, -1, 1612,
-1, 5667, 254, 1132, -1, 1134, -1, 5673, 5674, 5675,
-1, -1, -1, 368, -1, -1, 371, 372, -1, -1,
-1, -1, -1, 5689, -1, -1, -1, -1, -1, -1,
-1, -1, 1645, 5315, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5709, -1, 297, 894, -1, 403, -1,
-1, 5717, -1, -1, 5720, -1, -1, -1, -1, -1,
312, -1, -1, 315, -1, 725, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1207, 5745,
1209, -1, 1211, -1, 1213, -1, 1215, 1216, 1217, -1,
-1, 751, -1, 1222, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5386, 1234, -1, -1, 5774, 5775,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 476, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5798, 5799, -1, -1, -1, -1, 3854, -1,
-1, -1, -1, 3438, 5810, -1, -1, -1, -1, -1,
-1, -1, -1, 5819, 5820, 5821, 408, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5834, 5835,
-1, -1, 5838, -1, -1, -1, -1, 5843, -1, 5845,
-1, 5847, -1, -1, -1, -1, -1, -1, 5854, -1,
1038, -1, -1, -1, -1, 5861, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1057,
-1, -1, -1, -1, 5880, -1, -1, -1, -1, -1,
1068, -1, -1, -1, 5506, -1, 1839, -1, -1, -1,
-1, -1, -1, -1, 894, -1, 1084, 1850, -1, 5905,
-1, -1, 5908, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1866, -1, -1, -1, -1, -1, -1,
-1, -1, 514, -1, -1, -1, -1, -1, -1, -1,
-1, 523, 524, 525, 526, 527, 528, 529, 530, 531,
-1, -1, -1, -1, 536, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5961, 1425, -1, 4014, -1,
3595, -1, -1, -1, -1, -1, -1, 1920, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1935, -1, -1, 1938, 1939, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 6012, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1969, 1970, -1, -1,
-1, 6027, -1, -1, -1, -1, -1, 51, -1, -1,
-1, 6037, -1, -1, -1, 5657, -1, -1, -1, -1,
5662, 5663, -1, -1, -1, 6051, -1, 3682, -1, -1,
-1, 1239, -1, -1, -1, -1, -1, 1057, -1, 6065,
-1, -1, -1, -1, -1, -1, -1, -1, 1068, -1,
-1, 10, 6078, -1, 13, -1, 1545, -1, 17, 18,
19, -1, -1, -1, 1084, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 37, -1,
-1, -1, -1, -1, -1, 3740, -1, -1, 47, -1,
-1, -1, -1, 10, 6120, 54, 13, -1, -1, -1,
17, 18, 19, -1, 6130, -1, -1, -1, -1, -1,
-1, -1, 6138, 6139, -1, -1, -1, -1, 6144, -1,
37, 80, -1, -1, -1, -1, -1, -1, 1617, -1,
47, -1, -1, 5775, -1, -1, -1, 54, -1, -1,
2113, -1, -1, -1, -1, -1, -1, -1, -1, 6175,
6176, -1, -1, 6179, -1, 3810, -1, -1, -1, -1,
-1, -1, -1, 80, -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,
6216, 17, 18, 19, -1, -1, 5838, -1, -1, -1,
-1, -1, -1, 3858, -1, -1, -1, -1, -1, -1,
-1, 37, -1, -1, 6240, 3870, 3871, -1, -1, 1239,
6246, 47, -1, -1, -1, 3880, -1, -1, 54, -1,
3885, -1, 3887, -1, -1, -1, -1, -1, 6264, 198,
-1, -1, -1, -1, 203, 6271, -1, -1, -1, -1,
-1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
-1, 6287, -1, -1, -1, -1, -1, 226, 227, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3933, 6305,
-1, 198, -1, -1, -1, -1, 203, -1, -1, -1,
-1, -1, -1, -1, -1, 254, 1504, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 226,
227, -1, -1, 3968, 3969, -1, -1, 6343, -1, -1,
-1, -1, 6348, -1, -1, -1, -1, -1, 6354, -1,
-1, -1, -1, -1, -1, -1, -1, 254, 297, -1,
-1, 6367, -1, -1, -1, -1, 1835, -1, 6374, -1,
-1, -1, -1, 312, -1, -1, 315, -1, -1, -1,
-1, -1, -1, 1571, -1, -1, -1, -1, -1, -1,
-1, -1, 198, -1, -1, -1, -1, 203, -1, -1,
297, 1870, -1, -1, -1, -1, 6412, 6413, -1, -1,
-1, -1, -1, -1, -1, 312, -1, -1, 315, -1,
226, 227, -1, 6429, 1612, -1, -1, 6433, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6446, 6447, -1, -1, -1, -1, -1, 1916, 254, -1,
-1, -1, 6458, -1, -1, -1, -1, 1645, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1936, -1, 408,
-1, -1, -1, -1, -1, -1, 4532, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4546, 297, -1, 1962, -1, 1964, -1, -1, -1, -1,
-1, -1, -1, -1, 1504, -1, 312, -1, -1, 315,
1979, 408, 1981, -1, -1, -1, -1, -1, 1987, -1,
1989, -1, 1991, -1, 1993, -1, 1995, -1, -1, -1,
1999, -1, -1, -1, -1, -1, -1, -1, 4173, 1727,
1728, 1729, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2036, -1, -1,
-1, 1571, -1, -1, 10, 514, -1, 13, -1, -1,
-1, 17, 18, 19, 523, 524, 525, 526, 527, 528,
529, 530, 531, -1, -1, -1, -1, 536, -1, -1,
-1, 37, 408, -1, -1, -1, -1, -1, -1, -1,
-1, 47, 1612, 10, -1, -1, 13, 514, 54, -1,
17, 18, 19, -1, -1, -1, 523, 524, 525, 526,
527, 528, 529, 530, 531, -1, -1, -1, -1, 536,
37, -1, -1, -1, 80, 1645, -1, -1, -1, -1,
47, 1839, -1, -1, -1, -1, -1, 54, -1, -1,
-1, -1, 1850, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1866, -1,
-1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 725, -1, -1, -1, -1, -1, -1, 514, -1,
-1, -1, -1, -1, -1, -1, -1, 523, 524, 525,
526, 527, 528, 529, 530, 531, 6348, 751, 51, -1,
536, -1, 1920, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1935, -1, -1,
1938, 1939, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 198, -1, -1, -1, -1, 203, -1, -1,
-1, -1, 4407, -1, -1, -1, -1, -1, -1, -1,
-1, 1969, 1970, -1, 2737, -1, -1, -1, 2741, 2742,
226, 227, -1, -1, -1, -1, -1, -1, -1, -1,
4435, 198, -1, -1, -1, -1, 203, -1, -1, -1,
-1, -1, -1, -1, -1, 4450, -1, -1, 254, 4454,
-1, 4456, -1, -1, -1, -1, -1, -1, -1, 226,
227, -1, -1, -1, -1, -1, -1, -1, -1, 1839,
-1, -1, -1, 2796, -1, -1, -1, -1, -1, 2802,
1850, -1, -1, -1, -1, -1, -1, 254, -1, -1,
-1, 297, -1, -1, -1, -1, 1866, 4502, -1, -1,
894, -1, -1, -1, -1, -1, 312, -1, -1, 315,
-1, 2069, -1, 4518, -1, -1, -1, -1, 4523, -1,
-1, -1, -1, -1, -1, 2083, 2849, -1, 2086, -1,
297, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 312, -1, -1, 315, -1,
1920, -1, -1, -1, -1, 2113, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1935, -1, -1, 1938, 1939,
-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, 1969,
1970, -1, 408, -1, -1, -1, -1, -1, 5034, -1,
-1, 51, 37, -1, -1, -1, -1, 4622, -1, -1,
4625, -1, 47, 5049, -1, -1, -1, -1, -1, 54,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 408, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
-1, -1, -1, 1057, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1068, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1084, -1, -1, -1, -1, -1, -1, 4702, 4703, 4704,
4705, -1, 4707, 4708, 4709, 4710, 4711, -1, 514, -1,
-1, -1, -1, -1, 5140, -1, -1, 523, 524, 525,
526, 527, 528, 529, 530, 531, -1, -1, -1, -1,
536, -1, -1, -1, -1, -1, 3059, -1, -1, -1,
-1, -1, -1, 2113, -1, -1, -1, 514, -1, -1,
-1, -1, -1, -1, -1, -1, 523, 524, 525, 526,
527, 528, 529, 530, 531, -1, -1, -1, -1, 536,
-1, -1, -1, 198, -1, -1, -1, -1, 203, -1,
-1, -1, -1, 10, -1, -1, 13, -1, -1, -1,
17, 18, 19, -1, -1, -1, -1, -1, -1, -1,
-1, 226, 227, -1, -1, -1, -1, -1, -1, 3132,
37, -1, -1, 3136, -1, -1, -1, -1, -1, -1,
47, -1, 4827, -1, 4829, -1, -1, 54, -1, 254,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1239, -1, -1, -1, -1,
-1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 297, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 312, -1, -1,
315, -1, 2731, 2732, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2750, 2751, -1, 2753, 2754, 3239, -1, -1, 2758,
2759, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3254, -1, -1, 2773, -1, 3259, 5363, 2777, 5365,
-1, -1, 2781, 2782, -1, -1, 2785, 2786, -1, -1,
-1, -1, -1, 2792, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2804, -1, 3290, -1, -1,
-1, 198, -1, -1, -1, -1, 203, 2816, -1, -1,
-1, -1, 2821, 408, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2836, -1, 226,
227, 2840, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2851, -1, -1, 2854, -1, 2856, 2857, 2858,
-1, -1, -1, -1, 2863, 2864, -1, 254, -1, -1,
-1, -1, 725, -1, 2873, -1, -1, -1, -1, 2597,
2879, -1, -1, -1, 2883, -1, 10, 5052, 5053, 13,
-1, -1, -1, 17, 18, 19, 2895, 2896, 751, -1,
5065, 2900, 5067, 5068, 5069, -1, -1, 2906, 2907, -1,
297, -1, -1, 37, -1, 5501, -1, -1, -1, -1,
-1, 2920, -1, 47, 2923, 312, -1, -1, 315, 514,
54, 2930, 2931, -1, -1, -1, -1, 2936, 523, 524,
525, 526, 527, 528, 529, 530, 531, -1, -1, 2948,
1504, 536, 2951, -1, -1, -1, 80, 2956, -1, -1,
-1, -1, -1, 2962, 2963, -1, -1, -1, 5133, -1,
-1, 2970, -1, -1, -1, 2974, -1, -1, -1, 2978,
2979, 2980, 2981, -1, 2983, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2997, 2998,
-1, 3000, -1, -1, -1, -1, -1, 5172, -1, -1,
-1, -1, 3011, 3012, 3013, -1, -1, 1571, -1, 2737,
-1, 408, -1, 2741, 2742, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 894, -1, -1, -1, -1, -1, -1, 10, -1,
5215, 13, -1, -1, -1, 17, 18, 19, 1612, -1,
-1, -1, -1, 3546, -1, -1, 3549, -1, 3551, 3068,
-1, -1, -1, 3556, 198, 37, -1, 3076, 2796, 203,
-1, -1, -1, -1, 2802, 47, -1, -1, -1, -1,
-1, 1645, 54, 5679, -1, 5681, 3095, -1, -1, -1,
-1, -1, 226, 227, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3598, -1, -1, 80, -1,
-1, -1, -1, 3606, -1, 725, -1, 514, -1, -1,
254, 2849, -1, -1, -1, -1, 523, 524, 525, 526,
527, 528, 529, 530, 531, -1, 3145, -1, 3631, 536,
-1, 751, 51, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3164, -1, 3166, -1, -1,
-1, -1, -1, 297, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 312, -1,
-1, 315, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1057, -1, -1, 2737, -1, -1,
-1, 2741, 2742, -1, -1, 1068, -1, -1, -1, -1,
-1, 5386, -1, -1, -1, -1, -1, 3710, -1, 3712,
-1, 1084, -1, -1, -1, -1, 198, -1, -1, -1,
-1, 203, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3261, -1, 226, 227, 2796, 5432, -1, -1,
-1, -1, 2802, -1, -1, -1, 5441, -1, -1, -1,
-1, -1, -1, -1, 408, 1839, -1, -1, -1, -1,
10, -1, 254, 13, 894, -1, 1850, 17, 18, 19,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3027,
-1, -1, 1866, -1, -1, -1, -1, 37, -1, 2849,
-1, -1, -1, -1, -1, 3808, -1, 47, -1, -1,
-1, -1, -1, -1, 54, 297, -1, -1, -1, -1,
-1, 3059, -1, -1, -1, -1, -1, -1, -1, -1,
312, -1, -1, 315, -1, -1, -1, -1, -1, -1,
80, 5947, -1, -1, -1, -1, 1920, -1, -1, 3852,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1935, -1, -1, 1938, 1939, 1239, -1, -1, -1,
514, -1, -1, -1, -1, -1, -1, 3880, -1, 523,
524, 525, 526, 527, 528, 529, 530, 531, -1, -1,
-1, -1, 536, -1, 3132, 1969, 1970, -1, 3136, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 408, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1057, -1, -1,
-1, -1, -1, -1, -1, 3948, -1, -1, 1068, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 198, -1,
-1, -1, -1, 203, 1084, -1, -1, 3970, -1, -1,
-1, -1, -1, -1, 6080, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 226, 227, -1, 3992,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3239, -1, -1, 5689, -1, -1, -1, 5693, 3059,
-1, -1, -1, -1, 254, -1, 3254, -1, -1, -1,
-1, 3259, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 514, -1, -1, -1, -1, -1, -1, 2113,
-1, 523, 524, 525, 526, 527, 528, 529, 530, 531,
-1, -1, 3290, -1, 536, -1, -1, 297, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4074, 312, -1, 3593, 315, -1, -1, -1, -1,
-1, -1, 3132, -1, -1, -1, 3136, -1, -1, -1,
-1, 3610, -1, -1, -1, 3614, -1, -1, -1, -1,
3619, 3620, 3621, -1, 6210, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1239,
-1, -1, 3641, -1, 4127, -1, -1, -1, -1, -1,
-1, 1504, -1, -1, -1, 6241, 6242, -1, -1, -1,
-1, -1, -1, -1, -1, 3664, 3665, 3666, 3667, 4152,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 10, -1, 408, 13,
-1, -1, -1, 17, 18, 19, -1, -1, -1, -1,
-1, -1, -1, 3702, -1, 3704, 3705, 3706, -1, 3239,
-1, -1, -1, 37, -1, -1, -1, -1, 1571, -1,
-1, -1, -1, 47, 3254, -1, -1, -1, -1, 3259,
54, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5908, -1, -1, -1, 5912, -1, 5914,
-1, -1, -1, 5918, 5919, -1, 80, -1, -1, 1612,
3290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 6364, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1645, -1, 514, -1, -1, -1, -1, -1,
-1, -1, -1, 523, 524, 525, 526, 527, 528, 529,
530, 531, -1, -1, -1, -1, 536, -1, -1, -1,
-1, -1, -1, -1, -1, 3824, 725, -1, 3546, -1,
4313, 3549, -1, 3551, 3833, -1, -1, -1, 3556, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 751, -1, -1, -1, -1, -1, -1, -1,
3859, 3860, -1, -1, -1, 3864, -1, -1, -1, -1,
-1, -1, -1, -1, 198, -1, -1, -1, -1, 203,
3598, -1, -1, -1, -1, -1, -1, 3886, 3606, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 226, 227, 1504, -1, -1, -1, -1, -1,
-1, -1, -1, 3631, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4407, -1, -1, -1, -1, -1,
254, -1, -1, -1, -1, -1, -1, -1, -1, 3938,
-1, -1, -1, -1, 3943, -1, -1, -1, -1, -1,
3949, -1, 4435, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1571, -1, 297, -1, -1, -1, -1, -1, -1,
3979, -1, -1, 51, -1, -1, 1839, -1, 312, -1,
-1, 315, 3710, -1, 3712, 894, -1, 1850, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4008,
-1, 4010, 1612, 1866, -1, -1, 3546, -1, -1, 3549,
-1, 3551, -1, -1, -1, -1, 3556, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1645, -1, -1, -1, -1,
-1, 6216, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1920, 3598, -1,
-1, -1, -1, -1, -1, -1, 3606, -1, -1, -1,
-1, -1, 1935, -1, 408, 1938, 1939, -1, -1, -1,
3808, -1, -1, -1, -1, 4578, -1, -1, -1, -1,
-1, 3631, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1969, 1970, -1, 3837,
-1, -1, -1, -1, -1, 3843, -1, -1, 10, -1,
-1, 13, -1, -1, 3852, 17, 18, 19, -1, -1,
-1, -1, 4625, -1, -1, -1, -1, 4630, -1, -1,
-1, -1, -1, -1, -1, 37, -1, -1, 1057, -1,
-1, -1, 3880, -1, -1, 47, -1, -1, -1, 1068,
-1, -1, 54, -1, -1, -1, -1, -1, -1, -1,
3710, -1, 3712, 2737, -1, 1084, -1, 2741, 2742, -1,
514, -1, -1, -1, -1, -1, -1, -1, 80, 523,
524, 525, 526, 527, 528, 529, 530, 531, -1, 6374,
-1, -1, 536, -1, -1, -1, 6381, -1, -1, -1,
6385, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3948, -1, -1, -1, -1, -1, -1, -1, 10, 1839,
-1, 13, 2796, -1, -1, 17, 18, 19, 2802, -1,
1850, -1, 3970, -1, 6419, -1, -1, -1, -1, -1,
2113, -1, -1, -1, -1, 37, 1866, -1, 6433, -1,
-1, -1, -1, -1, 3992, 47, -1, -1, 3808, -1,
-1, -1, 54, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 6458, -1, 2849, 6461, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4790, 80, -1,
-1, -1, -1, -1, -1, -1, 198, -1, -1, -1,
1920, 203, 3852, -1, -1, -1, 4325, -1, 4327, -1,
-1, -1, -1, -1, -1, 1935, -1, -1, 1938, 1939,
1239, 4340, -1, -1, 226, 227, -1, -1, -1, -1,
3880, -1, -1, 4352, -1, -1, 4074, 4356, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4367, 1969,
1970, -1, 254, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4386, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4404, -1, -1, -1, 4127,
-1, -1, -1, 4412, -1, 297, -1, -1, 3948, -1,
-1, -1, -1, 4906, -1, -1, 198, -1, -1, -1,
312, 203, -1, 315, 4152, -1, -1, -1, 4437, -1,
3970, -1, 4441, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 226, 227, -1, -1, 4457, 4458,
4459, 4460, 3992, -1, -1, -1, -1, -1, 4467, 4468,
4469, 4470, -1, -1, -1, -1, 4959, 4476, 4477, -1,
-1, -1, 254, 4482, 4483, -1, 4485, 4486, 4487, 4488,
4489, 4490, 4491, -1, -1, -1, -1, -1, 4981, -1,
-1, -1, 4501, -1, -1, 3059, 4505, 4506, 4507, 4508,
-1, -1, -1, 2113, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 297, 408, -1, -1, -1,
4529, -1, -1, -1, -1, -1, -1, -1, -1, -1,
312, -1, -1, 315, 4074, -1, -1, -1, 4547, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5054, -1, -1, -1, -1, -1, -1, 3132, -1,
-1, -1, 3136, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4313, -1, 4127, -1, -1,
-1, -1, -1, -1, -1, 1504, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4152, -1, 4623, -1, -1, -1, -1, -1,
-1, -1, 514, -1, -1, -1, 408, -1, -1, -1,
-1, 523, 524, 525, 526, 527, 528, 529, 530, 531,
-1, -1, -1, -1, 536, -1, -1, 725, 4657, -1,
-1, -1, -1, -1, -1, 4664, -1, 4666, -1, -1,
-1, -1, 1571, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 751, -1, 3239, -1, -1, -1, 4407,
-1, -1, 5175, -1, -1, 4694, -1, -1, -1, -1,
3254, -1, -1, -1, -1, 3259, -1, -1, -1, -1,
-1, -1, -1, 1612, -1, -1, -1, 4435, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3290, -1, -1, -1,
-1, -1, 514, -1, -1, -1, 1645, -1, -1, -1,
-1, 523, 524, 525, 526, 527, 528, 529, 530, 531,
-1, -1, -1, -1, 536, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4313, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 894, -1, -1, -1,
-1, -1, 5315, -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,
4578, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 37, 4407, -1, -1,
-1, -1, -1, -1, 2737, -1, 47, -1, 2741, 2742,
-1, -1, -1, 54, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5386, -1, 4435, -1, 4625, 4907, 4908,
4909, -1, 4630, -1, 4913, 4914, 4915, 4916, -1, 80,
-1, 4920, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1839, -1, -1, 2796, -1, -1, -1, -1, -1, 2802,
-1, 1850, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1866, -1, -1,
-1, -1, 4971, 4972, 4973, 4974, 4975, -1, 4977, 4978,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1057,
4989, 4990, 3546, -1, -1, 3549, 2849, 3551, -1, -1,
1068, -1, 3556, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1084, -1, -1, -1,
-1, 1920, -1, 5506, -1, 5024, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1935, 198, -1, 1938,
1939, -1, 203, -1, 3598, -1, -1, -1, 4578, -1,
-1, -1, 3606, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 226, 227, -1, -1, -1,
1969, 1970, 4790, -1, -1, -1, -1, 3631, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 254, -1, 4625, -1, -1, -1, -1,
4630, -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, 5126, -1, -1,
-1, -1, -1, -1, -1, 37, 297, 2737, -1, -1,
-1, 2741, 2742, -1, -1, 47, -1, -1, -1, -1,
-1, 312, 54, -1, 315, -1, 3710, -1, 3712, -1,
-1, 10, -1, -1, 13, -1, -1, -1, 17, 18,
19, 1239, -1, -1, 5657, -1, -1, -1, 80, 5662,
5663, -1, -1, -1, -1, -1, -1, -1, 4906, -1,
-1, -1, 5191, -1, -1, -1, 2796, -1, 47, -1,
-1, -1, 2802, -1, -1, 54, 3059, -1, -1, -1,
-1, -1, -1, -1, 2113, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5223, -1, -1, -1, -1, -1,
-1, 80, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4959, -1, -1, -1, -1, -1, 408, -1, 2849,
-1, -1, -1, -1, 3808, -1, -1, -1, -1, -1,
4790, -1, -1, 4981, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3132,
-1, -1, -1, 3136, -1, -1, -1, -1, -1, -1,
-1, -1, 5775, -1, -1, -1, 198, -1, 3852, -1,
-1, 203, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5322, 226, 227, 3880, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5054, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 198,
-1, -1, 254, 514, 203, 5838, -1, -1, -1, -1,
-1, -1, 523, 524, 525, 526, 527, 528, 529, 530,
531, -1, -1, -1, -1, 536, 4906, 226, 227, -1,
-1, -1, -1, -1, -1, -1, 3239, -1, -1, 5388,
-1, -1, -1, -1, 3948, 297, -1, -1, -1, -1,
-1, 3254, -1, -1, -1, 254, 3259, -1, 5407, -1,
312, -1, -1, 315, 5413, 5414, 3970, -1, -1, -1,
-1, -1, -1, -1, 5423, -1, -1, -1, -1, 4959,
-1, 5430, -1, -1, -1, -1, 1504, 3290, 3992, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 297, -1,
-1, 4981, -1, 10, -1, 5173, 13, 5175, -1, 3059,
17, 18, 19, 312, -1, -1, 5465, 5466, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5478,
37, 5480, -1, -1, -1, -1, -1, -1, -1, -1,
47, -1, -1, -1, -1, -1, 5495, 54, -1, -1,
-1, -1, -1, 1571, -1, -1, 408, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 10,
4074, 5520, 13, 80, 5054, -1, 17, 18, 19, 5528,
-1, -1, 3132, -1, -1, -1, 3136, -1, -1, -1,
-1, -1, -1, -1, 1612, -1, 37, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 47, -1, -1, 408,
-1, -1, -1, 54, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4127, -1, -1, -1, 1645, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
-1, -1, -1, -1, -1, -1, -1, 5315, 4152, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 514, -1, -1, -1, -1, -1, -1, 5618,
-1, 523, 524, 525, 526, 527, 528, 529, 530, 531,
-1, -1, -1, 5632, 536, -1, -1, -1, -1, 3239,
-1, 198, -1, -1, -1, 5175, 203, -1, -1, -1,
-1, -1, -1, -1, 3254, -1, -1, 5656, -1, 3259,
-1, -1, -1, -1, -1, 514, -1, -1, 5386, 226,
227, -1, -1, -1, 523, 524, 525, 526, 527, 528,
529, 530, 531, -1, -1, -1, -1, -1, -1, -1,
3290, -1, -1, 3546, -1, -1, 3549, 254, 3551, -1,
-1, -1, -1, 3556, -1, -1, -1, 198, -1, -1,
-1, -1, 203, -1, -1, -1, -1, 27, -1, -1,
-1, -1, -1, 33, 5723, -1, -1, -1, -1, -1,
40, -1, -1, -1, -1, 226, 227, -1, -1, -1,
297, -1, -1, -1, -1, 3598, -1, -1, -1, -1,
-1, -1, 62, 3606, -1, 312, -1, -1, 315, 4313,
-1, -1, -1, 254, -1, -1, -1, -1, 78, -1,
-1, 1839, -1, -1, -1, -1, -1, -1, 3631, -1,
-1, -1, 1850, -1, -1, 5315, -1, -1, 5506, -1,
-1, -1, -1, -1, 5793, -1, -1, -1, 1866, -1,
-1, -1, -1, -1, 114, -1, 297, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 312, -1, -1, 315, 135, -1, -1, 5827, -1,
-1, -1, 142, -1, -1, -1, 146, -1, 2737, -1,
-1, -1, 2741, 2742, -1, -1, -1, -1, -1, -1,
-1, 408, 1920, 4407, -1, -1, 5386, 3710, -1, 3712,
-1, -1, -1, -1, 174, 6348, -1, 1935, -1, 5868,
1938, 1939, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4435, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5892, -1, -1, 206, 2796, -1, -1,
210, 1969, 1970, 2802, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 408, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5657,
-1, -1, -1, -1, 5662, 5663, 3546, -1, -1, 3549,
2849, 3551, -1, 5952, 264, 3808, 3556, 514, -1, 269,
-1, -1, -1, -1, 274, -1, 523, 524, 525, 526,
527, 528, 529, 530, 531, -1, 5506, -1, -1, 536,
290, -1, -1, -1, 294, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 304, -1, -1, -1, 3598, 3852,
-1, -1, -1, -1, 314, -1, 3606, -1, -1, -1,
-1, -1, -1, -1, -1, 325, 326, -1, -1, -1,
-1, -1, -1, 514, 4578, -1, -1, 3880, -1, -1,
-1, 3631, 523, 524, 525, 526, 527, 528, 529, 530,
531, -1, -1, 534, -1, 2113, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5774, 5775, 368, -1,
-1, 371, 372, 373, -1, 6064, -1, -1, 0, -1,
-1, 4625, -1, -1, -1, -1, 4630, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 397, -1, -1,
22, -1, -1, 403, -1, 3948, -1, -1, 6097, -1,
-1, 33, -1, 35, 36, -1, -1, -1, 418, 6108,
3710, -1, 3712, -1, -1, -1, -1, 3970, -1, -1,
5838, 53, -1, -1, -1, -1, -1, 5657, -1, -1,
-1, 63, 5662, 5663, -1, -1, -1, -1, -1, 3992,
-1, -1, -1, 75, -1, 77, 78, -1, -1, -1,
-1, -1, 84, -1, 86, -1, -1, -1, -1, 469,
3059, -1, -1, -1, -1, -1, 476, 99, 10, 101,
-1, 13, -1, -1, -1, 17, 18, 19, -1, -1,
-1, -1, -1, -1, -1, -1, 118, -1, -1, 121,
-1, -1, -1, -1, -1, 37, -1, -1, -1, 41,
-1, -1, -1, -1, 136, 47, 138, -1, 3808, -1,
142, -1, 54, -1, -1, -1, -1, 149, -1, -1,
-1, 4074, -1, -1, -1, -1, 158, -1, 160, -1,
-1, 6230, -1, 3132, -1, 167, 4790, 3136, 80, -1,
-1, -1, -1, -1, -1, 5775, -1, -1, -1, -1,
-1, -1, 3852, 185, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
202, -1, -1, -1, 4127, -1, -1, -1, -1, -1,
3880, -1, -1, -1, -1, -1, -1, -1, -1, -1,
132, -1, -1, -1, -1, -1, -1, -1, -1, 4152,
-1, -1, -1, -1, -1, -1, 10, -1, 5838, 13,
-1, -1, -1, 17, 18, 19, -1, -1, -1, -1,
-1, -1, -1, -1, 256, 257, -1, -1, -1, -1,
262, -1, -1, 37, -1, -1, -1, -1, -1, -1,
3239, -1, -1, 47, -1, 277, -1, -1, 3948, -1,
54, -1, 4906, -1, -1, 3254, 198, -1, -1, -1,
3259, 203, -1, -1, 296, -1, -1, -1, -1, -1,
3970, -1, -1, -1, -1, -1, 80, -1, -1, -1,
-1, -1, -1, -1, 226, 227, -1, -1, -1, -1,
-1, 3290, 3992, -1, -1, -1, -1, -1, -1, 206,
207, -1, -1, -1, -1, 4959, -1, 214, -1, 216,
217, 343, 254, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 230, -1, -1, 358, 4981, -1, -1,
-1, -1, 364, 365, -1, 367, -1, 6436, -1, -1,
372, -1, -1, -1, -1, -1, 378, -1, -1, 381,
-1, -1, -1, -1, -1, 297, 388, -1, -1, -1,
4313, -1, -1, 395, 396, -1, -1, -1, -1, -1,
312, 403, -1, 315, 4074, 407, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 418, -1, -1, -1,
-1, -1, -1, -1, 198, -1, -1, -1, -1, 203,
5054, -1, -1, 435, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 226, 227, 456, -1, -1, 4127, -1, -1,
-1, -1, -1, -1, -1, -1, 468, -1, -1, -1,
-1, -1, 474, -1, -1, -1, -1, 479, -1, -1,
254, -1, 4152, -1, 4407, -1, -1, -1, -1, -1,
492, -1, -1, -1, -1, -1, 408, -1, -1, -1,
10, -1, -1, 13, -1, -1, -1, 17, 18, 19,
-1, -1, 4435, -1, 516, -1, 518, 519, 520, 521,
522, -1, -1, 297, -1, -1, -1, 37, -1, -1,
-1, -1, -1, 535, -1, -1, 538, 47, 312, -1,
-1, 315, -1, -1, 54, -1, -1, -1, -1, -1,
-1, 5175, -1, -1, -1, -1, -1, -1, -1, -1,
6348, 473, -1, -1, -1, -1, -1, -1, 342, -1,
80, -1, -1, -1, -1, -1, -1, 3546, -1, -1,
3549, -1, 3551, -1, -1, -1, -1, 3556, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2737,
-1, -1, 514, 2741, 2742, -1, -1, -1, -1, -1,
-1, 523, 524, 525, 526, 527, 528, 529, 530, 531,
-1, -1, -1, -1, 6412, -1, -1, -1, -1, 3598,
-1, -1, -1, -1, 408, -1, -1, 3606, -1, -1,
-1, -1, -1, 4313, -1, -1, -1, -1, 207, -1,
-1, -1, -1, 427, -1, 4578, -1, 216, 2796, -1,
-1, -1, 3631, 173, 2802, -1, -1, -1, -1, 179,
-1, 230, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 198, -1,
-1, 5315, -1, 203, -1, -1, -1, -1, -1, -1,
-1, -1, 4625, -1, -1, -1, -1, 4630, -1, -1,
-1, 2849, -1, -1, -1, -1, 226, 227, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4407, -1, -1,
514, 3710, -1, 3712, 254, -1, -1, -1, 6348, 523,
524, 525, 526, 527, 528, 529, 530, 531, -1, -1,
-1, -1, 5386, -1, -1, 4435, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 662, -1, 297, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 312, -1, 681, 315, -1, -1, -1, -1,
687, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 699, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 715, 3808,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 729, 730, -1, -1, -1, -1, -1, 736,
-1, 738, 739, -1, -1, -1, -1, 4790, -1, -1,
-1, -1, -1, -1, -1, 752, -1, -1, -1, -1,
-1, -1, 5506, 3852, -1, 762, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 408, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4578, -1,
-1, 3880, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3059, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 815, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4625, -1, -1, -1, -1,
4630, -1, -1, -1, -1, -1, 843, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3948,
-1, -1, -1, 4906, -1, -1, -1, -1, -1, -1,
-1, 868, -1, -1, 3132, -1, -1, -1, 3136, -1,
-1, 3970, -1, -1, 514, -1, -1, -1, -1, -1,
-1, -1, -1, 523, 524, 525, 526, 527, 528, 529,
530, 531, -1, 3992, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5657, -1, -1, 4959, 10, 5662, 5663,
13, -1, -1, -1, 17, 18, 19, -1, -1, -1,
-1, -1, -1, 930, -1, -1, -1, -1, 4981, -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, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3239, -1, 662, -1, 4074, -1, 80, -1, -1,
-1, -1, -1, -1, -1, -1, 3254, -1, -1, -1,
4790, 3259, 681, -1, -1, -1, -1, -1, 687, -1,
208, 5054, -1, -1, -1, -1, -1, -1, -1, -1,
699, -1, 220, -1, -1, -1, -1, -1, -1, -1,
-1, 5775, 3290, 231, -1, -1, 715, -1, 4127, -1,
-1, -1, -1, 1040, -1, -1, -1, -1, -1, -1,
1047, 730, -1, -1, -1, -1, -1, -1, -1, 738,
-1, 1058, -1, 4152, -1, 1062, -1, 1064, -1, -1,
-1, -1, -1, 752, -1, -1, -1, -1, -1, 172,
-1, -1, -1, 762, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5838, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 198, -1, -1, -1, -1,
203, 10, -1, -1, 13, -1, 4906, -1, 17, 18,
19, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5175, 226, 227, -1, 815, -1, 37, -1,
-1, 40, -1, -1, -1, -1, -1, -1, 47, -1,
-1, -1, -1, -1, -1, 54, -1, -1, -1, -1,
-1, 254, -1, -1, 843, -1, -1, -1, -1, 4959,
-1, -1, -1, 1170, -1, -1, -1, -1, -1, 10,
-1, 80, 13, -1, -1, -1, 17, 18, 19, 868,
-1, 4981, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 297, -1, 37, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 47, -1, -1, 312,
-1, -1, 315, 54, 4313, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1231, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1241, -1, -1, 340, -1, 80,
-1, 930, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1258, -1, -1, 5054, -1, 1263, -1, -1, -1,
-1, -1, 5315, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 10, 3546, -1,
13, 3549, -1, 3551, 17, 18, 19, -1, 3556, 198,
-1, -1, -1, -1, 203, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 37, 408, -1, -1, 4407, -1,
-1, -1, -1, -1, 47, -1, -1, 226, 227, -1,
-1, 54, -1, -1, -1, -1, -1, -1, -1, -1,
3598, -1, -1, 5386, -1, -1, 4435, -1, 3606, -1,
-1, -1, -1, -1, -1, 254, -1, 80, -1, -1,
-1, 1040, -1, -1, -1, -1, -1, 198, 1047, -1,
-1, -1, 203, 3631, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5175, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 226, 227, -1, 297, -1,
-1, -1, -1, 1400, -1, -1, -1, -1, -1, -1,
-1, 1408, 1409, 312, -1, -1, 315, -1, -1, -1,
-1, 514, -1, 254, -1, -1, -1, -1, -1, -1,
523, 524, 525, 526, 527, 528, 529, 530, 531, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3710, -1, 3712, -1, -1, -1, -1, -1,
-1, -1, -1, 5506, 1461, 663, 297, -1, -1, -1,
-1, 669, -1, -1, -1, 198, -1, -1, -1, -1,
203, 312, -1, -1, 315, -1, -1, -1, -1, 4578,
-1, 1170, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 226, 227, -1, -1, -1, -1, 408,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5315, -1, -1, -1, -1,
-1, 254, -1, -1, -1, -1, 4625, -1, -1, -1,
-1, 4630, -1, -1, -1, -1, -1, -1, -1, -1,
3808, -1, 1231, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1241, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 297, -1, -1, 408, -1, 1258,
-1, -1, -1, -1, 1263, -1, -1, -1, -1, 312,
-1, -1, 315, -1, 3852, -1, 5386, -1, -1, -1,
-1, -1, -1, -1, 6348, -1, -1, -1, -1, -1,
-1, -1, 335, -1, 5657, 514, -1, -1, -1, 5662,
5663, -1, 3880, -1, 523, 524, 525, 526, 527, 528,
529, 530, 531, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 840, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 859, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 513, 514, -1, 408, -1, -1, -1, -1,
3948, -1, 523, 524, 525, 526, 527, 528, 529, 530,
531, 4790, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3970, -1, -1, 1712, 5506, 10, -1, -1,
13, 1400, -1, -1, 17, 18, 19, -1, -1, 1408,
1409, -1, 5775, 931, 3992, -1, -1, -1, -1, -1,
-1, -1, 10, -1, 37, 13, -1, 40, -1, 17,
18, 19, -1, -1, 47, -1, -1, -1, -1, -1,
-1, 54, -1, -1, -1, -1, -1, -1, -1, 37,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 47,
978, -1, 1461, -1, -1, -1, 54, 80, -1, -1,
-1, 514, -1, -1, -1, 5838, -1, -1, -1, -1,
523, 524, 525, 526, 527, 528, 529, 530, 531, -1,
-1, -1, 80, -1, -1, -1, 4074, 4906, -1, 10,
-1, -1, 13, -1, -1, -1, 17, 18, 19, -1,
1827, -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, 1862, -1, 5657, -1, 4127,
4959, -1, 5662, 5663, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1885, 80,
-1, -1, 4981, -1, 4152, 1093, 1893, -1, -1, -1,
-1, -1, -1, -1, 1901, 198, -1, -1, -1, -1,
203, 179, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1122, 1123, 1124, -1, -1, -1,
198, -1, -1, 226, 227, 203, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1942, 1943, -1, 1945, 1946,
-1, -1, -1, -1, -1, -1, -1, -1, 226, 227,
1957, 254, 1959, 1960, -1, 5054, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1972, 1973, -1, -1, -1,
-1, -1, -1, -1, -1, 5775, 254, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 297, -1, -1, 198, -1, -1,
-1, -1, 203, 2010, -1, -1, -1, 2014, 2015, 312,
-1, -1, 315, -1, -1, -1, -1, -1, -1, 297,
-1, -1, 1230, 1712, -1, 226, 227, -1, -1, -1,
-1, -1, -1, -1, 312, -1, -1, 315, 5838, -1,
-1, -1, -1, -1, -1, 4313, -1, -1, -1, 1257,
-1, -1, -1, 254, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 10, -1, -1, 13, 5175, -1, -1, 17,
18, 19, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 297, -1, -1, 37,
-1, -1, -1, -1, -1, 408, -1, -1, -1, 47,
-1, 312, -1, -1, 315, -1, 54, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2134, -1, -1,
408, -1, -1, -1, -1, -1, -1, -1, 1827, 4407,
-1, -1, 80, -1, 10, -1, -1, 13, -1, -1,
-1, 17, 18, 19, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4435, -1, -1,
-1, 37, -1, 1862, 40, -1, -1, -1, -1, -1,
-1, 47, -1, -1, -1, -1, -1, -1, 54, -1,
-1, -1, -1, -1, -1, -1, 1885, -1, -1, -1,
-1, -1, -1, -1, 1893, -1, 1414, 408, -1, -1,
-1, 514, 1901, -1, 80, -1, 5315, -1, -1, -1,
523, 524, 525, 526, 527, 528, 529, 530, 531, -1,
-1, -1, -1, -1, -1, -1, 514, -1, -1, -1,
-1, -1, -1, -1, -1, 523, 524, 525, 526, 527,
528, 529, 530, 531, -1, -1, 1945, 1946, -1, -1,
198, -1, -1, -1, -1, 203, -1, -1, -1, -1,
1959, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1972, 1973, -1, 1494, 5386, 226, 227,
-1, -1, -1, -1, -1, 6348, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4578, -1, -1, 514, -1, -1, 254, -1, -1, -1,
-1, -1, 523, 524, 525, 526, 527, 528, 529, 530,
531, -1, 198, -1, -1, -1, -1, 203, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4625, -1, 297,
226, 227, 4630, -1, -1, -1, -1, -1, -1, 1577,
-1, -1, -1, -1, 312, -1, -1, 315, 1586, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 254, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5506, -1, -1,
1618, -1, -1, -1, -1, -1, 1624, 1625, -1, -1,
1628, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 297, -1, 1641, -1, -1, 1644, -1, -1, -1,
-1, -1, -1, -1, -1, 2134, 312, -1, -1, 315,
-1, -1, -1, 10, -1, -1, 13, -1, -1, -1,
17, 18, 19, -1, -1, -1, -1, -1, -1, -1,
408, -1, -1, -1, -1, -1, -1, -1, -1, -1,
37, -1, -1, -1, -1, -1, -1, -1, -1, -1,
47, -1, 10, -1, 1702, 13, -1, 54, -1, 17,
18, 19, -1, -1, -1, -1, 444, -1, 1716, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 37,
-1, -1, 4790, 80, -1, -1, -1, -1, -1, 47,
-1, -1, -1, -1, -1, -1, 54, -1, -1, -1,
-1, -1, 408, -1, -1, -1, -1, -1, 6348, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5657, -1,
-1, -1, 80, 5662, 5663, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 514, -1, -1, -1,
-1, -1, -1, -1, -1, 523, 524, 525, 526, 527,
528, 529, 530, 531, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1826, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1837,
-1, -1, -1, -1, -1, -1, -1, -1, 4906, -1,
-1, 198, -1, -1, -1, -1, 203, -1, 514, -1,
-1, -1, -1, -1, -1, -1, -1, 523, 524, 525,
526, 527, 528, 529, 530, 531, -1, -1, 2675, 226,
227, 1879, 1880, -1, -1, -1, 5775, -1, -1, -1,
198, -1, -1, -1, -1, 203, -1, -1, -1, -1,
-1, 4959, -1, -1, -1, -1, 1904, 254, -1, -1,
-1, -1, -1, 1911, -1, -1, -1, -1, 226, 227,
-1, -1, -1, 4981, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2730, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 254, -1, -1, 5838,
297, 2748, -1, 10, -1, 2752, 13, -1, -1, 2756,
17, 18, 19, -1, -1, 312, -1, -1, 2765, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
37, -1, -1, 2780, -1, -1, 1984, -1, -1, 297,
47, -1, -1, -1, -1, -1, 5054, 54, -1, -1,
2797, -1, 2799, 2800, 312, -1, -1, 315, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2814, -1, 2017,
2018, -1, -1, 80, 332, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2034, 2834, 2835, 2037,
-1, -1, -1, 10, -1, -1, 13, -1, -1, -1,
17, 18, 19, -1, -1, -1, -1, -1, -1, -1,
-1, 408, -1, -1, -1, -1, -1, -1, -1, -1,
37, -1, -1, -1, 2871, 2872, -1, -1, 2875, -1,
47, -1, -1, -1, -1, -1, -1, 54, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
408, -1, 2899, -1, 2901, -1, 837, 838, 2905, -1,
-1, -1, -1, 80, -1, -1, 173, 5175, -1, -1,
-1, -1, 2919, -1, -1, -1, -1, -1, -1, 2926,
-1, -1, 2929, -1, -1, -1, -1, -1, 2935, -1,
-1, 198, -1, -1, -1, -1, 203, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2955, -1,
-1, -1, -1, -1, 2961, -1, -1, 514, -1, 226,
227, 2968, -1, -1, -1, -1, 523, 524, 525, 526,
527, 528, 529, 530, 531, 2982, 917, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2675, 254, -1, 2996,
-1, -1, -1, -1, 3001, -1, 514, -1, -1, -1,
3007, -1, 179, -1, -1, 523, 524, 525, 526, 527,
528, 529, 530, 531, -1, -1, -1, -1, -1, -1,
-1, 198, -1, -1, -1, -1, 203, -1, -1, -1,
297, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2730, -1, -1, -1, 312, -1, 5315, 315, 226,
227, -1, -1, -1, -1, -1, -1, -1, -1, 2748,
3067, -1, -1, 2752, -1, -1, -1, 2756, -1, -1,
-1, -1, -1, -1, -1, -1, 2765, 254, -1, -1,
-1, -1, -1, -1, -1, 10, -1, -1, 13, -1,
-1, 2780, 17, 18, 19, -1, -1, 1038, 1039, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 37, -1, -1, -1, -1, -1, 5386, -1,
297, -1, 47, -1, -1, 2814, -1, -1, -1, 54,
-1, -1, -1, -1, -1, 312, -1, -1, 315, -1,
-1, 408, -1, -1, -1, 2834, 2835, -1, -1, -1,
-1, -1, -1, -1, -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, 2871, 2872, -1, -1, 2875, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2899, -1, 2901, -1, -1, 3222, 2905, 3224, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2919, 408, -1, -1, 3241, -1, -1, 2926, 5506, -1,
2929, 3248, -1, -1, -1, -1, 2935, 514, 3255, 6348,
3257, 3258, -1, -1, 179, -1, 523, 524, 525, 526,
527, 528, 529, 530, 531, -1, 2955, -1, -1, -1,
-1, -1, 2961, 198, -1, -1, -1, -1, 203, 2968,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2982, -1, -1, -1, -1, -1, -1,
-1, 226, 227, -1, -1, -1, -1, 2996, -1, -1,
-1, -1, 3001, -1, -1, -1, -1, -1, 3007, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 254,
-1, -1, -1, 10, 1275, -1, 13, 514, -1, 3346,
17, 18, 19, -1, -1, 3352, 523, 524, 525, 526,
527, 528, 529, 530, 531, -1, -1, -1, -1, -1,
37, -1, -1, -1, -1, -1, -1, -1, -1, -1,
47, -1, 297, -1, -1, -1, 1317, 54, 3067, -1,
-1, -1, -1, -1, -1, 2593, -1, 312, -1, 5657,
315, -1, -1, -1, 5662, 5663, 2604, -1, -1, -1,
-1, -1, -1, 80, -1, 1346, 1347, 1348, -1, 1350,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2636, -1,
1371, 3438, -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, 10,
-1, 37, 13, -1, -1, -1, 17, 18, 19, -1,
-1, 47, -1, -1, -1, 2683, 2684, -1, 54, -1,
-1, -1, -1, 408, -1, -1, 37, -1, -1, 40,
-1, -1, -1, -1, -1, -1, 47, -1, -1, -1,
-1, -1, -1, 54, 80, -1, -1, 5775, -1, 2717,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 198, -1, -1, -1, -1, 203, -1, -1, 80,
-1, -1, -1, 3222, -1, 3224, -1, 1478, -1, -1,
-1, 1482, 1483, -1, -1, -1, -1, -1, -1, 226,
227, -1, 3241, -1, -1, -1, -1, -1, -1, 3248,
-1, -1, -1, -1, 3571, 3572, -1, -1, -1, -1,
5838, -1, -1, -1, -1, -1, 152, 254, -1, -1,
-1, -1, -1, -1, 10, 3592, -1, 13, 3595, 514,
-1, 17, 18, 19, -1, -1, -1, -1, 523, 524,
525, 526, 527, 528, 529, 530, 531, -1, -1, -1,
-1, 37, -1, -1, -1, -1, -1, -1, -1, -1,
297, 47, 198, -1, -1, -1, -1, 203, 54, -1,
-1, -1, -1, -1, -1, 312, -1, -1, 315, -1,
-1, -1, -1, -1, -1, 2853, -1, 198, -1, -1,
226, 227, 203, -1, 80, -1, -1, 3346, -1, -1,
2868, -1, -1, 3352, -1, -1, -1, -1, -1, 3676,
3677, 3678, -1, -1, -1, 226, 227, -1, 254, -1,
-1, -1, 2890, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3701, -1, -1, -1, -1, -1,
-1, -1, -1, 254, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3720, -1, -1, -1, -1, -1, -1,
-1, 297, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 408, -1, -1, -1, 3742, 312, -1, -1, 315,
-1, -1, -1, -1, -1, -1, 297, 173, -1, 3438,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 312, -1, -1, 315, -1, -1, -1, 2976, 2977,
-1, -1, 198, -1, -1, -1, -1, 203, -1, -1,
-1, -1, -1, -1, -1, -1, 1727, 1728, 1729, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
226, 227, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 488, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3832, -1, -1, 254, -1,
-1, -1, 408, -1, -1, -1, -1, 514, -1, -1,
-1, -1, -1, -1, -1, -1, 523, 524, 525, 526,
527, 528, 529, 530, 531, -1, -1, 408, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3078, 297, 3879, -1, -1, -1, -1, -1, 3885, -1,
3887, -1, 3571, 3572, -1, -1, 312, -1, -1, 315,
-1, -1, -1, 3900, -1, 3902, -1, -1, -1, -1,
-1, -1, -1, 3592, -1, -1, 3595, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 514, -1,
-1, -1, -1, -1, -1, -1, -1, 523, 524, 525,
526, 527, 528, 529, 530, 531, -1, -1, -1, -1,
-1, -1, 3969, 514, -1, -1, -1, -1, -1, -1,
-1, -1, 523, 524, 525, 526, 527, 528, 529, 530,
531, -1, 408, -1, -1, -1, -1, 3676, 3677, 3678,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4011, -1, -1, -1, -1, -1,
-1, -1, 3701, 10, -1, -1, 13, -1, -1, -1,
17, 18, 19, 4030, -1, -1, -1, 4034, -1, -1,
-1, 3720, -1, -1, -1, -1, -1, -1, 10, -1,
37, 13, -1, -1, -1, 17, 18, 19, 4055, -1,
47, -1, -1, 3742, -1, -1, -1, 54, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 47, -1, -1, -1, -1,
6348, -1, 54, 80, -1, -1, -1, -1, 514, -1,
-1, -1, -1, -1, -1, -1, -1, 523, 524, 525,
526, 527, 528, 529, 530, 531, -1, -1, 80, -1,
-1, -1, -1, -1, -1, 2056, -1, -1, -1, -1,
-1, -1, -1, -1, 2065, 2066, 2067, 2068, 2069, 2070,
2071, 2072, 2073, 2074, -1, -1, -1, -1, 2079, -1,
2081, -1, 2083, 3832, -1, 2086, 2087, 2088, -1, -1,
-1, -1, -1, 2094, -1, -1, 2097, 4164, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2114, 2115, 2116, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3879, 2132, -1, -1, -1, -1, 3885, -1, 3887, -1,
-1, 198, -1, -1, -1, -1, 203, -1, -1, -1,
-1, 3900, -1, 3902, -1, -1, 3424, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 198, -1, -1, 226,
227, 203, -1, -1, -1, -1, -1, 3445, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 226, 227, -1, 254, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3969, -1, 254, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
297, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 312, -1, -1, 315, -1,
-1, -1, 4011, -1, -1, 297, -1, -1, -1, -1,
-1, -1, 4339, -1, -1, -1, -1, -1, 2279, -1,
312, 4030, -1, -1, -1, 4034, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 25, 4055, -1, -1, -1,
30, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2333, -1, 4401, -1, -1, -1, -1, 4406,
-1, 4408, -1, -1, -1, -1, -1, -1, 68, -1,
-1, 408, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 81, 82, -1, -1, -1, -1, 4434, -1, -1,
-1, -1, -1, -1, 94, -1, 408, -1, 98, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2389, -1,
-1, -1, -1, -1, -1, -1, 116, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4481, 4164, -1, 4484, -1, -1,
140, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 153, -1, -1, -1, -1, -1, -1,
-1, -1, 162, -1, -1, -1, -1, -1, -1, -1,
3718, -1, -1, -1, -1, 175, -1, 514, -1, -1,
3728, 181, -1, -1, -1, -1, 523, 524, 525, 526,
527, 528, 529, 530, 531, -1, -1, -1, -1, -1,
-1, -1, 514, -1, -1, -1, -1, -1, 208, -1,
-1, 523, 524, 525, 526, 527, 528, 529, 530, 531,
-1, -1, -1, -1, -1, -1, -1, 4574, 4575, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4585, -1,
-1, -1, -1, -1, -1, -1, 246, -1, -1, -1,
-1, -1, -1, -1, -1, 4602, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1363, -1, 268, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580,
2581, -1, 2583, -1, -1, -1, -1, -1, -1, -1,
4339, -1, 312, 2594, -1, -1, 2597, -1, -1, -1,
-1, -1, -1, -1, -1, 1422, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4684, 338, -1,
4687, -1, -1, 3891, 3892, 3893, -1, -1, 348, 349,
-1, -1, 352, -1, -1, -1, -1, 2638, -1, -1,
3908, 2642, -1, -1, 2645, -1, 2647, -1, -1, 2650,
-1, -1, 4401, -1, -1, -1, -1, 4406, -1, 4408,
380, -1, -1, 383, -1, -1, -1, 387, -1, -1,
390, -1, -1, 3941, 3942, -1, -1, 397, 3946, -1,
400, -1, -1, -1, -1, 4434, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
420, -1, 2703, 2704, -1, -1, -1, -1, 428, -1,
-1, -1, -1, -1, -1, 435, -1, -1, 438, -1,
-1, -1, -1, 443, -1, -1, -1, -1, -1, -1,
-1, 451, 4481, 453, 22, 4484, -1, -1, 458, -1,
-1, -1, -1, -1, -1, 33, -1, 35, 36, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 485, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 63, -1, -1, -1, -1,
-1, -1, 2783, -1, 4052, -1, -1, 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, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4574, 4575, -1, -1, -1,
118, -1, -1, 121, -1, -1, 4585, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 136, -1,
138, -1, 4919, 4602, 142, -1, -1, -1, -1, -1,
-1, 149, -1, -1, -1, -1, -1, -1, -1, -1,
158, -1, 160, -1, -1, -1, -1, -1, -1, 167,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 185, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4976,
-1, -1, -1, -1, 202, -1, 1733, -1, -1, -1,
1737, 4988, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4684, -1, -1, 4687, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4219, 4220, 4221, -1, -1, 5023, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 256, 257,
-1, -1, -1, -1, 262, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 277,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 296, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3025, 3026, 3027, -1, -1, -1,
3031, -1, -1, -1, 5101, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5120, -1, 343, -1, 3058, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
358, -1, -1, -1, -1, -1, 364, 365, -1, 367,
-1, -1, -1, -1, 372, -1, -1, 375, -1, -1,
378, -1, -1, 381, -1, -1, -1, -1, -1, -1,
388, -1, -1, -1, -1, -1, -1, 395, 396, -1,
-1, -1, -1, -1, -1, 403, -1, -1, -1, 407,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
418, -1, -1, -1, -1, -1, -1, -1, -1, 5206,
-1, -1, -1, -1, -1, -1, -1, 435, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 25, -1, -1, 456, -1,
4919, -1, -1, -1, -1, -1, -1, -1, -1, -1,
468, -1, -1, 43, -1, -1, 474, -1, -1, -1,
-1, 479, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 492, -1, -1, -1, 68, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 81, -1, -1, -1, -1, -1, 4976, 516, -1,
-1, -1, -1, -1, -1, -1, -1, 2054, 98, 4988,
-1, -1, -1, -1, -1, -1, -1, 535, -1, -1,
538, -1, -1, -1, -1, -1, 116, -1, -1, -1,
-1, -1, 122, 2080, -1, -1, 3267, 2084, -1, -1,
5337, 3272, 5339, -1, 5023, -1, -1, -1, -1, -1,
140, -1, 2099, 2100, 2101, -1, 2103, 4555, -1, -1,
-1, -1, -1, 153, -1, -1, -1, -1, -1, -1,
25, -1, 162, -1, -1, 30, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 175, -1, -1, -1, 4587,
5387, -1, -1, 3324, 184, -1, -1, -1, 188, -1,
5397, -1, -1, -1, 3335, -1, 3337, 3338, -1, -1,
-1, -1, -1, 68, -1, -1, -1, -1, 208, -1,
3351, 4619, 5101, 3354, -1, 3356, 81, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5437, 5120, -1, 98, -1, 5442, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4655, -1, -1,
-1, 116, -1, 3394, -1, 3396, -1, 3398, 258, -1,
-1, -1, -1, -1, 4672, -1, -1, -1, 268, -1,
-1, -1, -1, -1, -1, 140, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 30, -1, 153, -1,
-1, -1, -1, -1, -1, -1, -1, 162, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
175, -1, 312, -1, -1, 315, 181, 5206, -1, -1,
-1, -1, -1, 188, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 81, 338, -1,
-1, -1, -1, 208, -1, -1, -1, -1, -1, -1,
-1, 3492, 352, -1, 98, -1, 3497, -1, -1, -1,
360, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3512, 116, -1, -1, -1, -1, -1, 122, -1,
380, -1, -1, -1, -1, -1, -1, -1, -1, -1,
390, -1, -1, -1, -1, -1, 140, 397, -1, -1,
400, -1, -1, 268, -1, -1, -1, -1, -1, 153,
-1, 4819, 4820, 4821, 4822, -1, -1, -1, 162, -1,
420, -1, -1, -1, -1, -1, -1, -1, 428, -1,
-1, 175, -1, -1, -1, 435, 3577, 181, 438, -1,
440, -1, 442, 443, 188, -1, -1, 312, 5337, -1,
5339, -1, -1, -1, -1, -1, -1, -1, 458, -1,
325, -1, -1, -1, 208, -1, 466, -1, 5675, 469,
-1, -1, 472, 338, -1, -1, -1, -1, -1, -1,
-1, -1, 5689, 348, 349, 485, -1, 352, -1, -1,
-1, -1, -1, -1, -1, -1, 3637, -1, 5387, -1,
-1, -1, 246, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5720, -1, 380, -1, -1, 383, -1,
-1, -1, 387, -1, 268, 390, -1, -1, -1, -1,
-1, -1, 397, -1, -1, 400, 27, -1, -1, -1,
-1, -1, 33, -1, -1, -1, -1, -1, 5437, 40,
-1, -1, -1, -1, -1, 420, -1, -1, -1, -1,
-1, -1, -1, 428, -1, -1, -1, -1, 312, -1,
435, 62, -1, 438, -1, -1, -1, -1, 443, -1,
-1, -1, -1, -1, -1, -1, 451, 78, 453, -1,
-1, -1, 5799, 458, 338, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 348, 349, -1, 472, 352, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
485, -1, -1, 114, -1, -1, -1, -1, 5835, -1,
-1, -1, -1, 2590, -1, -1, 380, -1, -1, 383,
-1, -1, -1, 387, 135, -1, 390, -1, -1, -1,
-1, 142, -1, 397, -1, 146, 400, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 420, -1, -1, -1,
-1, -1, -1, 174, 428, -1, -1, -1, -1, 433,
-1, 435, -1, -1, 438, -1, 3837, -1, 5905, 443,
-1, 5908, 3843, -1, -1, -1, -1, -1, -1, 453,
-1, -1, -1, -1, 458, 206, -1, -1, -1, 210,
-1, -1, -1, -1, -1, -1, -1, -1, 472, -1,
-1, -1, -1, 2690, -1, -1, -1, -1, -1, -1,
-1, 485, -1, -1, -1, 2702, -1, -1, -1, -1,
2707, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5168, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5179, -1, 264, -1, -1, -1, -1, 269, -1,
-1, 3922, -1, 274, -1, -1, 5675, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 290,
5689, -1, -1, 294, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 304, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 314, -1, -1, -1, -1, -1, -1,
-1, 5720, -1, -1, 325, 326, -1, -1, -1, -1,
-1, -1, -1, -1, 6051, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 6065, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 6078, -1, -1, -1, -1, -1, 368, -1, -1,
371, 372, 373, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 397, -1, -1, -1,
5799, -1, 403, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 418, -1, -1,
4071, 6138, 6139, -1, -1, -1, -1, -1, 4079, -1,
4081, -1, -1, -1, -1, -1, 5835, -1, -1, -1,
-1, -1, -1, -1, 4095, -1, -1, -1, 4099, 4100,
4101, -1, -1, -1, -1, 4106, -1, -1, 4109, -1,
-1, 4112, -1, -1, -1, -1, -1, 4118, 469, 4120,
-1, -1, -1, -1, -1, 476, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4147, 4148, 4149, 6216,
-1, -1, -1, -1, -1, -1, 5905, -1, -1, 5908,
-1, -1, -1, -1, -1, 4166, -1, -1, -1, -1,
-1, -1, -1, 4174, -1, -1, 4177, -1, 4179, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5459, -1, -1, 4195, -1, 5464, -1, -1, -1,
-1, -1, 4203, 4204, -1, -1, -1, -1, -1, 4210,
-1, -1, -1, -1, -1, 5483, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4239, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4290,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 6051, -1, -1, -1, 4307, 6374, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 6078,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 6433, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5644, -1, -1, 6446,
6447, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 6458, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3270, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 6216, -1, -1,
-1, 3288, -1, -1, 5742, -1, -1, -1, -1, -1,
-1, 3298, -1, -1, -1, -1, -1, 3304, -1, -1,
3307, -1, -1, -1, -1, -1, -1, 3314, 3315, -1,
3317, -1, 5770, -1, -1, 3322, 3323, -1, 3325, -1,
3327, -1, -1, -1, 3331, -1, -1, 3334, -1, -1,
-1, -1, 3339, -1, -1, -1, -1, -1, -1, -1,
-1, 3348, -1, -1, -1, -1, 3353, -1, -1, -1,
-1, -1, -1, -1, 3361, 3362, 3363, 3364, -1, -1,
-1, -1, 3369, 3370, -1, 3372, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3391, -1, 3393, -1, -1, -1,
-1, -1, -1, 3400, 3401, 3402, 3403, 3404, 3405, 3406,
3407, 3408, 3409, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 6374, -1, -1, -1, 3446,
4631, 4632, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4643, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 6433, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 6458,
-1, -1, 4713, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4730,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4748, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3586,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4787, 4788, -1, -1,
-1, -1, -1, -1, 4795, 4796, -1, -1, -1, 4800,
-1, -1, -1, -1, 4805, -1, -1, 4808, 4809, -1,
-1, -1, -1, -1, 4815, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4860,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4871, -1, -1, -1, -1, -1, -1, -1, 4879, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4924, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5004, -1, -1, -1, -1, -1, -1,
5011, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3841, 3842, -1, -1, -1, 3846,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3875, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5080,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5232, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5242, -1, -1, -1, -1, -1, 5248, 5249, 5250,
-1, -1, -1, 4070, -1, -1, -1, -1, -1, 4076,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5273, 5274, -1, -1, 5277, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5295, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5305, -1, -1, 4124, 4125, -1,
-1, 4128, 4129, 4130, 4131, 5316, -1, 4134, 4135, 4136,
4137, 4138, 4139, 4140, 4141, 4142, 4143, 4144, -1, -1,
-1, 5332, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4167, -1, -1, 4170, -1, 4172, -1, -1, 4175, 4176,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4197, 4198, 4199, 4200, -1, 4202, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4272, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4322, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5537, -1, -1, -1,
4357, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5558, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5603, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5651, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5667, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5709, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4548, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4591, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5798, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5810,
-1, -1, -1, -1, -1, -1, -1, -1, 5819, 5820,
5821, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5847, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5861, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5880,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4714, -1, -1,
-1, 4718, 4719, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4732, -1, -1, -1, -1,
-1, -1, -1, 4740, -1, 4742, -1, 4744, 4745, -1,
-1, -1, -1, 4750, 4751, 4752, 4753, -1, -1, -1,
4757, 4758, 4759, 4760, 4761, 4762, 4763, 4764, 4765, 4766,
4767, 4768, 4769, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4794, -1, -1,
4797, -1, 4799, -1, -1, -1, 4803, -1, -1, 4806,
4807, -1, -1, 4810, 4811, -1, -1, -1, -1, 4816,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 6012, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 6037, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4870, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4884, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 6120,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 6144, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5083, -1, -1, -1,
6271, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 6287, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5170, 5171, -1, -1, -1, -1, -1,
-1, 5178, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5221, -1, -1, -1, -1, -1,
-1, 6412, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5244, 5245, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5263, -1, 5265, -1,
-1, -1, 5269, 5270, 5271, 5272, -1, -1, 5275, 5276,
-1, -1, -1, -1, 5281, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5299, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5317, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5331, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5359, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5408, -1, 5410, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5445, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5551, -1, 5553, 5554, 5555, 5556,
5557, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5570, 5571, 5572, -1, -1, -1, -1,
-1, -1, -1, 5580, -1, -1, -1, -1, 5585, -1,
-1, 5588, -1, -1, -1, 5592, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5610, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5627, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5800, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5811, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5832, -1, 5834, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5879, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5891, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5928, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 6008, -1, -1, -1, -1, -1, -1, 6015, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 6048, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 6063, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 6175, 6176,
-1, -1, 6179, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 6238, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 6263, -1, -1, -1,
-1, -1, -1, -1, 3, -1, 5, 6, -1, 8,
9, 10, 11, 12, 6281, 6282, -1, 6284, -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, 6350, 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, -1, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, -1, 168,
169, 170, 171, 172, -1, 174, -1, 176, 177, 178,
-1, 180, 181, 182, 183, 184, -1, 186, 187, -1,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, 200, 201, 202, -1, 204, 205, 206, 207, 208,
209, 210, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, -1, 223, -1, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
-1, 250, 251, 252, 253, 254, -1, 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, -1, 307, 308,
309, -1, -1, 312, 313, 314, -1, -1, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, 341, 342, 343, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, -1, 377, 378,
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, -1, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, -1, 432, 433, 434, -1, 436, 437, 438,
439, 440, 441, 442, 443, -1, 445, 446, 447, -1,
-1, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, -1, 466, 467, 468,
469, 470, 471, 472, -1, 474, 475, 476, 477, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, -1,
-1, 490, -1, -1, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, -1, 514, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 526, 527, 528,
-1, -1, -1, -1, -1, -1, 535, 536, 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, -1,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, -1, 168, 169, 170, 171, 172, -1, 174,
-1, 176, 177, 178, -1, 180, 181, 182, 183, 184,
-1, 186, 187, -1, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, -1, 204,
205, 206, 207, 208, 209, 210, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, -1, 223, -1,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, -1, -1, 250, 251, 252, 253, 254,
-1, 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, -1, 307, 308, 309, -1, -1, 312, 313, 314,
-1, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, -1, 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, -1, 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, -1,
445, 446, 447, -1, -1, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
-1, 466, 467, 468, 469, 470, 471, 472, -1, 474,
475, 476, 477, 478, 479, 480, -1, 482, 483, 484,
485, 486, 487, -1, -1, 490, -1, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, -1, 514,
-1, 516, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 526, 527, -1, -1, -1, -1, -1, -1, -1,
535, 536, 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, -1, 155, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, -1, 168, 169, 170,
171, 172, -1, 174, -1, 176, 177, 178, -1, 180,
181, 182, 183, 184, -1, 186, 187, -1, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, 200,
201, 202, -1, 204, 205, 206, 207, 208, 209, 210,
211, -1, 213, 214, 215, 216, 217, 218, 219, 220,
221, -1, 223, -1, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, -1, -1, 250,
251, 252, 253, 254, -1, 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, -1, 307, 308, 309, -1,
-1, 312, 313, 314, -1, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
341, 342, 343, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, -1, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, -1, 377, 378, 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, -1, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
-1, 432, 433, 434, -1, 436, 437, 438, 439, 440,
441, 442, 443, -1, 445, 446, 447, -1, -1, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, 467, 468, 469, 470,
471, 472, -1, 474, 475, 476, 477, 478, 479, 480,
-1, 482, 483, 484, 485, 486, 487, -1, -1, 490,
-1, -1, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, -1, 514, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 526, 527, -1, -1, -1,
-1, -1, -1, -1, 535, 536, 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, -1, 155, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
-1, 168, 169, 170, 171, 172, -1, 174, -1, 176,
177, 178, -1, 180, 181, 182, 183, 184, -1, 186,
187, -1, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, 200, 201, 202, -1, 204, 205, 206,
207, 208, 209, 210, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, -1, 223, -1, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, -1, -1, 250, 251, 252, 253, 254, -1, 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, -1,
307, 308, 309, -1, -1, 312, 313, 314, -1, -1,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, 341, 342, 343, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, -1, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, -1,
377, 378, 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, -1, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, -1, 432, 433, 434, -1, 436,
437, 438, 439, 440, 441, 442, 443, -1, 445, 446,
447, -1, -1, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
467, 468, 469, 470, 471, 472, -1, 474, 475, 476,
477, 478, 479, 480, -1, 482, 483, 484, 485, 486,
487, -1, -1, 490, -1, -1, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, -1, 514, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 526,
527, -1, -1, -1, -1, -1, -1, -1, 535, 536,
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, -1, 155, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, -1, 168, 169, 170, 171, 172,
-1, 174, -1, 176, 177, 178, -1, 180, 181, 182,
183, 184, -1, 186, 187, -1, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
-1, 204, 205, 206, 207, 208, 209, 210, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, -1,
223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, -1, -1, 250, 251, 252,
253, 254, -1, 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, -1, 307, 308, 309, -1, -1, 312,
313, 314, -1, -1, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, 341, 342,
343, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, -1,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, -1, 377, 378, 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,
-1, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, -1, 432,
433, 434, -1, 436, 437, 438, 439, 440, 441, 442,
443, -1, 445, 446, 447, -1, -1, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, 467, 468, 469, 470, 471, 472,
-1, 474, 475, 476, 477, 478, 479, 480, -1, 482,
483, 484, 485, 486, 487, -1, -1, 490, -1, -1,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
-1, 514, -1, -1, -1, 3, -1, -1, -1, -1,
-1, -1, -1, 526, 527, -1, -1, -1, -1, -1,
-1, -1, 535, 536, 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, -1, 155, 156, 157,
158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
168, 169, 170, 171, 172, -1, 174, -1, 176, 177,
-1, -1, 180, 181, 182, 183, 184, -1, 186, 187,
-1, 189, 190, 191, -1, 193, 194, 195, 196, 197,
-1, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, 214, 215, 216, 217,
218, 219, 220, 221, -1, 223, -1, 225, -1, -1,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, 251, 252, 253, -1, -1, 256, 257,
258, -1, -1, 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, -1, 295, 296, -1,
298, -1, 300, 301, 302, 303, 304, 305, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, 319, -1, 321, -1, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, 341, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, -1, 397,
398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
-1, 409, 410, 411, 412, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, -1, 432, 433, -1, -1, 436, -1,
438, 439, 440, 441, 442, 443, -1, 445, 446, 447,
-1, -1, 450, 451, 452, 453, 454, -1, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, -1, 467,
468, 469, 470, 471, -1, -1, 474, 475, 476, 477,
478, 479, 480, -1, 482, -1, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, -1, -1, -1, -1, -1,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 536, 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, -1, 155, 156, 157, 158, -1, 160, 161, 162,
163, -1, -1, 166, -1, 168, 169, 170, 171, 172,
-1, 174, -1, 176, 177, 178, -1, 180, 181, 182,
183, 184, -1, 186, -1, -1, -1, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, 210, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, -1,
223, -1, 225, 226, 227, 228, 229, 230, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 241, 242,
243, 244, 245, 246, 247, -1, -1, 250, -1, 252,
253, 254, -1, 256, 257, 258, -1, -1, 261, 262,
263, 264, 265, 266, 267, 268, 269, 270, -1, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, -1, -1,
293, -1, 295, 296, 297, 298, -1, -1, 301, 302,
303, 304, 305, -1, 307, 308, 309, -1, -1, 312,
313, 314, -1, -1, 317, 318, 319, 320, 321, 322,
-1, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, -1, 336, 337, 338, -1, 340, -1, 342,
343, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, -1,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, -1, 377, 378, 379, 380, 381, 382,
383, 384, -1, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, -1, 397, 398, 399, 400, 401, -1,
403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
-1, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, -1, 430, -1, 432,
433, -1, -1, 436, 437, 438, 439, 440, 441, 442,
443, -1, 445, 446, 447, -1, -1, 450, 451, -1,
453, -1, -1, 456, 457, 458, 459, 460, 461, 462,
463, 464, -1, -1, 467, 468, 469, 470, 471, -1,
-1, 474, 475, 476, 477, 478, -1, 480, 481, 482,
483, 484, 485, 486, 487, -1, -1, 490, -1, -1,
493, 494, 495, 496, 497, 498, 3, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 510, 511, 512,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, 30, -1, 32, 33, 34, -1, -1,
-1, -1, -1, 536, -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, -1, 155, 156,
157, 158, -1, 160, 161, 162, 163, -1, -1, 166,
-1, 168, 169, 170, 171, 172, -1, 174, -1, 176,
177, 178, -1, 180, 181, 182, 183, 184, -1, 186,
-1, -1, -1, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, 210, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, -1, 223, -1, 225, 226,
227, 228, 229, 230, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 241, 242, 243, 244, 245, 246,
247, -1, -1, 250, -1, 252, 253, 254, -1, 256,
257, 258, -1, -1, 261, 262, 263, 264, 265, 266,
267, 268, 269, 270, -1, 272, 273, 274, 275, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, -1, -1, 293, -1, 295, 296,
297, 298, -1, -1, 301, 302, 303, 304, 305, -1,
307, 308, 309, -1, -1, 312, 313, 314, -1, -1,
317, 318, 319, 320, 321, 322, -1, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, -1, 336,
337, 338, -1, 340, -1, 342, 343, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, -1, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, -1,
377, 378, 379, 380, 381, 382, 383, 384, -1, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, -1,
397, 398, 399, 400, 401, -1, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, -1, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, -1, 430, -1, 432, 433, -1, -1, 436,
437, 438, 439, 440, 441, 442, 443, -1, 445, 446,
447, -1, -1, 450, 451, -1, 453, -1, -1, 456,
457, 458, 459, 460, 461, 462, 463, 464, -1, -1,
467, 468, 469, 470, 471, -1, -1, 474, 475, 476,
477, 478, -1, 480, 481, 482, 483, 484, 485, 486,
487, -1, -1, 490, -1, -1, 493, 494, 495, 496,
497, 498, 3, -1, 5, 6, -1, 8, 9, 10,
11, 12, -1, 510, 511, 512, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, 30,
-1, 32, 33, 34, -1, -1, -1, -1, 39, 536,
-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, -1, 155, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, -1, 168, 169, 170,
171, 172, -1, 174, -1, 176, 177, 178, -1, 180,
181, 182, 183, 184, -1, 186, 187, -1, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, 200,
201, 202, -1, 204, 205, 206, 207, 208, 209, 210,
211, -1, 213, 214, 215, 216, 217, 218, 219, 220,
221, -1, 223, -1, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, -1, -1, 250,
251, 252, 253, 254, -1, 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, -1, 307, 308, 309, -1,
-1, 312, 313, 314, -1, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
341, 342, 343, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, -1, 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, -1, 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, -1, 445, 446, 447, -1, -1, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, 467, 468, 469, 470,
471, 472, -1, 474, 475, 476, 477, 478, 479, 480,
-1, 482, 483, 484, 485, 486, 487, -1, -1, 490,
-1, 492, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, -1, 514, -1, 516, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 526, 527, -1, -1, -1,
3, -1, 5, 6, 535, 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, -1, 155, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, -1, 168, 169, 170, 171, 172,
-1, 174, -1, 176, 177, 178, -1, 180, 181, 182,
183, 184, -1, 186, 187, -1, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
-1, 204, 205, 206, 207, 208, 209, 210, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, -1,
223, -1, 225, 226, 227, 228, 229, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, -1, -1, 250, 251, 252,
253, 254, -1, 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, -1, 307, 308, 309, -1, -1, 312,
313, 314, -1, -1, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, 341, 342,
343, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, -1,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, -1, 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,
-1, 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, -1, 445, 446, 447, -1, -1, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, -1, 466, 467, 468, 469, 470, 471, 472,
-1, 474, 475, 476, 477, 478, 479, 480, -1, 482,
483, 484, 485, 486, 487, -1, -1, 490, -1, 492,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
-1, 514, -1, 516, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 526, 527, -1, -1, -1, 3, -1,
5, 6, 535, 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, -1,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, -1, 168, 169, 170, 171, 172, -1, 174,
-1, 176, 177, 178, 179, 180, 181, 182, 183, 184,
-1, 186, 187, -1, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, -1, 204,
205, 206, 207, 208, 209, 210, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, -1, 223, -1,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, -1, 249, 250, 251, 252, 253, 254,
-1, 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, -1, 307, 308, 309, -1, -1, 312, 313, 314,
-1, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, -1, 377, 378, 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, -1, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, -1, 432, 433, 434,
-1, 436, 437, 438, 439, 440, 441, 442, 443, -1,
445, 446, 447, -1, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
-1, 466, 467, 468, 469, 470, 471, 472, -1, 474,
475, 476, 477, 478, 479, 480, -1, 482, 483, 484,
485, 486, 487, -1, -1, 490, -1, -1, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, -1, 514,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 526, 527, -1, -1, -1, 3, -1, 5, 6,
535, 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, -1, 155, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
-1, 168, 169, 170, 171, 172, -1, 174, -1, 176,
177, 178, -1, 180, 181, 182, 183, 184, -1, 186,
187, -1, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, 200, 201, 202, -1, 204, 205, 206,
207, 208, 209, 210, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, -1, 223, -1, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, -1, -1, 250, 251, 252, 253, 254, -1, 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, -1,
307, 308, 309, -1, -1, 312, 313, 314, -1, -1,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, 341, 342, 343, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, -1, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, -1,
377, 378, 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, -1, 432, 433, 434, -1, 436,
437, 438, 439, 440, 441, 442, 443, -1, 445, 446,
447, -1, -1, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, -1, 466,
467, 468, 469, 470, 471, 472, -1, 474, 475, 476,
477, 478, 479, 480, -1, 482, 483, 484, 485, 486,
487, -1, -1, 490, -1, -1, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, -1, 514, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 526,
527, -1, -1, -1, 3, -1, 5, 6, 535, 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, -1, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, 165, 166, -1, 168,
169, 170, 171, 172, -1, 174, -1, 176, 177, 178,
-1, 180, 181, 182, 183, 184, -1, 186, 187, -1,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, 200, 201, 202, -1, 204, 205, 206, 207, 208,
209, 210, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, -1, 223, -1, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
-1, 250, 251, 252, 253, 254, -1, 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, -1, 307, 308,
309, -1, -1, 312, 313, 314, -1, -1, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, 341, 342, 343, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, -1, 377, 378,
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, -1, 432, 433, 434, -1, 436, 437, 438,
439, 440, 441, 442, 443, -1, 445, 446, 447, -1,
-1, 450, 451, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, -1, 466, 467, 468,
469, 470, 471, 472, -1, 474, 475, 476, 477, 478,
479, 480, -1, 482, 483, 484, 485, 486, 487, -1,
-1, 490, -1, -1, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, -1, 514, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 526, 527, -1,
-1, -1, 3, -1, 5, 6, 535, 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, -1, 155, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, -1, 168, 169, 170,
171, 172, -1, 174, -1, 176, 177, 178, -1, 180,
181, 182, 183, 184, -1, 186, 187, -1, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, 200,
201, 202, -1, 204, 205, 206, 207, 208, 209, 210,
211, -1, 213, 214, 215, 216, 217, 218, 219, 220,
221, -1, 223, -1, 225, 226, 227, 228, 229, 230,
231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, -1, -1, 250,
251, 252, 253, 254, -1, 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, -1, 307, 308, 309, -1,
-1, 312, 313, 314, -1, -1, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, -1, 336, 337, 338, 339, 340,
341, 342, 343, 344, -1, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 360,
361, -1, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, -1, 377, 378, 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, -1, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 424, 425, 426, 427, 428, 429, 430,
-1, 432, 433, 434, -1, 436, 437, 438, 439, 440,
441, 442, 443, -1, 445, 446, 447, -1, -1, 450,
451, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, -1, 466, 467, 468, 469, 470,
471, 472, -1, 474, 475, 476, 477, 478, 479, 480,
-1, 482, 483, 484, 485, 486, 487, -1, -1, 490,
-1, -1, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 508, 509, 510,
511, 512, -1, 514, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 526, 527, -1, -1, -1,
-1, -1, 533, 534, 535, 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, -1, 155, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, 166, -1,
168, 169, 170, 171, 172, -1, 174, -1, 176, 177,
178, -1, 180, 181, 182, 183, 184, -1, 186, 187,
-1, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, 214, 215, 216, 217,
218, 219, 220, 221, -1, 223, -1, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, 251, 252, 253, 254, -1, 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, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, 341, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, 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, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, -1, 432, 433, 434, -1, 436, 437,
438, 439, 440, 441, 442, 443, -1, 445, 446, 447,
-1, -1, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, 466, 467,
468, 469, 470, 471, 472, -1, 474, 475, 476, 477,
478, 479, 480, -1, 482, 483, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, -1, 514, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 526, 527,
528, -1, -1, 3, -1, 5, 6, 535, 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, -1, 155, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, -1, 168, 169,
170, 171, 172, -1, 174, -1, 176, 177, 178, -1,
180, 181, 182, 183, 184, -1, 186, 187, -1, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, -1, 204, 205, 206, 207, 208, 209,
210, 211, -1, 213, 214, 215, 216, 217, 218, 219,
220, 221, -1, 223, -1, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, -1, -1,
250, 251, 252, 253, 254, -1, 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, -1, 307, 308, 309,
-1, -1, 312, 313, 314, -1, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, 341, 342, 343, 344, -1, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, -1, 377, 378, 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, -1, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, -1, 432, 433, 434, -1, 436, 437, 438, 439,
440, 441, 442, 443, -1, 445, 446, 447, -1, -1,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, -1, 466, 467, 468, 469,
470, 471, 472, -1, 474, 475, 476, 477, 478, 479,
480, -1, 482, 483, 484, 485, 486, 487, -1, -1,
490, -1, -1, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, -1, 514, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 526, 527, -1, -1,
-1, 3, -1, 5, 6, 535, 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, -1, 155, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, -1, 168, 169, 170, 171,
172, -1, 174, -1, 176, 177, 178, -1, 180, 181,
182, 183, 184, -1, 186, 187, -1, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, -1, 204, 205, 206, 207, 208, 209, 210, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
-1, 223, -1, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, -1, -1, 250, 251,
252, 253, 254, -1, 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, -1, 307, 308, 309, -1, -1,
312, 313, 314, -1, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
-1, 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, -1, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, -1, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
432, 433, 434, -1, 436, 437, 438, 439, 440, 441,
442, 443, -1, 445, 446, 447, -1, -1, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, 466, 467, 468, 469, 470, 471,
472, -1, 474, 475, 476, 477, 478, 479, 480, -1,
482, 483, 484, 485, 486, 487, -1, -1, 490, -1,
-1, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, -1, 514, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 526, 527, -1, -1, -1, 3,
-1, 5, 6, 535, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 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, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
434, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, 466, 467, 468, 469, 470, 471, 472, -1,
474, 475, 476, 477, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, -1,
514, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 526, 527, -1, -1, -1, 3, -1, 5,
6, 535, 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, -1, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, -1, 168, 169, 170, 171, 172, -1, 174, -1,
176, 177, 178, 179, 180, 181, 182, 183, 184, -1,
186, 187, -1, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, -1, 204, 205,
206, 207, 208, 209, 210, 211, -1, 213, 214, 215,
216, 217, 218, 219, 220, 221, -1, 223, -1, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, -1, -1, 250, 251, 252, 253, 254, -1,
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,
-1, 307, 308, 309, -1, -1, 312, 313, 314, -1,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, 341, 342, 343, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
-1, 377, 378, 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, -1, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, -1, 432, 433, 434, -1,
436, 437, 438, 439, 440, 441, 442, 443, -1, 445,
446, 447, -1, -1, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, -1,
466, 467, 468, 469, 470, 471, 472, -1, 474, 475,
476, 477, 478, 479, 480, -1, 482, 483, 484, 485,
486, 487, -1, -1, 490, -1, -1, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, -1, 514, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
526, 527, -1, -1, -1, 3, -1, 5, 6, 535,
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, -1, 155, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, 166, -1,
168, 169, 170, 171, 172, -1, 174, -1, 176, 177,
178, -1, 180, 181, 182, 183, 184, -1, 186, 187,
-1, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, 214, 215, 216, 217,
218, 219, 220, 221, -1, 223, -1, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, 251, 252, 253, 254, -1, 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, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, 341, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, 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, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, -1, 432, 433, 434, -1, 436, 437,
438, 439, 440, 441, 442, 443, -1, 445, 446, 447,
448, -1, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, 466, 467,
468, 469, 470, 471, 472, -1, 474, 475, 476, 477,
478, 479, 480, -1, 482, 483, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, -1, 514, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 526, 527,
-1, -1, -1, 3, -1, 5, 6, 535, 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, -1, 155, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, -1, 168, 169,
170, 171, 172, -1, 174, -1, 176, 177, 178, -1,
180, 181, 182, 183, 184, -1, 186, 187, -1, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, -1, 204, 205, 206, 207, 208, 209,
210, 211, -1, 213, 214, 215, 216, 217, 218, 219,
220, 221, -1, 223, -1, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, -1, -1,
250, 251, 252, 253, 254, -1, 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, -1, 307, 308, 309,
-1, -1, 312, 313, 314, -1, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, 341, 342, 343, 344, -1, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, -1, 377, 378, 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, -1, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, -1, 432, 433, 434, -1, 436, 437, 438, 439,
440, 441, 442, 443, -1, 445, 446, 447, -1, -1,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, -1, 466, 467, 468, 469,
470, 471, 472, -1, 474, 475, 476, 477, 478, 479,
480, -1, 482, 483, 484, 485, 486, 487, -1, -1,
490, -1, -1, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, -1, 514, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 526, 527, -1, -1,
-1, 3, -1, 5, 6, 535, 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, -1, 155, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, -1, 168, 169, 170, 171,
172, -1, 174, -1, 176, 177, 178, -1, 180, 181,
182, 183, 184, -1, 186, 187, -1, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, -1, 204, 205, 206, 207, 208, 209, 210, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
-1, 223, -1, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, -1, -1, 250, 251,
252, 253, 254, -1, 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, -1, 307, 308, 309, -1, -1,
312, 313, 314, -1, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, -1, 377, 378, 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, -1, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
432, 433, 434, -1, 436, 437, 438, 439, 440, 441,
442, 443, -1, 445, 446, 447, -1, -1, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, 466, 467, 468, 469, 470, 471,
472, -1, 474, 475, 476, 477, 478, 479, 480, -1,
482, 483, 484, 485, 486, 487, -1, -1, 490, -1,
-1, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, -1, 514, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 526, 527, -1, -1, -1, 3,
-1, 5, 6, 535, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 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, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
434, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, 466, 467, 468, 469, 470, 471, 472, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, -1,
514, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 526, 527, -1, -1, -1, 3, -1, 5,
6, 535, 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, -1, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, -1, 168, 169, 170, 171, 172, -1, 174, -1,
176, 177, 178, -1, 180, 181, 182, 183, 184, -1,
186, 187, -1, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, -1, 204, 205,
206, 207, 208, 209, 210, 211, -1, 213, 214, 215,
216, 217, 218, 219, 220, 221, -1, 223, -1, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, -1, -1, 250, 251, 252, 253, 254, -1,
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,
-1, 307, 308, 309, -1, -1, 312, 313, 314, -1,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, 341, 342, 343, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
-1, 377, 378, 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, -1, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, -1, 432, 433, 434, -1,
436, 437, 438, 439, 440, 441, 442, 443, -1, 445,
446, 447, -1, -1, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, -1,
466, 467, 468, 469, 470, 471, 472, -1, 474, 475,
476, 477, 478, 479, 480, -1, 482, 483, 484, 485,
486, 487, -1, -1, 490, -1, -1, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, -1, 514, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
526, 527, -1, -1, -1, 3, -1, 5, 6, 535,
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, -1, 155, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, 166, -1,
168, 169, 170, 171, 172, -1, 174, -1, 176, 177,
178, -1, 180, 181, 182, 183, 184, -1, 186, 187,
-1, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, 214, 215, 216, 217,
218, 219, 220, 221, -1, 223, -1, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, 251, 252, 253, 254, -1, 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, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, 341, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, 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, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, -1, 432, 433, 434, -1, 436, 437,
438, 439, 440, 441, 442, 443, -1, 445, 446, 447,
-1, -1, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, 466, 467,
468, 469, 470, 471, 472, -1, 474, 475, 476, 477,
478, 479, 480, -1, 482, 483, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, -1, 514, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 526, 527,
-1, -1, -1, 3, -1, 5, 6, 535, 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, -1, 155, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, -1, 168, 169,
170, 171, 172, -1, 174, -1, 176, 177, 178, -1,
180, 181, 182, 183, 184, -1, 186, 187, -1, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, -1, 204, 205, 206, 207, 208, 209,
210, 211, -1, 213, 214, 215, 216, 217, 218, 219,
220, 221, -1, 223, -1, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, -1, -1,
250, 251, 252, 253, 254, -1, 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, -1, 307, 308, 309,
-1, -1, 312, 313, 314, -1, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, 341, 342, 343, 344, -1, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, -1, 377, 378, 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, -1, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, -1, 432, 433, 434, -1, 436, 437, 438, 439,
440, 441, 442, 443, -1, 445, 446, 447, -1, -1,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, -1, 466, 467, 468, 469,
470, 471, 472, -1, 474, 475, 476, 477, 478, 479,
480, -1, 482, 483, 484, 485, 486, 487, -1, -1,
490, -1, -1, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, -1, 514, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 526, 527, -1, -1,
-1, 3, -1, 5, 6, 535, 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, -1, 155, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, -1, 168, 169, 170, 171,
172, -1, 174, -1, 176, 177, 178, -1, 180, 181,
182, 183, 184, -1, 186, 187, -1, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, -1, 204, 205, 206, 207, 208, 209, 210, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
-1, 223, -1, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, -1, -1, 250, 251,
252, 253, 254, -1, 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, -1, 307, 308, 309, -1, -1,
312, 313, 314, -1, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, -1, 377, 378, 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, -1, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
432, 433, 434, -1, 436, 437, 438, 439, 440, 441,
442, 443, -1, 445, 446, 447, -1, -1, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, 466, 467, 468, 469, 470, 471,
472, -1, 474, 475, 476, 477, 478, 479, 480, -1,
482, 483, 484, 485, 486, 487, -1, -1, 490, -1,
-1, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, -1, 514, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 526, 527, -1, -1, -1, 3,
-1, 5, 6, 535, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 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, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
434, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, 466, 467, 468, 469, 470, 471, 472, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, -1,
514, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 526, 527, -1, -1, -1, 3, -1, 5,
6, 535, 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, -1, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, -1, 168, 169, 170, 171, 172, -1, 174, -1,
176, 177, 178, -1, 180, 181, 182, 183, 184, -1,
186, 187, -1, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, -1, 204, 205,
206, 207, 208, 209, 210, 211, -1, 213, 214, 215,
216, 217, 218, 219, 220, 221, -1, 223, -1, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, -1, -1, 250, 251, 252, 253, 254, -1,
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,
-1, 307, 308, 309, -1, -1, 312, 313, 314, -1,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, 341, 342, 343, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
-1, 377, 378, 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, -1, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, -1, 432, 433, 434, -1,
436, 437, 438, 439, 440, 441, 442, 443, -1, 445,
446, 447, -1, -1, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, -1,
466, 467, 468, 469, 470, 471, 472, -1, 474, 475,
476, 477, 478, 479, 480, -1, 482, 483, 484, 485,
486, 487, -1, -1, 490, -1, -1, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, -1, 514, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
526, 527, -1, -1, -1, 3, -1, 5, 6, 535,
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, -1, 155, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, 166, -1,
168, 169, 170, 171, 172, -1, 174, -1, 176, 177,
178, -1, 180, 181, 182, 183, 184, -1, 186, 187,
-1, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, 214, 215, 216, 217,
218, 219, 220, 221, -1, 223, -1, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, 251, 252, 253, 254, -1, 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, -1, 295, 296, 297,
298, 299, 300, 301, 302, 303, 304, 305, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, 341, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, 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, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, -1, 432, 433, 434, -1, 436, 437,
438, 439, 440, 441, 442, 443, -1, 445, 446, 447,
-1, -1, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, -1, 467,
468, 469, 470, 471, 472, -1, 474, 475, 476, 477,
478, 479, 480, -1, 482, 483, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 526, 527,
-1, -1, -1, 3, -1, 5, 6, 535, 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, -1, 155, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, -1, 168, 169,
170, 171, 172, -1, 174, -1, 176, 177, 178, -1,
180, 181, 182, 183, 184, -1, 186, 187, -1, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, -1, 204, 205, 206, 207, 208, 209,
210, 211, -1, 213, 214, 215, 216, 217, 218, 219,
220, 221, -1, 223, -1, 225, -1, -1, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, -1, -1,
250, 251, 252, 253, 254, -1, 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, -1, 298, 299,
300, 301, 302, 303, 304, 305, -1, 307, 308, 309,
-1, -1, 312, 313, 314, -1, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, 341, 342, 343, 344, -1, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, -1, 377, 378, 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, -1, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, -1, 432, 433, 434, -1, 436, 437, 438, 439,
440, 441, 442, 443, -1, 445, 446, 447, -1, -1,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, -1, 466, 467, 468, 469,
470, 471, 472, -1, 474, 475, 476, 477, 478, 479,
480, -1, 482, 483, 484, 485, 486, 487, -1, -1,
490, -1, -1, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, -1, 514, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 526, 527, -1, -1,
-1, 3, -1, 5, 6, 535, 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, -1, 155, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, -1, 168, 169, 170, 171,
172, -1, 174, -1, 176, 177, 178, -1, 180, 181,
182, 183, 184, -1, 186, 187, -1, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, -1, 204, 205, 206, 207, 208, 209, 210, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
-1, 223, -1, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, -1, -1, 250, 251,
252, 253, 254, -1, 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, -1, 295, 296, 297, 298, 299, 300, 301,
302, 303, 304, 305, -1, 307, 308, 309, -1, -1,
312, 313, 314, -1, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, -1, 377, 378, 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, -1, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
432, 433, 434, -1, 436, 437, 438, 439, 440, 441,
442, 443, -1, 445, 446, 447, -1, -1, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, -1, 467, 468, 469, 470, 471,
472, -1, 474, 475, 476, 477, 478, 479, 480, -1,
482, 483, 484, 485, 486, 487, -1, -1, 490, -1,
-1, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 526, 527, 3, -1, 5, 6,
-1, 8, 9, 535, 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, -1, 155, 156,
157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
-1, 168, 169, 170, 171, 172, -1, 174, -1, 176,
177, 178, -1, 180, 181, 182, 183, 184, -1, 186,
187, -1, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, 200, 201, 202, -1, 204, 205, 206,
207, 208, 209, 210, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, -1, 223, -1, 225, 226,
227, 228, 229, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, -1, -1, 250, 251, 252, 253, 254, -1, 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, -1, 295, 296,
297, 298, 299, 300, 301, 302, 303, 304, 305, -1,
307, 308, 309, -1, -1, 312, 313, 314, -1, -1,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, 341, 342, 343, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, -1, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, -1,
377, 378, 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, -1, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, -1, 432, 433, 434, -1, 436,
437, 438, 439, 440, 441, 442, 443, -1, 445, 446,
447, -1, -1, 450, 451, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, -1, -1,
467, 468, 469, 470, 471, 472, -1, 474, 475, 476,
477, 478, 479, 480, -1, 482, 483, 484, 485, 486,
487, -1, -1, 490, -1, -1, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 526,
527, 3, -1, 5, 6, -1, 8, 9, 535, 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, -1, 155, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, -1, 168, 169, 170, 171,
172, -1, 174, -1, 176, 177, 178, -1, 180, 181,
182, 183, 184, -1, 186, 187, -1, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, -1, 204, 205, 206, 207, 208, 209, 210, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
-1, 223, -1, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, -1, -1, 250, 251,
252, 253, 254, -1, 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, -1, 295, 296, 297, 298, 299, 300, 301,
302, 303, 304, 305, -1, 307, 308, 309, -1, -1,
312, 313, 314, -1, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, -1, 377, 378, 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, -1, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
432, 433, 434, -1, 436, 437, 438, 439, 440, 441,
442, 443, -1, 445, 446, 447, -1, -1, 450, 451,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, -1, 467, 468, 469, 470, 471,
472, -1, 474, 475, 476, 477, 478, 479, 480, -1,
482, 483, 484, 485, 486, 487, -1, -1, 490, -1,
-1, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, -1, -1, -1, -1, 3, -1, 5, 6, -1,
8, 9, -1, 11, 12, -1, -1, -1, -1, -1,
-1, -1, -1, 535, 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, -1, 155, 156, 157,
158, 159, 160, 161, 162, 163, 164, 165, 166, -1,
168, 169, 170, 171, 172, -1, 174, -1, 176, 177,
178, -1, 180, 181, 182, 183, 184, -1, 186, 187,
-1, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, 214, 215, 216, 217,
218, 219, 220, 221, -1, 223, -1, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, 251, 252, 253, 254, -1, 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, -1, 295, 296, 297,
298, 299, 300, 301, 302, 303, 304, 305, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, 341, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, 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, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, -1, 432, 433, 434, -1, 436, 437,
438, 439, 440, 441, 442, 443, -1, 445, 446, 447,
-1, -1, 450, 451, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, -1, 467,
468, 469, 470, 471, 472, -1, 474, 475, 476, 477,
478, 479, 480, -1, 482, 483, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, -1, -1, -1, -1, 3,
-1, 5, 6, -1, 8, 9, -1, 11, 12, -1,
-1, -1, -1, -1, -1, -1, -1, 535, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 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,
-1, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
434, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, 472, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, -1,
-1, -1, -1, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 535, 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, -1, 155, 156, 157, 158, 159,
160, 161, 162, 163, 164, -1, 166, -1, 168, 169,
170, 171, 172, -1, 174, -1, 176, 177, 178, -1,
180, 181, 182, 183, 184, -1, 186, 187, -1, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, -1, 204, 205, 206, 207, 208, 209,
210, 211, -1, 213, 214, 215, 216, 217, 218, 219,
220, 221, -1, 223, -1, 225, 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, -1, 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, -1, 295, 296, 297, 298, -1,
300, 301, 302, 303, 304, 305, -1, 307, 308, 309,
-1, 311, 312, 313, 314, -1, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, 341, 342, 343, 344, -1, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, -1, 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, -1, 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, -1, 445, 446, 447, -1, -1,
450, 451, 452, 453, 454, -1, 456, 457, 458, 459,
460, 461, 462, 463, 464, -1, -1, 467, 468, 469,
470, 471, 472, -1, 474, 475, 476, 477, 478, 479,
480, -1, 482, 483, 484, 485, 486, 487, -1, -1,
490, -1, 492, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, -1, -1, -1, 516, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 535, 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, -1, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, -1,
166, -1, 168, 169, 170, 171, 172, -1, 174, -1,
176, 177, 178, -1, 180, 181, 182, 183, 184, -1,
186, 187, -1, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, -1, 204, 205,
206, 207, 208, 209, 210, 211, -1, 213, 214, 215,
216, 217, 218, 219, 220, 221, -1, 223, -1, 225,
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, -1,
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, -1, 295,
296, 297, 298, -1, 300, 301, 302, 303, 304, 305,
-1, 307, 308, 309, -1, 311, 312, 313, 314, -1,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, 341, 342, 343, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
-1, 377, 378, 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, -1, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, -1, 432, 433, 434, -1,
436, 437, 438, 439, 440, 441, 442, 443, -1, 445,
446, 447, -1, -1, 450, 451, 452, 453, 454, -1,
456, 457, 458, 459, 460, 461, 462, 463, 464, -1,
-1, 467, 468, 469, 470, 471, 472, -1, 474, 475,
476, 477, 478, 479, 480, -1, 482, 483, 484, 485,
486, 487, -1, -1, 490, -1, -1, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, -1, -1, -1,
-1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 535,
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, -1, 155, 156, 157, 158, 159, 160, 161,
162, 163, 164, -1, 166, -1, 168, 169, 170, 171,
172, -1, 174, -1, 176, 177, 178, -1, 180, 181,
182, 183, 184, -1, 186, 187, -1, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, -1, 204, 205, 206, 207, 208, 209, 210, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
-1, 223, -1, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, -1, -1, 250, 251,
252, 253, 254, -1, 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, -1, 295, 296, 297, 298, -1, 300, 301,
302, 303, 304, 305, -1, 307, 308, 309, -1, -1,
312, 313, 314, -1, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, -1, 377, 378, 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, -1, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
432, 433, 434, -1, 436, 437, 438, 439, 440, 441,
442, 443, -1, 445, 446, 447, -1, -1, 450, 451,
452, 453, 454, -1, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, -1, 467, 468, 469, 470, 471,
472, -1, 474, 475, 476, 477, 478, 479, 480, -1,
482, 483, 484, 485, 486, 487, -1, -1, 490, -1,
-1, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, -1, -1, -1, -1, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 535, 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, -1, 155, 156, 157,
158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
168, 169, 170, 171, 172, -1, 174, -1, 176, 177,
178, -1, 180, 181, 182, 183, 184, -1, 186, 187,
-1, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, 214, 215, 216, 217,
218, 219, 220, 221, -1, 223, -1, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, 251, 252, 253, 254, -1, 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, -1, 295, 296, 297,
298, -1, 300, 301, 302, 303, 304, 305, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, 341, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, 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, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, -1, 432, 433, 434, -1, 436, 437,
438, 439, 440, 441, 442, 443, -1, 445, 446, 447,
-1, -1, 450, 451, 452, 453, 454, -1, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, -1, 467,
468, 469, 470, 471, 472, -1, 474, 475, 476, 477,
478, 479, 480, -1, 482, 483, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, -1, -1, -1, -1, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 535, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
434, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, 472, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, -1,
-1, -1, -1, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 535, 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, -1, 155, 156, 157, 158, 159,
160, 161, 162, 163, 164, -1, 166, -1, 168, 169,
170, 171, 172, -1, 174, -1, 176, 177, 178, -1,
180, 181, 182, 183, 184, -1, 186, 187, -1, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, -1, 204, 205, 206, 207, 208, 209,
210, 211, -1, 213, 214, 215, 216, 217, 218, 219,
220, 221, -1, 223, -1, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, -1, -1,
250, 251, 252, 253, 254, -1, 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, -1, 295, 296, 297, 298, -1,
300, 301, 302, 303, 304, 305, -1, 307, 308, 309,
-1, -1, 312, 313, 314, -1, -1, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, 341, 342, 343, 344, -1, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, -1, 377, 378, 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, -1, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, -1, 432, 433, 434, -1, 436, 437, 438, 439,
440, 441, 442, 443, -1, 445, 446, 447, -1, -1,
450, 451, 452, 453, 454, -1, 456, 457, 458, 459,
460, 461, 462, 463, 464, -1, -1, 467, 468, 469,
470, 471, 472, -1, 474, 475, 476, 477, 478, 479,
480, -1, 482, 483, 484, 485, 486, 487, -1, -1,
490, -1, -1, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, -1, -1, -1, -1, 3, -1, 5,
6, -1, -1, -1, -1, 11, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 535, 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, -1, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, -1, 168, 169, 170, 171, 172, -1, 174, -1,
176, 177, 178, -1, 180, 181, 182, 183, 184, -1,
186, 187, -1, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, -1, 204, 205,
206, 207, 208, 209, 210, 211, -1, 213, 214, 215,
216, 217, 218, 219, 220, 221, -1, 223, -1, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, -1, -1, 250, 251, 252, 253, 254, -1,
256, 257, 258, -1, -1, 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, -1, 295,
296, 297, 298, -1, 300, 301, 302, 303, 304, 305,
-1, 307, 308, 309, 310, -1, 312, 313, 314, -1,
-1, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, 341, 342, 343, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
-1, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
-1, 397, 398, 399, 400, 401, -1, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, -1, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, -1, 432, 433, -1, -1,
436, 437, 438, 439, 440, 441, 442, 443, -1, 445,
446, 447, -1, -1, 450, 451, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, -1,
-1, 467, 468, 469, 470, 471, -1, -1, 474, 475,
476, 477, 478, 479, 480, -1, 482, 483, 484, 485,
486, 487, -1, -1, 490, -1, -1, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, -1, -1, -1,
-1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
526, 527, 528, -1, -1, -1, -1, -1, -1, 535,
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, -1, 155, 156, 157, 158, 159, 160, 161,
162, 163, 164, -1, 166, -1, 168, 169, 170, 171,
172, -1, 174, -1, 176, 177, 178, -1, 180, 181,
182, 183, 184, -1, 186, 187, -1, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, -1, 204, 205, 206, 207, 208, 209, 210, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
-1, 223, -1, 225, 226, 227, 228, 229, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, -1, -1, 250, 251,
252, 253, 254, -1, 256, 257, 258, -1, -1, 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, -1, 295, 296, 297, 298, -1, 300, 301,
302, 303, 304, 305, -1, 307, 308, 309, -1, -1,
312, 313, 314, -1, -1, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, -1, 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,
-1, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, -1, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
432, 433, -1, 435, 436, 437, 438, 439, 440, 441,
442, 443, -1, 445, 446, 447, -1, -1, 450, 451,
452, 453, 454, -1, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, -1, 467, 468, 469, 470, 471,
-1, -1, 474, 475, 476, 477, 478, 479, 480, -1,
482, 483, 484, 485, 486, 487, -1, -1, 490, -1,
492, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, 513, -1, -1, 516, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 535, 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, -1, 155, 156, 157,
158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
168, 169, 170, 171, 172, -1, 174, -1, 176, 177,
178, -1, 180, 181, 182, 183, 184, -1, 186, 187,
-1, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, 214, 215, 216, 217,
218, 219, 220, 221, -1, 223, -1, 225, 226, 227,
228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, 251, 252, 253, 254, -1, 256, 257,
258, -1, -1, 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, -1, 295, 296, 297,
298, -1, 300, 301, 302, 303, 304, 305, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, 341, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, -1, 397,
398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, -1, 432, 433, -1, -1, 436, 437,
438, 439, 440, 441, 442, 443, -1, 445, 446, 447,
-1, -1, 450, 451, 452, 453, 454, -1, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, -1, 467,
468, 469, 470, 471, -1, -1, 474, 475, 476, 477,
478, 479, 480, -1, 482, 483, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, -1, -1, -1, -1, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 535, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, 435, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, 492, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, -1,
-1, -1, 516, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 535, 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, -1, 155, 156, 157, 158, 159,
160, 161, 162, 163, 164, -1, 166, -1, 168, 169,
170, 171, 172, -1, 174, -1, 176, 177, -1, -1,
-1, 181, 182, 183, 184, -1, 186, 187, -1, 189,
190, 191, -1, 193, 194, 195, 196, 197, -1, 199,
200, 201, 202, -1, 204, 205, 206, 207, 208, 209,
210, 211, -1, 213, -1, 215, 216, 217, 218, 219,
220, 221, -1, 223, -1, 225, -1, -1, 228, -1,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, -1, -1,
250, 251, -1, 253, -1, -1, 256, 257, 258, -1,
-1, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, -1, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, -1, 295, 296, -1, 298, -1,
300, 301, 302, 303, 304, 305, -1, 307, 308, 309,
-1, 311, 312, 313, 314, -1, -1, 317, 318, 319,
-1, 321, -1, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, -1, 336, 337, 338, 339,
340, 341, 342, 343, 344, -1, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, -1, 377, 378, -1,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, -1, 397, 398, 399,
400, 401, -1, 403, 404, 405, 406, 407, -1, 409,
410, 411, 412, -1, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, 429,
430, -1, 432, 433, -1, 435, 436, -1, 438, 439,
440, 441, 442, 443, -1, 445, 446, 447, -1, -1,
450, 451, 452, 453, 454, -1, 456, 457, 458, 459,
460, 461, 462, 463, 464, -1, -1, 467, 468, 469,
470, 471, -1, -1, 474, 475, 476, 477, 478, 479,
480, -1, 482, -1, 484, 485, 486, 487, -1, -1,
490, -1, -1, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
510, 511, 512, -1, -1, -1, -1, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 535, 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, -1, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, -1,
166, -1, 168, 169, 170, 171, 172, -1, 174, -1,
176, 177, -1, -1, -1, 181, 182, 183, 184, -1,
186, 187, -1, 189, 190, 191, -1, 193, 194, 195,
196, 197, -1, 199, 200, 201, 202, -1, 204, 205,
206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
216, 217, 218, 219, 220, 221, -1, 223, -1, 225,
-1, -1, 228, -1, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, -1, -1, 250, 251, -1, 253, -1, -1,
256, 257, 258, -1, -1, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, -1, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, -1, 295,
296, -1, 298, -1, 300, 301, 302, 303, 304, 305,
-1, 307, 308, 309, -1, -1, 312, 313, 314, -1,
-1, 317, 318, 319, -1, 321, -1, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, 341, 342, 343, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
-1, 377, 378, -1, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
-1, 397, 398, 399, 400, 401, -1, 403, 404, 405,
406, 407, -1, 409, 410, 411, 412, -1, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, -1, 432, 433, -1, -1,
436, -1, 438, 439, 440, 441, 442, 443, -1, 445,
446, 447, -1, -1, 450, 451, 452, 453, 454, -1,
456, 457, 458, 459, 460, 461, 462, 463, 464, -1,
-1, 467, 468, 469, 470, 471, -1, -1, 474, 475,
476, 477, 478, 479, 480, -1, 482, -1, 484, 485,
486, 487, -1, -1, 490, -1, -1, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, -1, -1, -1,
-1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 535,
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, -1, 155, 156, 157, 158, 159, 160, 161,
162, 163, 164, -1, 166, -1, 168, 169, 170, 171,
172, -1, 174, -1, 176, 177, -1, -1, -1, 181,
182, 183, 184, -1, 186, 187, -1, 189, 190, 191,
-1, 193, 194, 195, 196, 197, -1, 199, 200, 201,
202, -1, 204, 205, 206, 207, 208, 209, 210, 211,
-1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
-1, 223, -1, 225, -1, -1, 228, -1, 230, 231,
232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, -1, -1, 250, 251,
-1, 253, -1, -1, 256, 257, 258, -1, -1, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, -1,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, -1, 295, 296, -1, 298, -1, 300, 301,
302, 303, 304, 305, -1, 307, 308, 309, -1, -1,
312, 313, 314, -1, -1, 317, 318, 319, -1, 321,
-1, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, -1, 336, 337, 338, 339, 340, 341,
342, 343, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, -1, 377, 378, -1, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, -1, 397, 398, 399, 400, 401,
-1, 403, 404, 405, 406, 407, -1, 409, 410, 411,
412, -1, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, -1,
432, 433, -1, -1, 436, -1, 438, 439, 440, 441,
442, 443, -1, 445, 446, 447, -1, -1, 450, 451,
452, 453, 454, -1, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, -1, 467, 468, 469, 470, 471,
-1, -1, 474, 475, 476, 477, 478, 479, 480, -1,
482, -1, 484, 485, 486, 487, -1, -1, 490, -1,
-1, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 508, 509, 510, 511,
512, -1, -1, -1, -1, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 535, 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, -1, 155, 156, 157,
158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
168, 169, 170, 171, 172, -1, 174, -1, 176, 177,
-1, -1, -1, 181, 182, 183, 184, -1, 186, 187,
-1, 189, 190, 191, -1, 193, 194, 195, 196, 197,
-1, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
218, 219, 220, 221, -1, 223, -1, 225, -1, -1,
228, -1, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, 251, -1, 253, -1, -1, 256, 257,
258, -1, -1, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, -1, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, -1, 295, 296, -1,
298, -1, 300, 301, 302, 303, 304, 305, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, 319, -1, 321, -1, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, 341, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, -1, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, -1, 397,
398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
-1, 409, 410, 411, 412, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, -1, 432, 433, -1, -1, 436, -1,
438, 439, 440, 441, 442, 443, -1, 445, 446, 447,
-1, -1, 450, 451, 452, 453, 454, -1, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, -1, 467,
468, 469, 470, 471, -1, -1, 474, 475, 476, 477,
478, 479, 480, -1, 482, -1, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, -1, -1, -1, -1, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 535, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, -1,
-1, -1, -1, 3, -1, -1, -1, -1, -1, -1,
10, -1, -1, 13, -1, -1, -1, 17, 18, 19,
-1, 535, 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, -1, 155, 156, 157, 158, 159,
160, 161, 162, 163, 164, 165, 166, -1, -1, 169,
170, 171, 172, -1, 174, 175, 176, 177, 178, -1,
180, 181, 182, 183, 184, -1, 186, 187, -1, 189,
190, 191, -1, 193, 194, -1, 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, -1, 223, -1, 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, -1, 256, 257, 258, 259,
260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, 271, 272, -1, 274, 275, -1, 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, -1, 307, 308, 309,
-1, 311, 312, 313, 314, 315, -1, 317, 318, 319,
320, -1, -1, 323, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, -1, 342, 343, 344, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, -1, 377, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, 393, -1, 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, -1, 449,
450, 451, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, -1, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 478, 479,
480, 481, -1, 483, 484, 485, 486, 487, 488, -1,
490, -1, -1, -1, -1, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
-1, 511, 512, -1, 514, -1, -1, -1, -1, -1,
-1, -1, -1, 523, 524, 525, 526, 527, 528, 529,
530, 531, 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, -1, 160,
161, 162, 163, -1, 165, 166, 167, 168, 169, 170,
171, 172, 173, 174, 175, 176, 177, 178, 179, 180,
181, 182, 183, 184, 185, 186, -1, 188, -1, 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, -1, 216, 217, 218, 219, 220,
221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
-1, 252, 253, 254, 255, 256, 257, 258, 259, 260,
261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
-1, 272, 273, 274, 275, 276, 277, 278, 279, 280,
281, 282, 283, 284, 285, 286, 287, 288, 289, 290,
291, -1, 293, 294, 295, 296, 297, 298, 299, -1,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 316, 317, 318, -1, 320,
321, 322, -1, 324, 325, 326, 327, 328, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, -1, 340,
-1, 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, -1, 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, -1, 430,
431, 432, 433, 434, 435, 436, 437, 438, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, -1, 453, -1, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 478, -1, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
491, 492, 493, 494, 495, 496, 497, 498, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 510,
511, 512, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 523, 524, 525, 526, 527, 528, 529, 530,
531, 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, -1, 160, 161,
162, 163, -1, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, 176, 177, 178, 179, 180, 181,
182, 183, 184, 185, 186, -1, 188, -1, 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, -1, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, 226, 227, 228, 229, 230, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, -1,
252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, -1,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, 293, 294, 295, 296, 297, 298, 299, -1, 301,
302, 303, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, 317, 318, -1, 320, 321,
322, -1, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, -1, 340, -1,
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, -1, 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, -1, 430, 431,
432, 433, 434, 435, 436, 437, 438, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
-1, 453, -1, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 478, -1, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 490, 491,
492, 493, 494, 495, 496, 497, 498, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 510, 511,
512, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 523, 524, 525, 526, 527, 528, 529, 530, 531,
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, -1, 155, 156, 157, 158, 159, 160, 161, 162,
163, 164, -1, 166, -1, 168, 169, 170, 171, 172,
-1, 174, -1, 176, 177, -1, -1, -1, 181, 182,
183, 184, -1, 186, 187, -1, 189, 190, 191, -1,
193, 194, 195, 196, 197, -1, 199, 200, 201, 202,
-1, 204, 205, 206, 207, 208, 209, 210, 211, -1,
213, -1, 215, 216, 217, 218, 219, 220, 221, -1,
223, -1, 225, -1, -1, 228, -1, 230, 231, 232,
233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, -1, -1, 250, 251, -1,
253, -1, -1, 256, 257, 258, -1, -1, 261, 262,
263, 264, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, -1, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, -1, 295, 296, -1, 298, -1, 300, 301, 302,
303, 304, 305, -1, 307, 308, 309, -1, -1, 312,
313, 314, -1, -1, 317, 318, 319, -1, 321, -1,
323, 324, 325, 326, 327, 328, 329, 330, 331, 332,
333, 334, -1, 336, 337, 338, 339, 340, 341, 342,
343, 344, -1, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 360, 361, -1,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, -1, 377, 378, -1, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
393, 394, 395, -1, 397, 398, 399, 400, 401, -1,
403, 404, 405, 406, 407, -1, 409, 410, 411, 412,
-1, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, 424, 425, 426, 427, 428, 429, 430, -1, 432,
433, -1, -1, 436, -1, 438, 439, 440, 441, 442,
443, -1, 445, 446, 447, -1, -1, 450, 451, 452,
453, 454, -1, 456, 457, 458, 459, 460, 461, 462,
463, 464, -1, -1, 467, 468, 469, 470, 471, -1,
-1, 474, 475, 476, 477, 478, 479, 480, -1, 482,
-1, 484, 485, 486, 487, -1, -1, 490, -1, -1,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 508, 509, 510, 511, 512,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
523, 524, 525, 526, 527, 528, 529, 530, 531, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 523,
524, 525, 526, 527, 528, 529, 530, 531, 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, -1,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
-1, 166, -1, 168, 169, 170, 171, 172, -1, 174,
-1, 176, 177, -1, -1, -1, 181, 182, 183, 184,
-1, 186, 187, -1, 189, 190, 191, -1, 193, 194,
195, 196, 197, -1, 199, 200, 201, 202, -1, 204,
205, 206, 207, 208, 209, 210, 211, -1, 213, -1,
215, 216, 217, 218, 219, 220, 221, -1, 223, -1,
225, -1, -1, 228, -1, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, -1, -1, 250, 251, -1, 253, -1,
-1, 256, 257, 258, -1, -1, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, -1, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, -1,
295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
305, -1, 307, 308, 309, -1, -1, 312, 313, 314,
-1, -1, 317, 318, 319, -1, 321, -1, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, -1, 377, 378, -1, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, -1, 403, 404,
405, 406, 407, -1, 409, 410, 411, 412, -1, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, -1, 432, 433, -1,
-1, 436, -1, 438, 439, 440, 441, 442, 443, -1,
445, 446, 447, -1, -1, 450, 451, 452, 453, 454,
-1, 456, 457, 458, 459, 460, 461, 462, 463, 464,
-1, -1, 467, 468, 469, 470, 471, -1, -1, 474,
475, 476, 477, 478, 479, 480, -1, 482, -1, 484,
485, 486, 487, -1, -1, 490, -1, -1, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 523, 524,
525, 526, 527, 528, 529, 530, 531, 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, -1, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, -1,
166, -1, 168, 169, 170, 171, 172, -1, 174, -1,
176, 177, -1, -1, -1, 181, 182, 183, 184, -1,
186, 187, -1, 189, 190, 191, -1, 193, 194, 195,
196, 197, -1, 199, 200, 201, 202, -1, 204, 205,
206, 207, 208, 209, 210, 211, -1, 213, -1, 215,
216, 217, 218, 219, 220, 221, -1, 223, -1, 225,
-1, -1, 228, -1, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, -1, -1, 250, 251, -1, 253, -1, -1,
256, 257, 258, -1, -1, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, -1, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, -1, 295,
296, -1, 298, -1, 300, 301, 302, 303, 304, 305,
-1, 307, 308, 309, -1, -1, 312, 313, 314, -1,
-1, 317, 318, 319, -1, 321, -1, 323, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
336, 337, 338, 339, 340, 341, 342, 343, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
-1, 377, 378, -1, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
-1, 397, 398, 399, 400, 401, -1, 403, 404, 405,
406, 407, -1, 409, 410, 411, 412, -1, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, 429, 430, -1, 432, 433, -1, -1,
436, -1, 438, 439, 440, 441, 442, 443, -1, 445,
446, 447, -1, -1, 450, 451, 452, 453, 454, -1,
456, 457, 458, 459, 460, 461, 462, 463, 464, -1,
-1, 467, 468, 469, 470, 471, -1, -1, 474, 475,
476, 477, 478, 479, 480, -1, 482, -1, 484, 485,
486, 487, -1, -1, 490, -1, -1, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 508, 509, 510, 511, 512, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 523, 524, 525,
526, 527, 528, 529, 530, 531, 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, -1, 155, 156,
157, 158, 159, 160, 161, 162, 163, 164, -1, 166,
-1, 168, 169, 170, 171, 172, -1, 174, -1, 176,
177, -1, -1, -1, 181, 182, 183, 184, -1, 186,
187, -1, 189, 190, 191, -1, 193, 194, 195, 196,
197, -1, 199, 200, 201, 202, -1, 204, 205, 206,
207, 208, 209, 210, 211, -1, 213, -1, 215, 216,
217, 218, 219, 220, 221, -1, 223, -1, 225, -1,
-1, 228, -1, 230, 231, 232, 233, 234, 235, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, -1, -1, 250, 251, -1, 253, -1, -1, 256,
257, 258, -1, -1, 261, 262, 263, 264, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, -1, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, -1, 295, 296,
-1, 298, -1, 300, 301, 302, 303, 304, 305, -1,
307, 308, 309, -1, -1, 312, 313, 314, -1, -1,
317, 318, 319, -1, 321, -1, 323, 324, 325, 326,
327, 328, 329, 330, 331, 332, 333, 334, -1, 336,
337, 338, 339, 340, 341, 342, 343, 344, -1, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, -1, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, -1,
377, 378, -1, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, 393, 394, 395, -1,
397, 398, 399, 400, 401, -1, 403, 404, 405, 406,
407, -1, 409, 410, 411, 412, -1, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, -1, 432, 433, -1, -1, 436,
-1, 438, 439, 440, 441, 442, 443, -1, 445, 446,
447, -1, -1, 450, 451, 452, 453, 454, -1, 456,
457, 458, 459, 460, 461, 462, 463, 464, -1, -1,
467, 468, 469, 470, 471, -1, -1, 474, 475, 476,
477, 478, 479, 480, -1, 482, -1, 484, 485, 486,
487, -1, -1, 490, -1, -1, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 508, 509, 510, 511, 512, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 523, 524, 525, 526,
527, 528, 529, 530, 531, 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, -1, 155, 156, 157,
158, 159, 160, 161, 162, 163, 164, -1, 166, -1,
168, 169, 170, 171, 172, -1, 174, -1, 176, 177,
-1, -1, -1, 181, 182, 183, 184, -1, 186, 187,
-1, 189, 190, 191, -1, 193, 194, 195, 196, 197,
-1, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, -1, 215, 216, 217,
218, 219, 220, 221, -1, 223, -1, 225, -1, -1,
228, -1, 230, 231, 232, 233, 234, 235, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, 251, -1, 253, -1, -1, 256, 257,
258, -1, -1, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
278, 279, 280, -1, 282, 283, 284, 285, 286, 287,
288, 289, 290, 291, 292, 293, -1, 295, 296, -1,
298, -1, 300, 301, 302, 303, 304, 305, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, 319, -1, 321, -1, 323, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, 339, 340, 341, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, -1, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, -1, 397,
398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
-1, 409, 410, 411, 412, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, 429, 430, -1, 432, 433, -1, -1, 436, -1,
438, 439, 440, 441, 442, 443, -1, 445, 446, 447,
-1, -1, 450, 451, 452, 453, 454, -1, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, -1, 467,
468, 469, 470, 471, -1, -1, 474, 475, 476, 477,
478, 479, 480, -1, 482, -1, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
508, 509, 510, 511, 512, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 523, 524, 525, 526, 527,
528, 529, 530, 531, 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, -1, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, -1, 166, -1, 168,
169, 170, 171, 172, -1, 174, -1, 176, 177, -1,
-1, -1, 181, 182, 183, 184, -1, 186, 187, -1,
189, 190, 191, -1, 193, 194, 195, 196, 197, -1,
199, 200, 201, 202, -1, 204, 205, 206, 207, 208,
209, 210, 211, -1, 213, -1, 215, 216, 217, 218,
219, 220, 221, -1, 223, -1, 225, -1, -1, 228,
-1, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
-1, 250, 251, -1, 253, -1, -1, 256, 257, 258,
-1, -1, 261, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, -1, 295, 296, -1, 298,
-1, 300, 301, 302, 303, 304, 305, -1, 307, 308,
309, -1, -1, 312, 313, 314, -1, -1, 317, 318,
319, -1, 321, -1, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, 341, 342, 343, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, -1, 377, 378,
-1, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, -1,
409, 410, 411, 412, -1, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, -1, 432, 433, -1, -1, 436, -1, 438,
439, 440, 441, 442, 443, -1, 445, 446, 447, -1,
-1, 450, 451, 452, 453, 454, -1, 456, 457, 458,
459, 460, 461, 462, 463, 464, -1, -1, 467, 468,
469, 470, 471, -1, -1, 474, 475, 476, 477, 478,
479, 480, -1, 482, -1, 484, 485, 486, 487, -1,
-1, 490, -1, -1, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 523, 524, 525, 526, 527, 528,
529, 530, 531, 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, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 528,
-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, -1, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, -1, 166, -1, 168,
169, 170, 171, 172, -1, 174, -1, 176, 177, -1,
-1, -1, 181, 182, 183, 184, -1, 186, 187, -1,
189, 190, 191, -1, 193, 194, 195, 196, 197, -1,
199, 200, 201, 202, -1, 204, 205, 206, 207, 208,
209, 210, 211, -1, 213, -1, 215, 216, 217, 218,
219, 220, 221, -1, 223, -1, 225, -1, -1, 228,
-1, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
-1, 250, 251, -1, 253, -1, -1, 256, 257, 258,
-1, -1, 261, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, -1, 295, 296, -1, 298,
-1, 300, 301, 302, 303, 304, 305, -1, 307, 308,
309, -1, -1, 312, 313, 314, -1, -1, 317, 318,
319, -1, 321, -1, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, 341, 342, 343, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, -1, 377, 378,
-1, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, -1,
409, 410, 411, 412, -1, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, -1, 432, 433, -1, -1, 436, -1, 438,
439, 440, 441, 442, 443, -1, 445, 446, 447, -1,
-1, 450, 451, 452, 453, 454, -1, 456, 457, 458,
459, 460, 461, 462, 463, 464, -1, -1, 467, 468,
469, 470, 471, -1, -1, 474, 475, 476, 477, 478,
479, 480, -1, 482, -1, 484, 485, 486, 487, -1,
-1, 490, -1, -1, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 528,
-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, -1, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, -1, 166, -1, 168,
169, 170, 171, 172, -1, 174, -1, 176, 177, -1,
-1, -1, 181, 182, 183, 184, -1, 186, 187, -1,
189, 190, 191, -1, 193, 194, 195, 196, 197, -1,
199, 200, 201, 202, -1, 204, 205, 206, 207, 208,
209, 210, 211, -1, 213, -1, 215, 216, 217, 218,
219, 220, 221, -1, 223, -1, 225, -1, -1, 228,
-1, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
-1, 250, 251, -1, 253, -1, -1, 256, 257, 258,
-1, -1, 261, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, -1, 295, 296, -1, 298,
-1, 300, 301, 302, 303, 304, 305, -1, 307, 308,
309, -1, -1, 312, 313, 314, -1, -1, 317, 318,
319, -1, 321, -1, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, 341, 342, 343, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, -1, 377, 378,
-1, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, -1,
409, 410, 411, 412, -1, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, -1, 432, 433, -1, -1, 436, -1, 438,
439, 440, 441, 442, 443, -1, 445, 446, 447, -1,
-1, 450, 451, 452, 453, 454, -1, 456, 457, 458,
459, 460, 461, 462, 463, 464, -1, -1, 467, 468,
469, 470, 471, -1, -1, 474, 475, 476, 477, 478,
479, 480, -1, 482, -1, 484, 485, 486, 487, -1,
-1, 490, -1, -1, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 528,
-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, -1, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, -1, 166, -1, 168,
169, 170, 171, 172, -1, 174, -1, 176, 177, -1,
-1, -1, 181, 182, 183, 184, -1, 186, 187, -1,
189, 190, 191, -1, 193, 194, 195, 196, 197, -1,
199, 200, 201, 202, -1, 204, 205, 206, 207, 208,
209, 210, 211, -1, 213, -1, 215, 216, 217, 218,
219, 220, 221, -1, 223, -1, 225, -1, -1, 228,
-1, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
-1, 250, 251, -1, 253, -1, -1, 256, 257, 258,
-1, -1, 261, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, -1, 295, 296, -1, 298,
-1, 300, 301, 302, 303, 304, 305, -1, 307, 308,
309, -1, -1, 312, 313, 314, -1, -1, 317, 318,
319, -1, 321, -1, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, 341, 342, 343, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, -1, 377, 378,
-1, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, -1,
409, 410, 411, 412, -1, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, -1, 432, 433, -1, -1, 436, -1, 438,
439, 440, 441, 442, 443, -1, 445, 446, 447, -1,
-1, 450, 451, 452, 453, 454, -1, 456, 457, 458,
459, 460, 461, 462, 463, 464, -1, -1, 467, 468,
469, 470, 471, -1, -1, 474, 475, 476, 477, 478,
479, 480, -1, 482, -1, 484, 485, 486, 487, -1,
-1, 490, -1, -1, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 528,
-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, -1, 155, 156, 157, 158,
159, 160, 161, 162, 163, 164, -1, 166, -1, 168,
169, 170, 171, 172, -1, 174, -1, 176, 177, -1,
-1, -1, 181, 182, 183, 184, -1, 186, 187, -1,
189, 190, 191, -1, 193, 194, 195, 196, 197, -1,
199, 200, 201, 202, -1, 204, 205, 206, 207, 208,
209, 210, 211, -1, 213, -1, 215, 216, 217, 218,
219, 220, 221, -1, 223, -1, 225, -1, -1, 228,
-1, 230, 231, 232, 233, 234, 235, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
-1, 250, 251, -1, 253, -1, -1, 256, 257, 258,
-1, -1, 261, 262, 263, 264, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, -1, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, -1, 295, 296, -1, 298,
-1, 300, 301, 302, 303, 304, 305, -1, 307, 308,
309, -1, -1, 312, 313, 314, -1, -1, 317, 318,
319, -1, 321, -1, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, -1, 336, 337, 338,
339, 340, 341, 342, 343, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, -1, 377, 378,
-1, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, -1,
409, 410, 411, 412, -1, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, -1, 432, 433, -1, -1, 436, -1, 438,
439, 440, 441, 442, 443, -1, 445, 446, 447, -1,
-1, 450, 451, 452, 453, 454, -1, 456, 457, 458,
459, 460, 461, 462, 463, 464, -1, -1, 467, 468,
469, 470, 471, -1, -1, 474, 475, 476, 477, 478,
479, 480, -1, 482, -1, 484, 485, 486, 487, -1,
-1, 490, -1, -1, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 508,
509, 510, 511, 512, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 528,
-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, -1, 155, 156, 157, 158,
-1, 160, 161, 162, 163, -1, -1, 166, -1, 168,
169, 170, 171, 172, -1, 174, -1, 176, 177, 178,
-1, 180, 181, 182, 183, 184, -1, 186, -1, -1,
-1, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, 210, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, -1, 223, -1, 225, 226, 227, 228,
229, 230, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 241, 242, 243, 244, 245, 246, 247, -1,
-1, 250, -1, 252, 253, 254, -1, 256, 257, 258,
-1, -1, 261, 262, 263, 264, 265, 266, 267, 268,
269, 270, -1, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, -1, -1, 293, -1, 295, 296, 297, 298,
-1, -1, 301, 302, 303, 304, 305, -1, 307, 308,
309, -1, -1, 312, 313, 314, -1, 316, 317, 318,
319, 320, 321, 322, -1, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, -1, 336, 337, 338,
-1, 340, -1, 342, 343, 344, -1, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, -1, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, -1, 377, 378,
379, 380, 381, 382, 383, 384, -1, 386, 387, 388,
389, 390, 391, 392, 393, 394, 395, -1, 397, 398,
399, 400, 401, -1, 403, 404, 405, 406, 407, 408,
409, 410, 411, 412, -1, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
-1, 430, -1, 432, 433, -1, -1, 436, 437, 438,
439, 440, 441, 442, 443, -1, 445, 446, 447, -1,
-1, 450, 451, -1, 453, -1, -1, 456, 457, 458,
459, 460, 461, 462, 463, 464, -1, -1, 467, 468,
469, 470, 471, -1, -1, 474, 475, 476, 477, 478,
-1, 480, 481, 482, 483, 484, 485, 486, 487, -1,
-1, 490, -1, -1, 493, 494, 495, 496, 497, 498,
-1, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 510, 511, 512, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, 528,
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, -1, 155, 156, 157, 158, -1, 160, 161,
162, 163, -1, -1, 166, -1, 168, 169, 170, 171,
172, -1, 174, -1, 176, 177, 178, -1, 180, 181,
182, 183, 184, -1, 186, -1, -1, -1, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
-1, 223, -1, 225, 226, 227, 228, 229, 230, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 241,
242, 243, 244, 245, 246, 247, -1, -1, 250, -1,
252, 253, 254, -1, 256, 257, 258, -1, -1, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, -1,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, -1,
-1, 293, -1, 295, 296, 297, 298, -1, -1, 301,
302, 303, 304, 305, -1, 307, 308, 309, -1, -1,
312, 313, 314, -1, 316, 317, 318, 319, 320, 321,
322, -1, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, -1, 336, 337, 338, -1, 340, -1,
342, 343, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, -1, 377, 378, 379, 380, 381,
382, 383, 384, -1, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, -1, 397, 398, 399, 400, 401,
-1, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, -1, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, -1, 430, -1,
432, 433, -1, -1, 436, 437, 438, 439, 440, 441,
442, 443, -1, 445, 446, 447, -1, -1, 450, 451,
-1, 453, -1, -1, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, -1, 467, 468, 469, 470, 471,
-1, -1, 474, 475, 476, 477, 478, -1, 480, 481,
482, 483, 484, 485, 486, 487, -1, -1, 490, -1,
-1, 493, 494, 495, 496, 497, 498, -1, 3, -1,
5, 6, -1, -1, -1, -1, 11, 12, 510, 511,
512, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, 30, 528, 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, -1,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, -1, 168, 169, 170, 171, 172, -1, 174,
-1, 176, 177, 178, -1, 180, 181, 182, 183, 184,
-1, 186, 187, -1, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, -1, 204,
205, 206, 207, 208, 209, 210, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, -1, 223, -1,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, -1, -1, 250, 251, 252, 253, 254,
-1, 256, 257, 258, -1, -1, 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, -1,
295, 296, 297, 298, -1, 300, 301, 302, 303, 304,
305, -1, 307, 308, 309, 310, -1, 312, 313, 314,
-1, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, -1, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, -1, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, -1, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, -1, 432, 433, -1,
-1, 436, 437, 438, 439, 440, 441, 442, 443, -1,
445, 446, 447, -1, -1, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
-1, -1, 467, 468, 469, 470, 471, -1, -1, 474,
475, 476, 477, 478, 479, 480, -1, 482, 483, 484,
485, 486, 487, -1, -1, 490, -1, -1, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 3, -1,
5, 6, -1, -1, -1, -1, 11, 12, -1, -1,
-1, 526, 527, -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, -1,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, -1, 168, 169, 170, 171, 172, -1, 174,
-1, 176, 177, 178, -1, 180, 181, 182, 183, 184,
-1, 186, 187, -1, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, -1, 204,
205, 206, 207, 208, 209, 210, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, -1, 223, -1,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, -1, -1, 250, 251, 252, 253, 254,
-1, 256, 257, 258, -1, -1, 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, -1,
295, 296, 297, 298, -1, 300, 301, 302, 303, 304,
305, -1, 307, 308, 309, 310, -1, 312, 313, 314,
-1, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, -1, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, -1, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, -1, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, -1, 432, 433, -1,
-1, 436, 437, 438, 439, 440, 441, 442, 443, -1,
445, 446, 447, -1, -1, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
-1, -1, 467, 468, 469, 470, 471, -1, -1, 474,
475, 476, 477, 478, 479, 480, -1, 482, 483, 484,
485, 486, 487, -1, -1, 490, -1, -1, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 3, -1,
5, 6, -1, -1, -1, -1, 11, -1, -1, -1,
-1, 526, 527, -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, -1,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, -1, 168, 169, 170, 171, 172, -1, 174,
-1, 176, 177, 178, -1, 180, 181, 182, 183, 184,
-1, 186, 187, -1, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, -1, 204,
205, 206, 207, 208, 209, 210, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, -1, 223, -1,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, -1, -1, 250, 251, 252, 253, 254,
-1, 256, 257, 258, -1, -1, 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, -1,
295, 296, 297, 298, -1, 300, 301, 302, 303, 304,
305, -1, 307, 308, 309, 310, -1, 312, 313, 314,
-1, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, -1, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, -1, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, -1, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, -1, 432, 433, -1,
-1, 436, 437, 438, 439, 440, 441, 442, 443, -1,
445, 446, 447, -1, -1, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
-1, -1, 467, 468, 469, 470, 471, -1, -1, 474,
475, 476, 477, 478, 479, 480, -1, 482, 483, 484,
485, 486, 487, -1, -1, 490, -1, -1, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 3, -1,
5, 6, -1, -1, -1, -1, 11, 12, -1, -1,
-1, 526, 527, -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, -1,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, -1, 168, 169, 170, 171, 172, -1, 174,
-1, 176, 177, 178, -1, 180, 181, 182, 183, 184,
-1, 186, 187, -1, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, -1, 204,
205, 206, 207, 208, 209, 210, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, -1, 223, -1,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, -1, -1, 250, 251, 252, 253, 254,
-1, 256, 257, 258, -1, -1, 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, -1,
295, 296, 297, 298, -1, 300, 301, 302, 303, 304,
305, -1, 307, 308, 309, 310, -1, 312, 313, 314,
-1, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, -1, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, -1, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, -1, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, -1, 432, 433, -1,
-1, 436, 437, 438, 439, 440, 441, 442, 443, -1,
445, 446, 447, -1, -1, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
-1, -1, 467, 468, 469, 470, 471, -1, -1, 474,
475, 476, 477, 478, 479, 480, -1, 482, 483, 484,
485, 486, 487, -1, -1, 490, -1, -1, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 3, -1,
5, 6, -1, -1, -1, -1, 11, -1, -1, -1,
-1, 526, 527, -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, -1,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, -1, 168, 169, 170, 171, 172, -1, 174,
-1, 176, 177, 178, -1, 180, 181, 182, 183, 184,
-1, 186, 187, -1, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, -1, 204,
205, 206, 207, 208, 209, 210, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, -1, 223, -1,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, -1, -1, 250, 251, 252, 253, 254,
-1, 256, 257, 258, -1, -1, 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, -1,
295, 296, 297, 298, -1, 300, 301, 302, 303, 304,
305, -1, 307, 308, 309, 310, -1, 312, 313, 314,
-1, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, -1, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, -1, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, -1, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, -1, 432, 433, -1,
-1, 436, 437, 438, 439, 440, 441, 442, 443, -1,
445, 446, 447, -1, -1, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
-1, -1, 467, 468, 469, 470, 471, -1, -1, 474,
475, 476, 477, 478, 479, 480, -1, 482, 483, 484,
485, 486, 487, -1, -1, 490, -1, -1, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 3, -1,
-1, -1, -1, -1, -1, -1, 11, -1, -1, -1,
-1, 526, 527, -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, -1,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
-1, 166, -1, 168, 169, 170, 171, 172, -1, 174,
-1, 176, 177, -1, 179, -1, 181, 182, 183, 184,
-1, 186, 187, -1, 189, 190, 191, -1, 193, 194,
195, 196, 197, -1, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, 211, -1, 213, -1,
215, 216, 217, 218, 219, 220, 221, -1, 223, -1,
225, -1, -1, 228, -1, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, -1, -1, 250, 251, -1, 253, -1,
-1, 256, 257, 258, -1, -1, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, -1, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, -1,
295, 296, -1, 298, -1, 300, 301, 302, 303, 304,
305, -1, 307, 308, 309, -1, -1, 312, 313, 314,
-1, -1, 317, 318, 319, -1, 321, -1, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, -1, 377, 378, -1, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, -1, 403, 404,
405, 406, 407, -1, 409, 410, 411, 412, -1, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, -1, 432, 433, -1,
-1, 436, -1, 438, 439, 440, 441, 442, 443, -1,
445, 446, 447, -1, -1, 450, 451, 452, 453, 454,
-1, 456, 457, 458, 459, 460, 461, 462, 463, 464,
-1, -1, 467, 468, 469, 470, 471, -1, -1, 474,
475, 476, 477, 478, 479, 480, -1, 482, -1, 484,
485, 486, 487, -1, -1, 490, -1, -1, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 526, 527, -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, -1,
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
-1, 166, -1, 168, 169, 170, 171, 172, -1, 174,
-1, 176, 177, 178, -1, 180, 181, 182, 183, 184,
-1, 186, 187, -1, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, -1, 204,
205, 206, 207, 208, 209, 210, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, -1, 223, -1,
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, -1, -1, 250, 251, 252, 253, 254,
-1, 256, 257, 258, -1, -1, 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, -1,
295, 296, 297, 298, -1, 300, 301, 302, 303, 304,
305, -1, 307, 308, 309, -1, -1, 312, 313, 314,
-1, -1, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
-1, 336, 337, 338, 339, 340, 341, 342, 343, 344,
-1, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, -1, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, -1, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, -1, 397, 398, 399, 400, 401, -1, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, -1, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, -1, 432, 433, -1,
-1, 436, 437, 438, 439, 440, 441, 442, 443, -1,
445, 446, 447, -1, -1, 450, 451, 452, 453, 454,
-1, 456, 457, 458, 459, 460, 461, 462, 463, 464,
-1, -1, 467, 468, 469, 470, 471, -1, -1, 474,
475, 476, 477, 478, 479, 480, -1, 482, 483, 484,
485, 486, 487, -1, -1, 490, -1, -1, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 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, 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, 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, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
434, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, 472, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, 472, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, 165, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, 310, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 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, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, 252, 253,
254, -1, 256, 257, 258, -1, -1, 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,
-1, 295, 296, 297, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, 175, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 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, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, 466, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, 175, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
254, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 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, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, 466, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, 185, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 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, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, 185, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 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, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, 175, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 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, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, 466, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 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, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, 311, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, 435, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, 175, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, 435, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 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, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, 396, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, 311, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, 435, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, 311, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, 472, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, 472, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, 311, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, 311, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, 435, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, -1,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, 190, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, 159, 160, 161, 162, 163,
164, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, -1, -1, -1, 181, 182, 183,
184, -1, 186, 187, -1, 189, -1, 191, -1, 193,
194, 195, 196, 197, -1, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
-1, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, -1, -1, 228, -1, 230, 231, 232, 233,
234, 235, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, 251, -1, 253,
-1, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, 277, 278, 279, 280, -1, 282, 283,
284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
-1, 295, 296, -1, 298, -1, 300, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, -1, 321, -1, 323,
324, 325, 326, 327, 328, 329, 330, -1, 332, 333,
334, -1, 336, 337, 338, 339, 340, 341, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, -1, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, -1, 380, 381, 382, 383,
384, 385, -1, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, -1, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, 429, 430, -1, 432, 433,
-1, -1, 436, -1, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, 452, 453,
454, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, 479, 480, -1, 482, -1,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 508, 509, 510, 511, 512, 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,
-1, 155, 156, 157, 158, -1, 160, 161, 162, 163,
-1, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, -1, -1, -1, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, 203,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, -1, 252, 253,
254, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, -1, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, -1, -1, 293,
-1, 295, 296, 297, 298, -1, -1, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, 319, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, -1, 340, -1, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, -1, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, -1, 453,
-1, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, -1, 480, 481, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 510, 511, 512, -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, -1, 155, 156, 157,
158, -1, 160, 161, 162, 163, -1, -1, 166, -1,
168, 169, 170, 171, 172, -1, 174, -1, 176, 177,
178, -1, 180, 181, 182, 183, 184, -1, 186, -1,
-1, -1, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, 214, -1, 216, 217,
218, 219, 220, 221, -1, 223, -1, 225, 226, 227,
228, 229, 230, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, -1, 252, 253, 254, -1, 256, 257,
258, -1, -1, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, -1, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, -1, -1, 293, -1, 295, 296, 297,
298, 299, -1, 301, 302, 303, 304, 305, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, -1, 320, 321, 322, -1, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, -1, 340, -1, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, 379, 380, 381, 382, 383, 384, -1, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, -1, 397,
398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, -1, 430, -1, 432, 433, -1, 435, 436, 437,
438, 439, 440, 441, 442, 443, -1, 445, 446, 447,
-1, -1, 450, 451, -1, 453, -1, -1, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, -1, 467,
468, 469, 470, 471, -1, -1, 474, 475, 476, 477,
478, -1, 480, -1, 482, 483, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 510, 511, 512, -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, -1, 155, 156, 157, 158, -1, 160, 161,
162, 163, -1, -1, 166, -1, 168, 169, 170, 171,
172, -1, 174, -1, 176, 177, 178, -1, 180, 181,
182, 183, 184, -1, 186, -1, -1, -1, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, -1, 204, 205, 206, 207, 208, 209, 210, 211,
-1, 213, 214, -1, 216, 217, 218, 219, 220, 221,
-1, 223, -1, 225, 226, 227, 228, 229, 230, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 241,
242, 243, 244, 245, 246, 247, -1, -1, 250, -1,
252, 253, 254, -1, 256, 257, 258, -1, -1, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, -1,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
-1, 293, -1, 295, 296, 297, 298, -1, -1, 301,
302, 303, 304, 305, -1, 307, 308, 309, -1, -1,
312, 313, 314, -1, -1, 317, 318, -1, 320, 321,
322, -1, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, -1, 336, 337, 338, -1, 340, -1,
342, 343, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, -1, 377, 378, 379, 380, 381,
382, 383, 384, -1, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, -1, 397, 398, 399, 400, 401,
-1, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, -1, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, -1, 430, -1,
432, 433, -1, -1, 436, 437, 438, 439, 440, 441,
442, 443, -1, 445, 446, 447, -1, -1, 450, 451,
-1, 453, -1, -1, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, -1, 467, 468, 469, 470, 471,
-1, -1, 474, 475, 476, 477, 478, -1, 480, -1,
482, 483, 484, 485, 486, 487, -1, -1, 490, -1,
-1, 493, 494, 495, 496, 497, 498, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 510, 511,
512, -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, -1, 155,
156, 157, 158, -1, 160, 161, 162, 163, -1, -1,
166, -1, 168, 169, 170, 171, 172, -1, 174, -1,
176, 177, 178, -1, 180, 181, 182, 183, 184, -1,
186, -1, -1, -1, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, -1, 204, 205,
206, 207, 208, 209, 210, 211, -1, 213, 214, -1,
216, 217, 218, 219, 220, 221, -1, 223, -1, 225,
226, 227, 228, 229, 230, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 241, 242, 243, 244, 245,
246, 247, -1, -1, 250, -1, 252, 253, 254, -1,
256, 257, 258, -1, -1, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, -1, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, -1, 293, -1, 295,
296, 297, 298, -1, -1, 301, 302, 303, 304, 305,
-1, 307, 308, 309, -1, -1, 312, 313, 314, -1,
-1, 317, 318, -1, 320, 321, 322, -1, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
336, 337, 338, -1, 340, -1, 342, 343, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
-1, 377, 378, 379, 380, 381, 382, 383, 384, -1,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
-1, 397, 398, 399, 400, 401, -1, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, -1, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, -1, 430, -1, 432, 433, -1, -1,
436, 437, 438, 439, 440, 441, 442, 443, -1, 445,
446, 447, -1, -1, 450, 451, -1, 453, -1, -1,
456, 457, 458, 459, 460, 461, 462, 463, 464, -1,
-1, 467, 468, 469, 470, 471, -1, -1, 474, 475,
476, 477, 478, -1, 480, -1, 482, 483, 484, 485,
486, 487, -1, -1, 490, -1, -1, 493, 494, 495,
496, 497, 498, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 510, 511, 512, -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, -1, 155, 156, 157, 158, -1,
160, 161, 162, 163, -1, -1, 166, -1, 168, 169,
170, 171, 172, 173, 174, -1, 176, 177, 178, -1,
180, 181, 182, 183, 184, -1, 186, -1, -1, -1,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, -1, 204, 205, 206, 207, 208, 209,
210, 211, -1, 213, 214, -1, 216, 217, 218, 219,
220, 221, -1, 223, -1, 225, 226, 227, 228, 229,
230, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 241, 242, 243, 244, 245, 246, 247, -1, -1,
250, -1, 252, 253, 254, -1, 256, 257, 258, -1,
-1, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, -1, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, -1, -1, 293, -1, 295, 296, 297, 298, -1,
-1, 301, 302, 303, 304, 305, -1, 307, 308, 309,
-1, -1, 312, 313, 314, -1, -1, 317, 318, -1,
320, 321, 322, -1, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, -1, 336, 337, 338, -1,
340, -1, 342, 343, 344, -1, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, -1, 377, 378, 379,
380, 381, 382, 383, 384, -1, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, -1, 397, 398, 399,
400, 401, -1, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, -1, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, -1,
430, -1, 432, 433, -1, -1, 436, 437, 438, 439,
440, 441, 442, 443, -1, 445, 446, 447, -1, -1,
450, 451, -1, 453, -1, -1, 456, 457, 458, 459,
460, 461, 462, 463, 464, -1, -1, 467, 468, 469,
470, 471, -1, -1, 474, 475, 476, 477, 478, -1,
480, -1, 482, 483, 484, 485, 486, 487, -1, -1,
490, -1, -1, 493, 494, 495, 496, 497, 498, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
510, 511, 512, -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,
-1, 155, 156, 157, 158, -1, 160, 161, 162, 163,
-1, -1, 166, -1, 168, 169, 170, 171, 172, 173,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, -1, -1, -1, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, -1, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, -1, 252, 253,
254, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, -1, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, -1, -1, 293,
-1, 295, 296, 297, 298, -1, -1, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, -1, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, -1, 340, -1, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, -1, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, -1, 453,
-1, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, -1, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 510, 511, 512, -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, -1, 155, 156, 157,
158, -1, 160, 161, 162, 163, -1, -1, 166, -1,
168, 169, 170, 171, 172, -1, 174, -1, 176, 177,
178, -1, 180, 181, 182, 183, 184, -1, 186, -1,
-1, -1, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, 214, -1, 216, 217,
218, 219, 220, 221, -1, 223, -1, 225, 226, 227,
228, 229, 230, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, -1, 252, 253, 254, -1, 256, 257,
258, -1, -1, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, -1, 272, 273, 274, 275, 276, 277,
278, 279, 280, 281, 282, 283, 284, 285, 286, 287,
288, 289, 290, -1, -1, 293, -1, 295, 296, 297,
298, -1, -1, 301, 302, 303, 304, 305, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, -1, 320, 321, 322, -1, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, -1, 340, -1, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, 379, 380, 381, 382, 383, 384, -1, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, -1, 397,
398, 399, 400, 401, -1, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, -1, 430, -1, 432, 433, -1, -1, 436, 437,
438, 439, 440, 441, 442, 443, -1, 445, 446, 447,
-1, -1, 450, 451, -1, 453, -1, -1, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, -1, 467,
468, 469, 470, 471, -1, -1, 474, 475, 476, 477,
478, -1, 480, -1, 482, 483, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 510, 511, 512, -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, -1, 155, 156, 157, 158, -1, 160, 161,
162, 163, -1, -1, 166, -1, 168, 169, 170, 171,
172, -1, 174, -1, 176, 177, 178, -1, 180, 181,
182, 183, 184, -1, 186, -1, -1, -1, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, -1, 204, 205, 206, 207, 208, 209, 210, 211,
-1, 213, 214, -1, 216, 217, 218, 219, 220, 221,
-1, 223, -1, 225, 226, 227, 228, 229, 230, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 241,
242, 243, 244, 245, 246, 247, -1, -1, 250, -1,
252, 253, 254, -1, 256, 257, 258, -1, -1, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, -1,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, -1,
-1, 293, -1, 295, 296, 297, 298, -1, -1, 301,
302, 303, 304, 305, -1, 307, 308, 309, -1, -1,
312, 313, 314, -1, -1, 317, 318, -1, 320, 321,
322, -1, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, -1, 336, 337, 338, -1, 340, -1,
342, 343, 344, -1, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 360, 361,
-1, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, -1, 377, 378, 379, 380, 381,
382, 383, 384, -1, 386, 387, 388, 389, 390, 391,
392, 393, 394, 395, -1, 397, 398, 399, 400, 401,
-1, 403, 404, 405, 406, 407, 408, 409, 410, 411,
412, -1, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, -1, 430, -1,
432, 433, -1, -1, 436, 437, 438, 439, 440, 441,
442, 443, -1, 445, 446, 447, -1, -1, 450, 451,
-1, 453, -1, -1, 456, 457, 458, 459, 460, 461,
462, 463, 464, -1, -1, 467, 468, 469, 470, 471,
-1, -1, 474, 475, 476, 477, 478, -1, 480, -1,
482, 483, 484, 485, 486, 487, -1, -1, 490, -1,
-1, 493, 494, 495, 496, 497, 498, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 510, 511,
512, -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, -1, 155,
156, 157, 158, -1, 160, 161, 162, 163, -1, -1,
166, -1, 168, 169, 170, 171, 172, -1, 174, -1,
176, 177, 178, -1, 180, 181, 182, 183, 184, -1,
186, -1, -1, -1, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, -1, 204, 205,
206, 207, 208, 209, 210, 211, -1, 213, 214, -1,
216, 217, 218, 219, 220, 221, -1, 223, -1, 225,
226, 227, 228, 229, 230, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 241, 242, 243, 244, 245,
246, 247, -1, -1, 250, -1, 252, 253, 254, -1,
256, 257, 258, -1, -1, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, -1, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, -1, -1, 293, -1, 295,
296, 297, 298, -1, -1, 301, 302, 303, 304, 305,
-1, 307, 308, 309, -1, -1, 312, 313, 314, -1,
-1, 317, 318, -1, 320, 321, 322, -1, 324, 325,
326, 327, 328, 329, 330, 331, 332, 333, 334, -1,
336, 337, 338, -1, 340, -1, 342, 343, 344, -1,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 360, 361, -1, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
-1, 377, 378, 379, 380, 381, 382, 383, 384, -1,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
-1, 397, 398, 399, 400, 401, -1, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, -1, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 424, 425,
426, 427, 428, -1, 430, -1, 432, 433, -1, -1,
436, 437, 438, 439, 440, 441, 442, 443, -1, 445,
446, 447, -1, -1, 450, 451, -1, 453, -1, -1,
456, 457, 458, 459, 460, 461, 462, 463, 464, -1,
-1, 467, 468, 469, 470, 471, -1, -1, 474, 475,
476, 477, 478, -1, 480, -1, 482, 483, 484, 485,
486, 487, -1, -1, 490, -1, -1, 493, 494, 495,
496, 497, 498, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 510, 511, 512, -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, -1, 155, 156, 157, 158, -1,
160, 161, 162, 163, -1, -1, 166, -1, 168, 169,
170, 171, 172, -1, 174, -1, 176, 177, 178, -1,
180, 181, 182, 183, 184, -1, 186, -1, -1, -1,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, -1, 204, 205, 206, 207, 208, 209,
210, 211, -1, 213, 214, -1, 216, 217, 218, 219,
220, 221, -1, 223, -1, 225, 226, 227, 228, 229,
230, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 241, 242, 243, 244, 245, 246, 247, -1, -1,
250, -1, 252, 253, 254, -1, 256, 257, 258, -1,
-1, 261, 262, 263, 264, 265, 266, 267, 268, 269,
270, -1, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, -1, -1, 293, -1, 295, 296, 297, 298, -1,
-1, 301, 302, 303, 304, 305, -1, 307, 308, 309,
-1, -1, 312, 313, 314, -1, -1, 317, 318, -1,
320, 321, 322, -1, 324, 325, 326, 327, 328, 329,
330, 331, 332, 333, 334, -1, 336, 337, 338, -1,
340, -1, 342, 343, 344, -1, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, -1, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, -1, 377, 378, 379,
380, 381, 382, 383, 384, -1, 386, 387, 388, 389,
390, 391, 392, 393, 394, 395, -1, 397, 398, 399,
400, 401, -1, 403, 404, 405, 406, 407, 408, 409,
410, 411, 412, -1, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 424, 425, 426, 427, 428, -1,
430, -1, 432, 433, -1, -1, 436, 437, 438, 439,
440, 441, 442, 443, -1, 445, 446, 447, -1, -1,
450, 451, -1, 453, -1, -1, 456, 457, 458, 459,
460, 461, 462, 463, 464, -1, -1, 467, 468, 469,
470, 471, -1, -1, 474, 475, 476, 477, 478, -1,
480, -1, 482, 483, 484, 485, 486, 487, -1, -1,
490, -1, -1, 493, 494, 495, 496, 497, 498, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
510, 511, 512, -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,
-1, 155, 156, 157, 158, -1, 160, 161, 162, 163,
-1, -1, 166, -1, 168, 169, 170, 171, 172, -1,
174, -1, 176, 177, 178, -1, 180, 181, 182, 183,
184, -1, 186, -1, -1, -1, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, 200, 201, 202, -1,
204, 205, 206, 207, 208, 209, 210, 211, -1, 213,
214, -1, 216, 217, 218, 219, 220, 221, -1, 223,
-1, 225, 226, 227, 228, 229, 230, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 241, 242, 243,
244, 245, 246, 247, -1, -1, 250, -1, 252, 253,
254, -1, 256, 257, 258, -1, -1, 261, 262, 263,
264, 265, 266, 267, 268, 269, 270, -1, 272, 273,
274, 275, 276, 277, 278, 279, 280, 281, 282, 283,
284, 285, 286, 287, 288, 289, 290, -1, -1, 293,
-1, 295, 296, 297, 298, -1, -1, 301, 302, 303,
304, 305, -1, 307, 308, 309, -1, -1, 312, 313,
314, -1, -1, 317, 318, -1, 320, 321, 322, -1,
324, 325, 326, 327, 328, 329, 330, 331, 332, 333,
334, -1, 336, 337, 338, -1, 340, -1, 342, 343,
344, -1, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, -1, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, -1, 377, 378, 379, 380, 381, 382, 383,
384, -1, 386, 387, 388, 389, 390, 391, 392, 393,
394, 395, -1, 397, 398, 399, 400, 401, -1, 403,
404, -1, 406, 407, 408, 409, 410, 411, 412, -1,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
424, 425, 426, 427, 428, -1, 430, -1, 432, 433,
-1, -1, 436, 437, 438, 439, 440, 441, 442, 443,
-1, 445, 446, 447, -1, -1, 450, 451, -1, 453,
-1, -1, 456, 457, 458, 459, 460, 461, 462, 463,
464, -1, -1, 467, 468, 469, 470, 471, -1, -1,
474, 475, 476, 477, 478, -1, 480, -1, 482, 483,
484, 485, 486, 487, -1, -1, 490, -1, -1, 493,
494, 495, 496, 497, 498, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 510, 511, 512, -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, -1, 155, 156, 157,
158, -1, 160, 161, 162, 163, -1, -1, 166, -1,
168, 169, 170, -1, 172, -1, 174, -1, 176, 177,
178, -1, 180, 181, 182, 183, 184, -1, 186, -1,
-1, -1, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, 200, 201, 202, -1, 204, 205, 206, 207,
208, 209, 210, 211, -1, 213, 214, -1, 216, 217,
218, 219, -1, -1, -1, -1, -1, 225, 226, 227,
228, 229, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 241, 242, 243, 244, 245, 246, 247,
-1, -1, 250, -1, 252, 253, 254, -1, 256, 257,
258, -1, -1, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, -1, 272, 273, 274, 275, 276, 277,
278, 279, -1, 281, -1, 283, 284, 285, 286, 287,
288, 289, 290, -1, -1, 293, -1, 295, 296, 297,
298, -1, -1, 301, -1, 303, 304, 305, -1, 307,
308, 309, -1, -1, 312, 313, 314, -1, -1, 317,
318, -1, 320, 321, 322, -1, 324, 325, 326, 327,
328, 329, 330, 331, 332, 333, 334, -1, 336, 337,
338, -1, 340, -1, 342, 343, 344, -1, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, -1,
358, 359, 360, 361, -1, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, -1, 377,
378, 379, 380, 381, 382, 383, 384, -1, 386, 387,
388, 389, 390, 391, 392, 393, 394, 395, -1, 397,
398, 399, 400, 401, -1, 403, 404, -1, 406, 407,
408, 409, 410, -1, 412, -1, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 424, 425, 426, 427,
428, -1, 430, -1, 432, 433, -1, -1, 436, 437,
438, 439, 440, 441, 442, 443, -1, 445, -1, -1,
-1, -1, 450, 451, -1, 453, -1, -1, 456, 457,
458, 459, 460, 461, 462, 463, 464, -1, -1, 467,
468, 469, 470, 471, -1, -1, 474, 475, 476, 477,
478, -1, -1, -1, 482, 483, 484, 485, 486, 487,
-1, -1, 490, -1, -1, 493, 494, 495, 496, 497,
498, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 510, 511, 512
};
/* 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,
158, 160, 167, 185, 202, 256, 257, 262, 277, 296,
343, 358, 364, 365, 367, 372, 378, 381, 388, 395,
396, 403, 407, 418, 435, 456, 468, 474, 479, 492,
516, 518, 519, 520, 521, 522, 535, 542, 543, 544,
545, 550, 551, 557, 558, 560, 561, 562, 563, 565,
568, 580, 585, 586, 589, 590, 591, 611, 614, 615,
630, 681, 684, 685, 688, 691, 692, 693, 701, 708,
710, 711, 714, 717, 718, 722, 731, 735, 736, 737,
740, 742, 743, 744, 745, 753, 755, 775, 779, 781,
782, 792, 794, 801, 802, 805, 806, 807, 808, 809,
818, 820, 822, 825, 829, 830, 840, 841, 846, 851,
862, 894, 897, 898, 899, 904, 907, 909, 911, 913,
914, 918, 919, 922, 924, 925, 929, 930, 931, 934,
935, 936, 937, 938, 945, 946, 947, 948, 949, 955,
957, 958, 964, 965, 966, 969, 970, 971, 972, 974,
975, 977, 978, 980, 981, 983, 995, 997, 1000, 1002,
1003, 1012, 1014, 1019, 1024, 1034, 1038, 1039, 1040, 1041,
1042, 1043, 1049, 1085, 450, 495, 950, 30, 81, 98,
116, 122, 140, 153, 162, 175, 181, 188, 208, 246,
268, 312, 338, 348, 349, 352, 380, 383, 387, 390,
397, 400, 420, 428, 433, 435, 438, 443, 453, 458,
472, 485, 707, 950, 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, 155, 156, 157,
158, 159, 160, 161, 162, 163, 164, 166, 168, 169,
170, 171, 172, 174, 176, 177, 178, 180, 181, 182,
183, 184, 186, 187, 189, 190, 191, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, 204, 205, 206,
207, 208, 209, 210, 211, 213, 214, 215, 216, 217,
218, 219, 220, 221, 223, 225, 226, 227, 228, 229,
230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 250, 251,
252, 253, 254, 256, 257, 258, 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, 295,
296, 297, 298, 300, 301, 302, 303, 304, 305, 307,
308, 309, 312, 313, 314, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 336, 337, 338, 339, 340, 341, 342,
343, 344, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
397, 398, 399, 400, 401, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 424, 425, 426, 427, 428,
429, 430, 432, 433, 436, 437, 438, 439, 440, 441,
442, 443, 445, 446, 447, 450, 451, 452, 453, 454,
456, 457, 458, 459, 460, 461, 462, 463, 464, 467,
468, 469, 470, 471, 474, 475, 476, 477, 478, 479,
480, 482, 483, 484, 485, 486, 487, 490, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 1153, 1246,
1258, 1259, 1263, 1264, 1265, 3, 31, 1035, 1243, 1258,
1263, 483, 535, 988, 310, 344, 950, 56, 535, 622,
25, 43, 68, 81, 116, 122, 140, 153, 162, 175,
184, 188, 258, 312, 315, 338, 352, 380, 390, 400,
420, 428, 438, 440, 442, 443, 458, 466, 469, 472,
631, 690, 797, 852, 863, 31, 343, 1243, 1035, 31,
337, 398, 440, 442, 6, 245, 905, 906, 1249, 25,
30, 68, 81, 98, 116, 140, 153, 162, 175, 181,
188, 208, 268, 312, 325, 338, 349, 352, 380, 383,
387, 390, 397, 400, 420, 428, 435, 438, 443, 451,
453, 458, 472, 485, 707, 810, 812, 813, 950, 1243,
101, 483, 535, 685, 688, 691, 983, 996, 1000, 1003,
1012, 1019, 1024, 1034, 1038, 11, 24, 31, 51, 170,
177, 179, 203, 247, 285, 346, 366, 526, 527, 826,
827, 1035, 1248, 1250, 31, 33, 101, 362, 396, 831,
832, 833, 1258, 175, 1258, 1245, 1249, 435, 1052, 826,
1258, 450, 1243, 325, 268, 535, 917, 388, 1258, 31,
401, 446, 450, 572, 581, 582, 1258, 185, 831, 832,
1258, 344, 950, 1258, 244, 31, 137, 1054, 1055, 69,
95, 258, 279, 380, 390, 401, 446, 450, 498, 569,
570, 571, 572, 31, 401, 446, 450, 572, 450, 311,
1097, 1098, 1241, 1258, 1052, 528, 1258, 180, 535, 989,
535, 360, 1044, 1045, 1243, 1044, 3, 55, 57, 58,
71, 72, 119, 120, 141, 171, 220, 221, 223, 230,
280, 282, 302, 357, 405, 411, 446, 447, 480, 1126,
1128, 1130, 1132, 1134, 1136, 1137, 1138, 1140, 1141, 1142,
1144, 1145, 1149, 1259, 1263, 1054, 1055, 1056, 1254, 12,
1255, 1256, 1258, 1255, 1255, 1039, 1040, 1043, 0, 538,
535, 988, 154, 222, 316, 465, 1057, 1058, 1039, 1041,
1042, 127, 218, 270, 471, 539, 37, 954, 879, 1246,
815, 1258, 815, 1243, 347, 815, 453, 1243, 115, 435,
867, 1246, 1258, 1265, 3, 108, 112, 402, 1251, 1252,
1260, 1263, 1264, 1265, 31, 197, 1241, 303, 485, 10,
17, 18, 19, 76, 166, 523, 524, 525, 526, 527,
528, 529, 530, 531, 901, 903, 1184, 1185, 1258, 197,
1243, 867, 1243, 31, 1251, 1252, 867, 1243, 1243, 197,
1241, 1243, 197, 815, 1243, 372, 403, 31, 197, 1097,
1243, 393, 1243, 815, 31, 265, 1251, 1252, 197, 1241,
245, 124, 228, 294, 356, 951, 952, 953, 535, 533,
537, 1210, 1212, 513, 982, 983, 984, 985, 1260, 1241,
1243, 1258, 30, 68, 82, 94, 116, 140, 181, 208,
246, 312, 349, 380, 383, 428, 438, 451, 458, 810,
811, 812, 813, 1249, 954, 999, 1003, 1012, 1019, 1024,
1038, 1241, 272, 815, 535, 197, 815, 1243, 815, 453,
197, 1243, 115, 435, 440, 442, 1251, 1252, 440, 442,
76, 166, 901, 370, 1243, 1243, 1251, 197, 546, 1258,
197, 1243, 197, 547, 815, 1243, 1243, 393, 815, 265,
1251, 360, 397, 435, 485, 268, 98, 208, 30, 94,
181, 349, 387, 451, 453, 457, 702, 31, 1243, 1036,
1249, 1260, 906, 272, 197, 879, 880, 197, 910, 197,
1243, 197, 817, 1126, 453, 115, 435, 197, 866, 867,
197, 1252, 1253, 89, 485, 76, 166, 197, 902, 903,
61, 197, 866, 197, 1253, 197, 866, 197, 1243, 197,
1243, 393, 910, 197, 817, 197, 265, 1253, 245, 197,
814, 815, 197, 1242, 1243, 197, 1243, 954, 535, 1001,
631, 996, 479, 982, 988, 1250, 827, 828, 31, 828,
1250, 828, 31, 828, 1250, 828, 828, 828, 1250, 1248,
1248, 1035, 828, 347, 535, 433, 535, 658, 658, 658,
310, 448, 539, 658, 390, 1097, 1099, 539, 1249, 535,
998, 61, 485, 982, 116, 208, 390, 433, 435, 915,
916, 1258, 50, 512, 228, 537, 313, 310, 179, 313,
1249, 448, 954, 173, 823, 310, 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, 159, 164, 165, 171, 187, 189, 220, 221, 223,
230, 231, 232, 233, 234, 235, 236, 237, 238, 240,
251, 259, 260, 271, 280, 282, 292, 294, 299, 300,
302, 312, 323, 339, 357, 385, 402, 411, 429, 434,
446, 447, 452, 454, 455, 466, 472, 480, 500, 501,
502, 503, 505, 506, 507, 508, 514, 526, 527, 528,
535, 1039, 1129, 1132, 1135, 1136, 1137, 1139, 1140, 1141,
1144, 1145, 1149, 1150, 1152, 1153, 1154, 1156, 1180, 1181,
1182, 1186, 1204, 1209, 1235, 1238, 1239, 1246, 1247, 1248,
1249, 1258, 1237, 1238, 1249, 31, 587, 1240, 1241, 401,
569, 122, 578, 1249, 12, 579, 1249, 1260, 12, 1249,
50, 73, 569, 512, 412, 952, 313, 179, 448, 525,
50, 512, 228, 953, 535, 1241, 528, 1212, 1099, 982,
178, 990, 1150, 1189, 1044, 539, 535, 991, 482, 1143,
1143, 1143, 535, 1131, 1131, 341, 535, 1133, 71, 72,
1143, 1131, 1128, 516, 517, 535, 1146, 535, 1146, 39,
1127, 535, 117, 195, 273, 276, 394, 510, 535, 1147,
1148, 537, 816, 1131, 1237, 1213, 536, 536, 544, 982,
992, 993, 994, 1241, 31, 137, 1053, 1053, 61, 1053,
167, 173, 255, 306, 1061, 1063, 1064, 1079, 1081, 1082,
1083, 1057, 1058, 179, 224, 224, 1097, 1100, 535, 70,
290, 326, 368, 403, 535, 877, 326, 364, 368, 403,
816, 326, 368, 403, 3, 93, 147, 261, 326, 364,
368, 403, 438, 441, 492, 580, 583, 959, 960, 961,
962, 847, 27, 142, 326, 368, 403, 476, 596, 1243,
27, 142, 403, 471, 564, 496, 197, 1097, 64, 100,
163, 200, 250, 290, 294, 326, 327, 368, 377, 386,
395, 403, 416, 425, 430, 487, 580, 584, 883, 895,
923, 535, 864, 1212, 368, 564, 203, 159, 27, 33,
48, 78, 135, 142, 146, 174, 210, 290, 294, 304,
314, 326, 368, 371, 372, 403, 476, 592, 594, 595,
725, 923, 5, 526, 527, 699, 1250, 31, 197, 1241,
815, 815, 535, 900, 326, 403, 537, 159, 310, 326,
368, 403, 895, 923, 27, 142, 326, 368, 403, 203,
559, 368, 492, 516, 552, 559, 326, 368, 403, 895,
923, 310, 326, 368, 159, 40, 62, 114, 206, 264,
269, 274, 290, 325, 368, 373, 397, 403, 418, 469,
592, 696, 697, 326, 368, 484, 725, 733, 159, 326,
368, 403, 27, 93, 135, 142, 146, 326, 364, 368,
403, 410, 582, 570, 572, 203, 159, 48, 133, 290,
368, 403, 592, 593, 326, 368, 372, 403, 91, 134,
329, 441, 310, 27, 33, 142, 326, 368, 403, 612,
613, 559, 173, 368, 552, 559, 159, 368, 403, 592,
1243, 253, 124, 311, 497, 539, 951, 31, 137, 481,
528, 536, 872, 1150, 1190, 1191, 1259, 1150, 1211, 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,
154, 165, 167, 173, 175, 179, 185, 188, 192, 203,
212, 222, 224, 248, 249, 255, 259, 260, 294, 299,
306, 310, 311, 315, 316, 335, 345, 362, 376, 396,
402, 413, 431, 434, 435, 444, 448, 449, 455, 465,
466, 472, 473, 481, 488, 489, 491, 492, 528, 1244,
1261, 1263, 1264, 1265, 1266, 1210, 536, 539, 165, 310,
455, 576, 579, 699, 986, 473, 979, 310, 879, 535,
815, 1243, 1126, 867, 303, 76, 166, 903, 867, 867,
173, 1126, 815, 1243, 1243, 536, 658, 1243, 74, 1126,
294, 179, 535, 783, 552, 40, 973, 1243, 294, 552,
496, 197, 1241, 552, 815, 815, 783, 469, 631, 310,
173, 492, 891, 552, 294, 50, 566, 294, 458, 732,
294, 991, 93, 326, 709, 91, 134, 329, 441, 40,
783, 173, 197, 552, 485, 197, 1241, 197, 686, 1241,
1241, 485, 815, 89, 548, 1246, 453, 1246, 1246, 1243,
173, 1243, 707, 42, 56, 113, 217, 290, 392, 159,
65, 374, 539, 549, 159, 535, 159, 552, 159, 539,
549, 496, 159, 539, 549, 159, 539, 197, 814, 197,
815, 197, 815, 159, 539, 549, 1253, 159, 549, 159,
159, 549, 159, 549, 159, 91, 134, 329, 441, 173,
159, 549, 159, 173, 197, 159, 539, 549, 159, 539,
549, 159, 310, 1189, 435, 536, 996, 828, 1035, 828,
1035, 828, 1035, 828, 1035, 828, 1035, 1035, 1035, 828,
1035, 535, 659, 660, 1258, 659, 31, 116, 140, 175,
181, 245, 246, 328, 349, 383, 390, 397, 435, 438,
458, 836, 1240, 1253, 833, 1243, 203, 539, 1015, 1249,
1126, 1193, 40, 1253, 548, 536, 548, 548, 548, 253,
1258, 173, 836, 1253, 173, 388, 1258, 579, 310, 535,
1213, 533, 1039, 1194, 1150, 1208, 535, 535, 173, 535,
535, 1039, 535, 535, 535, 535, 535, 535, 535, 535,
535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
1150, 535, 535, 535, 535, 535, 535, 535, 535, 301,
647, 535, 535, 535, 535, 535, 535, 535, 535, 1150,
1150, 1150, 1039, 1150, 1189, 1212, 12, 1249, 12, 535,
1249, 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, 155, 156, 157, 158, 159, 160,
161, 162, 163, 164, 165, 166, 169, 170, 171, 172,
174, 175, 176, 177, 178, 180, 181, 182, 183, 184,
186, 187, 189, 190, 191, 193, 194, 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, 223, 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, 256, 257, 258, 259, 260, 261,
262, 263, 264, 265, 266, 267, 268, 269, 270, 271,
272, 274, 275, 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, 307, 308, 309, 311, 312, 313, 314, 315,
317, 318, 319, 320, 323, 324, 325, 326, 327, 328,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, 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, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, 393, 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, 449, 450, 451, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 478, 479, 480, 481, 483, 484,
485, 486, 487, 488, 490, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 508, 509,
511, 512, 514, 523, 524, 525, 526, 527, 528, 529,
530, 531, 1184, 1186, 1188, 1262, 1267, 493, 1167, 322,
1150, 168, 1168, 224, 539, 1050, 12, 535, 1249, 1212,
1050, 125, 199, 588, 539, 73, 12, 122, 579, 40,
3, 12, 122, 258, 577, 699, 1145, 1249, 1249, 96,
139, 1162, 105, 12, 122, 573, 574, 576, 699, 122,
573, 253, 1241, 97, 373, 819, 536, 988, 37, 47,
54, 80, 198, 203, 226, 254, 312, 315, 408, 536,
539, 1045, 1242, 40, 535, 1189, 1248, 1143, 1143, 39,
1127, 446, 446, 1248, 1248, 533, 533, 1248, 448, 448,
448, 535, 448, 1248, 1244, 537, 1131, 179, 1086, 15,
525, 1210, 1257, 536, 539, 991, 1041, 1041, 1059, 1060,
1150, 1041, 170, 285, 1070, 242, 290, 356, 406, 471,
31, 1065, 1150, 526, 527, 1066, 1067, 1150, 1152, 1079,
1080, 1064, 1063, 1061, 1062, 173, 1082, 304, 1084, 1061,
1079, 1100, 1004, 1241, 1100, 40, 1258, 403, 1189, 70,
448, 448, 390, 203, 215, 316, 319, 405, 481, 528,
870, 871, 872, 874, 876, 878, 1126, 1259, 448, 484,
448, 390, 448, 448, 390, 255, 448, 81, 448, 438,
569, 326, 959, 961, 525, 963, 173, 185, 203, 378,
848, 849, 74, 94, 294, 655, 656, 94, 122, 294,
448, 94, 448, 122, 294, 390, 94, 135, 146, 326,
368, 780, 390, 715, 30, 68, 140, 181, 312, 349,
383, 451, 458, 810, 811, 1243, 159, 368, 403, 592,
310, 699, 395, 250, 448, 1258, 448, 299, 699, 126,
225, 390, 401, 450, 571, 815, 374, 403, 883, 896,
130, 536, 865, 870, 448, 472, 438, 1241, 74, 82,
94, 155, 175, 197, 345, 466, 638, 653, 654, 1258,
82, 94, 920, 331, 310, 385, 387, 453, 94, 920,
34, 371, 385, 387, 453, 385, 1241, 174, 210, 304,
815, 535, 448, 448, 196, 535, 600, 25, 264, 438,
469, 494, 600, 94, 539, 130, 5, 5, 326, 203,
159, 368, 403, 592, 923, 473, 473, 291, 1126, 448,
390, 535, 901, 1243, 1241, 448, 448, 390, 896, 130,
109, 435, 436, 932, 933, 1098, 1241, 1258, 933, 448,
448, 783, 933, 116, 403, 583, 448, 554, 583, 448,
448, 390, 896, 130, 1241, 448, 448, 1241, 1128, 699,
61, 698, 699, 699, 114, 269, 274, 61, 448, 552,
278, 390, 552, 290, 697, 448, 448, 299, 1249, 725,
815, 448, 448, 390, 420, 352, 1249, 352, 448, 352,
448, 352, 783, 783, 438, 1097, 331, 331, 94, 448,
920, 390, 448, 448, 600, 600, 815, 815, 815, 815,
1241, 49, 478, 49, 49, 478, 448, 49, 448, 478,
390, 535, 539, 583, 472, 741, 1252, 448, 554, 583,
1241, 448, 920, 390, 326, 368, 356, 369, 399, 575,
951, 1190, 1190, 1191, 536, 15, 16, 539, 1057, 1058,
534, 540, 1241, 984, 1243, 1241, 226, 1126, 226, 310,
226, 226, 699, 815, 815, 226, 226, 226, 1126, 226,
226, 226, 310, 448, 179, 448, 616, 458, 535, 40,
159, 815, 784, 785, 1261, 959, 1126, 310, 159, 712,
1243, 294, 331, 535, 553, 797, 473, 360, 485, 1241,
31, 933, 783, 553, 159, 1252, 101, 185, 567, 630,
692, 755, 829, 851, 955, 159, 1249, 733, 734, 159,
310, 1249, 1252, 261, 815, 815, 815, 815, 150, 355,
535, 741, 294, 553, 1241, 294, 694, 696, 294, 40,
304, 331, 535, 658, 658, 197, 689, 1241, 173, 197,
546, 1258, 535, 787, 877, 1243, 535, 868, 868, 40,
1126, 29, 52, 219, 756, 245, 492, 494, 1037, 392,
880, 879, 1126, 1243, 535, 817, 1126, 866, 867, 1253,
1252, 159, 549, 159, 473, 159, 473, 902, 903, 549,
866, 1253, 866, 1243, 1243, 1126, 817, 1253, 741, 159,
814, 815, 1242, 1243, 1243, 815, 536, 197, 1241, 996,
1035, 1035, 1035, 1035, 1035, 1035, 659, 536, 539, 536,
182, 350, 384, 398, 436, 1242, 814, 115, 400, 866,
1242, 303, 834, 835, 1258, 866, 866, 1242, 1240, 1240,
1242, 814, 448, 186, 492, 845, 154, 255, 738, 739,
25, 157, 385, 406, 1016, 1097, 298, 1017, 536, 539,
999, 448, 1241, 1243, 1241, 546, 831, 832, 179, 845,
832, 1258, 30, 82, 140, 181, 246, 349, 383, 458,
810, 811, 1189, 534, 1189, 1194, 1195, 488, 1205, 1206,
1150, 1189, 535, 1248, 1248, 3, 12, 117, 195, 273,
276, 394, 510, 1196, 1197, 1249, 1189, 1189, 1150, 1223,
376, 1039, 1040, 1223, 1227, 1234, 1223, 1223, 1150, 1152,
1190, 1227, 1230, 1231, 1150, 1231, 1223, 1150, 1223, 1223,
1189, 1248, 1248, 536, 1150, 1150, 901, 1150, 1190, 1192,
1199, 385, 526, 527, 535, 1151, 1152, 1186, 1200, 536,
1189, 1150, 1192, 1201, 1150, 59, 179, 249, 449, 1150,
1189, 1202, 137, 294, 1039, 1189, 278, 1152, 1150, 1160,
1161, 1162, 278, 1150, 1162, 536, 539, 1147, 1248, 1147,
1126, 1150, 1150, 1150, 1150, 1261, 258, 446, 45, 431,
1214, 815, 1150, 535, 1039, 1203, 137, 139, 165, 230,
286, 287, 288, 289, 293, 294, 299, 455, 467, 1198,
1228, 1150, 535, 1150, 448, 54, 198, 203, 254, 408,
1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150, 1150,
31, 38, 413, 1183, 188, 1168, 385, 535, 1180, 535,
321, 1172, 184, 258, 435, 440, 442, 469, 1051, 1241,
1239, 1086, 1190, 1086, 1241, 450, 535, 1249, 539, 536,
196, 196, 549, 994, 983, 987, 1150, 536, 268, 294,
1046, 1189, 536, 536, 533, 512, 512, 536, 536, 1248,
534, 1248, 536, 195, 273, 1148, 273, 1148, 1148, 1248,
276, 536, 1244, 230, 239, 248, 386, 509, 535, 1039,
1087, 1088, 1089, 1097, 1103, 1113, 1120, 1153, 1155, 1156,
1235, 1258, 489, 1108, 1254, 994, 992, 539, 41, 132,
473, 860, 385, 386, 526, 527, 1067, 1069, 1152, 406,
242, 311, 539, 5, 1068, 1248, 1068, 385, 386, 1069,
1240, 298, 410, 1018, 1080, 1062, 473, 1013, 122, 324,
535, 1005, 1038, 40, 473, 1258, 535, 1020, 1021, 1022,
1258, 536, 1252, 1243, 1243, 319, 61, 1259, 536, 872,
874, 871, 874, 1259, 316, 536, 539, 816, 1252, 1243,
1243, 1252, 1243, 1243, 1252, 484, 1243, 1243, 122, 576,
699, 380, 472, 831, 390, 185, 831, 535, 1243, 299,
197, 1243, 299, 1252, 1243, 1243, 1150, 299, 1243, 1243,
34, 371, 448, 448, 1243, 448, 716, 879, 535, 1126,
867, 76, 166, 903, 867, 867, 173, 1126, 815, 1243,
191, 290, 326, 368, 477, 719, 720, 721, 1097, 448,
920, 390, 299, 126, 225, 1252, 1243, 310, 1243, 310,
536, 539, 1251, 1253, 1243, 368, 592, 535, 197, 638,
1243, 473, 853, 242, 294, 242, 473, 647, 680, 1126,
1243, 1248, 1258, 1241, 1243, 253, 1243, 31, 472, 1243,
197, 1243, 197, 1258, 387, 453, 387, 453, 253, 1243,
31, 472, 1243, 253, 385, 1241, 27, 142, 403, 726,
727, 728, 729, 1261, 1252, 1243, 122, 180, 295, 473,
599, 602, 603, 1261, 272, 1243, 78, 307, 1243, 595,
310, 448, 438, 1241, 448, 920, 390, 130, 1243, 1243,
539, 536, 539, 1252, 1243, 926, 927, 1261, 310, 368,
448, 749, 1252, 1243, 1243, 310, 1097, 203, 539, 658,
658, 1212, 1252, 1243, 1243, 1251, 3, 93, 148, 210,
333, 464, 472, 475, 555, 1252, 1243, 1243, 310, 368,
1252, 1243, 368, 403, 592, 696, 699, 815, 1243, 699,
815, 1243, 699, 1252, 1243, 403, 1252, 1243, 1243, 122,
606, 1250, 1242, 1242, 1252, 891, 1243, 1242, 1243, 368,
403, 592, 593, 1241, 1241, 1243, 1243, 1243, 1243, 1252,
1243, 27, 33, 142, 326, 368, 403, 326, 368, 403,
783, 368, 403, 368, 403, 368, 923, 1112, 1258, 197,
793, 1258, 197, 1258, 1249, 1252, 1243, 1243, 1249, 1243,
926, 27, 142, 613, 400, 1251, 368, 403, 592, 1243,
1243, 1243, 448, 448, 87, 463, 356, 539, 1057, 1057,
1057, 1150, 1150, 481, 1191, 536, 1150, 1211, 979, 299,
821, 1249, 40, 821, 140, 815, 821, 821, 226, 473,
473, 821, 821, 821, 245, 821, 821, 821, 815, 351,
617, 617, 208, 435, 754, 1150, 1126, 815, 536, 539,
525, 644, 1261, 1243, 65, 179, 390, 484, 713, 720,
721, 159, 304, 254, 632, 634, 636, 638, 650, 653,
28, 203, 380, 432, 555, 556, 173, 1243, 485, 1241,
40, 750, 436, 891, 546, 1258, 566, 631, 863, 1243,
175, 815, 535, 682, 683, 1155, 1258, 352, 1249, 783,
783, 783, 783, 535, 783, 1110, 1111, 1112, 400, 159,
535, 159, 159, 158, 1038, 815, 304, 632, 1258, 473,
675, 492, 601, 294, 40, 658, 1249, 294, 310, 3,
788, 789, 783, 29, 536, 869, 870, 875, 40, 245,
377, 451, 491, 881, 882, 883, 884, 881, 310, 245,
304, 127, 218, 456, 471, 757, 758, 1243, 194, 194,
173, 549, 40, 552, 174, 967, 968, 549, 549, 814,
815, 1243, 815, 1243, 549, 549, 549, 549, 245, 549,
400, 173, 549, 549, 310, 549, 294, 536, 660, 203,
203, 203, 203, 203, 496, 1242, 699, 700, 539, 537,
188, 837, 838, 1252, 61, 842, 843, 1261, 448, 535,
179, 157, 406, 157, 406, 385, 471, 275, 1126, 1252,
492, 687, 310, 837, 549, 179, 879, 815, 1126, 867,
303, 867, 867, 1126, 815, 1243, 536, 534, 534, 539,
1150, 144, 1206, 1207, 40, 536, 1150, 536, 536, 179,
536, 179, 536, 536, 513, 1224, 1225, 492, 494, 1229,
1126, 1225, 536, 23, 299, 539, 1233, 316, 1236, 539,
540, 478, 536, 536, 23, 299, 539, 1232, 1232, 539,
536, 1227, 539, 536, 536, 536, 536, 539, 539, 536,
335, 536, 536, 535, 1151, 1151, 1189, 13, 17, 18,
19, 203, 226, 312, 523, 524, 525, 526, 527, 528,
529, 530, 531, 1186, 1151, 536, 536, 173, 179, 408,
536, 536, 40, 1202, 1189, 1202, 1202, 179, 536, 137,
536, 1261, 332, 1165, 40, 536, 539, 1150, 1261, 539,
1150, 1213, 1150, 536, 512, 1151, 1151, 152, 1189, 179,
39, 303, 389, 478, 137, 139, 165, 293, 299, 455,
467, 1198, 1228, 293, 1229, 152, 901, 1150, 431, 1214,
1150, 1203, 1150, 448, 535, 1039, 535, 1172, 535, 1189,
489, 535, 1173, 1258, 440, 442, 440, 442, 1241, 1052,
1052, 1052, 1108, 1057, 1108, 952, 1248, 1147, 574, 994,
268, 535, 536, 1248, 1146, 1146, 534, 534, 536, 535,
1039, 1103, 1113, 1120, 179, 535, 1039, 1088, 1089, 40,
1090, 1091, 1258, 539, 102, 180, 214, 229, 252, 281,
379, 1094, 1091, 40, 1090, 1093, 1258, 1091, 1091, 516,
1107, 1212, 1150, 188, 1071, 1060, 312, 1184, 1187, 515,
861, 5, 1248, 1069, 311, 492, 471, 1066, 263, 1087,
489, 1109, 479, 433, 472, 1006, 1007, 1008, 1258, 310,
1009, 1258, 1088, 1022, 1023, 539, 1086, 525, 1213, 878,
816, 874, 874, 61, 876, 530, 1253, 1253, 310, 1242,
313, 310, 1150, 656, 773, 159, 549, 448, 1252, 1243,
579, 1126, 815, 815, 1126, 703, 1243, 191, 477, 448,
448, 703, 719, 725, 368, 403, 592, 1243, 1243, 1243,
216, 299, 162, 870, 325, 403, 448, 1150, 294, 155,
654, 1243, 535, 535, 159, 535, 680, 208, 535, 773,
423, 642, 643, 773, 403, 27, 142, 372, 373, 403,
596, 604, 605, 725, 921, 395, 159, 549, 159, 549,
1243, 1243, 1243, 1243, 395, 395, 253, 728, 729, 728,
536, 539, 730, 1249, 208, 536, 539, 525, 537, 122,
607, 1258, 162, 1252, 1243, 368, 403, 592, 1243, 1243,
1243, 310, 326, 368, 403, 27, 142, 326, 368, 403,
1126, 291, 1126, 536, 539, 525, 1241, 448, 1253, 473,
746, 162, 658, 390, 932, 489, 665, 665, 658, 255,
333, 12, 299, 1249, 333, 1253, 470, 162, 448, 448,
390, 420, 891, 891, 891, 325, 403, 94, 448, 920,
390, 122, 173, 608, 169, 548, 448, 448, 265, 265,
265, 448, 448, 390, 448, 448, 390, 448, 390, 448,
390, 448, 130, 549, 1126, 294, 1249, 403, 921, 159,
549, 448, 448, 536, 1243, 448, 920, 390, 448, 1252,
1243, 536, 536, 536, 1191, 534, 1126, 815, 226, 821,
1243, 1243, 1243, 226, 421, 422, 618, 1249, 618, 191,
536, 536, 179, 783, 785, 291, 312, 526, 527, 699,
786, 874, 1187, 1249, 1266, 74, 80, 94, 122, 124,
183, 212, 294, 299, 345, 362, 466, 645, 646, 649,
158, 488, 552, 579, 1243, 579, 314, 723, 1241, 1241,
1241, 536, 539, 1253, 188, 380, 1253, 1248, 458, 1241,
658, 3, 173, 751, 891, 50, 566, 435, 732, 115,
991, 1150, 179, 539, 1242, 601, 790, 791, 1249, 536,
539, 1243, 173, 659, 1241, 686, 1241, 1243, 687, 535,
633, 1241, 536, 1243, 492, 494, 676, 600, 40, 159,
1038, 675, 448, 159, 1097, 525, 536, 539, 757, 536,
539, 122, 525, 885, 1249, 1249, 1260, 435, 873, 874,
173, 890, 53, 375, 886, 887, 884, 887, 127, 218,
396, 471, 943, 1243, 304, 310, 315, 191, 1038, 1126,
535, 536, 539, 549, 473, 549, 473, 549, 1243, 1243,
741, 815, 159, 390, 390, 390, 390, 390, 1242, 539,
835, 1258, 1252, 492, 539, 839, 1252, 539, 845, 165,
313, 455, 844, 1099, 400, 157, 157, 115, 290, 836,
845, 1253, 226, 226, 226, 226, 699, 226, 226, 226,
226, 226, 1194, 444, 1150, 149, 1126, 536, 1150, 1150,
230, 466, 466, 536, 1225, 1227, 310, 310, 1223, 1227,
61, 1233, 1150, 1223, 1223, 310, 310, 1231, 1229, 1229,
1150, 536, 1150, 1198, 1150, 1150, 536, 1189, 539, 1126,
1151, 1151, 1151, 1151, 137, 139, 294, 1151, 1151, 1151,
1151, 1151, 1151, 1151, 1151, 1151, 1151, 1150, 1150, 1150,
1126, 536, 536, 536, 1189, 536, 539, 61, 1152, 1166,
536, 1261, 1161, 342, 427, 1164, 536, 539, 484, 1157,
40, 536, 12, 1249, 1150, 37, 37, 1150, 536, 1150,
179, 293, 1229, 1150, 536, 152, 1151, 1151, 152, 152,
1150, 1150, 1058, 536, 1189, 539, 1150, 1174, 1258, 1052,
1052, 1052, 1052, 1241, 1241, 1241, 1071, 536, 1071, 536,
999, 534, 1223, 1091, 1093, 1091, 1091, 535, 504, 1152,
536, 1258, 535, 1088, 229, 320, 1095, 1088, 1095, 229,
1094, 1095, 229, 437, 1101, 535, 1258, 535, 317, 61,
192, 1078, 535, 861, 170, 247, 311, 492, 445, 105,
1150, 376, 1011, 478, 536, 539, 1213, 92, 1011, 310,
536, 539, 1021, 1109, 1150, 536, 530, 878, 458, 182,
384, 391, 398, 436, 459, 850, 173, 850, 536, 124,
212, 290, 294, 774, 1243, 1243, 40, 473, 473, 245,
816, 1252, 1243, 448, 920, 390, 448, 216, 1243, 61,
438, 1243, 536, 159, 535, 663, 664, 856, 1155, 1258,
659, 638, 659, 773, 1243, 659, 122, 1258, 88, 640,
641, 420, 183, 161, 196, 294, 600, 552, 115, 161,
183, 294, 420, 600, 640, 642, 697, 403, 605, 458,
1243, 1258, 395, 727, 1243, 603, 786, 1261, 1243, 325,
403, 448, 920, 390, 448, 162, 448, 448, 390, 181,
312, 423, 795, 796, 181, 312, 803, 804, 448, 448,
390, 536, 536, 536, 927, 291, 699, 874, 928, 1187,
1249, 1266, 368, 1243, 535, 492, 747, 1243, 665, 109,
1258, 535, 665, 1250, 12, 1249, 1249, 1249, 1243, 1243,
1243, 1243, 606, 61, 438, 1243, 1243, 1243, 1243, 479,
1243, 1243, 173, 173, 370, 173, 197, 1252, 1243, 1243,
1252, 1243, 1243, 1243, 1243, 1243, 1243, 1243, 310, 80,
597, 159, 29, 52, 458, 1258, 1243, 1249, 725, 1243,
1243, 1243, 1243, 1057, 536, 226, 821, 226, 226, 226,
821, 552, 473, 623, 624, 703, 773, 492, 494, 815,
535, 815, 1243, 1151, 34, 61, 648, 125, 199, 124,
299, 242, 1241, 647, 181, 349, 769, 776, 777, 1258,
712, 535, 331, 535, 633, 651, 211, 670, 636, 1253,
1253, 1126, 535, 601, 31, 127, 218, 396, 471, 752,
448, 748, 1252, 197, 1241, 734, 496, 310, 536, 1087,
683, 891, 536, 539, 1112, 723, 741, 536, 694, 40,
304, 331, 535, 1001, 635, 637, 639, 653, 1258, 331,
671, 672, 633, 670, 600, 307, 310, 677, 1038, 689,
687, 601, 1249, 1243, 853, 786, 3, 789, 310, 875,
1150, 1150, 539, 535, 881, 458, 539, 46, 1150, 448,
535, 659, 1241, 758, 703, 536, 967, 968, 1243, 1243,
549, 400, 549, 1242, 1242, 1242, 1242, 1242, 699, 185,
838, 845, 843, 536, 1243, 115, 179, 549, 845, 299,
824, 1249, 824, 824, 824, 226, 824, 824, 824, 824,
824, 1150, 536, 147, 243, 243, 536, 299, 299, 536,
1059, 1227, 332, 1215, 299, 299, 1227, 1227, 1215, 1215,
536, 536, 179, 536, 1150, 179, 137, 139, 179, 173,
152, 536, 499, 1159, 1189, 361, 478, 61, 1166, 1152,
490, 490, 536, 1150, 290, 1150, 539, 1158, 1128, 1150,
1150, 1150, 1150, 37, 37, 1150, 1150, 152, 536, 536,
536, 1150, 536, 331, 1175, 1241, 1241, 1241, 1241, 1078,
12, 1249, 1078, 1249, 536, 539, 1104, 1105, 1155, 535,
1165, 1090, 535, 1242, 1088, 310, 473, 1096, 1088, 229,
1088, 1246, 1111, 535, 1111, 1258, 1053, 1150, 491, 1169,
901, 445, 304, 1238, 1038, 324, 1038, 1008, 310, 535,
1010, 1150, 525, 1022, 1011, 458, 536, 448, 831, 179,
773, 125, 199, 210, 124, 475, 549, 1126, 1243, 1243,
1243, 1243, 1243, 1243, 1243, 1253, 1243, 773, 638, 1150,
536, 539, 492, 80, 855, 859, 855, 536, 536, 536,
122, 1258, 723, 606, 648, 197, 197, 299, 699, 40,
648, 299, 606, 1126, 549, 549, 525, 61, 438, 1243,
1243, 1243, 1243, 1243, 1252, 1243, 1243, 1248, 1248, 1126,
539, 1248, 1248, 539, 1252, 1243, 1243, 448, 1150, 74,
1150, 1253, 1243, 448, 448, 179, 203, 492, 1242, 1242,
815, 1242, 159, 162, 815, 1249, 1249, 1126, 549, 549,
448, 536, 226, 821, 821, 821, 821, 535, 619, 620,
552, 129, 181, 215, 181, 1150, 294, 646, 122, 40,
891, 658, 891, 1246, 37, 158, 203, 724, 728, 304,
632, 608, 156, 205, 535, 400, 473, 659, 40, 1253,
746, 566, 294, 535, 175, 1243, 682, 1249, 400, 601,
158, 1038, 815, 304, 632, 687, 536, 539, 492, 644,
61, 675, 608, 671, 86, 438, 678, 492, 956, 40,
678, 179, 310, 535, 1241, 1249, 872, 892, 893, 1259,
887, 1126, 173, 888, 1241, 179, 448, 912, 363, 759,
213, 704, 549, 536, 549, 549, 1243, 313, 224, 837,
549, 824, 1243, 536, 1216, 1217, 1223, 122, 145, 151,
165, 299, 455, 467, 1219, 1220, 1222, 536, 536, 1227,
1227, 1150, 536, 1151, 179, 1150, 1150, 1150, 535, 536,
539, 536, 1166, 536, 478, 417, 536, 207, 290, 1163,
1150, 1150, 1150, 536, 61, 1057, 1169, 1169, 393, 1047,
1150, 536, 539, 40, 1106, 122, 1118, 1119, 1151, 83,
1242, 536, 1150, 535, 1088, 1096, 535, 536, 1111, 536,
104, 189, 382, 535, 1072, 1073, 1074, 1075, 1076, 1077,
1150, 1170, 1171, 1258, 1057, 536, 1035, 1006, 94, 854,
856, 138, 488, 1025, 1026, 1027, 1028, 1150, 837, 310,
837, 536, 448, 403, 1017, 536, 204, 661, 664, 312,
901, 815, 547, 815, 362, 661, 661, 644, 40, 159,
159, 535, 597, 786, 1253, 1243, 448, 535, 867, 901,
903, 796, 535, 535, 804, 1243, 536, 535, 536, 403,
1017, 1243, 1243, 535, 535, 535, 492, 516, 976, 370,
976, 976, 173, 1243, 597, 1243, 821, 625, 626, 1261,
56, 103, 128, 147, 152, 174, 178, 193, 299, 353,
621, 619, 1249, 867, 40, 908, 908, 536, 196, 535,
473, 679, 266, 662, 679, 535, 777, 769, 535, 536,
539, 1241, 536, 400, 31, 85, 88, 95, 123, 183,
196, 209, 420, 423, 652, 652, 1240, 1243, 1243, 536,
1038, 747, 159, 115, 723, 179, 1243, 40, 1243, 687,
633, 1241, 536, 637, 314, 1258, 676, 671, 675, 127,
142, 342, 1243, 66, 74, 258, 1038, 815, 1097, 854,
179, 772, 874, 536, 539, 458, 149, 545, 886, 889,
1108, 415, 415, 536, 284, 308, 760, 761, 762, 173,
765, 703, 290, 477, 705, 706, 1243, 845, 539, 40,
1150, 39, 303, 310, 536, 492, 494, 1218, 1219, 1221,
173, 1151, 1160, 1189, 290, 511, 207, 536, 1189, 190,
355, 386, 1176, 60, 131, 114, 1048, 40, 1121, 1107,
1104, 535, 1151, 536, 539, 40, 1114, 1115, 1258, 536,
1242, 1189, 536, 535, 404, 535, 536, 539, 539, 40,
1062, 478, 1243, 536, 539, 295, 471, 267, 294, 1011,
1026, 37, 1029, 1029, 839, 850, 549, 1243, 438, 855,
535, 891, 535, 860, 600, 1241, 891, 891, 196, 1150,
473, 598, 403, 1017, 1243, 1193, 173, 799, 799, 1193,
1193, 1150, 438, 1189, 1189, 609, 610, 1260, 814, 815,
814, 815, 1242, 549, 536, 539, 122, 528, 535, 576,
627, 699, 973, 1249, 973, 294, 299, 353, 973, 973,
1108, 908, 44, 201, 290, 657, 535, 695, 1150, 208,
180, 330, 409, 310, 666, 667, 668, 536, 1246, 6,
778, 728, 633, 670, 1243, 536, 723, 166, 798, 601,
956, 1241, 496, 1087, 723, 1038, 1001, 671, 633, 670,
644, 535, 677, 675, 676, 386, 386, 74, 313, 74,
687, 853, 536, 1241, 773, 881, 892, 1126, 538, 138,
492, 492, 761, 385, 435, 763, 143, 766, 488, 768,
477, 703, 723, 549, 1217, 1261, 151, 39, 90, 462,
496, 39, 496, 241, 309, 1226, 310, 536, 1150, 536,
536, 478, 54, 105, 461, 1150, 1177, 1178, 1177, 1177,
536, 170, 170, 659, 1243, 1215, 1111, 539, 1119, 1261,
536, 539, 173, 1126, 536, 536, 1189, 535, 1189, 1073,
1171, 1173, 1080, 1038, 1108, 856, 403, 267, 1150, 444,
444, 179, 1243, 659, 679, 901, 861, 860, 658, 679,
679, 695, 536, 1150, 438, 536, 316, 393, 359, 800,
800, 536, 536, 536, 1243, 536, 536, 536, 539, 1248,
976, 626, 576, 628, 629, 1249, 1249, 299, 528, 659,
528, 659, 1249, 1249, 210, 696, 536, 438, 127, 471,
310, 668, 310, 667, 535, 536, 539, 608, 400, 723,
815, 40, 40, 535, 1243, 956, 687, 675, 608, 671,
535, 673, 674, 1155, 1258, 678, 676, 677, 313, 313,
535, 204, 857, 173, 887, 32, 219, 944, 181, 181,
973, 385, 419, 767, 535, 158, 496, 39, 496, 39,
496, 496, 354, 354, 1221, 145, 151, 1178, 385, 172,
340, 172, 340, 155, 1179, 1179, 1179, 61, 61, 403,
83, 536, 1152, 1115, 317, 3, 122, 294, 299, 334,
1116, 1117, 40, 1092, 369, 1102, 536, 1072, 536, 1020,
61, 127, 138, 471, 1030, 1031, 138, 218, 1032, 837,
1017, 536, 665, 536, 861, 662, 773, 773, 1243, 867,
61, 1017, 448, 609, 815, 536, 539, 528, 659, 536,
424, 1243, 65, 290, 374, 403, 669, 669, 536, 6,
400, 1243, 795, 1038, 723, 676, 671, 675, 1150, 536,
539, 859, 859, 677, 678, 854, 535, 647, 143, 295,
535, 939, 941, 945, 1003, 1012, 1019, 1038, 1049, 867,
867, 764, 1258, 1150, 769, 496, 496, 310, 310, 536,
1219, 37, 105, 188, 290, 445, 659, 659, 1258, 535,
1165, 1151, 1151, 299, 1151, 1117, 1258, 535, 536, 1108,
414, 439, 295, 403, 295, 122, 324, 479, 535, 1033,
549, 773, 666, 1017, 815, 535, 629, 26, 122, 299,
1243, 723, 956, 677, 675, 676, 536, 674, 547, 547,
678, 536, 856, 858, 601, 385, 940, 941, 942, 1039,
1040, 539, 539, 536, 1246, 389, 389, 310, 1178, 385,
318, 403, 403, 448, 473, 283, 1122, 1123, 1258, 83,
1150, 1020, 479, 1006, 535, 1007, 773, 1189, 658, 658,
723, 678, 676, 677, 859, 857, 536, 539, 678, 768,
536, 538, 448, 179, 535, 426, 426, 151, 1258, 1258,
230, 1246, 1247, 1258, 334, 1124, 536, 539, 173, 1126,
1114, 536, 478, 1189, 536, 536, 677, 678, 547, 647,
856, 1108, 158, 942, 415, 415, 5, 770, 771, 1248,
1249, 1261, 535, 122, 1249, 1222, 1123, 317, 159, 334,
1125, 1224, 536, 1033, 536, 324, 1033, 678, 601, 769,
492, 492, 536, 539, 1190, 1247, 40, 83, 536, 1125,
1249, 1218, 1125, 1006, 678, 1246, 181, 181, 771, 1057,
473, 1243, 535, 1222, 1226, 1218, 478, 1108, 535, 867,
867, 536, 1258, 83, 1122, 1221, 1226, 1033, 770, 535,
536, 1221, 536, 1122, 536
};
#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 924 "gram.y"
{
pg_yyget_extra(yyscanner)->parsetree = (yyvsp[(1) - (1)].list);
(void) yynerrs; /* suppress compiler warning */
;}
break;
case 3:
#line 929 "gram.y"
{
pg_yyget_extra(yyscanner)->parsetree = list_make1((yyvsp[(2) - (2)].typnam));
;}
break;
case 4:
#line 933 "gram.y"
{
pg_yyget_extra(yyscanner)->parsetree =
list_make1(makeRawStmt((yyvsp[(2) - (2)].node), 0));
;}
break;
case 5:
#line 938 "gram.y"
{
PLAssignStmt *n = (PLAssignStmt *) (yyvsp[(2) - (2)].node);
n->nnames = 1;
pg_yyget_extra(yyscanner)->parsetree =
list_make1(makeRawStmt((Node *) n, 0));
;}
break;
case 6:
#line 946 "gram.y"
{
PLAssignStmt *n = (PLAssignStmt *) (yyvsp[(2) - (2)].node);
n->nnames = 2;
pg_yyget_extra(yyscanner)->parsetree =
list_make1(makeRawStmt((Node *) n, 0));
;}
break;
case 7:
#line 954 "gram.y"
{
PLAssignStmt *n = (PLAssignStmt *) (yyvsp[(2) - (2)].node);
n->nnames = 3;
pg_yyget_extra(yyscanner)->parsetree =
list_make1(makeRawStmt((Node *) n, 0));
;}
break;
case 8:
#line 974 "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[(2) - (3)]) + 1));
else
(yyval.list) = (yyvsp[(1) - (3)].list);
;}
break;
case 9:
#line 986 "gram.y"
{
if ((yyvsp[(1) - (1)].node) != NULL)
(yyval.list) = list_make1(makeRawStmt((yyvsp[(1) - (1)].node), 0));
else
(yyval.list) = NIL;
;}
break;
case 136:
#line 1129 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 137:
#line 1136 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 138:
#line 1137 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 139:
#line 1141 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 140:
#line 1142 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 141:
#line 1146 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 142:
#line 1147 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 143:
#line 1151 "gram.y"
{ (yyval.dbehavior) = DROP_CASCADE; ;}
break;
case 144:
#line 1152 "gram.y"
{ (yyval.dbehavior) = DROP_RESTRICT; ;}
break;
case 145:
#line 1153 "gram.y"
{ (yyval.dbehavior) = DROP_RESTRICT; /* default */ ;}
break;
case 146:
#line 1163 "gram.y"
{
CallStmt *n = makeNode(CallStmt);
n->funccall = castNode(FuncCall, (yyvsp[(2) - (2)].node));
(yyval.node) = (Node *) n;
;}
break;
case 147:
#line 1179 "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 1201 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 152:
#line 1202 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 153:
#line 1206 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 154:
#line 1207 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 155:
#line 1212 "gram.y"
{
(yyval.defelt) = makeDefElem("password",
(Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
(yyval.defelt)->arg_location = (yylsp[(2) - (2)]);
;}
break;
case 156:
#line 1218 "gram.y"
{
(yyval.defelt) = makeDefElem("password",
(Node *)makeParamRef((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)])), (yylsp[(1) - (2)]));
;}
break;
case 157:
#line 1223 "gram.y"
{
(yyval.defelt) = makeDefElem("password", NULL, (yylsp[(1) - (2)]));
;}
break;
case 158:
#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 *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
(yyval.defelt)->arg_location = (yylsp[(3) - (3)]);
;}
break;
case 159:
#line 1238 "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 1248 "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 1256 "gram.y"
{
(yyval.defelt) = makeDefElem("inherit", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 162:
#line 1260 "gram.y"
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *) makeInteger((yyvsp[(3) - (3)].ival)), (yylsp[(1) - (3)]));
;}
break;
case 163:
#line 1264 "gram.y"
{
(yyval.defelt) = makeDefElem("validUntil", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
(yyval.defelt)->arg_location = (yylsp[(3) - (3)]);
;}
break;
case 164:
#line 1270 "gram.y"
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 165:
#line 1274 "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 1321 "gram.y"
{ (yyval.defelt) = (yyvsp[(1) - (1)].defelt); ;}
break;
case 167:
#line 1324 "gram.y"
{
(yyval.defelt) = makeDefElem("sysid", (Node *) makeInteger((yyvsp[(2) - (2)].ival)), (yylsp[(1) - (2)]));
;}
break;
case 168:
#line 1328 "gram.y"
{
(yyval.defelt) = makeDefElem("adminmembers", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 169:
#line 1332 "gram.y"
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 170:
#line 1336 "gram.y"
{
(yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 171:
#line 1340 "gram.y"
{
(yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 172:
#line 1354 "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 1373 "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 1382 "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 1393 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 176:
#line 1394 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); ;}
break;
case 177:
#line 1399 "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 1408 "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 1417 "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 1426 "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 1448 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *) n;
;}
break;
case 182:
#line 1456 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = true;
n->roles = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 183:
#line 1464 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *) n;
;}
break;
case 184:
#line 1472 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->roles = (yyvsp[(5) - (5)].list);
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 185:
#line 1480 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *) n;
;}
break;
case 186:
#line 1488 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = true;
n->roles = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 187:
#line 1506 "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 1525 "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 1536 "gram.y"
{ (yyval.ival) = +1; ;}
break;
case 190:
#line 1537 "gram.y"
{ (yyval.ival) = -1; ;}
break;
case 191:
#line 1549 "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 1560 "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 1571 "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 1587 "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 1606 "gram.y"
{
if ((yyloc) < 0) /* see comments for YYLLOC_DEFAULT */
(yyloc) = (yylsp[(2) - (2)]);
(yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node));
;}
break;
case 196:
#line 1612 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 203:
#line 1640 "gram.y"
{
VariableSetStmt *n = (yyvsp[(2) - (2)].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
;}
break;
case 204:
#line 1647 "gram.y"
{
VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
n->is_local = true;
(yyval.node) = (Node *) n;
;}
break;
case 205:
#line 1654 "gram.y"
{
VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
;}
break;
case 206:
#line 1664 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "TRANSACTION";
n->args = (yyvsp[(2) - (2)].list);
(yyval.vsetstmt) = n;
;}
break;
case 207:
#line 1673 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "SESSION CHARACTERISTICS";
n->args = (yyvsp[(5) - (5)].list);
(yyval.vsetstmt) = n;
;}
break;
case 209:
#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);
(yyval.vsetstmt) = n;
;}
break;
case 210:
#line 1695 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = (yyvsp[(1) - (3)].str);
n->args = (yyvsp[(3) - (3)].list);
(yyval.vsetstmt) = n;
;}
break;
case 211:
#line 1704 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[(1) - (3)].str);
(yyval.vsetstmt) = n;
;}
break;
case 212:
#line 1712 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[(1) - (3)].str);
(yyval.vsetstmt) = n;
;}
break;
case 213:
#line 1722 "gram.y"
{(yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt);;}
break;
case 214:
#line 1724 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_CURRENT;
n->name = (yyvsp[(1) - (3)].str);
(yyval.vsetstmt) = n;
;}
break;
case 215:
#line 1733 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "timezone";
if ((yyvsp[(3) - (3)].node) != NULL)
n->args = list_make1((yyvsp[(3) - (3)].node));
else
n->kind = VAR_SET_DEFAULT;
(yyval.vsetstmt) = n;
;}
break;
case 216:
#line 1745 "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 1753 "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)])));
(yyval.vsetstmt) = n;
;}
break;
case 218:
#line 1762 "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 1770 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "client_encoding";
if ((yyvsp[(2) - (2)].str) != NULL)
n->args = list_make1(makeStringConst((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)])));
else
n->kind = VAR_SET_DEFAULT;
(yyval.vsetstmt) = n;
;}
break;
case 220:
#line 1782 "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)])));
(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)])));
(yyval.vsetstmt) = n;
;}
break;
case 223:
#line 1808 "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 1816 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = "session_authorization";
(yyval.vsetstmt) = n;
;}
break;
case 225:
#line 1824 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "xmloption";
n->args = list_make1(makeStringConst((yyvsp[(3) - (3)].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[(3) - (3)])));
(yyval.vsetstmt) = n;
;}
break;
case 226:
#line 1834 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_MULTI;
n->name = "TRANSACTION SNAPSHOT";
n->args = list_make1(makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)])));
(yyval.vsetstmt) = n;
;}
break;
case 227:
#line 1844 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 228:
#line 1846 "gram.y"
{ (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); ;}
break;
case 229:
#line 1849 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 230:
#line 1850 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 231:
#line 1854 "gram.y"
{ (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;}
break;
case 232:
#line 1856 "gram.y"
{ (yyval.node) = makeAConst((yyvsp[(1) - (1)].node), (yylsp[(1) - (1)])); ;}
break;
case 233:
#line 1858 "gram.y"
{ (yyval.node) = makeParamRef((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;}
break;
case 234:
#line 1861 "gram.y"
{ (yyval.str) = "read uncommitted"; ;}
break;
case 235:
#line 1862 "gram.y"
{ (yyval.str) = "read committed"; ;}
break;
case 236:
#line 1863 "gram.y"
{ (yyval.str) = "repeatable read"; ;}
break;
case 237:
#line 1864 "gram.y"
{ (yyval.str) = "serializable"; ;}
break;
case 238:
#line 1868 "gram.y"
{ (yyval.str) = "true"; ;}
break;
case 239:
#line 1869 "gram.y"
{ (yyval.str) = "false"; ;}
break;
case 240:
#line 1870 "gram.y"
{ (yyval.str) = "on"; ;}
break;
case 241:
#line 1876 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 242:
#line 1889 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 243:
#line 1893 "gram.y"
{
(yyval.node) = makeParamRef((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)]));
;}
break;
case 244:
#line 1897 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 245:
#line 1901 "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 1918 "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 1925 "gram.y"
{ (yyval.node) = makeAConst((yyvsp[(1) - (1)].node), (yylsp[(1) - (1)])); ;}
break;
case 248:
#line 1926 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 249:
#line 1927 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 250:
#line 1931 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 251:
#line 1932 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 252:
#line 1933 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 253:
#line 1937 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 254:
#line 1938 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 255:
#line 1942 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(2) - (2)].vsetstmt); ;}
break;
case 256:
#line 1946 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt); ;}
break;
case 257:
#line 1948 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "timezone";
(yyval.vsetstmt) = n;
;}
break;
case 258:
#line 1956 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "transaction_isolation";
(yyval.vsetstmt) = n;
;}
break;
case 259:
#line 1964 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "session_authorization";
(yyval.vsetstmt) = n;
;}
break;
case 260:
#line 1975 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = (yyvsp[(1) - (1)].str);
(yyval.vsetstmt) = n;
;}
break;
case 261:
#line 1983 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET_ALL;
(yyval.vsetstmt) = n;
;}
break;
case 262:
#line 1993 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;}
break;
case 263:
#line 1994 "gram.y"
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;}
break;
case 264:
#line 1999 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;}
break;
case 265:
#line 2000 "gram.y"
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;}
break;
case 266:
#line 2006 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 267:
#line 2013 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "timezone";
(yyval.node) = (Node *) n;
;}
break;
case 268:
#line 2020 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "transaction_isolation";
(yyval.node) = (Node *) n;
;}
break;
case 269:
#line 2027 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "session_authorization";
(yyval.node) = (Node *) n;
;}
break;
case 270:
#line 2034 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "all";
(yyval.node) = (Node *) n;
;}
break;
case 271:
#line 2045 "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 2055 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 273:
#line 2056 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 274:
#line 2060 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 275:
#line 2061 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 276:
#line 2070 "gram.y"
{
CheckPointStmt *n = makeNode(CheckPointStmt);
(yyval.node) = (Node *) n;
;}
break;
case 277:
#line 2086 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_ALL;
(yyval.node) = (Node *) n;
;}
break;
case 278:
#line 2093 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
;}
break;
case 279:
#line 2100 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
;}
break;
case 280:
#line 2107 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_PLANS;
(yyval.node) = (Node *) n;
;}
break;
case 281:
#line 2114 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_SEQUENCES;
(yyval.node) = (Node *) n;
;}
break;
case 282:
#line 2134 "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 2144 "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 2154 "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 2164 "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 2174 "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 2186 "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 2198 "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 2208 "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 2218 "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 2228 "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 2240 "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 2252 "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 2262 "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 2272 "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 2282 "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 2292 "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 2302 "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 2312 "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 2324 "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 2336 "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 2346 "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 2358 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 304:
#line 2359 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 305:
#line 2365 "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 2379 "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 2392 "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 2408 "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 2425 "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 2435 "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 2445 "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 2455 "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 2465 "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 2475 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropNotNull;
n->name = (yyvsp[(3) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 315:
#line 2484 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetNotNull;
n->name = (yyvsp[(3) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 316:
#line 2493 "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 2503 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropExpression;
n->name = (yyvsp[(3) - (5)].str);
(yyval.node) = (Node *) n;
;}
break;
case 318:
#line 2512 "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 2522 "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 2532 "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 2548 "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 2558 "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 2568 "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 2578 "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 2588 "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 2605 "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 2615 "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 2625 "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 2635 "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 2646 "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 2660 "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 2676 "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 2686 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddConstraint;
n->def = (yyvsp[(2) - (2)].node);
(yyval.node) = (Node *) n;
;}
break;
case 334:
#line 2695 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
Constraint *c = makeNode(Constraint);
n->subtype = AT_AlterConstraint;
n->def = (Node *) c;
c->contype = CONSTR_FOREIGN; /* others not supported, yet */
c->conname = (yyvsp[(3) - (4)].str);
processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "FOREIGN KEY",
&c->deferrable,
&c->initdeferred,
NULL, NULL, yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 335:
#line 2711 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ValidateConstraint;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 336:
#line 2720 "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 337:
#line 2731 "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 338:
#line 2742 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOids;
(yyval.node) = (Node *) n;
;}
break;
case 339:
#line 2750 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ClusterOn;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 340:
#line 2759 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropCluster;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 341:
#line 2768 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetLogged;
(yyval.node) = (Node *) n;
;}
break;
case 342:
#line 2776 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetUnLogged;
(yyval.node) = (Node *) n;
;}
break;
case 343:
#line 2784 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrig;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 344:
#line 2793 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysTrig;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *) n;
;}
break;
case 345:
#line 2802 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaTrig;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *) n;
;}
break;
case 346:
#line 2811 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigAll;
(yyval.node) = (Node *) n;
;}
break;
case 347:
#line 2819 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigUser;
(yyval.node) = (Node *) n;
;}
break;
case 348:
#line 2827 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrig;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 349:
#line 2836 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigAll;
(yyval.node) = (Node *) n;
;}
break;
case 350:
#line 2844 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigUser;
(yyval.node) = (Node *) n;
;}
break;
case 351:
#line 2852 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRule;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 352:
#line 2861 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysRule;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *) n;
;}
break;
case 353:
#line 2870 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaRule;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *) n;
;}
break;
case 354:
#line 2879 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRule;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 355:
#line 2888 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddInherit;
n->def = (Node *) (yyvsp[(2) - (2)].range);
(yyval.node) = (Node *) n;
;}
break;
case 356:
#line 2897 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropInherit;
n->def = (Node *) (yyvsp[(3) - (3)].range);
(yyval.node) = (Node *) n;
;}
break;
case 357:
#line 2906 "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 358:
#line 2917 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOf;
(yyval.node) = (Node *) n;
;}
break;
case 359:
#line 2925 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ChangeOwner;
n->newowner = (yyvsp[(3) - (3)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 360:
#line 2934 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetAccessMethod;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *) n;
;}
break;
case 361:
#line 2943 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetTableSpace;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 362:
#line 2952 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetRelOptions;
n->def = (Node *) (yyvsp[(2) - (2)].list);
(yyval.node) = (Node *) n;
;}
break;
case 363:
#line 2961 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetRelOptions;
n->def = (Node *) (yyvsp[(2) - (2)].list);
(yyval.node) = (Node *) n;
;}
break;
case 364:
#line 2970 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ReplicaIdentity;
n->def = (yyvsp[(3) - (3)].node);
(yyval.node) = (Node *) n;
;}
break;
case 365:
#line 2979 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRowSecurity;
(yyval.node) = (Node *) n;
;}
break;
case 366:
#line 2987 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRowSecurity;
(yyval.node) = (Node *) n;
;}
break;
case 367:
#line 2995 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ForceRowSecurity;
(yyval.node) = (Node *) n;
;}
break;
case 368:
#line 3003 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_NoForceRowSecurity;
(yyval.node) = (Node *) n;
;}
break;
case 369:
#line 3010 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_GenericOptions;
n->def = (Node *) (yyvsp[(1) - (1)].list);
(yyval.node) = (Node *) n;
;}
break;
case 370:
#line 3020 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (3)].node); ;}
break;
case 371:
#line 3021 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 372:
#line 3026 "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 373:
#line 3034 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 374:
#line 3038 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 375:
#line 3039 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 376:
#line 3044 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_NOTHING;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 377:
#line 3052 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_FULL;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 378:
#line 3060 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_DEFAULT;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 379:
#line 3068 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_INDEX;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 380:
#line 3078 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 381:
#line 3081 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 382:
#line 3082 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 383:
#line 3086 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 384:
#line 3087 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 385:
#line 3093 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 386:
#line 3097 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)]));
;}
break;
case 387:
#line 3101 "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 388:
#line 3106 "gram.y"
{
(yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str), NULL, DEFELEM_UNSPEC, (yylsp[(1) - (3)]));
;}
break;
case 389:
#line 3113 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 390:
#line 3115 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 391:
#line 3120 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[(1) - (1)]));
;}
break;
case 392:
#line 3124 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 393:
#line 3128 "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 394:
#line 3139 "gram.y"
{
(yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[(3) - (3)].ival)), (yylsp[(1) - (3)]));
;}
break;
case 395:
#line 3145 "gram.y"
{ (yyval.node) = (Node *) makeInteger((yyvsp[(1) - (1)].ival)); ;}
break;
case 396:
#line 3146 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 397:
#line 3150 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 398:
#line 3151 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 399:
#line 3157 "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")));
if (n->remainder == -1)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("remainder for hash partition must be specified")));
n->location = (yylsp[(3) - (6)]);
(yyval.partboundspec) = n;
;}
break;
case 400:
#line 3210 "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 401:
#line 3223 "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 402:
#line 3237 "gram.y"
{
PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
n->is_default = true;
n->location = (yylsp[(1) - (1)]);
(yyval.partboundspec) = n;
;}
break;
case 403:
#line 3249 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (Node *) makeInteger((yyvsp[(2) - (2)].ival)), (yylsp[(1) - (2)]));
;}
break;
case 404:
#line 3256 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 405:
#line 3260 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 406:
#line 3274 "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 407:
#line 3286 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 408:
#line 3287 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 409:
#line 3293 "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 410:
#line 3303 "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 411:
#line 3314 "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 412:
#line 3325 "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 413:
#line 3352 "gram.y"
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 414:
#line 3359 "gram.y"
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 415:
#line 3395 "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 416:
#line 3429 "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 417:
#line 3451 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 418:
#line 3452 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 419:
#line 3456 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 420:
#line 3457 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 421:
#line 3466 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 422:
#line 3467 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 423:
#line 3468 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 424:
#line 3471 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 425:
#line 3472 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 426:
#line 3477 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 427:
#line 3478 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 428:
#line 3483 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[(1) - (1)]));
;}
break;
case 429:
#line 3487 "gram.y"
{
(yyval.defelt) = makeDefElem("freeze", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 430:
#line 3491 "gram.y"
{
(yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 431:
#line 3495 "gram.y"
{
(yyval.defelt) = makeDefElem("null", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 432:
#line 3499 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *) makeString("csv"), (yylsp[(1) - (1)]));
;}
break;
case 433:
#line 3503 "gram.y"
{
(yyval.defelt) = makeDefElem("header", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 434:
#line 3507 "gram.y"
{
(yyval.defelt) = makeDefElem("quote", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 435:
#line 3511 "gram.y"
{
(yyval.defelt) = makeDefElem("escape", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 436:
#line 3515 "gram.y"
{
(yyval.defelt) = makeDefElem("force_quote", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 437:
#line 3519 "gram.y"
{
(yyval.defelt) = makeDefElem("force_quote", (Node *) makeNode(A_Star), (yylsp[(1) - (3)]));
;}
break;
case 438:
#line 3523 "gram.y"
{
(yyval.defelt) = makeDefElem("force_not_null", (Node *) (yyvsp[(4) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 439:
#line 3527 "gram.y"
{
(yyval.defelt) = makeDefElem("force_not_null", (Node *) makeNode(A_Star), (yylsp[(1) - (4)]));
;}
break;
case 440:
#line 3531 "gram.y"
{
(yyval.defelt) = makeDefElem("force_null", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 441:
#line 3535 "gram.y"
{
(yyval.defelt) = makeDefElem("force_null", (Node *) makeNode(A_Star), (yylsp[(1) - (3)]));
;}
break;
case 442:
#line 3539 "gram.y"
{
(yyval.defelt) = makeDefElem("encoding", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 443:
#line 3548 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[(1) - (1)]));
;}
break;
case 444:
#line 3551 "gram.y"
{ (yyval.defelt) = NULL; ;}
break;
case 445:
#line 3556 "gram.y"
{
(yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(2) - (3)]));
;}
break;
case 446:
#line 3559 "gram.y"
{ (yyval.defelt) = NULL; ;}
break;
case 449:
#line 3570 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 450:
#line 3574 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 451:
#line 3581 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 452:
#line 3587 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 453:
#line 3588 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;}
break;
case 454:
#line 3589 "gram.y"
{ (yyval.node) = (Node *) makeNode(A_Star); ;}
break;
case 455:
#line 3590 "gram.y"
{ (yyval.node) = (Node *) makeString("default"); ;}
break;
case 456:
#line 3591 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); ;}
break;
case 457:
#line 3592 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 458:
#line 3597 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 459:
#line 3601 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 460:
#line 3608 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 461:
#line 3622 "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 462:
#line 3642 "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 463:
#line 3662 "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 464:
#line 3683 "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 465:
#line 3704 "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 466:
#line 3725 "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 467:
#line 3756 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 468:
#line 3757 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 469:
#line 3758 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 470:
#line 3759 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 471:
#line 3761 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[(1) - (2)]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
;}
break;
case 472:
#line 3768 "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 3774 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;}
break;
case 474:
#line 3775 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; ;}
break;
case 475:
#line 3779 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 476:
#line 3780 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 477:
#line 3784 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 478:
#line 3785 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 479:
#line 3790 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 480:
#line 3794 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 481:
#line 3801 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 482:
#line 3805 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 483:
#line 3811 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 484:
#line 3812 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 485:
#line 3813 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 486:
#line 3817 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 487:
#line 3818 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 488:
#line 3822 "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 489:
#line 3846 "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 490:
#line 3865 "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 491:
#line 3886 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 492:
#line 3887 "gram.y"
{ (yyval.str) = pstrdup("default"); ;}
break;
case 493:
#line 3891 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 494:
#line 3892 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 495:
#line 3896 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 496:
#line 3897 "gram.y"
{ (yyval.str) = pstrdup("default"); ;}
break;
case 497:
#line 3901 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 498:
#line 3902 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 499:
#line 3906 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 500:
#line 3907 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 501:
#line 3912 "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 502:
#line 3919 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 503:
#line 3920 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 504:
#line 3922 "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 505:
#line 3954 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NOTNULL;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 506:
#line 3962 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NULL;
n->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *) n;
;}
break;
case 507:
#line 3970 "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 508:
#line 3983 "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 509:
#line 3995 "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->skip_validation = false;
n->initially_valid = true;
(yyval.node) = (Node *) n;
;}
break;
case 510:
#line 4008 "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 511:
#line 4018 "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 512:
#line 4028 "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->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 513:
#line 4052 "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->skip_validation = false;
n->initially_valid = true;
(yyval.node) = (Node *) n;
;}
break;
case 514:
#line 4071 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 515:
#line 4072 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 516:
#line 4073 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 517:
#line 4077 "gram.y"
{ (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; ;}
break;
case 518:
#line 4078 "gram.y"
{ (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; ;}
break;
case 519:
#line 4098 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRABLE;
n->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *) n;
;}
break;
case 520:
#line 4106 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 521:
#line 4114 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRED;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 522:
#line 4122 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_IMMEDIATE;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *) n;
;}
break;
case 523:
#line 4134 "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 524:
#line 4145 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); ;}
break;
case 525:
#line 4146 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) & ~(yyvsp[(3) - (3)].ival); ;}
break;
case 526:
#line 4147 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 527:
#line 4151 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; ;}
break;
case 528:
#line 4152 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_COMPRESSION; ;}
break;
case 529:
#line 4153 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; ;}
break;
case 530:
#line 4154 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; ;}
break;
case 531:
#line 4155 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; ;}
break;
case 532:
#line 4156 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; ;}
break;
case 533:
#line 4157 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; ;}
break;
case 534:
#line 4158 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; ;}
break;
case 535:
#line 4159 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; ;}
break;
case 536:
#line 4160 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_ALL; ;}
break;
case 537:
#line 4170 "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 538:
#line 4177 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 539:
#line 4182 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_CHECK;
n->location = (yylsp[(1) - (5)]);
n->raw_expr = (yyvsp[(3) - (5)].node);
n->cooked_expr = NULL;
processCASbits((yyvsp[(5) - (5)].ival), (yylsp[(5) - (5)]), "CHECK",
NULL, NULL, &n->skip_validation,
&n->is_no_inherit, yyscanner);
n->initially_valid = !n->skip_validation;
(yyval.node) = (Node *) n;
;}
break;
case 540:
#line 4197 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
n->location = (yylsp[(1) - (9)]);
n->nulls_not_distinct = !(yyvsp[(2) - (9)].boolean);
n->keys = (yyvsp[(4) - (9)].list);
n->including = (yyvsp[(6) - (9)].list);
n->options = (yyvsp[(7) - (9)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(8) - (9)].str);
processCASbits((yyvsp[(9) - (9)].ival), (yylsp[(9) - (9)]), "UNIQUE",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 541:
#line 4214 "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, yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 542:
#line 4231 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_PRIMARY;
n->location = (yylsp[(1) - (9)]);
n->keys = (yyvsp[(4) - (9)].list);
n->including = (yyvsp[(6) - (9)].list);
n->options = (yyvsp[(7) - (9)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(8) - (9)].str);
processCASbits((yyvsp[(9) - (9)].ival), (yylsp[(9) - (9)]), "PRIMARY KEY",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 543:
#line 4247 "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, yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 544:
#line 4265 "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, yyscanner);
(yyval.node) = (Node *) n;
;}
break;
case 545:
#line 4284 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_FOREIGN;
n->location = (yylsp[(1) - (11)]);
n->pktable = (yyvsp[(7) - (11)].range);
n->fk_attrs = (yyvsp[(4) - (11)].list);
n->pk_attrs = (yyvsp[(8) - (11)].list);
n->fk_matchtype = (yyvsp[(9) - (11)].ival);
n->fk_upd_action = ((yyvsp[(10) - (11)].keyactions))->updateAction->action;
n->fk_del_action = ((yyvsp[(10) - (11)].keyactions))->deleteAction->action;
n->fk_del_set_cols = ((yyvsp[(10) - (11)].keyactions))->deleteAction->cols;
processCASbits((yyvsp[(11) - (11)].ival), (yylsp[(11) - (11)]), "FOREIGN KEY",
&n->deferrable, &n->initdeferred,
&n->skip_validation, NULL,
yyscanner);
n->initially_valid = !n->skip_validation;
(yyval.node) = (Node *) n;
;}
break;
case 546:
#line 4318 "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 547:
#line 4325 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 548:
#line 4330 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_CHECK;
n->location = (yylsp[(1) - (5)]);
n->raw_expr = (yyvsp[(3) - (5)].node);
n->cooked_expr = NULL;
processCASbits((yyvsp[(5) - (5)].ival), (yylsp[(5) - (5)]), "CHECK",
NULL, NULL, &n->skip_validation,
&n->is_no_inherit, yyscanner);
n->initially_valid = !n->skip_validation;
(yyval.node) = (Node *) n;
;}
break;
case 549:
#line 4344 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NOTNULL;
n->location = (yylsp[(1) - (3)]);
n->keys = list_make1(makeString("value"));
/* no NOT VALID support yet */
processCASbits((yyvsp[(3) - (3)].ival), (yylsp[(3) - (3)]), "NOT NULL",
NULL, NULL, NULL,
&n->is_no_inherit, yyscanner);
n->initially_valid = true;
(yyval.node) = (Node *) n;
;}
break;
case 550:
#line 4359 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 551:
#line 4360 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 552:
#line 4364 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 553:
#line 4365 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 554:
#line 4369 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 555:
#line 4370 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 556:
#line 4374 "gram.y"
{
(yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str));
;}
break;
case 557:
#line 4379 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 558:
#line 4380 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 559:
#line 4384 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_FULL;
;}
break;
case 560:
#line 4388 "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 561:
#line 4396 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
;}
break;
case 562:
#line 4400 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
;}
break;
case 563:
#line 4406 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
break;
case 564:
#line 4408 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
break;
case 565:
#line 4412 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (3)].ielem), (yyvsp[(3) - (3)].list));
;}
break;
case 566:
#line 4417 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (6)].ielem), (yyvsp[(5) - (6)].list));
;}
break;
case 567:
#line 4423 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); ;}
break;
case 568:
#line 4424 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 569:
#line 4429 "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 570:
#line 4439 "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 571:
#line 4449 "gram.y"
{
KeyActions *n = palloc(sizeof(KeyActions));
n->updateAction = (yyvsp[(1) - (2)].keyaction);
n->deleteAction = (yyvsp[(2) - (2)].keyaction);
(yyval.keyactions) = n;
;}
break;
case 572:
#line 4457 "gram.y"
{
KeyActions *n = palloc(sizeof(KeyActions));
n->updateAction = (yyvsp[(2) - (2)].keyaction);
n->deleteAction = (yyvsp[(1) - (2)].keyaction);
(yyval.keyactions) = n;
;}
break;
case 573:
#line 4465 "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 574:
#line 4479 "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 575:
#line 4491 "gram.y"
{
(yyval.keyaction) = (yyvsp[(3) - (3)].keyaction);
;}
break;
case 576:
#line 4498 "gram.y"
{
KeyAction *n = palloc(sizeof(KeyAction));
n->action = FKCONSTR_ACTION_NOACTION;
n->cols = NIL;
(yyval.keyaction) = n;
;}
break;
case 577:
#line 4506 "gram.y"
{
KeyAction *n = palloc(sizeof(KeyAction));
n->action = FKCONSTR_ACTION_RESTRICT;
n->cols = NIL;
(yyval.keyaction) = n;
;}
break;
case 578:
#line 4514 "gram.y"
{
KeyAction *n = palloc(sizeof(KeyAction));
n->action = FKCONSTR_ACTION_CASCADE;
n->cols = NIL;
(yyval.keyaction) = n;
;}
break;
case 579:
#line 4522 "gram.y"
{
KeyAction *n = palloc(sizeof(KeyAction));
n->action = FKCONSTR_ACTION_SETNULL;
n->cols = (yyvsp[(3) - (3)].list);
(yyval.keyaction) = n;
;}
break;
case 580:
#line 4530 "gram.y"
{
KeyAction *n = palloc(sizeof(KeyAction));
n->action = FKCONSTR_ACTION_SETDEFAULT;
n->cols = (yyvsp[(3) - (3)].list);
(yyval.keyaction) = n;
;}
break;
case 581:
#line 4539 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 582:
#line 4540 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 583:
#line 4544 "gram.y"
{ (yyval.partspec) = (yyvsp[(1) - (1)].partspec); ;}
break;
case 584:
#line 4545 "gram.y"
{ (yyval.partspec) = NULL; ;}
break;
case 585:
#line 4549 "gram.y"
{
PartitionSpec *n = makeNode(PartitionSpec);
n->strategy = parsePartitionStrategy((yyvsp[(3) - (6)].str));
n->partParams = (yyvsp[(5) - (6)].list);
n->location = (yylsp[(1) - (6)]);
(yyval.partspec) = n;
;}
break;
case 586:
#line 4560 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].partelem)); ;}
break;
case 587:
#line 4561 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].partelem)); ;}
break;
case 588:
#line 4565 "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 589:
#line 4576 "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 590:
#line 4587 "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 591:
#line 4600 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 592:
#line 4601 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 593:
#line 4606 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 594:
#line 4607 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 595:
#line 4608 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 596:
#line 4611 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_DROP; ;}
break;
case 597:
#line 4612 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; ;}
break;
case 598:
#line 4613 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; ;}
break;
case 599:
#line 4614 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_NOOP; ;}
break;
case 600:
#line 4617 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 601:
#line 4618 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 602:
#line 4621 "gram.y"
{ (yyval.str) = (yyvsp[(4) - (4)].str); ;}
break;
case 603:
#line 4622 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 604:
#line 4625 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); ;}
break;
case 605:
#line 4647 "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 606:
#line 4660 "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 607:
#line 4680 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].selem)); ;}
break;
case 608:
#line 4681 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].selem)); ;}
break;
case 609:
#line 4685 "gram.y"
{
(yyval.selem) = makeNode(StatsElem);
(yyval.selem)->name = (yyvsp[(1) - (1)].str);
(yyval.selem)->expr = NULL;
;}
break;
case 610:
#line 4691 "gram.y"
{
(yyval.selem) = makeNode(StatsElem);
(yyval.selem)->name = NULL;
(yyval.selem)->expr = (yyvsp[(1) - (1)].node);
;}
break;
case 611:
#line 4697 "gram.y"
{
(yyval.selem) = makeNode(StatsElem);
(yyval.selem)->name = NULL;
(yyval.selem)->expr = (yyvsp[(2) - (3)].node);
;}
break;
case 612:
#line 4714 "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 613:
#line 4723 "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 614:
#line 4745 "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 615:
#line 4759 "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 616:
#line 4777 "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 617:
#line 4791 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 618:
#line 4792 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 619:
#line 4793 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 620:
#line 4806 "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 621:
#line 4820 "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 622:
#line 4837 "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 623:
#line 4850 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;}
break;
case 624:
#line 4851 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; ;}
break;
case 625:
#line 4864 "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 626:
#line 4885 "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 627:
#line 4896 "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 628:
#line 4910 "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 629:
#line 4919 "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 630:
#line 4930 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 631:
#line 4931 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 632:
#line 4934 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 633:
#line 4935 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 634:
#line 4938 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 635:
#line 4939 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 636:
#line 4943 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[(2) - (2)].typnam), (yylsp[(1) - (2)]));
;}
break;
case 637:
#line 4947 "gram.y"
{
(yyval.defelt) = makeDefElem("cache", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 638:
#line 4951 "gram.y"
{
(yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 639:
#line 4955 "gram.y"
{
(yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(false), (yylsp[(1) - (2)]));
;}
break;
case 640:
#line 4959 "gram.y"
{
(yyval.defelt) = makeDefElem("increment", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 641:
#line 4963 "gram.y"
{
(yyval.defelt) = makeDefElem("logged", NULL, (yylsp[(1) - (1)]));
;}
break;
case 642:
#line 4967 "gram.y"
{
(yyval.defelt) = makeDefElem("maxvalue", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 643:
#line 4971 "gram.y"
{
(yyval.defelt) = makeDefElem("minvalue", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 644:
#line 4975 "gram.y"
{
(yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[(1) - (2)]));
;}
break;
case 645:
#line 4979 "gram.y"
{
(yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[(1) - (2)]));
;}
break;
case 646:
#line 4983 "gram.y"
{
(yyval.defelt) = makeDefElem("owned_by", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 647:
#line 4987 "gram.y"
{
(yyval.defelt) = makeDefElem("sequence_name", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 648:
#line 4991 "gram.y"
{
(yyval.defelt) = makeDefElem("start", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 649:
#line 4995 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[(1) - (1)]));
;}
break;
case 650:
#line 4999 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 651:
#line 5003 "gram.y"
{
(yyval.defelt) = makeDefElem("unlogged", NULL, (yylsp[(1) - (1)]));
;}
break;
case 654:
#line 5013 "gram.y"
{ (yyval.node) = (Node *) makeFloat((yyvsp[(1) - (1)].str)); ;}
break;
case 655:
#line 5014 "gram.y"
{ (yyval.node) = (Node *) makeFloat((yyvsp[(2) - (2)].str)); ;}
break;
case 656:
#line 5016 "gram.y"
{
Float *f = makeFloat((yyvsp[(2) - (2)].str));
doNegateFloat(f);
(yyval.node) = (Node *) f;
;}
break;
case 657:
#line 5022 "gram.y"
{ (yyval.node) = (Node *) makeInteger((yyvsp[(1) - (1)].ival)); ;}
break;
case 658:
#line 5025 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 659:
#line 5026 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 660:
#line 5039 "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 661:
#line 5056 "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 662:
#line 5070 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 663:
#line 5071 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 664:
#line 5079 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 665:
#line 5080 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;}
break;
case 666:
#line 5084 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 667:
#line 5085 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 668:
#line 5089 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 669:
#line 5090 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 670:
#line 5094 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 671:
#line 5095 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 674:
#line 5111 "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 675:
#line 5122 "gram.y"
{ (yyval.rolespec) = (yyvsp[(2) - (2)].rolespec); ;}
break;
case 676:
#line 5123 "gram.y"
{ (yyval.rolespec) = NULL; ;}
break;
case 677:
#line 5137 "gram.y"
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[(3) - (3)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 678:
#line 5145 "gram.y"
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[(5) - (5)].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 679:
#line 5163 "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 680:
#line 5172 "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 681:
#line 5184 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 682:
#line 5186 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 683:
#line 5191 "gram.y"
{
(yyval.defelt) = makeDefElem("schema", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 684:
#line 5195 "gram.y"
{
(yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 685:
#line 5199 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE EXTENSION ... FROM is no longer supported"),
parser_errposition((yylsp[(1) - (2)]))));
;}
break;
case 686:
#line 5206 "gram.y"
{
(yyval.defelt) = makeDefElem("cascade", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 687:
#line 5218 "gram.y"
{
AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
n->extname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 688:
#line 5229 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 689:
#line 5231 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 690:
#line 5236 "gram.y"
{
(yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 691:
#line 5249 "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 692:
#line 5259 "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 693:
#line 5269 "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 694:
#line 5279 "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 695:
#line 5289 "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 696:
#line 5299 "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 697:
#line 5309 "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 698:
#line 5319 "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 699:
#line 5329 "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 700:
#line 5339 "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 701:
#line 5349 "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 702:
#line 5359 "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 703:
#line 5369 "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 704:
#line 5388 "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 705:
#line 5399 "gram.y"
{ (yyval.defelt) = makeDefElem("handler", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;}
break;
case 706:
#line 5400 "gram.y"
{ (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[(1) - (2)])); ;}
break;
case 707:
#line 5401 "gram.y"
{ (yyval.defelt) = makeDefElem("validator", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;}
break;
case 708:
#line 5402 "gram.y"
{ (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[(1) - (2)])); ;}
break;
case 709:
#line 5406 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 710:
#line 5407 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 711:
#line 5411 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 712:
#line 5412 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 713:
#line 5423 "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 714:
#line 5432 "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 715:
#line 5444 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 716:
#line 5445 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 717:
#line 5450 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 718:
#line 5454 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 719:
#line 5461 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 720:
#line 5466 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 721:
#line 5470 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 722:
#line 5477 "gram.y"
{
(yyval.defelt) = (yyvsp[(1) - (1)].defelt);
;}
break;
case 723:
#line 5481 "gram.y"
{
(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
(yyval.defelt)->defaction = DEFELEM_SET;
;}
break;
case 724:
#line 5486 "gram.y"
{
(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
(yyval.defelt)->defaction = DEFELEM_ADD;
;}
break;
case 725:
#line 5491 "gram.y"
{
(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[(2) - (2)].str), NULL, DEFELEM_DROP, (yylsp[(2) - (2)]));
;}
break;
case 726:
#line 5498 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
(yyval.defelt)->arg_location = (yylsp[(2) - (2)]);
;}
break;
case 727:
#line 5505 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 728:
#line 5510 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 729:
#line 5522 "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 730:
#line 5535 "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 731:
#line 5549 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 732:
#line 5550 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 733:
#line 5555 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 734:
#line 5556 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 735:
#line 5560 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 736:
#line 5561 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 737:
#line 5572 "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 738:
#line 5582 "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 739:
#line 5591 "gram.y"
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[(3) - (4)].str);
n->options = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 740:
#line 5611 "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 741:
#line 5632 "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 742:
#line 5653 "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 743:
#line 5675 "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 744:
#line 5708 "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 745:
#line 5722 "gram.y"
{ (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; ;}
break;
case 746:
#line 5723 "gram.y"
{ (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; ;}
break;
case 747:
#line 5728 "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 748:
#line 5736 "gram.y"
{
ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
n->type = FDW_IMPORT_SCHEMA_ALL;
n->table_names = NIL;
(yyval.importqual) = n;
;}
break;
case 749:
#line 5752 "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 750:
#line 5762 "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 751:
#line 5774 "gram.y"
{ (yyval.rolespec) = (yyvsp[(1) - (1)].rolespec); ;}
break;
case 752:
#line 5775 "gram.y"
{ (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)])); ;}
break;
case 753:
#line 5788 "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 754:
#line 5797 "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 755:
#line 5815 "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 756:
#line 5842 "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 757:
#line 5859 "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 758:
#line 5872 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); ;}
break;
case 759:
#line 5873 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 760:
#line 5877 "gram.y"
{ (yyval.node) = (yyvsp[(4) - (5)].node); ;}
break;
case 761:
#line 5878 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 762:
#line 5882 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 763:
#line 5883 "gram.y"
{ (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); ;}
break;
case 764:
#line 5887 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 765:
#line 5888 "gram.y"
{ (yyval.list) = NULL; ;}
break;
case 766:
#line 5893 "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 767:
#line 5906 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 768:
#line 5910 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 769:
#line 5911 "gram.y"
{ (yyval.str) = "all"; ;}
break;
case 770:
#line 5915 "gram.y"
{ (yyval.str) = "all"; ;}
break;
case 771:
#line 5916 "gram.y"
{ (yyval.str) = "select"; ;}
break;
case 772:
#line 5917 "gram.y"
{ (yyval.str) = "insert"; ;}
break;
case 773:
#line 5918 "gram.y"
{ (yyval.str) = "update"; ;}
break;
case 774:
#line 5919 "gram.y"
{ (yyval.str) = "delete"; ;}
break;
case 775:
#line 5930 "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 776:
#line 5941 "gram.y"
{ (yyval.chr) = AMTYPE_INDEX; ;}
break;
case 777:
#line 5942 "gram.y"
{ (yyval.chr) = AMTYPE_TABLE; ;}
break;
case 778:
#line 5956 "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 779:
#line 5980 "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")));
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, yyscanner);
n->constrrel = (yyvsp[(10) - (21)].range);
(yyval.node) = (Node *) n;
;}
break;
case 780:
#line 6008 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_BEFORE; ;}
break;
case 781:
#line 6009 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_AFTER; ;}
break;
case 782:
#line 6010 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_INSTEAD; ;}
break;
case 783:
#line 6015 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 784:
#line 6017 "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 785:
#line 6039 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); ;}
break;
case 786:
#line 6041 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); ;}
break;
case 787:
#line 6043 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); ;}
break;
case 788:
#line 6045 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[(3) - (3)].list)); ;}
break;
case 789:
#line 6047 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); ;}
break;
case 790:
#line 6051 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 791:
#line 6052 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 792:
#line 6056 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 793:
#line 6057 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 794:
#line 6062 "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 795:
#line 6073 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 796:
#line 6074 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 797:
#line 6078 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 798:
#line 6087 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 799:
#line 6091 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 800:
#line 6096 "gram.y"
{
(yyval.boolean) = (yyvsp[(3) - (3)].boolean);
;}
break;
case 801:
#line 6100 "gram.y"
{
/*
* If ROW/STATEMENT not specified, default to
* STATEMENT, per SQL
*/
(yyval.boolean) = false;
;}
break;
case 804:
#line 6115 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 805:
#line 6116 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 806:
#line 6120 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); ;}
break;
case 807:
#line 6121 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 810:
#line 6130 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 811:
#line 6131 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 812:
#line 6132 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 813:
#line 6137 "gram.y"
{
(yyval.node) = (Node *) makeString(psprintf("%d", (yyvsp[(1) - (1)].ival)));
;}
break;
case 814:
#line 6140 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 815:
#line 6141 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 816:
#line 6142 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 817:
#line 6146 "gram.y"
{ (yyval.range) = (yyvsp[(2) - (2)].range); ;}
break;
case 818:
#line 6147 "gram.y"
{ (yyval.range) = NULL; ;}
break;
case 819:
#line 6152 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 820:
#line 6154 "gram.y"
{
/*
* We must complain about conflicting options.
* We could, but choose not to, complain about redundant
* options (ie, where $2's bit is already set in $1).
*/
int newspec = (yyvsp[(1) - (2)].ival) | (yyvsp[(2) - (2)].ival);
/* special message for this case */
if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
parser_errposition((yylsp[(2) - (2)]))));
/* generic message for other conflicts */
if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
(newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("conflicting constraint properties"),
parser_errposition((yylsp[(2) - (2)]))));
(yyval.ival) = newspec;
;}
break;
case 821:
#line 6180 "gram.y"
{ (yyval.ival) = CAS_NOT_DEFERRABLE; ;}
break;
case 822:
#line 6181 "gram.y"
{ (yyval.ival) = CAS_DEFERRABLE; ;}
break;
case 823:
#line 6182 "gram.y"
{ (yyval.ival) = CAS_INITIALLY_IMMEDIATE; ;}
break;
case 824:
#line 6183 "gram.y"
{ (yyval.ival) = CAS_INITIALLY_DEFERRED; ;}
break;
case 825:
#line 6184 "gram.y"
{ (yyval.ival) = CAS_NOT_VALID; ;}
break;
case 826:
#line 6185 "gram.y"
{ (yyval.ival) = CAS_NO_INHERIT; ;}
break;
case 827:
#line 6200 "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 828:
#line 6212 "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 829:
#line 6225 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 830:
#line 6227 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 831:
#line 6232 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (5)].str), (Node *) (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)])); ;}
break;
case 832:
#line 6237 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 833:
#line 6239 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 834:
#line 6244 "gram.y"
{
AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
n->trigname = (yyvsp[(4) - (5)].str);
n->tgenabled = (yyvsp[(5) - (5)].chr);
(yyval.node) = (Node *) n;
;}
break;
case 835:
#line 6254 "gram.y"
{ (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; ;}
break;
case 836:
#line 6255 "gram.y"
{ (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; ;}
break;
case 837:
#line 6256 "gram.y"
{ (yyval.chr) = TRIGGER_FIRES_ALWAYS; ;}
break;
case 838:
#line 6257 "gram.y"
{ (yyval.chr) = TRIGGER_DISABLED; ;}
break;
case 839:
#line 6269 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE ASSERTION is not yet implemented")));
(yyval.node) = NULL;
;}
break;
case 840:
#line 6288 "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 841:
#line 6300 "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 842:
#line 6313 "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 843:
#line 6324 "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 844:
#line 6335 "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 845:
#line 6347 "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 846:
#line 6356 "gram.y"
{
CreateEnumStmt *n = makeNode(CreateEnumStmt);
n->typeName = (yyvsp[(3) - (8)].list);
n->vals = (yyvsp[(7) - (8)].list);
(yyval.node) = (Node *) n;
;}
break;
case 847:
#line 6364 "gram.y"
{
CreateRangeStmt *n = makeNode(CreateRangeStmt);
n->typeName = (yyvsp[(3) - (6)].list);
n->params = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 848:
#line 6372 "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 849:
#line 6382 "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 850:
#line 6392 "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 851:
#line 6402 "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 852:
#line 6412 "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 853:
#line 6422 "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 854:
#line 6433 "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 855:
#line 6443 "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 856:
#line 6455 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 857:
#line 6458 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 858:
#line 6459 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 859:
#line 6463 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 860:
#line 6467 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)]));
;}
break;
case 861:
#line 6473 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].typnam); ;}
break;
case 862:
#line 6474 "gram.y"
{ (yyval.node) = (Node *) makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;}
break;
case 863:
#line 6475 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].list); ;}
break;
case 864:
#line 6476 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;}
break;
case 865:
#line 6477 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 866:
#line 6478 "gram.y"
{ (yyval.node) = (Node *) makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;}
break;
case 867:
#line 6481 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 868:
#line 6484 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 869:
#line 6485 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 870:
#line 6494 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 871:
#line 6500 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 872:
#line 6501 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 873:
#line 6505 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 874:
#line 6507 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 875:
#line 6518 "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 876:
#line 6530 "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 877:
#line 6542 "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 878:
#line 6554 "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 879:
#line 6566 "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 880:
#line 6594 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 881:
#line 6595 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 882:
#line 6613 "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 883:
#line 6627 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 884:
#line 6628 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 885:
#line 6633 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
ObjectWithArgs *owa = makeNode(ObjectWithArgs);
owa->objname = (yyvsp[(3) - (5)].list);
owa->objargs = NIL;
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->name = owa;
n->number = (yyvsp[(2) - (5)].ival);
n->order_family = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 886:
#line 6647 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_OPERATOR;
n->name = (yyvsp[(3) - (5)].objwithargs);
n->number = (yyvsp[(2) - (5)].ival);
n->order_family = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 887:
#line 6657 "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 888:
#line 6666 "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 889:
#line 6676 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_STORAGETYPE;
n->storedtype = (yyvsp[(2) - (2)].typnam);
(yyval.node) = (Node *) n;
;}
break;
case 890:
#line 6685 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 891:
#line 6686 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 892:
#line 6689 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 893:
#line 6690 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 894:
#line 6693 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 895:
#line 6694 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (4)].list); ;}
break;
case 896:
#line 6695 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 897:
#line 6699 "gram.y"
{
/*
* RECHECK no longer does anything in opclass definitions,
* but we still accept it to ease porting of old database
* dumps.
*/
ereport(NOTICE,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("RECHECK is no longer required"),
errhint("Update your data type."),
parser_errposition((yylsp[(1) - (1)]))));
(yyval.boolean) = true;
;}
break;
case 898:
#line 6712 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 899:
#line 6718 "gram.y"
{
CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
n->opfamilyname = (yyvsp[(4) - (6)].list);
n->amname = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 900:
#line 6729 "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 901:
#line 6739 "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 902:
#line 6751 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 903:
#line 6752 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 904:
#line 6757 "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 905:
#line 6766 "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 906:
#line 6779 "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 907:
#line 6790 "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 908:
#line 6804 "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 909:
#line 6815 "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 910:
#line 6838 "gram.y"
{
DropOwnedStmt *n = makeNode(DropOwnedStmt);
n->roles = (yyvsp[(4) - (5)].list);
n->behavior = (yyvsp[(5) - (5)].dbehavior);
(yyval.node) = (Node *) n;
;}
break;
case 911:
#line 6849 "gram.y"
{
ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
n->roles = (yyvsp[(4) - (6)].list);
n->newrole = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *) n;
;}
break;
case 912:
#line 6868 "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 913:
#line 6879 "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 914:
#line 6890 "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 915:
#line 6901 "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 916:
#line 6912 "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 917:
#line 6923 "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 918:
#line 6934 "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 919:
#line 6945 "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 920:
#line 6956 "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 921:
#line 6967 "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 922:
#line 6978 "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 923:
#line 6989 "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 924:
#line 7003 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; ;}
break;
case 925:
#line 7004 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; ;}
break;
case 926:
#line 7005 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; ;}
break;
case 927:
#line 7006 "gram.y"
{ (yyval.objtype) = OBJECT_MATVIEW; ;}
break;
case 928:
#line 7007 "gram.y"
{ (yyval.objtype) = OBJECT_INDEX; ;}
break;
case 929:
#line 7008 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;}
break;
case 930:
#line 7009 "gram.y"
{ (yyval.objtype) = OBJECT_COLLATION; ;}
break;
case 931:
#line 7010 "gram.y"
{ (yyval.objtype) = OBJECT_CONVERSION; ;}
break;
case 932:
#line 7011 "gram.y"
{ (yyval.objtype) = OBJECT_STATISTIC_EXT; ;}
break;
case 933:
#line 7012 "gram.y"
{ (yyval.objtype) = OBJECT_TSPARSER; ;}
break;
case 934:
#line 7013 "gram.y"
{ (yyval.objtype) = OBJECT_TSDICTIONARY; ;}
break;
case 935:
#line 7014 "gram.y"
{ (yyval.objtype) = OBJECT_TSTEMPLATE; ;}
break;
case 936:
#line 7015 "gram.y"
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; ;}
break;
case 937:
#line 7025 "gram.y"
{ (yyval.objtype) = (yyvsp[(1) - (1)].objtype); ;}
break;
case 938:
#line 7026 "gram.y"
{ (yyval.objtype) = OBJECT_DATABASE; ;}
break;
case 939:
#line 7027 "gram.y"
{ (yyval.objtype) = OBJECT_ROLE; ;}
break;
case 940:
#line 7028 "gram.y"
{ (yyval.objtype) = OBJECT_SUBSCRIPTION; ;}
break;
case 941:
#line 7029 "gram.y"
{ (yyval.objtype) = OBJECT_TABLESPACE; ;}
break;
case 942:
#line 7033 "gram.y"
{ (yyval.objtype) = OBJECT_ACCESS_METHOD; ;}
break;
case 943:
#line 7034 "gram.y"
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;}
break;
case 944:
#line 7035 "gram.y"
{ (yyval.objtype) = OBJECT_EXTENSION; ;}
break;
case 945:
#line 7036 "gram.y"
{ (yyval.objtype) = OBJECT_FDW; ;}
break;
case 946:
#line 7037 "gram.y"
{ (yyval.objtype) = OBJECT_LANGUAGE; ;}
break;
case 947:
#line 7038 "gram.y"
{ (yyval.objtype) = OBJECT_PUBLICATION; ;}
break;
case 948:
#line 7039 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; ;}
break;
case 949:
#line 7040 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_SERVER; ;}
break;
case 950:
#line 7045 "gram.y"
{ (yyval.objtype) = OBJECT_POLICY; ;}
break;
case 951:
#line 7046 "gram.y"
{ (yyval.objtype) = OBJECT_RULE; ;}
break;
case 952:
#line 7047 "gram.y"
{ (yyval.objtype) = OBJECT_TRIGGER; ;}
break;
case 953:
#line 7051 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
break;
case 954:
#line 7052 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
break;
case 955:
#line 7055 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 956:
#line 7056 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;}
break;
case 957:
#line 7060 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(2) - (2)].str))); ;}
break;
case 958:
#line 7062 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 959:
#line 7066 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;}
break;
case 960:
#line 7067 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;}
break;
case 961:
#line 7079 "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 962:
#line 7090 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 963:
#line 7091 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 964:
#line 7092 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 965:
#line 7103 "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 966:
#line 7112 "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 967:
#line 7121 "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 968:
#line 7130 "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 969:
#line 7139 "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 970:
#line 7148 "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 971:
#line 7157 "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 972:
#line 7166 "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 973:
#line 7175 "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 974:
#line 7184 "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 975:
#line 7198 "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 976:
#line 7207 "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 977:
#line 7216 "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 978:
#line 7225 "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 979:
#line 7234 "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 980:
#line 7243 "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 981:
#line 7252 "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 982:
#line 7261 "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 983:
#line 7272 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 984:
#line 7273 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 985:
#line 7289 "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 986:
#line 7300 "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 987:
#line 7311 "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 988:
#line 7322 "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 989:
#line 7333 "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 990:
#line 7344 "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 991:
#line 7355 "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 992:
#line 7366 "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 993:
#line 7377 "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 994:
#line 7388 "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 995:
#line 7399 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 996:
#line 7400 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 997:
#line 7403 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 998:
#line 7404 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 999:
#line 7415 "gram.y"
{
FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
n->ismove = false;
(yyval.node) = (Node *) n;
;}
break;
case 1000:
#line 7422 "gram.y"
{
FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
n->ismove = true;
(yyval.node) = (Node *) n;
;}
break;
case 1001:
#line 7431 "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 1002:
#line 7440 "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 1003:
#line 7449 "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 1004:
#line 7458 "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 1005:
#line 7467 "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 1006:
#line 7476 "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 1007:
#line 7485 "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 1008:
#line 7494 "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 1009:
#line 7503 "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 1010:
#line 7512 "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 1011:
#line 7521 "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 1012:
#line 7530 "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 1013:
#line 7539 "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 1014:
#line 7548 "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 1015:
#line 7557 "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 1016:
#line 7566 "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 1021:
#line 7593 "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 1022:
#line 7611 "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 1023:
#line 7627 "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 1024:
#line 7654 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1025:
#line 7656 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1026:
#line 7658 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1027:
#line 7660 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[(3) - (4)].list);
(yyval.list) = list_make1(n);
;}
break;
case 1028:
#line 7668 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[(4) - (5)].list);
(yyval.list) = list_make1(n);
;}
break;
case 1029:
#line 7677 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].accesspriv)); ;}
break;
case 1030:
#line 7678 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].accesspriv)); ;}
break;
case 1031:
#line 7682 "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 1032:
#line 7690 "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 1033:
#line 7698 "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 1034:
#line 7706 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup("alter system");
n->cols = NIL;
(yyval.accesspriv) = n;
;}
break;
case 1035:
#line 7713 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = (yyvsp[(1) - (2)].str);
n->cols = (yyvsp[(2) - (2)].list);
(yyval.accesspriv) = n;
;}
break;
case 1036:
#line 7724 "gram.y"
{
(yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str)));
;}
break;
case 1037:
#line 7728 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 1038:
#line 7735 "gram.y"
{
(yyval.str) = (yyvsp[(1) - (1)].str);
;}
break;
case 1039:
#line 7739 "gram.y"
{
(yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str));
;}
break;
case 1040:
#line 7750 "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 1041:
#line 7759 "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 1042:
#line 7768 "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 1043:
#line 7777 "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 1044:
#line 7786 "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 1045:
#line 7795 "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 1046:
#line 7804 "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 1047:
#line 7813 "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 1048:
#line 7822 "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 1049:
#line 7831 "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 1050:
#line 7840 "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 1051:
#line 7849 "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 1052:
#line 7858 "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 1053:
#line 7866 "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 1054:
#line 7875 "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 1055:
#line 7884 "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 1056:
#line 7893 "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 1057:
#line 7902 "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 1058:
#line 7911 "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 1059:
#line 7920 "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 1060:
#line 7929 "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 1061:
#line 7941 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].rolespec)); ;}
break;
case 1062:
#line 7942 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].rolespec)); ;}
break;
case 1063:
#line 7946 "gram.y"
{ (yyval.rolespec) = (yyvsp[(1) - (1)].rolespec); ;}
break;
case 1064:
#line 7947 "gram.y"
{ (yyval.rolespec) = (yyvsp[(2) - (2)].rolespec); ;}
break;
case 1065:
#line 7952 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1066:
#line 7953 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1067:
#line 7964 "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 1068:
#line 7975 "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 1069:
#line 7989 "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 1070:
#line 8001 "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 1071:
#line 8018 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 1072:
#line 8019 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1073:
#line 8024 "gram.y"
{
(yyval.defelt) = makeDefElem(pstrdup((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 1074:
#line 8030 "gram.y"
{ (yyval.node) = (Node *) makeBoolean(true); ;}
break;
case 1075:
#line 8031 "gram.y"
{ (yyval.node) = (Node *) makeBoolean(true); ;}
break;
case 1076:
#line 8032 "gram.y"
{ (yyval.node) = (Node *) makeBoolean(false); ;}
break;
case 1077:
#line 8035 "gram.y"
{ (yyval.rolespec) = (yyvsp[(3) - (3)].rolespec); ;}
break;
case 1078:
#line 8036 "gram.y"
{ (yyval.rolespec) = NULL; ;}
break;
case 1079:
#line 8047 "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 1080:
#line 8057 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1081:
#line 8058 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1082:
#line 8063 "gram.y"
{
(yyval.defelt) = makeDefElem("schemas", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 1083:
#line 8067 "gram.y"
{
(yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 1084:
#line 8071 "gram.y"
{
(yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 1085:
#line 8083 "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 1086:
#line 8097 "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 1087:
#line 8112 "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 1088:
#line 8128 "gram.y"
{ (yyval.ival) = OBJECT_TABLE; ;}
break;
case 1089:
#line 8129 "gram.y"
{ (yyval.ival) = OBJECT_FUNCTION; ;}
break;
case 1090:
#line 8130 "gram.y"
{ (yyval.ival) = OBJECT_FUNCTION; ;}
break;
case 1091:
#line 8131 "gram.y"
{ (yyval.ival) = OBJECT_SEQUENCE; ;}
break;
case 1092:
#line 8132 "gram.y"
{ (yyval.ival) = OBJECT_TYPE; ;}
break;
case 1093:
#line 8133 "gram.y"
{ (yyval.ival) = OBJECT_SCHEMA; ;}
break;
case 1094:
#line 8148 "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 1095:
#line 8180 "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 1096:
#line 8212 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1097:
#line 8213 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1098:
#line 8217 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1099:
#line 8218 "gram.y"
{ (yyval.str) = DEFAULT_INDEX_TYPE; ;}
break;
case 1100:
#line 8221 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); ;}
break;
case 1101:
#line 8222 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); ;}
break;
case 1102:
#line 8228 "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 1103:
#line 8240 "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 1104:
#line 8259 "gram.y"
{
(yyval.ielem) = (yyvsp[(2) - (2)].ielem);
(yyval.ielem)->name = (yyvsp[(1) - (2)].str);
;}
break;
case 1105:
#line 8264 "gram.y"
{
(yyval.ielem) = (yyvsp[(2) - (2)].ielem);
(yyval.ielem)->expr = (yyvsp[(1) - (2)].node);
;}
break;
case 1106:
#line 8269 "gram.y"
{
(yyval.ielem) = (yyvsp[(4) - (4)].ielem);
(yyval.ielem)->expr = (yyvsp[(2) - (4)].node);
;}
break;
case 1107:
#line 8275 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1108:
#line 8276 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1109:
#line 8279 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); ;}
break;
case 1110:
#line 8280 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); ;}
break;
case 1111:
#line 8283 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1112:
#line 8284 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1113:
#line 8288 "gram.y"
{ (yyval.ival) = SORTBY_ASC; ;}
break;
case 1114:
#line 8289 "gram.y"
{ (yyval.ival) = SORTBY_DESC; ;}
break;
case 1115:
#line 8290 "gram.y"
{ (yyval.ival) = SORTBY_DEFAULT; ;}
break;
case 1116:
#line 8293 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_FIRST; ;}
break;
case 1117:
#line 8294 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_LAST; ;}
break;
case 1118:
#line 8295 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_DEFAULT; ;}
break;
case 1119:
#line 8313 "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 1120:
#line 8327 "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));
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 1121:
#line 8342 "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 1122:
#line 8356 "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 1123:
#line 8371 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1124:
#line 8372 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1125:
#line 8375 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1126:
#line 8376 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1127:
#line 8380 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
break;
case 1128:
#line 8381 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
break;
case 1129:
#line 8385 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;}
break;
case 1130:
#line 8387 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;}
break;
case 1131:
#line 8392 "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 1132:
#line 8406 "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 1133:
#line 8414 "gram.y"
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = list_make1(makeString((yyvsp[(1) - (1)].str)));
n->args_unspecified = true;
(yyval.objwithargs) = n;
;}
break;
case 1134:
#line 8422 "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 1135:
#line 8437 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1136:
#line 8438 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1137:
#line 8442 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
break;
case 1138:
#line 8444 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
break;
case 1139:
#line 8459 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(2) - (3)].str);
n->argType = (yyvsp[(3) - (3)].typnam);
n->mode = (yyvsp[(1) - (3)].fun_param_mode);
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1140:
#line 8469 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(1) - (3)].str);
n->argType = (yyvsp[(3) - (3)].typnam);
n->mode = (yyvsp[(2) - (3)].fun_param_mode);
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1141:
#line 8479 "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;
(yyval.fun_param) = n;
;}
break;
case 1142:
#line 8489 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = NULL;
n->argType = (yyvsp[(2) - (2)].typnam);
n->mode = (yyvsp[(1) - (2)].fun_param_mode);
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1143:
#line 8499 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = NULL;
n->argType = (yyvsp[(1) - (1)].typnam);
n->mode = FUNC_PARAM_DEFAULT;
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1144:
#line 8511 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_IN; ;}
break;
case 1145:
#line 8512 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_OUT; ;}
break;
case 1146:
#line 8513 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;}
break;
case 1147:
#line 8514 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;}
break;
case 1148:
#line 8515 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; ;}
break;
case 1150:
#line 8526 "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 1151:
#line 8540 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1152:
#line 8542 "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 1153:
#line 8548 "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 1154:
#line 8558 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (1)].fun_param);
;}
break;
case 1155:
#line 8562 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
;}
break;
case 1156:
#line 8567 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
;}
break;
case 1157:
#line 8575 "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 1158:
#line 8617 "gram.y"
{
(yyval.list) = list_make2(NIL, makeInteger(-1));
;}
break;
case 1159:
#line 8621 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(2) - (3)].list), makeInteger(-1));
;}
break;
case 1160:
#line 8625 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(4) - (5)].list), makeInteger(0));
;}
break;
case 1161:
#line 8629 "gram.y"
{
/* this is the only case requiring consistency checking */
(yyval.list) = makeOrderedSetArgs((yyvsp[(2) - (6)].list), (yyvsp[(5) - (6)].list), yyscanner);
;}
break;
case 1162:
#line 8636 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
break;
case 1163:
#line 8637 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
break;
case 1164:
#line 8642 "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 1165:
#line 8653 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;}
break;
case 1166:
#line 8655 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;}
break;
case 1168:
#line 8660 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1169:
#line 8665 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1170:
#line 8666 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1171:
#line 8674 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(false), (yylsp[(1) - (4)]));
;}
break;
case 1172:
#line 8678 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[(1) - (5)]));
;}
break;
case 1173:
#line 8682 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 1174:
#line 8686 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *) makeString("immutable"), (yylsp[(1) - (1)]));
;}
break;
case 1175:
#line 8690 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *) makeString("stable"), (yylsp[(1) - (1)]));
;}
break;
case 1176:
#line 8694 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *) makeString("volatile"), (yylsp[(1) - (1)]));
;}
break;
case 1177:
#line 8698 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[(1) - (3)]));
;}
break;
case 1178:
#line 8702 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[(1) - (3)]));
;}
break;
case 1179:
#line 8706 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[(1) - (2)]));
;}
break;
case 1180:
#line 8710 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[(1) - (2)]));
;}
break;
case 1181:
#line 8714 "gram.y"
{
(yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 1182:
#line 8718 "gram.y"
{
(yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(false), (yylsp[(1) - (2)]));
;}
break;
case 1183:
#line 8722 "gram.y"
{
(yyval.defelt) = makeDefElem("cost", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 1184:
#line 8726 "gram.y"
{
(yyval.defelt) = makeDefElem("rows", (Node *) (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 1185:
#line 8730 "gram.y"
{
(yyval.defelt) = makeDefElem("support", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 1186:
#line 8734 "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 1187:
#line 8739 "gram.y"
{
(yyval.defelt) = makeDefElem("parallel", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 1188:
#line 8746 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
(yyval.defelt)->arg_location = (yylsp[(2) - (2)]);
;}
break;
case 1189:
#line 8751 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 1190:
#line 8755 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
(yyval.defelt)->arg_location = (yylsp[(2) - (2)]);
;}
break;
case 1191:
#line 8760 "gram.y"
{
(yyval.defelt) = makeDefElem("transform", (Node *) (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 1192:
#line 8764 "gram.y"
{
(yyval.defelt) = makeDefElem("window", (Node *) makeBoolean(true), (yylsp[(1) - (1)]));
;}
break;
case 1193:
#line 8768 "gram.y"
{
(yyval.defelt) = (yyvsp[(1) - (1)].defelt);
;}
break;
case 1194:
#line 8773 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 1195:
#line 8775 "gram.y"
{
(yyval.list) = list_make2(makeString((yyvsp[(1) - (3)].str)), makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 1196:
#line 8781 "gram.y"
{
ReturnStmt *r = makeNode(ReturnStmt);
r->returnval = (Node *) (yyvsp[(2) - (2)].node);
(yyval.node) = (Node *) r;
;}
break;
case 1197:
#line 8791 "gram.y"
{
(yyval.node) = (yyvsp[(1) - (1)].node);
;}
break;
case 1198:
#line 8795 "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 1199:
#line 8805 "gram.y"
{
(yyval.node) = NULL;
;}
break;
case 1200:
#line 8812 "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 1201:
#line 8820 "gram.y"
{
(yyval.list) = NIL;
;}
break;
case 1204:
#line 8831 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(3) - (3)].typnam)); ;}
break;
case 1205:
#line 8832 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (5)].list), (yyvsp[(5) - (5)].typnam)); ;}
break;
case 1206:
#line 8836 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1207:
#line 8837 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1208:
#line 8841 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(1) - (2)].str);
n->argType = (yyvsp[(2) - (2)].typnam);
n->mode = FUNC_PARAM_TABLE;
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1209:
#line 8854 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param));
;}
break;
case 1210:
#line 8858 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param));
;}
break;
case 1211:
#line 8873 "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 1212:
#line 8882 "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 1213:
#line 8891 "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 1214:
#line 8903 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1215:
#line 8904 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1218:
#line 8928 "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 1219:
#line 8939 "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 1220:
#line 8950 "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 1221:
#line 8961 "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 1222:
#line 8972 "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 1223:
#line 8983 "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 1224:
#line 8997 "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 1225:
#line 9008 "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 1226:
#line 9022 "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 1227:
#line 9033 "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 1228:
#line 9047 "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 1229:
#line 9055 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), (yyvsp[(4) - (5)].typnam)); ;}
break;
case 1230:
#line 9057 "gram.y"
{ (yyval.list) = list_make2(NULL, (yyvsp[(4) - (5)].typnam)); ;}
break;
case 1231:
#line 9059 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), NULL); ;}
break;
case 1232:
#line 9064 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 1233:
#line 9066 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(3) - (3)].list)); ;}
break;
case 1234:
#line 9070 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;}
break;
case 1235:
#line 9072 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;}
break;
case 1236:
#line 9077 "gram.y"
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[(1) - (2)].list);
n->objargs = (yyvsp[(2) - (2)].list);
(yyval.objwithargs) = n;
;}
break;
case 1237:
#line 9096 "gram.y"
{
DoStmt *n = makeNode(DoStmt);
n->args = (yyvsp[(2) - (2)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1238:
#line 9105 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1239:
#line 9106 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1240:
#line 9111 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *) makeString((yyvsp[(1) - (1)].str)), (yylsp[(1) - (1)]));
(yyval.defelt)->arg_location = (yylsp[(1) - (1)]);
;}
break;
case 1241:
#line 9116 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 1242:
#line 9120 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
(yyval.defelt)->arg_location = (yylsp[(2) - (2)]);
;}
break;
case 1243:
#line 9134 "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 1244:
#line 9146 "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 1245:
#line 9158 "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 1246:
#line 9170 "gram.y"
{ (yyval.ival) = COERCION_IMPLICIT; ;}
break;
case 1247:
#line 9171 "gram.y"
{ (yyval.ival) = COERCION_ASSIGNMENT; ;}
break;
case 1248:
#line 9172 "gram.y"
{ (yyval.ival) = COERCION_EXPLICIT; ;}
break;
case 1249:
#line 9177 "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 1250:
#line 9189 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1251:
#line 9190 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1252:
#line 9201 "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 1253:
#line 9214 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(5) - (11)].objwithargs), (yyvsp[(11) - (11)].objwithargs));
;}
break;
case 1254:
#line 9218 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(11) - (11)].objwithargs), (yyvsp[(5) - (11)].objwithargs));
;}
break;
case 1255:
#line 9222 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(5) - (5)].objwithargs), NULL);
;}
break;
case 1256:
#line 9226 "gram.y"
{
(yyval.list) = list_make2(NULL, (yyvsp[(5) - (5)].objwithargs));
;}
break;
case 1257:
#line 9233 "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 1258:
#line 9255 "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 1259:
#line 9268 "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 1260:
#line 9281 "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 1261:
#line 9295 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_INDEX; ;}
break;
case 1262:
#line 9296 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_TABLE; ;}
break;
case 1263:
#line 9299 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_SYSTEM; ;}
break;
case 1264:
#line 9300 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_DATABASE; ;}
break;
case 1265:
#line 9303 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1266:
#line 9304 "gram.y"
{ (yyval.list) = NULL; ;}
break;
case 1267:
#line 9315 "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 1268:
#line 9325 "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 1269:
#line 9343 "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 1270:
#line 9353 "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 1271:
#line 9363 "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 1272:
#line 9373 "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 1273:
#line 9383 "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 1274:
#line 9393 "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 1275:
#line 9403 "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 1276:
#line 9413 "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 1277:
#line 9423 "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 1278:
#line 9433 "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 1279:
#line 9443 "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 1280:
#line 9453 "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 1281:
#line 9463 "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 1282:
#line 9474 "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 1283:
#line 9485 "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 1284:
#line 9495 "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 1285:
#line 9505 "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 1286:
#line 9515 "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 1287:
#line 9525 "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 1288:
#line 9535 "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 1289:
#line 9545 "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 1290:
#line 9556 "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 1291:
#line 9567 "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 1292:
#line 9578 "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 1293:
#line 9589 "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 1294:
#line 9600 "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 1295:
#line 9611 "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 1296:
#line 9622 "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 1297:
#line 9633 "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 1298:
#line 9644 "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 1299:
#line 9655 "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 1300:
#line 9666 "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 1301:
#line 9677 "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 1302:
#line 9689 "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 1303:
#line 9701 "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 1304:
#line 9713 "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 1305:
#line 9725 "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 1306:
#line 9737 "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 1307:
#line 9749 "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 1308:
#line 9760 "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 1309:
#line 9771 "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 1310:
#line 9783 "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 1311:
#line 9795 "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 1312:
#line 9806 "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 1313:
#line 9817 "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 1314:
#line 9826 "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 1315:
#line 9836 "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 1316:
#line 9846 "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 1317:
#line 9856 "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 1318:
#line 9866 "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 1319:
#line 9876 "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 1320:
#line 9886 "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 1321:
#line 9896 "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 1322:
#line 9906 "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 1323:
#line 9916 "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 1326:
#line 9934 "gram.y"
{ (yyval.ival) = 1; ;}
break;
case 1327:
#line 9935 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1328:
#line 9946 "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 1329:
#line 9956 "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 1330:
#line 9966 "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 1331:
#line 9976 "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 1332:
#line 9987 "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 1333:
#line 9997 "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 1334:
#line 10008 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1335:
#line 10009 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1336:
#line 10020 "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 1337:
#line 10030 "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 1338:
#line 10040 "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 1339:
#line 10050 "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 1340:
#line 10060 "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 1341:
#line 10070 "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 1342:
#line 10080 "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 1343:
#line 10090 "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 1344:
#line 10100 "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 1345:
#line 10110 "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 1346:
#line 10120 "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 1347:
#line 10130 "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 1348:
#line 10140 "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 1349:
#line 10150 "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 1350:
#line 10160 "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 1351:
#line 10170 "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 1352:
#line 10180 "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 1353:
#line 10190 "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 1354:
#line 10200 "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 1355:
#line 10210 "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 1356:
#line 10220 "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 1357:
#line 10230 "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 1358:
#line 10240 "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 1359:
#line 10250 "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 1360:
#line 10260 "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 1361:
#line 10270 "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 1362:
#line 10280 "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 1363:
#line 10299 "gram.y"
{
AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
n->opername = (yyvsp[(3) - (7)].objwithargs);
n->options = (yyvsp[(6) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1364:
#line 10308 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1365:
#line 10309 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 1366:
#line 10313 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL, (yylsp[(1) - (3)])); ;}
break;
case 1367:
#line 10315 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;}
break;
case 1368:
#line 10317 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)])); ;}
break;
case 1369:
#line 10322 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].typnam); ;}
break;
case 1370:
#line 10323 "gram.y"
{ (yyval.node) = (Node *) makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;}
break;
case 1371:
#line 10324 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].list); ;}
break;
case 1372:
#line 10325 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;}
break;
case 1373:
#line 10326 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 1374:
#line 10339 "gram.y"
{
AlterTypeStmt *n = makeNode(AlterTypeStmt);
n->typeName = (yyvsp[(3) - (7)].list);
n->options = (yyvsp[(6) - (7)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1375:
#line 10355 "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 1376:
#line 10364 "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 1377:
#line 10373 "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 1378:
#line 10382 "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 1379:
#line 10391 "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 1380:
#line 10400 "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 1381:
#line 10409 "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 1382:
#line 10418 "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 1383:
#line 10427 "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 1384:
#line 10436 "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 1385:
#line 10445 "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 1386:
#line 10454 "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 1387:
#line 10463 "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 1388:
#line 10472 "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 1389:
#line 10481 "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 1390:
#line 10490 "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 1391:
#line 10499 "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 1392:
#line 10508 "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 1393:
#line 10517 "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 1394:
#line 10526 "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 1395:
#line 10535 "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 1396:
#line 10544 "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 1397:
#line 10553 "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 1398:
#line 10562 "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 1399:
#line 10590 "gram.y"
{
CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
n->pubname = (yyvsp[(3) - (4)].str);
n->options = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1400:
#line 10598 "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 1401:
#line 10607 "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 1402:
#line 10633 "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 1403:
#line 10642 "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 1404:
#line 10649 "gram.y"
{
(yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
(yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA;
(yyval.publicationobjectspec)->location = (yylsp[(4) - (4)]);
;}
break;
case 1405:
#line 10655 "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 1406:
#line 10682 "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 1407:
#line 10693 "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 1408:
#line 10702 "gram.y"
{
(yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
(yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
(yyval.publicationobjectspec)->location = (yylsp[(1) - (1)]);
;}
break;
case 1409:
#line 10710 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].publicationobjectspec)); ;}
break;
case 1410:
#line 10712 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].publicationobjectspec)); ;}
break;
case 1411:
#line 10734 "gram.y"
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1412:
#line 10742 "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 1413:
#line 10752 "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 1414:
#line 10762 "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 1415:
#line 10781 "gram.y"
{
CreateSubscriptionStmt *n =
makeNode(CreateSubscriptionStmt);
n->subname = (yyvsp[(3) - (8)].str);
n->conninfo = (yyvsp[(5) - (8)].str);
n->conninfo_location = (yylsp[(5) - (8)]);
n->publication = (yyvsp[(7) - (8)].list);
n->options = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1416:
#line 10801 "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 1417:
#line 10811 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_CONNECTION;
n->subname = (yyvsp[(3) - (5)].str);
n->conninfo = (yyvsp[(5) - (5)].str);
n->conninfo_location = (yylsp[(5) - (5)]);
(yyval.node) = (Node *) n;
;}
break;
case 1418:
#line 10822 "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 1419:
#line 10832 "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 1420:
#line 10843 "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 1421:
#line 10854 "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 1422:
#line 10865 "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 1423:
#line 10876 "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 1424:
#line 10887 "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 1425:
#line 10905 "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 1426:
#line 10914 "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 1427:
#line 10933 "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 1428:
#line 10948 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1429:
#line 10949 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1430:
#line 10950 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1431:
#line 10956 "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 1432:
#line 10962 "gram.y"
{ if ((yyvsp[(1) - (1)].node) != NULL)
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
else
(yyval.list) = NIL;
;}
break;
case 1438:
#line 10978 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1439:
#line 10979 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1440:
#line 10982 "gram.y"
{ (yyval.ival) = CMD_SELECT; ;}
break;
case 1441:
#line 10983 "gram.y"
{ (yyval.ival) = CMD_UPDATE; ;}
break;
case 1442:
#line 10984 "gram.y"
{ (yyval.ival) = CMD_DELETE; ;}
break;
case 1443:
#line 10985 "gram.y"
{ (yyval.ival) = CMD_INSERT; ;}
break;
case 1444:
#line 10989 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1445:
#line 10990 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1446:
#line 10991 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1447:
#line 11004 "gram.y"
{
NotifyStmt *n = makeNode(NotifyStmt);
n->conditionname = (yyvsp[(2) - (4)].str);
n->payload = (yyvsp[(4) - (4)].str);
n->payload_location = (yylsp[(4) - (4)]);
(yyval.node) = (Node *) n;
;}
break;
case 1448:
#line 11013 "gram.y"
{
NotifyStmt *n = makeNode(NotifyStmt);
n->conditionname = (yyvsp[(2) - (2)].str);
n->payload = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 1449:
#line 11023 "gram.y"
{
ListenStmt *n = makeNode(ListenStmt);
n->conditionname = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1450:
#line 11033 "gram.y"
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1451:
#line 11040 "gram.y"
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 1452:
#line 11060 "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 1453:
#line 11070 "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 1454:
#line 11079 "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 1455:
#line 11089 "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 1456:
#line 11099 "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 1457:
#line 11108 "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 1458:
#line 11117 "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 1459:
#line 11126 "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 1460:
#line 11135 "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 1461:
#line 11144 "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 1462:
#line 11153 "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 1463:
#line 11162 "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 1464:
#line 11174 "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 1465:
#line 11183 "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 1469:
#line 11201 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_isolation",
makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)])), (yylsp[(1) - (3)])); ;}
break;
case 1470:
#line 11204 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(true, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;}
break;
case 1471:
#line 11207 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(false, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;}
break;
case 1472:
#line 11210 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(true, (yylsp[(1) - (1)])), (yylsp[(1) - (1)])); ;}
break;
case 1473:
#line 11213 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(false, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;}
break;
case 1474:
#line 11220 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1475:
#line 11222 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 1476:
#line 11224 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1478:
#line 11230 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1479:
#line 11234 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1480:
#line 11235 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1481:
#line 11236 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1482:
#line 11250 "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 1483:
#line 11264 "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 1484:
#line 11278 "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 1485:
#line 11297 "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 1486:
#line 11317 "gram.y"
{ (yyval.ival) = CASCADED_CHECK_OPTION; ;}
break;
case 1487:
#line 11318 "gram.y"
{ (yyval.ival) = CASCADED_CHECK_OPTION; ;}
break;
case 1488:
#line 11319 "gram.y"
{ (yyval.ival) = LOCAL_CHECK_OPTION; ;}
break;
case 1489:
#line 11320 "gram.y"
{ (yyval.ival) = NO_CHECK_OPTION; ;}
break;
case 1490:
#line 11331 "gram.y"
{
LoadStmt *n = makeNode(LoadStmt);
n->filename = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1491:
#line 11348 "gram.y"
{
CreatedbStmt *n = makeNode(CreatedbStmt);
n->dbname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1492:
#line 11358 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1493:
#line 11359 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1494:
#line 11363 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1495:
#line 11364 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1496:
#line 11369 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 1497:
#line 11373 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 1498:
#line 11377 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL, (yylsp[(1) - (3)]));
;}
break;
case 1499:
#line 11394 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1500:
#line 11395 "gram.y"
{ (yyval.str) = pstrdup("connection_limit"); ;}
break;
case 1501:
#line 11396 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1502:
#line 11397 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1503:
#line 11398 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1504:
#line 11399 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1505:
#line 11400 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1508:
#line 11420 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1509:
#line 11428 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[(3) - (4)].str);
n->options = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1510:
#line 11436 "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 1511:
#line 11445 "gram.y"
{
AlterDatabaseRefreshCollStmt *n = makeNode(AlterDatabaseRefreshCollStmt);
n->dbname = (yyvsp[(3) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1512:
#line 11455 "gram.y"
{
AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
n->dbname = (yyvsp[(3) - (4)].str);
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *) n;
;}
break;
case 1513:
#line 11473 "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 1514:
#line 11482 "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 1515:
#line 11491 "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 1516:
#line 11500 "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 1517:
#line 11512 "gram.y"
{
(yyval.list) = list_make1((Node *) (yyvsp[(1) - (1)].defelt));
;}
break;
case 1518:
#line 11516 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (Node *) (yyvsp[(3) - (3)].defelt));
;}
break;
case 1519:
#line 11527 "gram.y"
{
(yyval.defelt) = makeDefElem("force", NULL, (yylsp[(1) - (1)]));
;}
break;
case 1520:
#line 11539 "gram.y"
{
AlterCollationStmt *n = makeNode(AlterCollationStmt);
n->collname = (yyvsp[(3) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1521:
#line 11557 "gram.y"
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *) n;
;}
break;
case 1522:
#line 11564 "gram.y"
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *) n;
;}
break;
case 1523:
#line 11581 "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 1524:
#line 11595 "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 1525:
#line 11605 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'N';
n->typeName = (yyvsp[(3) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1526:
#line 11614 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'O';
n->typeName = (yyvsp[(3) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1527:
#line 11623 "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 1528:
#line 11633 "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 1529:
#line 11645 "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 1530:
#line 11657 "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 1533:
#line 11680 "gram.y"
{
AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
n->dictname = (yyvsp[(5) - (6)].list);
n->options = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1534:
#line 11691 "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 1535:
#line 11703 "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 1536:
#line 11715 "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 1537:
#line 11727 "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 1538:
#line 11739 "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 1539:
#line 11749 "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 1542:
#line 11778 "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 1543:
#line 11801 "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 1544:
#line 11810 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = NULL;
n->indexname = NULL;
n->params = (yyvsp[(3) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1545:
#line 11820 "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 1546:
#line 11832 "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 1547:
#line 11844 "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 1548:
#line 11857 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1549:
#line 11858 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1550:
#line 11871 "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 1551:
#line 11892 "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 1552:
#line 11903 "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 1553:
#line 11915 "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 1554:
#line 11927 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 1555:
#line 11931 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 1558:
#line 11943 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 1559:
#line 11949 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1560:
#line 11950 "gram.y"
{ (yyval.str) = "analyze"; ;}
break;
case 1561:
#line 11951 "gram.y"
{ (yyval.str) = "format"; ;}
break;
case 1562:
#line 11955 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 1563:
#line 11956 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;}
break;
case 1564:
#line 11957 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1565:
#line 11961 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1566:
#line 11962 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1567:
#line 11966 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1568:
#line 11967 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1569:
#line 11970 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1570:
#line 11971 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1571:
#line 11974 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1572:
#line 11975 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1573:
#line 11979 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1574:
#line 11980 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1575:
#line 11985 "gram.y"
{
(yyval.node) = (Node *) makeVacuumRelation((yyvsp[(1) - (2)].range), InvalidOid, (yyvsp[(2) - (2)].list));
;}
break;
case 1576:
#line 11992 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1577:
#line 11994 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1578:
#line 11998 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1579:
#line 11999 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1580:
#line 12013 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(2) - (2)].node);
n->options = NIL;
(yyval.node) = (Node *) n;
;}
break;
case 1581:
#line 12021 "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 1582:
#line 12032 "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 1583:
#line 12040 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(5) - (5)].node);
n->options = (yyvsp[(3) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1594:
#line 12070 "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 1595:
#line 12080 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1596:
#line 12081 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1602:
#line 12100 "gram.y"
{
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[(2) - (3)].str);
n->params = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1603:
#line 12109 "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 1604:
#line 12127 "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 1605:
#line 12145 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1606:
#line 12146 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1607:
#line 12157 "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 1608:
#line 12166 "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 1609:
#line 12175 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
n->isall = true;
n->location = -1;
(yyval.node) = (Node *) n;
;}
break;
case 1610:
#line 12184 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
n->isall = true;
n->location = -1;
(yyval.node) = (Node *) n;
;}
break;
case 1611:
#line 12204 "gram.y"
{
(yyvsp[(5) - (7)].istmt)->relation = (yyvsp[(4) - (7)].range);
(yyvsp[(5) - (7)].istmt)->onConflictClause = (yyvsp[(6) - (7)].onconflict);
(yyvsp[(5) - (7)].istmt)->returningList = (yyvsp[(7) - (7)].list);
(yyvsp[(5) - (7)].istmt)->withClause = (yyvsp[(1) - (7)].with);
(yyval.node) = (Node *) (yyvsp[(5) - (7)].istmt);
;}
break;
case 1612:
#line 12221 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
;}
break;
case 1613:
#line 12225 "gram.y"
{
(yyvsp[(1) - (3)].range)->alias = makeAlias((yyvsp[(3) - (3)].str), NIL);
(yyval.range) = (yyvsp[(1) - (3)].range);
;}
break;
case 1614:
#line 12233 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = (yyvsp[(1) - (1)].node);
;}
break;
case 1615:
#line 12239 "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 1616:
#line 12246 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = (yyvsp[(2) - (4)].list);
(yyval.istmt)->selectStmt = (yyvsp[(4) - (4)].node);
;}
break;
case 1617:
#line 12252 "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 1618:
#line 12259 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = NULL;
;}
break;
case 1619:
#line 12267 "gram.y"
{ (yyval.ival) = OVERRIDING_USER_VALUE; ;}
break;
case 1620:
#line 12268 "gram.y"
{ (yyval.ival) = OVERRIDING_SYSTEM_VALUE; ;}
break;
case 1621:
#line 12273 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1622:
#line 12275 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 1623:
#line 12280 "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 1624:
#line 12291 "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 1625:
#line 12301 "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 1626:
#line 12310 "gram.y"
{
(yyval.onconflict) = NULL;
;}
break;
case 1627:
#line 12317 "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 1628:
#line 12326 "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 1629:
#line 12334 "gram.y"
{
(yyval.infer) = NULL;
;}
break;
case 1630:
#line 12340 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1631:
#line 12341 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1632:
#line 12354 "gram.y"
{
DeleteStmt *n = makeNode(DeleteStmt);
n->relation = (yyvsp[(4) - (7)].range);
n->usingClause = (yyvsp[(5) - (7)].list);
n->whereClause = (yyvsp[(6) - (7)].node);
n->returningList = (yyvsp[(7) - (7)].list);
n->withClause = (yyvsp[(1) - (7)].with);
(yyval.node) = (Node *) n;
;}
break;
case 1633:
#line 12367 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1634:
#line 12368 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1635:
#line 12380 "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 1636:
#line 12390 "gram.y"
{ (yyval.ival) = (yyvsp[(2) - (3)].ival); ;}
break;
case 1637:
#line 12391 "gram.y"
{ (yyval.ival) = AccessExclusiveLock; ;}
break;
case 1638:
#line 12394 "gram.y"
{ (yyval.ival) = AccessShareLock; ;}
break;
case 1639:
#line 12395 "gram.y"
{ (yyval.ival) = RowShareLock; ;}
break;
case 1640:
#line 12396 "gram.y"
{ (yyval.ival) = RowExclusiveLock; ;}
break;
case 1641:
#line 12397 "gram.y"
{ (yyval.ival) = ShareUpdateExclusiveLock; ;}
break;
case 1642:
#line 12398 "gram.y"
{ (yyval.ival) = ShareLock; ;}
break;
case 1643:
#line 12399 "gram.y"
{ (yyval.ival) = ShareRowExclusiveLock; ;}
break;
case 1644:
#line 12400 "gram.y"
{ (yyval.ival) = ExclusiveLock; ;}
break;
case 1645:
#line 12401 "gram.y"
{ (yyval.ival) = AccessExclusiveLock; ;}
break;
case 1646:
#line 12404 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1647:
#line 12405 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1648:
#line 12409 "gram.y"
{ (yyval.ival) = LockWaitError; ;}
break;
case 1649:
#line 12410 "gram.y"
{ (yyval.ival) = LockWaitSkip; ;}
break;
case 1650:
#line 12411 "gram.y"
{ (yyval.ival) = LockWaitBlock; ;}
break;
case 1651:
#line 12427 "gram.y"
{
UpdateStmt *n = makeNode(UpdateStmt);
n->relation = (yyvsp[(3) - (8)].range);
n->targetList = (yyvsp[(5) - (8)].list);
n->fromClause = (yyvsp[(6) - (8)].list);
n->whereClause = (yyvsp[(7) - (8)].node);
n->returningList = (yyvsp[(8) - (8)].list);
n->withClause = (yyvsp[(1) - (8)].with);
(yyval.node) = (Node *) n;
;}
break;
case 1652:
#line 12441 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1653:
#line 12442 "gram.y"
{ (yyval.list) = list_concat((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].list)); ;}
break;
case 1654:
#line 12447 "gram.y"
{
(yyvsp[(1) - (3)].target)->val = (Node *) (yyvsp[(3) - (3)].node);
(yyval.list) = list_make1((yyvsp[(1) - (3)].target));
;}
break;
case 1655:
#line 12452 "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 1656:
#line 12476 "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 1657:
#line 12486 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1658:
#line 12487 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].target)); ;}
break;
case 1659:
#line 12504 "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->returningList = (yyvsp[(10) - (10)].list);
(yyval.node) = (Node *) m;
;}
break;
case 1660:
#line 12519 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1661:
#line 12520 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list),(yyvsp[(2) - (2)].node)); ;}
break;
case 1662:
#line 12531 "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 1663:
#line 12538 "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 1664:
#line 12545 "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 1665:
#line 12552 "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 1666:
#line 12562 "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 1667:
#line 12574 "gram.y"
{ (yyval.mergematch) = MERGE_WHEN_MATCHED; ;}
break;
case 1668:
#line 12575 "gram.y"
{ (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_SOURCE; ;}
break;
case 1669:
#line 12579 "gram.y"
{ (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; ;}
break;
case 1670:
#line 12580 "gram.y"
{ (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; ;}
break;
case 1671:
#line 12584 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1672:
#line 12585 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1673:
#line 12590 "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 1674:
#line 12603 "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 1675:
#line 12616 "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 1676:
#line 12625 "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 1677:
#line 12634 "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 1678:
#line 12643 "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 1679:
#line 12652 "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 1680:
#line 12664 "gram.y"
{
(yyval.list) = (yyvsp[(3) - (4)].list);
;}
break;
case 1681:
#line 12676 "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 1682:
#line 12687 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1683:
#line 12690 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1684:
#line 12691 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | CURSOR_OPT_NO_SCROLL; ;}
break;
case 1685:
#line 12692 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_SCROLL; ;}
break;
case 1686:
#line 12693 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_BINARY; ;}
break;
case 1687:
#line 12694 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_ASENSITIVE; ;}
break;
case 1688:
#line 12695 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_INSENSITIVE; ;}
break;
case 1689:
#line 12698 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1690:
#line 12699 "gram.y"
{ (yyval.ival) = CURSOR_OPT_HOLD; ;}
break;
case 1691:
#line 12700 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1694:
#line 12753 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1695:
#line 12754 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1696:
#line 12769 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1697:
#line 12771 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list), NIL,
NULL, NULL,
yyscanner);
(yyval.node) = (yyvsp[(1) - (2)].node);
;}
break;
case 1698:
#line 12778 "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 1699:
#line 12786 "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 1700:
#line 12794 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (2)].node), NULL, NIL,
NULL,
(yyvsp[(1) - (2)].with),
yyscanner);
(yyval.node) = (yyvsp[(2) - (2)].node);
;}
break;
case 1701:
#line 12802 "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 1702:
#line 12810 "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 1703:
#line 12818 "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 1704:
#line 12828 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1705:
#line 12829 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1706:
#line 12864 "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 1707:
#line 12880 "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 1708:
#line 12894 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1709:
#line 12896 "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 1710:
#line 12915 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1711:
#line 12919 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1712:
#line 12923 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[(3) - (4)].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1713:
#line 12938 "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 1714:
#line 12945 "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 1715:
#line 12952 "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 1716:
#line 12961 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1717:
#line 12962 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1718:
#line 12966 "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 1719:
#line 12981 "gram.y"
{ (yyval.ival) = CTEMaterializeAlways; ;}
break;
case 1720:
#line 12982 "gram.y"
{ (yyval.ival) = CTEMaterializeNever; ;}
break;
case 1721:
#line 12983 "gram.y"
{ (yyval.ival) = CTEMaterializeDefault; ;}
break;
case 1722:
#line 12988 "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 1723:
#line 12998 "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 1724:
#line 13008 "gram.y"
{
(yyval.node) = NULL;
;}
break;
case 1725:
#line 13015 "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 1726:
#line 13027 "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 1727:
#line 13039 "gram.y"
{
(yyval.node) = NULL;
;}
break;
case 1728:
#line 13045 "gram.y"
{ (yyval.with) = (yyvsp[(1) - (1)].with); ;}
break;
case 1729:
#line 13046 "gram.y"
{ (yyval.with) = NULL; ;}
break;
case 1730:
#line 13051 "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 1731:
#line 13062 "gram.y"
{ (yyval.into) = NULL; ;}
break;
case 1732:
#line 13071 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1733:
#line 13076 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1734:
#line 13081 "gram.y"
{
(yyval.range) = (yyvsp[(4) - (4)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1735:
#line 13086 "gram.y"
{
(yyval.range) = (yyvsp[(4) - (4)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1736:
#line 13091 "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 1737:
#line 13099 "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 1738:
#line 13107 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
;}
break;
case 1739:
#line 13112 "gram.y"
{
(yyval.range) = (yyvsp[(2) - (2)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
;}
break;
case 1740:
#line 13117 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
;}
break;
case 1743:
#line 13128 "gram.y"
{ (yyval.setquantifier) = SET_QUANTIFIER_ALL; ;}
break;
case 1744:
#line 13129 "gram.y"
{ (yyval.setquantifier) = SET_QUANTIFIER_DISTINCT; ;}
break;
case 1745:
#line 13130 "gram.y"
{ (yyval.setquantifier) = SET_QUANTIFIER_DEFAULT; ;}
break;
case 1746:
#line 13137 "gram.y"
{ (yyval.list) = list_make1(NIL); ;}
break;
case 1747:
#line 13138 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (5)].list); ;}
break;
case 1750:
#line 13147 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1751:
#line 13148 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1752:
#line 13152 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1753:
#line 13153 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1754:
#line 13157 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); ;}
break;
case 1755:
#line 13161 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].sortby)); ;}
break;
case 1756:
#line 13162 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].sortby)); ;}
break;
case 1757:
#line 13166 "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 1758:
#line 13175 "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 1759:
#line 13188 "gram.y"
{
(yyval.selectlimit) = (yyvsp[(1) - (2)].selectlimit);
((yyval.selectlimit))->limitOffset = (yyvsp[(2) - (2)].node);
;}
break;
case 1760:
#line 13193 "gram.y"
{
(yyval.selectlimit) = (yyvsp[(2) - (2)].selectlimit);
((yyval.selectlimit))->limitOffset = (yyvsp[(1) - (2)].node);
;}
break;
case 1761:
#line 13198 "gram.y"
{
(yyval.selectlimit) = (yyvsp[(1) - (1)].selectlimit);
;}
break;
case 1762:
#line 13202 "gram.y"
{
SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
n->limitOffset = (yyvsp[(1) - (1)].node);
n->limitCount = NULL;
n->limitOption = LIMIT_OPTION_COUNT;
(yyval.selectlimit) = n;
;}
break;
case 1763:
#line 13213 "gram.y"
{ (yyval.selectlimit) = (yyvsp[(1) - (1)].selectlimit); ;}
break;
case 1764:
#line 13214 "gram.y"
{ (yyval.selectlimit) = NULL; ;}
break;
case 1765:
#line 13219 "gram.y"
{
SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
n->limitOffset = NULL;
n->limitCount = (yyvsp[(2) - (2)].node);
n->limitOption = LIMIT_OPTION_COUNT;
(yyval.selectlimit) = n;
;}
break;
case 1766:
#line 13228 "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 1767:
#line 13244 "gram.y"
{
SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
n->limitOffset = NULL;
n->limitCount = (yyvsp[(3) - (5)].node);
n->limitOption = LIMIT_OPTION_COUNT;
(yyval.selectlimit) = n;
;}
break;
case 1768:
#line 13253 "gram.y"
{
SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
n->limitOffset = NULL;
n->limitCount = (yyvsp[(3) - (6)].node);
n->limitOption = LIMIT_OPTION_WITH_TIES;
(yyval.selectlimit) = n;
;}
break;
case 1769:
#line 13262 "gram.y"
{
SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
n->limitOffset = NULL;
n->limitCount = makeIntConst(1, -1);
n->limitOption = LIMIT_OPTION_COUNT;
(yyval.selectlimit) = n;
;}
break;
case 1770:
#line 13271 "gram.y"
{
SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
n->limitOffset = NULL;
n->limitCount = makeIntConst(1, -1);
n->limitOption = LIMIT_OPTION_WITH_TIES;
(yyval.selectlimit) = n;
;}
break;
case 1771:
#line 13283 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1772:
#line 13286 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1773:
#line 13290 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1774:
#line 13292 "gram.y"
{
/* LIMIT ALL is represented as a NULL constant */
(yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
;}
break;
case 1775:
#line 13299 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1776:
#line 13319 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1777:
#line 13321 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1778:
#line 13323 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1779:
#line 13327 "gram.y"
{ (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival),(yylsp[(1) - (1)])); ;}
break;
case 1780:
#line 13328 "gram.y"
{ (yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str),(yylsp[(1) - (1)])); ;}
break;
case 1781:
#line 13332 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1782:
#line 13333 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1783:
#line 13336 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1784:
#line 13337 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1785:
#line 13363 "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 1786:
#line 13371 "gram.y"
{
GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
n->distinct = false;
n->list = NIL;
(yyval.groupclause) = n;
;}
break;
case 1787:
#line 13381 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1788:
#line 13382 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].node)); ;}
break;
case 1789:
#line 13386 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1790:
#line 13387 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1791:
#line 13388 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1792:
#line 13389 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1793:
#line 13390 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1794:
#line 13395 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[(1) - (2)]));
;}
break;
case 1795:
#line 13408 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1796:
#line 13415 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1797:
#line 13422 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
;}
break;
case 1798:
#line 13428 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1799:
#line 13429 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1800:
#line 13433 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1801:
#line 13434 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1802:
#line 13438 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1803:
#line 13439 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1804:
#line 13443 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1805:
#line 13444 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 1806:
#line 13449 "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 1807:
#line 13460 "gram.y"
{ (yyval.ival) = LCS_FORUPDATE; ;}
break;
case 1808:
#line 13461 "gram.y"
{ (yyval.ival) = LCS_FORNOKEYUPDATE; ;}
break;
case 1809:
#line 13462 "gram.y"
{ (yyval.ival) = LCS_FORSHARE; ;}
break;
case 1810:
#line 13463 "gram.y"
{ (yyval.ival) = LCS_FORKEYSHARE; ;}
break;
case 1811:
#line 13467 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1812:
#line 13468 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1813:
#line 13479 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->valuesLists = list_make1((yyvsp[(3) - (4)].list));
(yyval.node) = (Node *) n;
;}
break;
case 1814:
#line 13486 "gram.y"
{
SelectStmt *n = (SelectStmt *) (yyvsp[(1) - (5)].node);
n->valuesLists = lappend(n->valuesLists, (yyvsp[(4) - (5)].list));
(yyval.node) = (Node *) n;
;}
break;
case 1815:
#line 13504 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1816:
#line 13505 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1817:
#line 13509 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1818:
#line 13510 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1819:
#line 13517 "gram.y"
{
(yyvsp[(1) - (2)].range)->alias = (yyvsp[(2) - (2)].alias);
(yyval.node) = (Node *) (yyvsp[(1) - (2)].range);
;}
break;
case 1820:
#line 13522 "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 1821:
#line 13531 "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 1822:
#line 13539 "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 1823:
#line 13548 "gram.y"
{
RangeTableFunc *n = (RangeTableFunc *) (yyvsp[(1) - (2)].node);
n->alias = (yyvsp[(2) - (2)].alias);
(yyval.node) = (Node *) n;
;}
break;
case 1824:
#line 13555 "gram.y"
{
RangeTableFunc *n = (RangeTableFunc *) (yyvsp[(2) - (3)].node);
n->lateral = true;
n->alias = (yyvsp[(3) - (3)].alias);
(yyval.node) = (Node *) n;
;}
break;
case 1825:
#line 13563 "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 1826:
#line 13572 "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 1827:
#line 13581 "gram.y"
{
(yyval.node) = (Node *) (yyvsp[(1) - (1)].jexpr);
;}
break;
case 1828:
#line 13585 "gram.y"
{
(yyvsp[(2) - (4)].jexpr)->alias = (yyvsp[(4) - (4)].alias);
(yyval.node) = (Node *) (yyvsp[(2) - (4)].jexpr);
;}
break;
case 1829:
#line 13590 "gram.y"
{
JsonTable *jt = castNode(JsonTable, (yyvsp[(1) - (2)].node));
jt->alias = (yyvsp[(2) - (2)].alias);
(yyval.node) = (Node *) jt;
;}
break;
case 1830:
#line 13597 "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 1831:
#line 13626 "gram.y"
{
(yyval.jexpr) = (yyvsp[(2) - (3)].jexpr);
;}
break;
case 1832:
#line 13630 "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 1833:
#line 13644 "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 1834:
#line 13665 "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 1835:
#line 13687 "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 1836:
#line 13700 "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 1837:
#line 13717 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(2) - (5)].str);
(yyval.alias)->colnames = (yyvsp[(4) - (5)].list);
;}
break;
case 1838:
#line 13723 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(2) - (2)].str);
;}
break;
case 1839:
#line 13728 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(1) - (4)].str);
(yyval.alias)->colnames = (yyvsp[(3) - (4)].list);
;}
break;
case 1840:
#line 13734 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(1) - (1)].str);
;}
break;
case 1841:
#line 13740 "gram.y"
{ (yyval.alias) = (yyvsp[(1) - (1)].alias); ;}
break;
case 1842:
#line 13741 "gram.y"
{ (yyval.alias) = NULL; ;}
break;
case 1843:
#line 13752 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(2) - (2)].str);
/* the column name list will be inserted later */
;}
break;
case 1844:
#line 13757 "gram.y"
{ (yyval.alias) = NULL; ;}
break;
case 1845:
#line 13766 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (1)].alias), NIL);
;}
break;
case 1846:
#line 13770 "gram.y"
{
(yyval.list) = list_make2(NULL, (yyvsp[(3) - (4)].list));
;}
break;
case 1847:
#line 13774 "gram.y"
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[(2) - (5)].str);
(yyval.list) = list_make2(a, (yyvsp[(4) - (5)].list));
;}
break;
case 1848:
#line 13781 "gram.y"
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[(1) - (4)].str);
(yyval.list) = list_make2(a, (yyvsp[(3) - (4)].list));
;}
break;
case 1849:
#line 13788 "gram.y"
{
(yyval.list) = list_make2(NULL, NIL);
;}
break;
case 1850:
#line 13793 "gram.y"
{ (yyval.jtype) = JOIN_FULL; ;}
break;
case 1851:
#line 13794 "gram.y"
{ (yyval.jtype) = JOIN_LEFT; ;}
break;
case 1852:
#line 13795 "gram.y"
{ (yyval.jtype) = JOIN_RIGHT; ;}
break;
case 1853:
#line 13796 "gram.y"
{ (yyval.jtype) = JOIN_INNER; ;}
break;
case 1856:
#line 13817 "gram.y"
{
(yyval.node) = (Node *) list_make2((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].alias));
;}
break;
case 1857:
#line 13821 "gram.y"
{
(yyval.node) = (yyvsp[(2) - (2)].node);
;}
break;
case 1858:
#line 13829 "gram.y"
{
/* inheritance query, implicitly */
(yyval.range) = (yyvsp[(1) - (1)].range);
(yyval.range)->inh = true;
(yyval.range)->alias = NULL;
;}
break;
case 1859:
#line 13836 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
;}
break;
case 1860:
#line 13843 "gram.y"
{
/* inheritance query, explicitly */
(yyval.range) = (yyvsp[(1) - (2)].range);
(yyval.range)->inh = true;
(yyval.range)->alias = NULL;
;}
break;
case 1861:
#line 13850 "gram.y"
{
/* no inheritance */
(yyval.range) = (yyvsp[(2) - (2)].range);
(yyval.range)->inh = false;
(yyval.range)->alias = NULL;
;}
break;
case 1862:
#line 13857 "gram.y"
{
/* no inheritance, SQL99-style syntax */
(yyval.range) = (yyvsp[(3) - (4)].range);
(yyval.range)->inh = false;
(yyval.range)->alias = NULL;
;}
break;
case 1863:
#line 13867 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;}
break;
case 1864:
#line 13868 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;}
break;
case 1865:
#line 13882 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
;}
break;
case 1866:
#line 13886 "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 1867:
#line 13894 "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 1868:
#line 13908 "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 1869:
#line 13921 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(3) - (4)].node); ;}
break;
case 1870:
#line 13922 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1871:
#line 13938 "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 1872:
#line 13949 "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 1873:
#line 13962 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list)); ;}
break;
case 1874:
#line 13966 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
break;
case 1875:
#line 13967 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
break;
case 1876:
#line 13970 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1877:
#line 13971 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1878:
#line 13974 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1879:
#line 13975 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1880:
#line 13980 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1881:
#line 13981 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1882:
#line 13986 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1883:
#line 13988 "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 1884:
#line 13996 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1885:
#line 14001 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1886:
#line 14002 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1887:
#line 14007 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 1888:
#line 14011 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 1889:
#line 14017 "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 1890:
#line 14042 "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 1891:
#line 14054 "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 1892:
#line 14066 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1893:
#line 14067 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1894:
#line 14072 "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 1895:
#line 14086 "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 1896:
#line 14143 "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 1897:
#line 14157 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1898:
#line 14159 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1899:
#line 14164 "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 1900:
#line 14173 "gram.y"
{ (yyval.defelt) = makeDefElem("default", (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1901:
#line 14175 "gram.y"
{ (yyval.defelt) = makeDefElem("__pg__is_not_null", (Node *) makeBoolean(true), (yylsp[(1) - (2)])); ;}
break;
case 1902:
#line 14177 "gram.y"
{ (yyval.defelt) = makeDefElem("__pg__is_not_null", (Node *) makeBoolean(false), (yylsp[(1) - (1)])); ;}
break;
case 1903:
#line 14179 "gram.y"
{ (yyval.defelt) = makeDefElem("path", (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1904:
#line 14184 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1905:
#line 14186 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 1906:
#line 14191 "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 1907:
#line 14199 "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 1908:
#line 14215 "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 1909:
#line 14237 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1910:
#line 14238 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1911:
#line 14243 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1912:
#line 14245 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1913:
#line 14250 "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 1914:
#line 14263 "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 1915:
#line 14283 "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 1916:
#line 14301 "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 1917:
#line 14318 "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 1918:
#line 14330 "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 1921:
#line 14349 "gram.y"
{ (yyval.node) = (Node *) makeJsonTablePathSpec((yyvsp[(2) - (2)].str), NULL, (yylsp[(2) - (2)]), -1); ;}
break;
case 1922:
#line 14351 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1923:
#line 14365 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[(2) - (2)].list);
;}
break;
case 1924:
#line 14370 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (3)].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[(3) - (3)].list);
(yyval.typnam)->setof = true;
;}
break;
case 1925:
#line 14377 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (5)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(4) - (5)].ival)));
;}
break;
case 1926:
#line 14382 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (6)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(5) - (6)].ival)));
(yyval.typnam)->setof = true;
;}
break;
case 1927:
#line 14388 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
;}
break;
case 1928:
#line 14393 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (3)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
(yyval.typnam)->setof = true;
;}
break;
case 1929:
#line 14402 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeInteger(-1)); ;}
break;
case 1930:
#line 14404 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (4)].list), makeInteger((yyvsp[(3) - (4)].ival))); ;}
break;
case 1931:
#line 14406 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1932:
#line 14410 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1933:
#line 14411 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1934:
#line 14412 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1935:
#line 14413 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1936:
#line 14414 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1937:
#line 14416 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
;}
break;
case 1938:
#line 14421 "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 1939:
#line 14426 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1940:
#line 14441 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1941:
#line 14442 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1942:
#line 14443 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1943:
#line 14444 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1944:
#line 14445 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1945:
#line 14457 "gram.y"
{
(yyval.typnam) = makeTypeName((yyvsp[(1) - (2)].str));
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1946:
#line 14463 "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 1947:
#line 14470 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1948:
#line 14471 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1949:
#line 14478 "gram.y"
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1950:
#line 14483 "gram.y"
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1951:
#line 14488 "gram.y"
{
(yyval.typnam) = SystemTypeName("int2");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1952:
#line 14493 "gram.y"
{
(yyval.typnam) = SystemTypeName("int8");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1953:
#line 14498 "gram.y"
{
(yyval.typnam) = SystemTypeName("float4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1954:
#line 14503 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (2)].typnam);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1955:
#line 14508 "gram.y"
{
(yyval.typnam) = SystemTypeName("float8");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1956:
#line 14513 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1957:
#line 14519 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1958:
#line 14525 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1959:
#line 14531 "gram.y"
{
(yyval.typnam) = SystemTypeName("bool");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1960:
#line 14538 "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 1961:
#line 14559 "gram.y"
{
(yyval.typnam) = SystemTypeName("float8");
;}
break;
case 1962:
#line 14569 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1963:
#line 14573 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1964:
#line 14581 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1965:
#line 14585 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
(yyval.typnam)->typmods = NIL;
;}
break;
case 1966:
#line 14593 "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 1967:
#line 14605 "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 1968:
#line 14626 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1969:
#line 14630 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1970:
#line 14636 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1971:
#line 14640 "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 1972:
#line 14653 "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 1973:
#line 14661 "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 1974:
#line 14671 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1975:
#line 14673 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1976:
#line 14675 "gram.y"
{ (yyval.str) = "varchar"; ;}
break;
case 1977:
#line 14677 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1978:
#line 14679 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1979:
#line 14681 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1980:
#line 14685 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1981:
#line 14686 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1982:
#line 14694 "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 1983:
#line 14703 "gram.y"
{
if ((yyvsp[(2) - (2)].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
else
(yyval.typnam) = SystemTypeName("timestamp");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1984:
#line 14711 "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 1985:
#line 14720 "gram.y"
{
if ((yyvsp[(2) - (2)].boolean))
(yyval.typnam) = SystemTypeName("timetz");
else
(yyval.typnam) = SystemTypeName("time");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1986:
#line 14731 "gram.y"
{
(yyval.typnam) = SystemTypeName("interval");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1987:
#line 14738 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1988:
#line 14739 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1989:
#line 14740 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1990:
#line 14745 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[(1) - (1)]))); ;}
break;
case 1991:
#line 14747 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[(1) - (1)]))); ;}
break;
case 1992:
#line 14749 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[(1) - (1)]))); ;}
break;
case 1993:
#line 14751 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[(1) - (1)]))); ;}
break;
case 1994:
#line 14753 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[(1) - (1)]))); ;}
break;
case 1995:
#line 14755 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1996:
#line 14757 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
INTERVAL_MASK(MONTH), (yylsp[(1) - (3)])));
;}
break;
case 1997:
#line 14762 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR), (yylsp[(1) - (3)])));
;}
break;
case 1998:
#line 14767 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
;}
break;
case 1999:
#line 14773 "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 2000:
#line 14781 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
;}
break;
case 2001:
#line 14786 "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 2002:
#line 14793 "gram.y"
{
(yyval.list) = (yyvsp[(3) - (3)].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[(1) - (3)]));
;}
break;
case 2003:
#line 14799 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2004:
#line 14804 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (1)])));
;}
break;
case 2005:
#line 14808 "gram.y"
{
(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (4)])),
makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
;}
break;
case 2006:
#line 14816 "gram.y"
{
(yyval.typnam) = SystemTypeName("json");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 2007:
#line 14850 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2008:
#line 14852 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;}
break;
case 2009:
#line 14854 "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 2010:
#line 14863 "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 2011:
#line 14870 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
list_make1((yyvsp[(1) - (3)].node)),
COERCE_SQL_SYNTAX,
-1);
;}
break;
case 2012:
#line 14886 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2013:
#line 14888 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2014:
#line 14890 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2015:
#line 14892 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2016:
#line 14894 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2017:
#line 14896 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2018:
#line 14898 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2019:
#line 14900 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2020:
#line 14902 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2021:
#line 14904 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2022:
#line 14906 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2023:
#line 14908 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2024:
#line 14910 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2025:
#line 14912 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2026:
#line 14915 "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 2027:
#line 14917 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2028:
#line 14920 "gram.y"
{ (yyval.node) = makeAndExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2029:
#line 14922 "gram.y"
{ (yyval.node) = makeOrExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2030:
#line 14924 "gram.y"
{ (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2031:
#line 14926 "gram.y"
{ (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2032:
#line 14929 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
(yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
;}
break;
case 2033:
#line 14934 "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 2034:
#line 14943 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
(yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
;}
break;
case 2035:
#line 14948 "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 2036:
#line 14957 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
(yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
;}
break;
case 2037:
#line 14962 "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 2038:
#line 14971 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
(yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
;}
break;
case 2039:
#line 14976 "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 2040:
#line 14986 "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 2041:
#line 14995 "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 2042:
#line 15004 "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 2043:
#line 15013 "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 2044:
#line 15032 "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 2045:
#line 15041 "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 2046:
#line 15050 "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 2047:
#line 15059 "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 2048:
#line 15068 "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 2049:
#line 15085 "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 2050:
#line 15094 "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 2051:
#line 15103 "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 2052:
#line 15112 "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 2053:
#line 15121 "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 2054:
#line 15130 "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 2055:
#line 15139 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
;}
break;
case 2056:
#line 15143 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)]));
;}
break;
case 2057:
#line 15147 "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 2058:
#line 15155 "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 2059:
#line 15163 "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 2060:
#line 15171 "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 2061:
#line 15179 "gram.y"
{
/* in_expr returns a SubLink or a list of a_exprs */
if (IsA((yyvsp[(3) - (3)].node), SubLink))
{
/* generate foo = ANY (subquery) */
SubLink *n = (SubLink *) (yyvsp[(3) - (3)].node);
n->subLinkType = ANY_SUBLINK;
n->subLinkId = 0;
n->testexpr = (yyvsp[(1) - (3)].node);
n->operName = NIL; /* show it's IN not = ANY */
n->location = (yylsp[(2) - (3)]);
(yyval.node) = (Node *) n;
}
else
{
/* generate scalar IN expression */
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
}
;}
break;
case 2062:
#line 15200 "gram.y"
{
/* in_expr returns a SubLink or a list of a_exprs */
if (IsA((yyvsp[(4) - (4)].node), SubLink))
{
/* generate NOT (foo = ANY (subquery)) */
/* Make an = ANY node */
SubLink *n = (SubLink *) (yyvsp[(4) - (4)].node);
n->subLinkType = ANY_SUBLINK;
n->subLinkId = 0;
n->testexpr = (yyvsp[(1) - (4)].node);
n->operName = NIL; /* show it's IN not = ANY */
n->location = (yylsp[(2) - (4)]);
/* Stick a NOT on top; must have same parse location */
(yyval.node) = makeNotExpr((Node *) n, (yylsp[(2) - (4)]));
}
else
{
/* generate scalar NOT IN expression */
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
}
;}
break;
case 2063:
#line 15223 "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 2064:
#line 15235 "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 2065:
#line 15242 "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 2066:
#line 15258 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
;}
break;
case 2067:
#line 15263 "gram.y"
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])),
(yylsp[(2) - (4)]));
;}
break;
case 2068:
#line 15269 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
list_make1((yyvsp[(1) - (3)].node)),
COERCE_SQL_SYNTAX,
(yylsp[(2) - (3)]));
;}
break;
case 2069:
#line 15276 "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 2070:
#line 15283 "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 2071:
#line 15291 "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 2072:
#line 15300 "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 2073:
#line 15318 "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 2074:
#line 15335 "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 2075:
#line 15361 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2076:
#line 15363 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;}
break;
case 2077:
#line 15365 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2078:
#line 15367 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2079:
#line 15369 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2080:
#line 15371 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2081:
#line 15373 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2082:
#line 15375 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2083:
#line 15377 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2084:
#line 15379 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2085:
#line 15381 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2086:
#line 15383 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2087:
#line 15385 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2088:
#line 15387 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2089:
#line 15389 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2090:
#line 15391 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2091:
#line 15393 "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 2092:
#line 15395 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2093:
#line 15397 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
;}
break;
case 2094:
#line 15401 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)]));
;}
break;
case 2095:
#line 15405 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
;}
break;
case 2096:
#line 15410 "gram.y"
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])),
(yylsp[(2) - (4)]));
;}
break;
case 2097:
#line 15425 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2098:
#line 15426 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2099:
#line 15428 "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 2100:
#line 15445 "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 2101:
#line 15458 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2102:
#line 15460 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2103:
#line 15462 "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 2104:
#line 15474 "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 2105:
#line 15499 "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 2106:
#line 15511 "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 2107:
#line 15523 "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 2108:
#line 15531 "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 2109:
#line 15542 "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 2110:
#line 15553 "gram.y"
{
GroupingFunc *g = makeNode(GroupingFunc);
g->args = (yyvsp[(3) - (4)].list);
g->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *) g;
;}
break;
case 2111:
#line 15563 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall((yyvsp[(1) - (3)].list), NIL,
COERCE_EXPLICIT_CALL,
(yylsp[(1) - (3)]));
;}
break;
case 2112:
#line 15569 "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 2113:
#line 15578 "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 2114:
#line 15588 "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 2115:
#line 15598 "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 2116:
#line 15611 "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 2117:
#line 15621 "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 2118:
#line 15652 "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 2119:
#line 15688 "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 2120:
#line 15698 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2121:
#line 15708 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2122:
#line 15709 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2123:
#line 15710 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2124:
#line 15718 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
list_make1((yyvsp[(4) - (5)].node)),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (5)]));
;}
break;
case 2125:
#line 15725 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[(1) - (1)]));
;}
break;
case 2126:
#line 15729 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[(1) - (1)]));
;}
break;
case 2127:
#line 15733 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
;}
break;
case 2128:
#line 15737 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[(1) - (1)]));
;}
break;
case 2129:
#line 15741 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
;}
break;
case 2130:
#line 15745 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[(1) - (1)]));
;}
break;
case 2131:
#line 15749 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
;}
break;
case 2132:
#line 15753 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[(1) - (1)]));
;}
break;
case 2133:
#line 15757 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
;}
break;
case 2134:
#line 15761 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[(1) - (1)]));
;}
break;
case 2135:
#line 15765 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[(1) - (1)]));
;}
break;
case 2136:
#line 15769 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[(1) - (1)]));
;}
break;
case 2137:
#line 15773 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("system_user"),
NIL,
COERCE_SQL_SYNTAX,
(yylsp[(1) - (1)]));
;}
break;
case 2138:
#line 15780 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[(1) - (1)]));
;}
break;
case 2139:
#line 15784 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[(1) - (1)]));
;}
break;
case 2140:
#line 15788 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[(1) - (1)]));
;}
break;
case 2141:
#line 15792 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), (yylsp[(1) - (6)])); ;}
break;
case 2142:
#line 15794 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("extract"),
(yyvsp[(3) - (4)].list),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (4)]));
;}
break;
case 2143:
#line 15801 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
list_make1((yyvsp[(3) - (4)].node)),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (4)]));
;}
break;
case 2144:
#line 15808 "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 2145:
#line 15815 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"),
(yyvsp[(3) - (4)].list),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (4)]));
;}
break;
case 2146:
#line 15822 "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 2147:
#line 15833 "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 2148:
#line 15847 "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 2149:
#line 15857 "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 2150:
#line 15868 "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 2151:
#line 15884 "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 2152:
#line 15894 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"),
(yyvsp[(4) - (5)].list),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (5)]));
;}
break;
case 2153:
#line 15901 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"),
(yyvsp[(4) - (5)].list),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (5)]));
;}
break;
case 2154:
#line 15908 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
(yyvsp[(3) - (4)].list),
COERCE_SQL_SYNTAX,
(yylsp[(1) - (4)]));
;}
break;
case 2155:
#line 15915 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(1) - (6)]));
;}
break;
case 2156:
#line 15919 "gram.y"
{
CoalesceExpr *c = makeNode(CoalesceExpr);
c->args = (yyvsp[(3) - (4)].list);
c->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *) c;
;}
break;
case 2157:
#line 15927 "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 2158:
#line 15936 "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 2159:
#line 15945 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 2160:
#line 15949 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (5)].str), NIL, NIL, (yylsp[(1) - (5)]));
;}
break;
case 2161:
#line 15953 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), (yyvsp[(6) - (7)].list), NIL, (yylsp[(1) - (7)]));
;}
break;
case 2162:
#line 15957 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), NIL, (yyvsp[(6) - (7)].list), (yylsp[(1) - (7)]));
;}
break;
case 2163:
#line 15961 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (9)].str), (yyvsp[(6) - (9)].list), (yyvsp[(8) - (9)].list), (yylsp[(1) - (9)]));
;}
break;
case 2164:
#line 15965 "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 2165:
#line 15974 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[(3) - (4)].list), NIL, (yylsp[(1) - (4)]));
;}
break;
case 2166:
#line 15978 "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 2167:
#line 15988 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (5)].str), NULL, NIL, (yylsp[(1) - (5)]));
;}
break;
case 2168:
#line 15992 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (7)].str), NULL, list_make1((yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)]));
;}
break;
case 2169:
#line 15996 "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 2170:
#line 16001 "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 2171:
#line 16012 "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 2172:
#line 16021 "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 2173:
#line 16032 "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 2174:
#line 16047 "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 2175:
#line 16062 "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 2176:
#line 16075 "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 2177:
#line 16085 "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 2178:
#line 16095 "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 2179:
#line 16104 "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 2180:
#line 16113 "gram.y"
{
MergeSupportFunc *m = makeNode(MergeSupportFunc);
m->msftype = TEXTOID;
m->location = (yylsp[(1) - (3)]);
(yyval.node) = (Node *) m;
;}
break;
case 2181:
#line 16127 "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 2182:
#line 16146 "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 2183:
#line 16163 "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 2184:
#line 16183 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 2185:
#line 16185 "gram.y"
{ (yyval.node) = makeNullAConst(-1); ;}
break;
case 2186:
#line 16189 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); ;}
break;
case 2187:
#line 16191 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); ;}
break;
case 2188:
#line 16193 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); ;}
break;
case 2189:
#line 16195 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); ;}
break;
case 2190:
#line 16198 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2191:
#line 16201 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 2192:
#line 16202 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 2193:
#line 16206 "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 2194:
#line 16214 "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 2195:
#line 16223 "gram.y"
{ (yyval.ival) = XMLOPTION_DOCUMENT; ;}
break;
case 2196:
#line 16224 "gram.y"
{ (yyval.ival) = XMLOPTION_CONTENT; ;}
break;
case 2197:
#line 16227 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2198:
#line 16228 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2199:
#line 16229 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2200:
#line 16232 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2201:
#line 16233 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2202:
#line 16234 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2203:
#line 16240 "gram.y"
{
(yyval.node) = (yyvsp[(2) - (2)].node);
;}
break;
case 2204:
#line 16244 "gram.y"
{
(yyval.node) = (yyvsp[(2) - (3)].node);
;}
break;
case 2205:
#line 16248 "gram.y"
{
(yyval.node) = (yyvsp[(3) - (3)].node);
;}
break;
case 2206:
#line 16252 "gram.y"
{
(yyval.node) = (yyvsp[(3) - (4)].node);
;}
break;
case 2209:
#line 16267 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (5)].list); ;}
break;
case 2210:
#line 16268 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2211:
#line 16272 "gram.y"
{ (yyval.node) = (yyvsp[(4) - (5)].node); ;}
break;
case 2212:
#line 16273 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2213:
#line 16281 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 2214:
#line 16282 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2215:
#line 16286 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].windef)); ;}
break;
case 2216:
#line 16288 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].windef)); ;}
break;
case 2217:
#line 16293 "gram.y"
{
WindowDef *n = (yyvsp[(3) - (3)].windef);
n->name = (yyvsp[(1) - (3)].str);
(yyval.windef) = n;
;}
break;
case 2218:
#line 16302 "gram.y"
{ (yyval.windef) = (yyvsp[(2) - (2)].windef); ;}
break;
case 2219:
#line 16304 "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 2220:
#line 16318 "gram.y"
{ (yyval.windef) = NULL; ;}
break;
case 2221:
#line 16323 "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 2222:
#line 16349 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2223:
#line 16350 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 2224:
#line 16353 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); ;}
break;
case 2225:
#line 16354 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2226:
#line 16363 "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 2227:
#line 16371 "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 2228:
#line 16379 "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 2229:
#line 16387 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_DEFAULTS;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2230:
#line 16398 "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 2231:
#line 16416 "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 2232:
#line 16462 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2233:
#line 16471 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2234:
#line 16480 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2235:
#line 16489 "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 2236:
#line 16498 "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 2237:
#line 16509 "gram.y"
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; ;}
break;
case 2238:
#line 16510 "gram.y"
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; ;}
break;
case 2239:
#line 16511 "gram.y"
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; ;}
break;
case 2240:
#line 16512 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 2241:
#line 16513 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 2242:
#line 16527 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2243:
#line 16528 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2244:
#line 16529 "gram.y"
{ (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;}
break;
case 2245:
#line 16532 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2246:
#line 16533 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2247:
#line 16536 "gram.y"
{ (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;}
break;
case 2248:
#line 16539 "gram.y"
{ (yyval.ival) = ANY_SUBLINK; ;}
break;
case 2249:
#line 16540 "gram.y"
{ (yyval.ival) = ANY_SUBLINK; ;}
break;
case 2250:
#line 16541 "gram.y"
{ (yyval.ival) = ALL_SUBLINK; ;}
break;
case 2251:
#line 16544 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2252:
#line 16545 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2253:
#line 16548 "gram.y"
{ (yyval.str) = "+"; ;}
break;
case 2254:
#line 16549 "gram.y"
{ (yyval.str) = "-"; ;}
break;
case 2255:
#line 16550 "gram.y"
{ (yyval.str) = "*"; ;}
break;
case 2256:
#line 16551 "gram.y"
{ (yyval.str) = "/"; ;}
break;
case 2257:
#line 16552 "gram.y"
{ (yyval.str) = "%"; ;}
break;
case 2258:
#line 16553 "gram.y"
{ (yyval.str) = "^"; ;}
break;
case 2259:
#line 16554 "gram.y"
{ (yyval.str) = "<"; ;}
break;
case 2260:
#line 16555 "gram.y"
{ (yyval.str) = ">"; ;}
break;
case 2261:
#line 16556 "gram.y"
{ (yyval.str) = "="; ;}
break;
case 2262:
#line 16557 "gram.y"
{ (yyval.str) = "<="; ;}
break;
case 2263:
#line 16558 "gram.y"
{ (yyval.str) = ">="; ;}
break;
case 2264:
#line 16559 "gram.y"
{ (yyval.str) = "<>"; ;}
break;
case 2265:
#line 16563 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2266:
#line 16565 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2267:
#line 16570 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2268:
#line 16572 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2269:
#line 16577 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2270:
#line 16579 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2271:
#line 16581 "gram.y"
{ (yyval.list) = list_make1(makeString("~~")); ;}
break;
case 2272:
#line 16583 "gram.y"
{ (yyval.list) = list_make1(makeString("!~~")); ;}
break;
case 2273:
#line 16585 "gram.y"
{ (yyval.list) = list_make1(makeString("~~*")); ;}
break;
case 2274:
#line 16587 "gram.y"
{ (yyval.list) = list_make1(makeString("!~~*")); ;}
break;
case 2275:
#line 16599 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 2276:
#line 16603 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 2277:
#line 16610 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 2278:
#line 16614 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 2279:
#line 16620 "gram.y"
{
(yyval.node) = (yyvsp[(1) - (1)].node);
;}
break;
case 2280:
#line 16624 "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 2281:
#line 16634 "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 2282:
#line 16645 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 2283:
#line 16646 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2284:
#line 16649 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;}
break;
case 2285:
#line 16650 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;}
break;
case 2286:
#line 16654 "gram.y"
{
(yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 2287:
#line 16658 "gram.y"
{
(yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 2288:
#line 16662 "gram.y"
{
(yyval.node) = makeAArrayExpr(NIL, (yylsp[(1) - (2)]));
;}
break;
case 2289:
#line 16667 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2290:
#line 16668 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 2291:
#line 16674 "gram.y"
{
(yyval.list) = list_make2(makeStringConst((yyvsp[(1) - (3)].str), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
;}
break;
case 2292:
#line 16678 "gram.y"
{
(yyval.list) = list_make2(makeParamRef((yyvsp[(1) - (3)].ival), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
;}
break;
case 2293:
#line 16687 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2294:
#line 16688 "gram.y"
{ (yyval.str) = "year"; ;}
break;
case 2295:
#line 16689 "gram.y"
{ (yyval.str) = "month"; ;}
break;
case 2296:
#line 16690 "gram.y"
{ (yyval.str) = "day"; ;}
break;
case 2297:
#line 16691 "gram.y"
{ (yyval.str) = "hour"; ;}
break;
case 2298:
#line 16692 "gram.y"
{ (yyval.str) = "minute"; ;}
break;
case 2299:
#line 16693 "gram.y"
{ (yyval.str) = "second"; ;}
break;
case 2300:
#line 16694 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2301:
#line 16698 "gram.y"
{ (yyval.str) = "NFC"; ;}
break;
case 2302:
#line 16699 "gram.y"
{ (yyval.str) = "NFD"; ;}
break;
case 2303:
#line 16700 "gram.y"
{ (yyval.str) = "NFKC"; ;}
break;
case 2304:
#line 16701 "gram.y"
{ (yyval.str) = "NFKD"; ;}
break;
case 2305:
#line 16707 "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 2306:
#line 16712 "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 2307:
#line 16720 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(3) - (3)].node), (yyvsp[(1) - (3)].node)); ;}
break;
case 2308:
#line 16742 "gram.y"
{
(yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));
;}
break;
case 2309:
#line 16746 "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 2310:
#line 16751 "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 2311:
#line 16762 "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 2312:
#line 16779 "gram.y"
{
(yyval.list) = list_make3((yyvsp[(1) - (5)].node), (yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node));
;}
break;
case 2313:
#line 16784 "gram.y"
{ (yyval.list) = lappend((yyvsp[(3) - (3)].list), (yyvsp[(1) - (3)].node)); ;}
break;
case 2314:
#line 16785 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 2315:
#line 16786 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 2316:
#line 16790 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subselect = (yyvsp[(1) - (1)].node);
/* other fields will be filled later */
(yyval.node) = (Node *) n;
;}
break;
case 2317:
#line 16797 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); ;}
break;
case 2318:
#line 16808 "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 2319:
#line 16822 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2320:
#line 16823 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 2321:
#line 16828 "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 2322:
#line 16839 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 2323:
#line 16840 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2324:
#line 16843 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2325:
#line 16844 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2326:
#line 16848 "gram.y"
{
(yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)]), yyscanner);
;}
break;
case 2327:
#line 16852 "gram.y"
{
(yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner);
;}
break;
case 2328:
#line 16859 "gram.y"
{
(yyval.node) = (Node *) makeString((yyvsp[(2) - (2)].str));
;}
break;
case 2329:
#line 16863 "gram.y"
{
(yyval.node) = (Node *) makeNode(A_Star);
;}
break;
case 2330:
#line 16867 "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 2331:
#line 16876 "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 2332:
#line 16887 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2333:
#line 16888 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2334:
#line 16892 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2335:
#line 16893 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 2336:
#line 16897 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2337:
#line 16898 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 2340:
#line 16907 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 2341:
#line 16908 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2342:
#line 16912 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2343:
#line 16913 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 2344:
#line 16918 "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 2345:
#line 16929 "gram.y"
{ (yyval.ival) = JSW_NONE; ;}
break;
case 2346:
#line 16930 "gram.y"
{ (yyval.ival) = JSW_NONE; ;}
break;
case 2347:
#line 16931 "gram.y"
{ (yyval.ival) = JSW_UNCONDITIONAL; ;}
break;
case 2348:
#line 16932 "gram.y"
{ (yyval.ival) = JSW_UNCONDITIONAL; ;}
break;
case 2349:
#line 16933 "gram.y"
{ (yyval.ival) = JSW_CONDITIONAL; ;}
break;
case 2350:
#line 16934 "gram.y"
{ (yyval.ival) = JSW_UNCONDITIONAL; ;}
break;
case 2351:
#line 16935 "gram.y"
{ (yyval.ival) = JSW_CONDITIONAL; ;}
break;
case 2352:
#line 16936 "gram.y"
{ (yyval.ival) = JSW_UNCONDITIONAL; ;}
break;
case 2353:
#line 16937 "gram.y"
{ (yyval.ival) = JSW_UNSPEC; ;}
break;
case 2354:
#line 16942 "gram.y"
{ (yyval.node) = (Node *) makeJsonBehavior(JSON_BEHAVIOR_DEFAULT, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2355:
#line 16944 "gram.y"
{ (yyval.node) = (Node *) makeJsonBehavior((yyvsp[(1) - (1)].ival), NULL, (yylsp[(1) - (1)])); ;}
break;
case 2356:
#line 16948 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_ERROR; ;}
break;
case 2357:
#line 16949 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_NULL; ;}
break;
case 2358:
#line 16950 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_TRUE; ;}
break;
case 2359:
#line 16951 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_FALSE; ;}
break;
case 2360:
#line 16952 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_UNKNOWN; ;}
break;
case 2361:
#line 16953 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; ;}
break;
case 2362:
#line 16954 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_EMPTY_OBJECT; ;}
break;
case 2363:
#line 16956 "gram.y"
{ (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; ;}
break;
case 2364:
#line 16961 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(1) - (3)].node), NULL); ;}
break;
case 2365:
#line 16963 "gram.y"
{ (yyval.list) = list_make2(NULL, (yyvsp[(1) - (3)].node)); ;}
break;
case 2366:
#line 16965 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(1) - (6)].node), (yyvsp[(4) - (6)].node)); ;}
break;
case 2367:
#line 16967 "gram.y"
{ (yyval.list) = list_make2(NULL, NULL); ;}
break;
case 2368:
#line 16972 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (3)].node); ;}
break;
case 2369:
#line 16974 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2370:
#line 16979 "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 2371:
#line 16988 "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)));
(yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, encoding, (yylsp[(1) - (4)]));
;}
break;
case 2372:
#line 17005 "gram.y"
{
(yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, JS_ENC_DEFAULT, (yylsp[(1) - (2)]));
;}
break;
case 2373:
#line 17012 "gram.y"
{
(yyval.node) = (yyvsp[(1) - (1)].node);
;}
break;
case 2374:
#line 17016 "gram.y"
{
(yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
;}
break;
case 2375:
#line 17022 "gram.y"
{ (yyval.ival) = JS_QUOTES_KEEP; ;}
break;
case 2376:
#line 17023 "gram.y"
{ (yyval.ival) = JS_QUOTES_KEEP; ;}
break;
case 2377:
#line 17024 "gram.y"
{ (yyval.ival) = JS_QUOTES_OMIT; ;}
break;
case 2378:
#line 17025 "gram.y"
{ (yyval.ival) = JS_QUOTES_OMIT; ;}
break;
case 2379:
#line 17026 "gram.y"
{ (yyval.ival) = JS_QUOTES_UNSPEC; ;}
break;
case 2380:
#line 17031 "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 2381:
#line 17039 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2382:
#line 17053 "gram.y"
{ (yyval.ival) = JS_TYPE_ANY; ;}
break;
case 2383:
#line 17054 "gram.y"
{ (yyval.ival) = JS_TYPE_ANY; ;}
break;
case 2384:
#line 17055 "gram.y"
{ (yyval.ival) = JS_TYPE_ARRAY; ;}
break;
case 2385:
#line 17056 "gram.y"
{ (yyval.ival) = JS_TYPE_OBJECT; ;}
break;
case 2386:
#line 17057 "gram.y"
{ (yyval.ival) = JS_TYPE_SCALAR; ;}
break;
case 2387:
#line 17066 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2388:
#line 17067 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2389:
#line 17068 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2390:
#line 17069 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2391:
#line 17070 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2392:
#line 17075 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2393:
#line 17077 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 2394:
#line 17087 "gram.y"
{ (yyval.node) = makeJsonKeyValue((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;}
break;
case 2395:
#line 17090 "gram.y"
{ (yyval.node) = makeJsonKeyValue((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node)); ;}
break;
case 2396:
#line 17095 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2397:
#line 17096 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2398:
#line 17097 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2399:
#line 17101 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2400:
#line 17102 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2401:
#line 17103 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2402:
#line 17107 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2403:
#line 17108 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));;}
break;
case 2404:
#line 17118 "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 2405:
#line 17136 "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 2406:
#line 17150 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); ;}
break;
case 2407:
#line 17151 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2408:
#line 17160 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 2409:
#line 17161 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2410:
#line 17165 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 2411:
#line 17166 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 2412:
#line 17170 "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 2413:
#line 17178 "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 2414:
#line 17186 "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 2415:
#line 17194 "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 2416:
#line 17216 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;}
break;
case 2417:
#line 17217 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;}
break;
case 2418:
#line 17229 "gram.y"
{
(yyval.range) = makeRangeVar(NULL, (yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2419:
#line 17233 "gram.y"
{
(yyval.range) = makeRangeVarFromQualifiedName((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner);
;}
break;
case 2420:
#line 17239 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2421:
#line 17241 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 2422:
#line 17245 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2423:
#line 17247 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2424:
#line 17249 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2425:
#line 17260 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2426:
#line 17262 "gram.y"
{
(yyval.list) = check_func_name(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)),
yyscanner);
;}
break;
case 2427:
#line 17273 "gram.y"
{
(yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)]));
;}
break;
case 2428:
#line 17277 "gram.y"
{
(yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2429:
#line 17281 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2430:
#line 17285 "gram.y"
{
(yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2431:
#line 17289 "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 2432:
#line 17298 "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 2433:
#line 17306 "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 2434:
#line 17338 "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 2435:
#line 17345 "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 2436:
#line 17377 "gram.y"
{
(yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam));
;}
break;
case 2437:
#line 17381 "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 2438:
#line 17388 "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 2439:
#line 17396 "gram.y"
{
(yyval.node) = makeParamRefCast((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam));
;}
break;
case 2440:
#line 17400 "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 2441:
#line 17406 "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 2442:
#line 17413 "gram.y"
{
(yyval.node) = makeBoolAConst(true, (yylsp[(1) - (1)]));
;}
break;
case 2443:
#line 17417 "gram.y"
{
(yyval.node) = makeBoolAConst(false, (yylsp[(1) - (1)]));
;}
break;
case 2444:
#line 17421 "gram.y"
{
(yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
;}
break;
case 2445:
#line 17426 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
break;
case 2446:
#line 17427 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2447:
#line 17429 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
break;
case 2448:
#line 17430 "gram.y"
{ (yyval.ival) = + (yyvsp[(2) - (2)].ival); ;}
break;
case 2449:
#line 17431 "gram.y"
{ (yyval.ival) = - (yyvsp[(2) - (2)].ival); ;}
break;
case 2450:
#line 17436 "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 2451:
#line 17477 "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 2452:
#line 17505 "gram.y"
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_ROLE, (yylsp[(1) - (1)]));
;}
break;
case 2453:
#line 17509 "gram.y"
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)]));
;}
break;
case 2454:
#line 17513 "gram.y"
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[(1) - (1)]));
;}
break;
case 2455:
#line 17519 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].rolespec)); ;}
break;
case 2456:
#line 17521 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].rolespec)); ;}
break;
case 2457:
#line 17538 "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")));
n->limitOption = (yyvsp[(9) - (10)].selectlimit)->limitOption;
}
n->lockingClause = (yyvsp[(10) - (10)].list);
(yyval.node) = (Node *) n;
;}
break;
case 2458:
#line 17571 "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 2459:
#line 17583 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2460:
#line 17584 "gram.y"
{ (yyval.str) = psprintf("$%d", (yyvsp[(1) - (1)].ival)); ;}
break;
case 2463:
#line 17605 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2464:
#line 17606 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2465:
#line 17607 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2466:
#line 17612 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2467:
#line 17613 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2468:
#line 17614 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2469:
#line 17619 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2470:
#line 17620 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2471:
#line 17621 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2472:
#line 17622 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2473:
#line 17628 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2474:
#line 17629 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2475:
#line 17630 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2476:
#line 17631 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2477:
#line 17632 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2478:
#line 17638 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2479:
#line 17639 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
/* Line 1267 of yacc.c. */
#line 52782 "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 18651 "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(exprLocation((Node *) firsto))));
/* OK, drop the duplicate VARIADIC argument from the internal form */
orderedargs = NIL;
}
/* don't merge into the next line, as list_concat changes directargs */
ndirectargs = 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(exprLocation(limitClause->limitOffset))));
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(exprLocation(limitClause->limitCount))));
stmt->limitCount = limitClause->limitCount;
}
if (limitClause)
{
if (stmt->limitOption)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("multiple limit options not allowed")));
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")));
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")));
}
}
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)
{
A_ArrayExpr *n = makeNode(A_ArrayExpr);
n->elements = elements;
n->location = location;
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)
{
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")));
}
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 *not_valid,
bool *no_inherit, core_yyscan_t yyscanner)
{
/* defaults */
if (deferrable)
*deferrable = false;
if (initdeferred)
*initdeferred = false;
if (not_valid)
*not_valid = false;
if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
{
if (deferrable)
*deferrable = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked DEFERRABLE",
constrType),
parser_errposition(location)));
}
if (cas_bits & CAS_INITIALLY_DEFERRED)
{
if (initdeferred)
*initdeferred = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked DEFERRABLE",
constrType),
parser_errposition(location)));
}
if (cas_bits & CAS_NOT_VALID)
{
if (not_valid)
*not_valid = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked NOT VALID",
constrType),
parser_errposition(location)));
}
if (cas_bits & CAS_NO_INHERIT)
{
if (no_inherit)
*no_inherit = true;
else
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
/* translator: %s is CHECK, UNIQUE, or similar */
errmsg("%s constraints cannot be marked NO INHERIT",
constrType),
parser_errposition(location)));
}
}
/*
* Parse a user-supplied partition strategy string into parse node
* PartitionStrategy representation, or die trying.
*/
static PartitionStrategy
parsePartitionStrategy(char *strategy)
{
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)));
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 */
}