/*--------------------------------------------------------------------
* Symbols referenced in this file:
* - parser_init
* - base_yyparse
* - SystemTypeName
* - SystemFuncName
* - yypact
* - yytranslate
* - yycheck
* - yytable
* - yydefact
* - yyr2
* - updateRawStmtEnd
* - makeRawStmt
* - makeParamRef
* - makeStringConst
* - makeAConst
* - makeStringConstCast
* - makeIntConst
* - processCASbits
* - makeRangeVarFromAnyName
* - SplitColQualList
* - doNegateFloat
* - makeRoleSpec
* - mergeTableFuncParameters
* - TableFuncTypeName
* - extractArgTypes
* - check_func_name
* - makeOrderedSetArgs
* - extractAggrArgTypes
* - makeRecursiveViewSelect
* - check_indirection
* - insertSelectOptions
* - makeSetOp
* - makeNullAConst
* - doNegate
* - makeFloatConst
* - makeTypeCast
* - makeInterval_or_AExprOp
* - makeAndExpr
* - makeOrExpr
* - makeNotExpr
* - makeXmlExpr
* - makeSQLValueFunction
* - makeBoolAConst
* - makeAArrayExpr
* - makeColumnRef
* - check_qualified_name
* - 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,
ABSOLUTE_P = 278,
ACCESS = 279,
ACTION = 280,
ADD_P = 281,
ADMIN = 282,
AFTER = 283,
AGGREGATE = 284,
ALL = 285,
ALSO = 286,
ALTER = 287,
ALWAYS = 288,
ANALYSE = 289,
ANALYZE = 290,
AND = 291,
ANY = 292,
ARRAY = 293,
AS = 294,
ASC = 295,
ASSERTION = 296,
ASSIGNMENT = 297,
ASYMMETRIC = 298,
AT = 299,
ATTACH = 300,
ATTRIBUTE = 301,
AUTHORIZATION = 302,
BACKWARD = 303,
BEFORE = 304,
BEGIN_P = 305,
BETWEEN = 306,
BIGINT = 307,
BINARY = 308,
BIT = 309,
BOOLEAN_P = 310,
BOTH = 311,
BY = 312,
CACHE = 313,
CALL = 314,
CALLED = 315,
CASCADE = 316,
CASCADED = 317,
CASE = 318,
CAST = 319,
CATALOG_P = 320,
CHAIN = 321,
CHAR_P = 322,
CHARACTER = 323,
CHARACTERISTICS = 324,
CHECK = 325,
CHECKPOINT = 326,
CLASS = 327,
CLOSE = 328,
CLUSTER = 329,
COALESCE = 330,
COLLATE = 331,
COLLATION = 332,
COLUMN = 333,
COLUMNS = 334,
COMMENT = 335,
COMMENTS = 336,
COMMIT = 337,
COMMITTED = 338,
CONCURRENTLY = 339,
CONFIGURATION = 340,
CONFLICT = 341,
CONNECTION = 342,
CONSTRAINT = 343,
CONSTRAINTS = 344,
CONTENT_P = 345,
CONTINUE_P = 346,
CONVERSION_P = 347,
COPY = 348,
COST = 349,
CREATE = 350,
CROSS = 351,
CSV = 352,
CUBE = 353,
CURRENT_P = 354,
CURRENT_CATALOG = 355,
CURRENT_DATE = 356,
CURRENT_ROLE = 357,
CURRENT_SCHEMA = 358,
CURRENT_TIME = 359,
CURRENT_TIMESTAMP = 360,
CURRENT_USER = 361,
CURSOR = 362,
CYCLE = 363,
DATA_P = 364,
DATABASE = 365,
DAY_P = 366,
DEALLOCATE = 367,
DEC = 368,
DECIMAL_P = 369,
DECLARE = 370,
DEFAULT = 371,
DEFAULTS = 372,
DEFERRABLE = 373,
DEFERRED = 374,
DEFINER = 375,
DELETE_P = 376,
DELIMITER = 377,
DELIMITERS = 378,
DEPENDS = 379,
DESC = 380,
DETACH = 381,
DICTIONARY = 382,
DISABLE_P = 383,
DISCARD = 384,
DISTINCT = 385,
DO = 386,
DOCUMENT_P = 387,
DOMAIN_P = 388,
DOUBLE_P = 389,
DROP = 390,
EACH = 391,
ELSE = 392,
ENABLE_P = 393,
ENCODING = 394,
ENCRYPTED = 395,
END_P = 396,
ENUM_P = 397,
ESCAPE = 398,
EVENT = 399,
EXCEPT = 400,
EXCLUDE = 401,
EXCLUDING = 402,
EXCLUSIVE = 403,
EXECUTE = 404,
EXISTS = 405,
EXPLAIN = 406,
EXPRESSION = 407,
EXTENSION = 408,
EXTERNAL = 409,
EXTRACT = 410,
FALSE_P = 411,
FAMILY = 412,
FETCH = 413,
FILTER = 414,
FIRST_P = 415,
FLOAT_P = 416,
FOLLOWING = 417,
FOR = 418,
FORCE = 419,
FOREIGN = 420,
FORWARD = 421,
FREEZE = 422,
FROM = 423,
FULL = 424,
FUNCTION = 425,
FUNCTIONS = 426,
GENERATED = 427,
GLOBAL = 428,
GRANT = 429,
GRANTED = 430,
GREATEST = 431,
GROUP_P = 432,
GROUPING = 433,
GROUPS = 434,
HANDLER = 435,
HAVING = 436,
HEADER_P = 437,
HOLD = 438,
HOUR_P = 439,
IDENTITY_P = 440,
IF_P = 441,
ILIKE = 442,
IMMEDIATE = 443,
IMMUTABLE = 444,
IMPLICIT_P = 445,
IMPORT_P = 446,
IN_P = 447,
INCLUDE = 448,
INCLUDING = 449,
INCREMENT = 450,
INDEX = 451,
INDEXES = 452,
INHERIT = 453,
INHERITS = 454,
INITIALLY = 455,
INLINE_P = 456,
INNER_P = 457,
INOUT = 458,
INPUT_P = 459,
INSENSITIVE = 460,
INSERT = 461,
INSTEAD = 462,
INT_P = 463,
INTEGER = 464,
INTERSECT = 465,
INTERVAL = 466,
INTO = 467,
INVOKER = 468,
IS = 469,
ISNULL = 470,
ISOLATION = 471,
JOIN = 472,
KEY = 473,
LABEL = 474,
LANGUAGE = 475,
LARGE_P = 476,
LAST_P = 477,
LATERAL_P = 478,
LEADING = 479,
LEAKPROOF = 480,
LEAST = 481,
LEFT = 482,
LEVEL = 483,
LIKE = 484,
LIMIT = 485,
LISTEN = 486,
LOAD = 487,
LOCAL = 488,
LOCALTIME = 489,
LOCALTIMESTAMP = 490,
LOCATION = 491,
LOCK_P = 492,
LOCKED = 493,
LOGGED = 494,
MAPPING = 495,
MATCH = 496,
MATERIALIZED = 497,
MAXVALUE = 498,
METHOD = 499,
MINUTE_P = 500,
MINVALUE = 501,
MODE = 502,
MONTH_P = 503,
MOVE = 504,
NAME_P = 505,
NAMES = 506,
NATIONAL = 507,
NATURAL = 508,
NCHAR = 509,
NEW = 510,
NEXT = 511,
NFC = 512,
NFD = 513,
NFKC = 514,
NFKD = 515,
NO = 516,
NONE = 517,
NORMALIZE = 518,
NORMALIZED = 519,
NOT = 520,
NOTHING = 521,
NOTIFY = 522,
NOTNULL = 523,
NOWAIT = 524,
NULL_P = 525,
NULLIF = 526,
NULLS_P = 527,
NUMERIC = 528,
OBJECT_P = 529,
OF = 530,
OFF = 531,
OFFSET = 532,
OIDS = 533,
OLD = 534,
ON = 535,
ONLY = 536,
OPERATOR = 537,
OPTION = 538,
OPTIONS = 539,
OR = 540,
ORDER = 541,
ORDINALITY = 542,
OTHERS = 543,
OUT_P = 544,
OUTER_P = 545,
OVER = 546,
OVERLAPS = 547,
OVERLAY = 548,
OVERRIDING = 549,
OWNED = 550,
OWNER = 551,
PARALLEL = 552,
PARSER = 553,
PARTIAL = 554,
PARTITION = 555,
PASSING = 556,
PASSWORD = 557,
PLACING = 558,
PLANS = 559,
POLICY = 560,
POSITION = 561,
PRECEDING = 562,
PRECISION = 563,
PRESERVE = 564,
PREPARE = 565,
PREPARED = 566,
PRIMARY = 567,
PRIOR = 568,
PRIVILEGES = 569,
PROCEDURAL = 570,
PROCEDURE = 571,
PROCEDURES = 572,
PROGRAM = 573,
PUBLICATION = 574,
QUOTE = 575,
RANGE = 576,
READ = 577,
REAL = 578,
REASSIGN = 579,
RECHECK = 580,
RECURSIVE = 581,
REF = 582,
REFERENCES = 583,
REFERENCING = 584,
REFRESH = 585,
REINDEX = 586,
RELATIVE_P = 587,
RELEASE = 588,
RENAME = 589,
REPEATABLE = 590,
REPLACE = 591,
REPLICA = 592,
RESET = 593,
RESTART = 594,
RESTRICT = 595,
RETURNING = 596,
RETURNS = 597,
REVOKE = 598,
RIGHT = 599,
ROLE = 600,
ROLLBACK = 601,
ROLLUP = 602,
ROUTINE = 603,
ROUTINES = 604,
ROW = 605,
ROWS = 606,
RULE = 607,
SAVEPOINT = 608,
SCHEMA = 609,
SCHEMAS = 610,
SCROLL = 611,
SEARCH = 612,
SECOND_P = 613,
SECURITY = 614,
SELECT = 615,
SEQUENCE = 616,
SEQUENCES = 617,
SERIALIZABLE = 618,
SERVER = 619,
SESSION = 620,
SESSION_USER = 621,
SET = 622,
SETS = 623,
SETOF = 624,
SHARE = 625,
SHOW = 626,
SIMILAR = 627,
SIMPLE = 628,
SKIP = 629,
SMALLINT = 630,
SNAPSHOT = 631,
SOME = 632,
SQL_P = 633,
STABLE = 634,
STANDALONE_P = 635,
START = 636,
STATEMENT = 637,
STATISTICS = 638,
STDIN = 639,
STDOUT = 640,
STORAGE = 641,
STORED = 642,
STRICT_P = 643,
STRIP_P = 644,
SUBSCRIPTION = 645,
SUBSTRING = 646,
SUPPORT = 647,
SYMMETRIC = 648,
SYSID = 649,
SYSTEM_P = 650,
TABLE = 651,
TABLES = 652,
TABLESAMPLE = 653,
TABLESPACE = 654,
TEMP = 655,
TEMPLATE = 656,
TEMPORARY = 657,
TEXT_P = 658,
THEN = 659,
TIES = 660,
TIME = 661,
TIMESTAMP = 662,
TO = 663,
TRAILING = 664,
TRANSACTION = 665,
TRANSFORM = 666,
TREAT = 667,
TRIGGER = 668,
TRIM = 669,
TRUE_P = 670,
TRUNCATE = 671,
TRUSTED = 672,
TYPE_P = 673,
TYPES_P = 674,
UESCAPE = 675,
UNBOUNDED = 676,
UNCOMMITTED = 677,
UNENCRYPTED = 678,
UNION = 679,
UNIQUE = 680,
UNKNOWN = 681,
UNLISTEN = 682,
UNLOGGED = 683,
UNTIL = 684,
UPDATE = 685,
USER = 686,
USING = 687,
VACUUM = 688,
VALID = 689,
VALIDATE = 690,
VALIDATOR = 691,
VALUE_P = 692,
VALUES = 693,
VARCHAR = 694,
VARIADIC = 695,
VARYING = 696,
VERBOSE = 697,
VERSION_P = 698,
VIEW = 699,
VIEWS = 700,
VOLATILE = 701,
WHEN = 702,
WHERE = 703,
WHITESPACE_P = 704,
WINDOW = 705,
WITH = 706,
WITHIN = 707,
WITHOUT = 708,
WORK = 709,
WRAPPER = 710,
WRITE = 711,
XML_P = 712,
XMLATTRIBUTES = 713,
XMLCONCAT = 714,
XMLELEMENT = 715,
XMLEXISTS = 716,
XMLFOREST = 717,
XMLNAMESPACES = 718,
XMLPARSE = 719,
XMLPI = 720,
XMLROOT = 721,
XMLSERIALIZE = 722,
XMLTABLE = 723,
YEAR_P = 724,
YES_P = 725,
ZONE = 726,
NOT_LA = 727,
NULLS_LA = 728,
WITH_LA = 729,
POSTFIXOP = 730,
UMINUS = 731
};
#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 ABSOLUTE_P 278
#define ACCESS 279
#define ACTION 280
#define ADD_P 281
#define ADMIN 282
#define AFTER 283
#define AGGREGATE 284
#define ALL 285
#define ALSO 286
#define ALTER 287
#define ALWAYS 288
#define ANALYSE 289
#define ANALYZE 290
#define AND 291
#define ANY 292
#define ARRAY 293
#define AS 294
#define ASC 295
#define ASSERTION 296
#define ASSIGNMENT 297
#define ASYMMETRIC 298
#define AT 299
#define ATTACH 300
#define ATTRIBUTE 301
#define AUTHORIZATION 302
#define BACKWARD 303
#define BEFORE 304
#define BEGIN_P 305
#define BETWEEN 306
#define BIGINT 307
#define BINARY 308
#define BIT 309
#define BOOLEAN_P 310
#define BOTH 311
#define BY 312
#define CACHE 313
#define CALL 314
#define CALLED 315
#define CASCADE 316
#define CASCADED 317
#define CASE 318
#define CAST 319
#define CATALOG_P 320
#define CHAIN 321
#define CHAR_P 322
#define CHARACTER 323
#define CHARACTERISTICS 324
#define CHECK 325
#define CHECKPOINT 326
#define CLASS 327
#define CLOSE 328
#define CLUSTER 329
#define COALESCE 330
#define COLLATE 331
#define COLLATION 332
#define COLUMN 333
#define COLUMNS 334
#define COMMENT 335
#define COMMENTS 336
#define COMMIT 337
#define COMMITTED 338
#define CONCURRENTLY 339
#define CONFIGURATION 340
#define CONFLICT 341
#define CONNECTION 342
#define CONSTRAINT 343
#define CONSTRAINTS 344
#define CONTENT_P 345
#define CONTINUE_P 346
#define CONVERSION_P 347
#define COPY 348
#define COST 349
#define CREATE 350
#define CROSS 351
#define CSV 352
#define CUBE 353
#define CURRENT_P 354
#define CURRENT_CATALOG 355
#define CURRENT_DATE 356
#define CURRENT_ROLE 357
#define CURRENT_SCHEMA 358
#define CURRENT_TIME 359
#define CURRENT_TIMESTAMP 360
#define CURRENT_USER 361
#define CURSOR 362
#define CYCLE 363
#define DATA_P 364
#define DATABASE 365
#define DAY_P 366
#define DEALLOCATE 367
#define DEC 368
#define DECIMAL_P 369
#define DECLARE 370
#define DEFAULT 371
#define DEFAULTS 372
#define DEFERRABLE 373
#define DEFERRED 374
#define DEFINER 375
#define DELETE_P 376
#define DELIMITER 377
#define DELIMITERS 378
#define DEPENDS 379
#define DESC 380
#define DETACH 381
#define DICTIONARY 382
#define DISABLE_P 383
#define DISCARD 384
#define DISTINCT 385
#define DO 386
#define DOCUMENT_P 387
#define DOMAIN_P 388
#define DOUBLE_P 389
#define DROP 390
#define EACH 391
#define ELSE 392
#define ENABLE_P 393
#define ENCODING 394
#define ENCRYPTED 395
#define END_P 396
#define ENUM_P 397
#define ESCAPE 398
#define EVENT 399
#define EXCEPT 400
#define EXCLUDE 401
#define EXCLUDING 402
#define EXCLUSIVE 403
#define EXECUTE 404
#define EXISTS 405
#define EXPLAIN 406
#define EXPRESSION 407
#define EXTENSION 408
#define EXTERNAL 409
#define EXTRACT 410
#define FALSE_P 411
#define FAMILY 412
#define FETCH 413
#define FILTER 414
#define FIRST_P 415
#define FLOAT_P 416
#define FOLLOWING 417
#define FOR 418
#define FORCE 419
#define FOREIGN 420
#define FORWARD 421
#define FREEZE 422
#define FROM 423
#define FULL 424
#define FUNCTION 425
#define FUNCTIONS 426
#define GENERATED 427
#define GLOBAL 428
#define GRANT 429
#define GRANTED 430
#define GREATEST 431
#define GROUP_P 432
#define GROUPING 433
#define GROUPS 434
#define HANDLER 435
#define HAVING 436
#define HEADER_P 437
#define HOLD 438
#define HOUR_P 439
#define IDENTITY_P 440
#define IF_P 441
#define ILIKE 442
#define IMMEDIATE 443
#define IMMUTABLE 444
#define IMPLICIT_P 445
#define IMPORT_P 446
#define IN_P 447
#define INCLUDE 448
#define INCLUDING 449
#define INCREMENT 450
#define INDEX 451
#define INDEXES 452
#define INHERIT 453
#define INHERITS 454
#define INITIALLY 455
#define INLINE_P 456
#define INNER_P 457
#define INOUT 458
#define INPUT_P 459
#define INSENSITIVE 460
#define INSERT 461
#define INSTEAD 462
#define INT_P 463
#define INTEGER 464
#define INTERSECT 465
#define INTERVAL 466
#define INTO 467
#define INVOKER 468
#define IS 469
#define ISNULL 470
#define ISOLATION 471
#define JOIN 472
#define KEY 473
#define LABEL 474
#define LANGUAGE 475
#define LARGE_P 476
#define LAST_P 477
#define LATERAL_P 478
#define LEADING 479
#define LEAKPROOF 480
#define LEAST 481
#define LEFT 482
#define LEVEL 483
#define LIKE 484
#define LIMIT 485
#define LISTEN 486
#define LOAD 487
#define LOCAL 488
#define LOCALTIME 489
#define LOCALTIMESTAMP 490
#define LOCATION 491
#define LOCK_P 492
#define LOCKED 493
#define LOGGED 494
#define MAPPING 495
#define MATCH 496
#define MATERIALIZED 497
#define MAXVALUE 498
#define METHOD 499
#define MINUTE_P 500
#define MINVALUE 501
#define MODE 502
#define MONTH_P 503
#define MOVE 504
#define NAME_P 505
#define NAMES 506
#define NATIONAL 507
#define NATURAL 508
#define NCHAR 509
#define NEW 510
#define NEXT 511
#define NFC 512
#define NFD 513
#define NFKC 514
#define NFKD 515
#define NO 516
#define NONE 517
#define NORMALIZE 518
#define NORMALIZED 519
#define NOT 520
#define NOTHING 521
#define NOTIFY 522
#define NOTNULL 523
#define NOWAIT 524
#define NULL_P 525
#define NULLIF 526
#define NULLS_P 527
#define NUMERIC 528
#define OBJECT_P 529
#define OF 530
#define OFF 531
#define OFFSET 532
#define OIDS 533
#define OLD 534
#define ON 535
#define ONLY 536
#define OPERATOR 537
#define OPTION 538
#define OPTIONS 539
#define OR 540
#define ORDER 541
#define ORDINALITY 542
#define OTHERS 543
#define OUT_P 544
#define OUTER_P 545
#define OVER 546
#define OVERLAPS 547
#define OVERLAY 548
#define OVERRIDING 549
#define OWNED 550
#define OWNER 551
#define PARALLEL 552
#define PARSER 553
#define PARTIAL 554
#define PARTITION 555
#define PASSING 556
#define PASSWORD 557
#define PLACING 558
#define PLANS 559
#define POLICY 560
#define POSITION 561
#define PRECEDING 562
#define PRECISION 563
#define PRESERVE 564
#define PREPARE 565
#define PREPARED 566
#define PRIMARY 567
#define PRIOR 568
#define PRIVILEGES 569
#define PROCEDURAL 570
#define PROCEDURE 571
#define PROCEDURES 572
#define PROGRAM 573
#define PUBLICATION 574
#define QUOTE 575
#define RANGE 576
#define READ 577
#define REAL 578
#define REASSIGN 579
#define RECHECK 580
#define RECURSIVE 581
#define REF 582
#define REFERENCES 583
#define REFERENCING 584
#define REFRESH 585
#define REINDEX 586
#define RELATIVE_P 587
#define RELEASE 588
#define RENAME 589
#define REPEATABLE 590
#define REPLACE 591
#define REPLICA 592
#define RESET 593
#define RESTART 594
#define RESTRICT 595
#define RETURNING 596
#define RETURNS 597
#define REVOKE 598
#define RIGHT 599
#define ROLE 600
#define ROLLBACK 601
#define ROLLUP 602
#define ROUTINE 603
#define ROUTINES 604
#define ROW 605
#define ROWS 606
#define RULE 607
#define SAVEPOINT 608
#define SCHEMA 609
#define SCHEMAS 610
#define SCROLL 611
#define SEARCH 612
#define SECOND_P 613
#define SECURITY 614
#define SELECT 615
#define SEQUENCE 616
#define SEQUENCES 617
#define SERIALIZABLE 618
#define SERVER 619
#define SESSION 620
#define SESSION_USER 621
#define SET 622
#define SETS 623
#define SETOF 624
#define SHARE 625
#define SHOW 626
#define SIMILAR 627
#define SIMPLE 628
#define SKIP 629
#define SMALLINT 630
#define SNAPSHOT 631
#define SOME 632
#define SQL_P 633
#define STABLE 634
#define STANDALONE_P 635
#define START 636
#define STATEMENT 637
#define STATISTICS 638
#define STDIN 639
#define STDOUT 640
#define STORAGE 641
#define STORED 642
#define STRICT_P 643
#define STRIP_P 644
#define SUBSCRIPTION 645
#define SUBSTRING 646
#define SUPPORT 647
#define SYMMETRIC 648
#define SYSID 649
#define SYSTEM_P 650
#define TABLE 651
#define TABLES 652
#define TABLESAMPLE 653
#define TABLESPACE 654
#define TEMP 655
#define TEMPLATE 656
#define TEMPORARY 657
#define TEXT_P 658
#define THEN 659
#define TIES 660
#define TIME 661
#define TIMESTAMP 662
#define TO 663
#define TRAILING 664
#define TRANSACTION 665
#define TRANSFORM 666
#define TREAT 667
#define TRIGGER 668
#define TRIM 669
#define TRUE_P 670
#define TRUNCATE 671
#define TRUSTED 672
#define TYPE_P 673
#define TYPES_P 674
#define UESCAPE 675
#define UNBOUNDED 676
#define UNCOMMITTED 677
#define UNENCRYPTED 678
#define UNION 679
#define UNIQUE 680
#define UNKNOWN 681
#define UNLISTEN 682
#define UNLOGGED 683
#define UNTIL 684
#define UPDATE 685
#define USER 686
#define USING 687
#define VACUUM 688
#define VALID 689
#define VALIDATE 690
#define VALIDATOR 691
#define VALUE_P 692
#define VALUES 693
#define VARCHAR 694
#define VARIADIC 695
#define VARYING 696
#define VERBOSE 697
#define VERSION_P 698
#define VIEW 699
#define VIEWS 700
#define VOLATILE 701
#define WHEN 702
#define WHERE 703
#define WHITESPACE_P 704
#define WINDOW 705
#define WITH 706
#define WITHIN 707
#define WITHOUT 708
#define WORK 709
#define WRAPPER 710
#define WRITE 711
#define XML_P 712
#define XMLATTRIBUTES 713
#define XMLCONCAT 714
#define XMLELEMENT 715
#define XMLEXISTS 716
#define XMLFOREST 717
#define XMLNAMESPACES 718
#define XMLPARSE 719
#define XMLPI 720
#define XMLROOT 721
#define XMLSERIALIZE 722
#define XMLTABLE 723
#define YEAR_P 724
#define YES_P 725
#define ZONE 726
#define NOT_LA 727
#define NULLS_LA 728
#define WITH_LA 729
#define POSTFIXOP 730
#define UMINUS 731
/* Copy the first part of user declarations. */
#line 1 "gram.y"
/*#define YYDEBUG 1*/
/*-------------------------------------------------------------------------
*
* gram.y
* POSTGRESQL BISON rules/actions
*
* Portions Copyright (c) 1996-2020, 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 "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "parser/gramparse.h"
#include "parser/parser.h"
#include "parser/parse_expr.h"
#include "storage/lmgr.h"
#include "utils/date.h"
#include "utils/datetime.h"
#include "utils/numeric.h"
#include "utils/xml.h"
/*
* Location tracking support --- simpler than bison's default, since we only
* want to track the start position not the end position of each nonterminal.
*/
#define YYLLOC_DEFAULT(Current, Rhs, N) \
do { \
if ((N) > 0) \
(Current) = (Rhs)[1]; \
else \
(Current) = (-1); \
} while (0)
/*
* The above macro assigns -1 (unknown) as the parse location of any
* nonterminal that was reduced from an empty rule, 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. Note this only works with
* bison >= 2.0. However, in bison 1.875 the default is to use alloca()
* if possible, so there's not really much problem anyhow, at least if
* you're building with gcc.
*/
#define YYMALLOC palloc
#define YYFREE pfree
/* Private struct for the result of privilege_target production */
typedef struct PrivTarget
{
GrantTargetType targtype;
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;
/* 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 *makeStringConst(char *str, int location);
static Node *makeStringConstCast(char *str, int location, TypeName *typename);
static Node *makeIntConst(int val, int location);
static Node *makeFloatConst(char *str, int location);
static Node *makeBitStringConst(char *str, int location);
static Node *makeNullAConst(int location);
static Node *makeAConst(Value *v, int location);
static Node *makeBoolAConst(bool state, int location);
static Node *makeParamRef(int number, int location);
static Node *makeParamRefCast(int number, int location, TypeName *typename);
static Node *makeInterval_or_AExprOp(Node *lexpr, Node *rexpr, int location);
static 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(Value *v);
static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
static Node *makeNotExpr(Node *expr, int location);
static Node *makeAArrayExpr(List *elements, int location);
static Node *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 void SplitColQualList(List *qualList,
List **constraintList, CollateClause **collClause,
core_yyscan_t yyscanner);
static void processCASbits(int cas_bits, int location, const char *constrType,
bool *deferrable, bool *initdeferred, bool *not_valid,
bool *no_inherit, core_yyscan_t yyscanner);
static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
/* Enabling verbose error messages. */
#ifdef YYERROR_VERBOSE
# undef YYERROR_VERBOSE
# define YYERROR_VERBOSE 1
#else
# define YYERROR_VERBOSE 0
#endif
/* Enabling the token table. */
#ifndef YYTOKEN_TABLE
# define YYTOKEN_TABLE 0
#endif
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 214 "gram.y"
{
core_YYSTYPE core_yystype;
/* these fields must match core_YYSTYPE: */
int ival;
char *str;
const char *keyword;
char chr;
bool boolean;
JoinType jtype;
DropBehavior dbehavior;
OnCommitAction oncommit;
List *list;
Node *node;
Value *value;
ObjectType objtype;
TypeName *typnam;
FunctionParameter *fun_param;
FunctionParameterMode fun_param_mode;
ObjectWithArgs *objwithargs;
DefElem *defelt;
SortBy *sortby;
WindowDef *windef;
JoinExpr *jexpr;
IndexElem *ielem;
Alias *alias;
RangeVar *range;
IntoClause *into;
WithClause *with;
InferClause *infer;
OnConflictClause *onconflict;
A_Indices *aind;
ResTarget *target;
struct PrivTarget *privtarget;
AccessPriv *accesspriv;
struct ImportQual *importqual;
InsertStmt *istmt;
VariableSetStmt *vsetstmt;
PartitionElem *partelem;
PartitionSpec *partspec;
PartitionBoundSpec *partboundspec;
RoleSpec *rolespec;
struct SelectLimit *selectlimit;
}
/* Line 193 of yacc.c. */
#line 1305 "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 1330 "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 837
/* YYLAST -- Last index in YYTABLE. */
#define YYLAST 105637
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 495
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 673
/* YYNRULES -- Number of rules. */
#define YYNRULES 2788
/* YYNRULES -- Number of states. */
#define YYNSTATES 5592
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
#define YYMAXUTOK 731
#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, 484, 2, 2,
489, 490, 482, 480, 493, 481, 491, 483, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 494, 492,
475, 477, 476, 478, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 487, 2, 488, 485, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 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,
479, 486
};
#if YYDEBUG
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
YYRHS. */
static const yytype_uint16 yyprhs[] =
{
0, 0, 3, 5, 9, 11, 13, 15, 17, 19,
21, 23, 25, 27, 29, 31, 33, 35, 37, 39,
41, 43, 45, 47, 49, 51, 53, 55, 57, 59,
61, 63, 65, 67, 69, 71, 73, 75, 77, 79,
81, 83, 85, 87, 89, 91, 93, 95, 97, 99,
101, 103, 105, 107, 109, 111, 113, 115, 117, 119,
121, 123, 125, 127, 129, 131, 133, 135, 137, 139,
141, 143, 145, 147, 149, 151, 153, 155, 157, 159,
161, 163, 165, 167, 169, 171, 173, 175, 177, 179,
181, 183, 185, 187, 189, 191, 193, 195, 197, 199,
201, 203, 205, 207, 209, 211, 213, 215, 217, 219,
221, 223, 225, 227, 229, 231, 233, 235, 237, 239,
241, 243, 245, 247, 249, 251, 253, 255, 257, 259,
261, 262, 265, 271, 273, 275, 276, 279, 280, 283,
284, 287, 290, 293, 296, 300, 304, 308, 312, 314,
318, 322, 325, 327, 329, 332, 335, 338, 342, 346,
352, 358, 364, 365, 369, 375, 381, 387, 393, 397,
403, 407, 413, 417, 423, 429, 436, 438, 440, 447,
452, 462, 470, 472, 473, 476, 477, 479, 481, 483,
485, 487, 489, 492, 496, 500, 503, 509, 511, 515,
519, 523, 527, 529, 533, 537, 540, 543, 546, 549,
552, 555, 558, 561, 565, 569, 573, 577, 581, 585,
587, 591, 593, 597, 599, 601, 603, 605, 608, 611,
614, 616, 618, 620, 622, 624, 626, 628, 630, 632,
636, 642, 644, 646, 648, 650, 652, 653, 655, 657,
660, 662, 665, 669, 672, 674, 676, 679, 681, 684,
686, 689, 693, 698, 702, 705, 710, 712, 714, 716,
718, 720, 723, 726, 729, 732, 735, 740, 747, 752,
759, 770, 784, 789, 796, 801, 812, 826, 831, 838,
843, 850, 856, 864, 876, 891, 893, 897, 902, 906,
910, 913, 919, 923, 930, 935, 942, 949, 955, 963,
970, 977, 983, 989, 996, 1006, 1011, 1017, 1025, 1032,
1037, 1046, 1051, 1054, 1059, 1063, 1070, 1075, 1079, 1083,
1087, 1090, 1093, 1097, 1102, 1107, 1111, 1115, 1119, 1123,
1127, 1131, 1136, 1141, 1145, 1148, 1152, 1155, 1158, 1162,
1166, 1169, 1172, 1176, 1181, 1186, 1191, 1197, 1199, 1203,
1206, 1208, 1210, 1211, 1214, 1215, 1218, 1219, 1221, 1223,
1225, 1229, 1233, 1236, 1237, 1239, 1243, 1247, 1249, 1255,
1259, 1261, 1264, 1266, 1270, 1273, 1277, 1284, 1291, 1302,
1304, 1307, 1309, 1313, 1318, 1320, 1324, 1329, 1336, 1341,
1350, 1353, 1356, 1368, 1378, 1380, 1382, 1384, 1385, 1387,
1389, 1391, 1393, 1397, 1400, 1401, 1403, 1405, 1409, 1413,
1415, 1417, 1421, 1425, 1429, 1433, 1438, 1442, 1445, 1447,
1448, 1452, 1453, 1455, 1456, 1458, 1462, 1465, 1467, 1469,
1471, 1475, 1476, 1478, 1482, 1484, 1498, 1515, 1528, 1544,
1559, 1577, 1579, 1581, 1584, 1587, 1590, 1593, 1595, 1596,
1598, 1599, 1603, 1604, 1606, 1610, 1612, 1616, 1618, 1620,
1622, 1624, 1626, 1631, 1634, 1639, 1642, 1643, 1647, 1649,
1651, 1654, 1657, 1659, 1663, 1668, 1674, 1677, 1683, 1691,
1697, 1699, 1702, 1704, 1707, 1710, 1713, 1717, 1721, 1725,
1726, 1728, 1730, 1732, 1734, 1736, 1738, 1740, 1742, 1744,
1748, 1750, 1756, 1765, 1769, 1779, 1784, 1795, 1807, 1810,
1811, 1815, 1816, 1818, 1822, 1824, 1829, 1830, 1833, 1836,
1839, 1840, 1842, 1846, 1850, 1857, 1862, 1863, 1865, 1867,
1870, 1873, 1874, 1878, 1882, 1885, 1887, 1889, 1892, 1895,
1900, 1901, 1903, 1904, 1911, 1913, 1917, 1921, 1925, 1931,
1934, 1935, 1938, 1941, 1942, 1946, 1951, 1956, 1957, 1960,
1961, 1966, 1967, 1971, 1980, 1992, 1999, 2008, 2016, 2027,
2034, 2037, 2041, 2042, 2051, 2063, 2069, 2071, 2072, 2079,
2085, 2094, 2099, 2106, 2108, 2109, 2113, 2114, 2116, 2119,
2122, 2125, 2127, 2130, 2134, 2137, 2140, 2143, 2146, 2150,
2154, 2158, 2160, 2164, 2166, 2167, 2169, 2172, 2175, 2177,
2179, 2183, 2190, 2201, 2203, 2204, 2206, 2209, 2212, 2213,
2216, 2219, 2221, 2222, 2228, 2236, 2238, 2239, 2247, 2250,
2251, 2255, 2261, 2267, 2276, 2279, 2280, 2283, 2286, 2289,
2291, 2297, 2300, 2301, 2304, 2312, 2319, 2330, 2337, 2344,
2351, 2358, 2366, 2373, 2383, 2393, 2400, 2407, 2414, 2422,
2429, 2438, 2447, 2456, 2465, 2472, 2479, 2487, 2495, 2504,
2511, 2521, 2528, 2536, 2539, 2542, 2545, 2548, 2550, 2553,
2555, 2556, 2564, 2571, 2576, 2577, 2579, 2583, 2588, 2590,
2594, 2596, 2599, 2602, 2605, 2608, 2610, 2612, 2623, 2637,
2640, 2641, 2644, 2647, 2649, 2650, 2656, 2661, 2666, 2678,
2693, 2706, 2722, 2728, 2736, 2748, 2751, 2753, 2758, 2759,
2768, 2780, 2782, 2784, 2792, 2802, 2811, 2822, 2831, 2836,
2837, 2843, 2844, 2847, 2848, 2851, 2852, 2855, 2856, 2859,
2860, 2862, 2864, 2866, 2868, 2870, 2879, 2881, 2883, 2900,
2921, 2923, 2925, 2928, 2930, 2934, 2936, 2938, 2940, 2944,
2946, 2949, 2950, 2952, 2955, 2960, 2962, 2964, 2966, 2968,
2970, 2974, 2975, 2977, 2978, 2980, 2982, 2987, 2988, 2990,
2992, 2994, 2998, 2999, 3001, 3003, 3005, 3007, 3010, 3011,
3012, 3015, 3018, 3020, 3023, 3026, 3029, 3032, 3044, 3058,
3060, 3064, 3070, 3072, 3076, 3082, 3084, 3087, 3090, 3092,
3101, 3108, 3114, 3119, 3124, 3128, 3136, 3145, 3152, 3159,
3166, 3173, 3180, 3185, 3193, 3199, 3208, 3212, 3214, 3218,
3222, 3224, 3226, 3228, 3230, 3232, 3234, 3236, 3240, 3242,
3246, 3250, 3252, 3253, 3255, 3259, 3267, 3277, 3287, 3296,
3300, 3301, 3315, 3317, 3321, 3327, 3333, 3337, 3344, 3347,
3349, 3350, 3353, 3354, 3357, 3362, 3363, 3365, 3366, 3373,
3382, 3391, 3393, 3397, 3403, 3409, 3417, 3427, 3435, 3445,
3451, 3458, 3465, 3470, 3477, 3482, 3489, 3498, 3503, 3510,
3515, 3522, 3528, 3536, 3538, 3540, 3542, 3545, 3547, 3550,
3552, 3554, 3556, 3560, 3564, 3568, 3572, 3575, 3578, 3580,
3584, 3586, 3588, 3590, 3592, 3594, 3596, 3598, 3602, 3604,
3607, 3610, 3614, 3616, 3620, 3626, 3629, 3632, 3633, 3640,
3647, 3654, 3661, 3668, 3675, 3682, 3691, 3701, 3710, 3717,
3724, 3733, 3743, 3752, 3762, 3772, 3780, 3791, 3793, 3795,
3797, 3799, 3801, 3803, 3806, 3808, 3810, 3813, 3817, 3821,
3825, 3829, 3832, 3834, 3837, 3839, 3843, 3846, 3848, 3850,
3852, 3854, 3856, 3858, 3860, 3862, 3871, 3880, 3889, 3898,
3907, 3916, 3926, 3935, 3944, 3947, 3948, 3950, 3953, 3955,
3957, 3959, 3962, 3964, 3967, 3970, 3972, 3974, 3976, 3978,
3980, 3982, 3984, 3987, 3990, 3992, 3995, 3999, 4003, 4007,
4011, 4016, 4021, 4025, 4029, 4033, 4038, 4043, 4047, 4052,
4057, 4059, 4061, 4063, 4064, 4072, 4080, 4091, 4093, 4095,
4098, 4103, 4109, 4111, 4115, 4118, 4121, 4124, 4127, 4129,
4132, 4135, 4140, 4144, 4147, 4150, 4153, 4156, 4159, 4162,
4166, 4169, 4172, 4175, 4181, 4187, 4193, 4199, 4205, 4207,
4211, 4213, 4216, 4220, 4221, 4228, 4235, 4245, 4249, 4250,
4254, 4255, 4261, 4264, 4265, 4269, 4273, 4277, 4285, 4293,
4304, 4306, 4308, 4310, 4312, 4314, 4316, 4332, 4351, 4353,
4354, 4356, 4357, 4359, 4360, 4363, 4364, 4366, 4370, 4375,
4381, 4384, 4387, 4392, 4397, 4398, 4400, 4404, 4407, 4408,
4410, 4411, 4413, 4415, 4416, 4419, 4422, 4423, 4432, 4444,
4451, 4458, 4461, 4462, 4466, 4469, 4471, 4475, 4477, 4481,
4484, 4486, 4488, 4491, 4495, 4498, 4500, 4504, 4508, 4512,
4515, 4518, 4520, 4522, 4524, 4526, 4529, 4531, 4533, 4535,
4537, 4542, 4548, 4550, 4554, 4558, 4560, 4564, 4568, 4574,
4581, 4583, 4587, 4590, 4592, 4596, 4598, 4601, 4606, 4612,
4614, 4616, 4618, 4620, 4624, 4628, 4631, 4634, 4636, 4639,
4642, 4645, 4648, 4650, 4653, 4656, 4659, 4662, 4664, 4666,
4668, 4672, 4676, 4682, 4685, 4686, 4689, 4691, 4695, 4701,
4707, 4713, 4715, 4718, 4720, 4721, 4726, 4733, 4738, 4745,
4750, 4757, 4762, 4769, 4774, 4781, 4785, 4791, 4797, 4803,
4805, 4809, 4811, 4815, 4818, 4821, 4823, 4826, 4828, 4831,
4843, 4854, 4865, 4868, 4871, 4872, 4882, 4885, 4886, 4897,
4909, 4921, 4927, 4933, 4942, 4947, 4952, 4960, 4968, 4970,
4972, 4974, 4976, 4978, 4980, 4984, 4986, 4992, 4998, 5005,
5012, 5019, 5026, 5033, 5042, 5051, 5058, 5065, 5073, 5083,
5093, 5102, 5113, 5120, 5127, 5134, 5141, 5148, 5155, 5162,
5171, 5178, 5187, 5194, 5203, 5211, 5221, 5228, 5237, 5245,
5255, 5264, 5275, 5284, 5295, 5305, 5317, 5326, 5337, 5347,
5359, 5368, 5377, 5385, 5392, 5399, 5406, 5413, 5422, 5431,
5440, 5449, 5456, 5466, 5468, 5469, 5472, 5473, 5482, 5491,
5500, 5511, 5521, 5530, 5532, 5533, 5540, 5547, 5554, 5561,
5568, 5575, 5582, 5592, 5602, 5609, 5616, 5623, 5632, 5639,
5648, 5657, 5666, 5675, 5682, 5691, 5698, 5707, 5715, 5725,
5733, 5743, 5750, 5758, 5760, 5764, 5768, 5772, 5774, 5776,
5778, 5780, 5782, 5790, 5797, 5804, 5811, 5818, 5825, 5832,
5840, 5848, 5855, 5865, 5875, 5882, 5889, 5896, 5903, 5910,
5917, 5926, 5935, 5944, 5951, 5959, 5966, 5973, 5979, 5981,
5982, 5986, 5990, 5996, 6003, 6010, 6017, 6026, 6028, 6032,
6034, 6040, 6046, 6053, 6061, 6066, 6071, 6076, 6083, 6097,
6099, 6101, 6105, 6109, 6111, 6113, 6115, 6117, 6119, 6121,
6123, 6124, 6126, 6128, 6130, 6132, 6134, 6136, 6137, 6141,
6144, 6145, 6148, 6151, 6154, 6158, 6162, 6166, 6170, 6174,
6178, 6181, 6185, 6188, 6194, 6199, 6203, 6207, 6211, 6213,
6215, 6216, 6220, 6223, 6226, 6228, 6231, 6233, 6237, 6240,
6242, 6243, 6246, 6250, 6251, 6261, 6273, 6286, 6301, 6305,
6310, 6315, 6316, 6319, 6325, 6327, 6328, 6330, 6333, 6337,
6341, 6345, 6347, 6350, 6352, 6354, 6356, 6358, 6360, 6362,
6363, 6369, 6374, 6381, 6386, 6390, 6396, 6404, 6414, 6416,
6420, 6422, 6428, 6433, 6438, 6445, 6450, 6457, 6464, 6470,
6478, 6488, 6495, 6497, 6498, 6505, 6517, 6529, 6541, 6555,
6565, 6577, 6579, 6581, 6592, 6597, 6600, 6606, 6609, 6610,
6617, 6623, 6627, 6633, 6635, 6639, 6641, 6643, 6646, 6648,
6650, 6652, 6654, 6655, 6657, 6658, 6660, 6661, 6663, 6664,
6666, 6667, 6671, 6672, 6675, 6677, 6681, 6683, 6684, 6687,
6692, 6696, 6702, 6704, 6706, 6708, 6710, 6712, 6714, 6716,
6718, 6720, 6722, 6726, 6729, 6731, 6733, 6735, 6737, 6738,
6744, 6748, 6749, 6751, 6753, 6755, 6757, 6761, 6771, 6784,
6788, 6789, 6792, 6796, 6799, 6803, 6811, 6813, 6817, 6819,
6824, 6829, 6837, 6840, 6842, 6844, 6846, 6850, 6853, 6862,
6868, 6869, 6874, 6878, 6879, 6882, 6883, 6891, 6894, 6895,
6901, 6905, 6906, 6909, 6912, 6915, 6919, 6921, 6925, 6927,
6930, 6932, 6933, 6935, 6938, 6939, 6948, 6950, 6954, 6958,
6964, 6967, 6969, 6973, 6981, 6983, 6984, 6988, 6991, 6994,
6997, 6998, 7001, 7004, 7006, 7008, 7012, 7016, 7018, 7021,
7026, 7031, 7034, 7038, 7044, 7050, 7052, 7054, 7064, 7074,
7076, 7079, 7084, 7089, 7094, 7097, 7100, 7104, 7106, 7110,
7118, 7120, 7123, 7124, 7126, 7127, 7130, 7131, 7135, 7139,
7144, 7149, 7154, 7159, 7163, 7166, 7168, 7170, 7171, 7173,
7175, 7176, 7178, 7184, 7186, 7187, 7189, 7190, 7194, 7196,
7200, 7205, 7209, 7212, 7215, 7217, 7219, 7221, 7222, 7225,
7230, 7236, 7243, 7248, 7254, 7257, 7261, 7263, 7265, 7267,
7269, 7272, 7275, 7277, 7279, 7281, 7283, 7285, 7287, 7291,
7292, 7294, 7298, 7300, 7302, 7304, 7306, 7308, 7311, 7316,
7321, 7327, 7330, 7331, 7333, 7337, 7339, 7340, 7342, 7345,
7349, 7352, 7357, 7360, 7364, 7367, 7368, 7373, 7379, 7382,
7383, 7385, 7389, 7392, 7396, 7399, 7403, 7406, 7410, 7413,
7417, 7419, 7424, 7428, 7433, 7439, 7444, 7450, 7455, 7461,
7464, 7469, 7471, 7473, 7474, 7476, 7481, 7487, 7492, 7493,
7496, 7499, 7502, 7504, 7506, 7507, 7512, 7515, 7517, 7520,
7523, 7528, 7530, 7534, 7536, 7539, 7543, 7550, 7555, 7556,
7559, 7566, 7569, 7571, 7575, 7580, 7581, 7584, 7585, 7588,
7589, 7592, 7597, 7598, 7600, 7601, 7603, 7607, 7611, 7619,
7632, 7634, 7638, 7641, 7645, 7649, 7651, 7654, 7657, 7660,
7663, 7665, 7667, 7671, 7675, 7678, 7681, 7685, 7691, 7698,
7701, 7705, 7709, 7714, 7715, 7717, 7719, 7721, 7723, 7725,
7728, 7733, 7735, 7737, 7739, 7741, 7744, 7748, 7752, 7753,
7755, 7757, 7759, 7761, 7763, 7766, 7769, 7772, 7775, 7778,
7780, 7784, 7785, 7787, 7789, 7791, 7793, 7799, 7802, 7804,
7806, 7808, 7810, 7815, 7817, 7820, 7823, 7825, 7829, 7833,
7836, 7838, 7839, 7845, 7848, 7854, 7857, 7859, 7863, 7867,
7868, 7870, 7872, 7874, 7876, 7878, 7880, 7884, 7888, 7892,
7896, 7900, 7904, 7908, 7909, 7911, 7916, 7918, 7922, 7926,
7932, 7935, 7938, 7942, 7946, 7950, 7954, 7958, 7962, 7966,
7970, 7974, 7978, 7982, 7986, 7990, 7993, 7996, 8000, 8003,
8007, 8011, 8014, 8017, 8021, 8027, 8032, 8039, 8043, 8049,
8054, 8061, 8066, 8073, 8079, 8087, 8091, 8094, 8099, 8102,
8106, 8110, 8115, 8119, 8124, 8128, 8133, 8139, 8146, 8153,
8161, 8168, 8176, 8183, 8191, 8195, 8200, 8205, 8212, 8215,
8219, 8224, 8228, 8233, 8238, 8244, 8246, 8248, 8252, 8255,
8258, 8262, 8266, 8270, 8274, 8278, 8282, 8286, 8290, 8294,
8298, 8302, 8306, 8310, 8313, 8317, 8320, 8323, 8329, 8336,
8343, 8351, 8355, 8360, 8362, 8364, 8367, 8370, 8375, 8377,
8379, 8381, 8384, 8387, 8390, 8393, 8395, 8397, 8402, 8406,
8412, 8419, 8428, 8435, 8442, 8447, 8452, 8454, 8456, 8458,
8464, 8466, 8468, 8473, 8475, 8480, 8482, 8487, 8489, 8494,
8496, 8498, 8500, 8502, 8504, 8506, 8513, 8518, 8523, 8530,
8535, 8540, 8545, 8552, 8558, 8564, 8570, 8575, 8582, 8587,
8592, 8597, 8602, 8608, 8616, 8624, 8634, 8640, 8645, 8652,
8658, 8666, 8674, 8682, 8685, 8689, 8693, 8697, 8702, 8703,
8708, 8710, 8714, 8718, 8720, 8722, 8724, 8727, 8730, 8731,
8734, 8738, 8742, 8747, 8750, 8753, 8759, 8760, 8766, 8767,
8770, 8771, 8773, 8777, 8781, 8784, 8787, 8788, 8795, 8797,
8798, 8802, 8803, 8807, 8811, 8815, 8816, 8818, 8823, 8826,
8829, 8832, 8835, 8838, 8842, 8845, 8848, 8852, 8853, 8858,
8862, 8868, 8873, 8877, 8883, 8885, 8887, 8889, 8891, 8893,
8895, 8897, 8899, 8901, 8903, 8905, 8907, 8909, 8911, 8913,
8915, 8917, 8919, 8921, 8926, 8928, 8933, 8935, 8940, 8942,
8945, 8947, 8950, 8952, 8956, 8958, 8962, 8964, 8968, 8972,
8974, 8978, 8982, 8986, 8989, 8991, 8995, 8999, 9003, 9007,
9008, 9010, 9012, 9014, 9016, 9018, 9020, 9022, 9024, 9026,
9028, 9030, 9032, 9037, 9041, 9044, 9048, 9049, 9053, 9057,
9060, 9063, 9065, 9066, 9069, 9072, 9076, 9079, 9081, 9083,
9087, 9093, 9095, 9098, 9103, 9106, 9107, 9109, 9110, 9112,
9115, 9118, 9121, 9125, 9131, 9133, 9134, 9136, 9139, 9140,
9143, 9145, 9146, 9148, 9149, 9151, 9155, 9159, 9162, 9164,
9166, 9168, 9172, 9174, 9177, 9179, 9183, 9185, 9187, 9189,
9191, 9193, 9195, 9197, 9200, 9202, 9204, 9206, 9208, 9210,
9213, 9220, 9223, 9230, 9233, 9237, 9243, 9246, 9250, 9256,
9262, 9264, 9266, 9268, 9270, 9272, 9274, 9277, 9280, 9282,
9284, 9286, 9288, 9290, 9294, 9296, 9298, 9300, 9302, 9304,
9306, 9308, 9310, 9312, 9314, 9316, 9318, 9320, 9322, 9324,
9326, 9328, 9330, 9332, 9334, 9336, 9338, 9340, 9342, 9344,
9346, 9348, 9350, 9352, 9354, 9356, 9358, 9360, 9362, 9364,
9366, 9368, 9370, 9372, 9374, 9376, 9378, 9380, 9382, 9384,
9386, 9388, 9390, 9392, 9394, 9396, 9398, 9400, 9402, 9404,
9406, 9408, 9410, 9412, 9414, 9416, 9418, 9420, 9422, 9424,
9426, 9428, 9430, 9432, 9434, 9436, 9438, 9440, 9442, 9444,
9446, 9448, 9450, 9452, 9454, 9456, 9458, 9460, 9462, 9464,
9466, 9468, 9470, 9472, 9474, 9476, 9478, 9480, 9482, 9484,
9486, 9488, 9490, 9492, 9494, 9496, 9498, 9500, 9502, 9504,
9506, 9508, 9510, 9512, 9514, 9516, 9518, 9520, 9522, 9524,
9526, 9528, 9530, 9532, 9534, 9536, 9538, 9540, 9542, 9544,
9546, 9548, 9550, 9552, 9554, 9556, 9558, 9560, 9562, 9564,
9566, 9568, 9570, 9572, 9574, 9576, 9578, 9580, 9582, 9584,
9586, 9588, 9590, 9592, 9594, 9596, 9598, 9600, 9602, 9604,
9606, 9608, 9610, 9612, 9614, 9616, 9618, 9620, 9622, 9624,
9626, 9628, 9630, 9632, 9634, 9636, 9638, 9640, 9642, 9644,
9646, 9648, 9650, 9652, 9654, 9656, 9658, 9660, 9662, 9664,
9666, 9668, 9670, 9672, 9674, 9676, 9678, 9680, 9682, 9684,
9686, 9688, 9690, 9692, 9694, 9696, 9698, 9700, 9702, 9704,
9706, 9708, 9710, 9712, 9714, 9716, 9718, 9720, 9722, 9724,
9726, 9728, 9730, 9732, 9734, 9736, 9738, 9740, 9742, 9744,
9746, 9748, 9750, 9752, 9754, 9756, 9758, 9760, 9762, 9764,
9766, 9768, 9770, 9772, 9774, 9776, 9778, 9780, 9782, 9784,
9786, 9788, 9790, 9792, 9794, 9796, 9798, 9800, 9802, 9804,
9806, 9808, 9810, 9812, 9814, 9816, 9818, 9820, 9822, 9824,
9826, 9828, 9830, 9832, 9834, 9836, 9838, 9840, 9842, 9844,
9846, 9848, 9850, 9852, 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
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
static const yytype_int16 yyrhs[] =
{
496, 0, -1, 497, -1, 497, 492, 498, -1, 498,
-1, 721, -1, 911, -1, 906, -1, 907, -1, 787,
-1, 914, -1, 734, -1, 655, -1, 658, -1, 663,
-1, 676, -1, 678, -1, 833, -1, 512, -1, 862,
-1, 864, -1, 870, -1, 865, -1, 869, -1, 687,
-1, 633, -1, 912, -1, 541, -1, 858, -1, 560,
-1, 874, -1, 509, -1, 507, -1, 878, -1, 624,
-1, 917, -1, 916, -1, 685, -1, 923, -1, 499,
-1, 539, -1, 563, -1, 920, -1, 761, -1, 536,
-1, 564, -1, 695, -1, 625, -1, 723, -1, 846,
-1, 919, -1, 913, -1, 652, -1, 659, -1, 672,
-1, 677, -1, 806, -1, 511, -1, 628, -1, 736,
-1, 743, -1, 871, -1, 744, -1, 686, -1, 641,
-1, 514, -1, 632, -1, 579, -1, 875, -1, 623,
-1, 649, -1, 850, -1, 697, -1, 717, -1, 500,
-1, 506, -1, 682, -1, 900, -1, 948, -1, 970,
-1, 724, -1, 958, -1, 540, -1, 843, -1, 848,
-1, 747, -1, 748, -1, 749, -1, 647, -1, 751,
-1, 879, -1, 651, -1, 852, -1, 510, -1, 684,
-1, 908, -1, 946, -1, 937, -1, 770, -1, 774,
-1, 783, -1, 679, -1, 792, -1, 949, -1, 889,
-1, 631, -1, 899, -1, 960, -1, 887, -1, 943,
-1, 750, -1, 853, -1, 837, -1, 836, -1, 838,
-1, 859, -1, 775, -1, 784, -1, 880, -1, 765,
-1, 974, -1, 891, -1, 759, -1, 890, -1, 965,
-1, 922, -1, 530, -1, 518, -1, 535, -1, 897,
-1, -1, 59, 1077, -1, 95, 345, 1157, 501, 502,
-1, 451, -1, 474, -1, -1, 502, 505, -1, -1,
503, 504, -1, -1, 302, 1155, -1, 302, 12, -1,
302, 478, -1, 302, 270, -1, 140, 302, 1155, -1,
140, 302, 12, -1, 140, 302, 478, -1, 423, 302,
1155, -1, 198, -1, 87, 230, 1156, -1, 434, 429,
1155, -1, 431, 1159, -1, 3, -1, 504, -1, 394,
1154, -1, 27, 1159, -1, 345, 1159, -1, 192, 345,
1159, -1, 192, 177, 1159, -1, 95, 431, 1157, 501,
502, -1, 32, 345, 1158, 501, 503, -1, 32, 431,
1158, 501, 503, -1, -1, 192, 110, 1147, -1, 32,
345, 1158, 508, 533, -1, 32, 345, 30, 508, 533,
-1, 32, 431, 1158, 508, 533, -1, 32, 431, 30,
508, 533, -1, 135, 345, 1159, -1, 135, 345, 186,
150, 1159, -1, 135, 431, 1159, -1, 135, 431, 186,
150, 1159, -1, 135, 177, 1159, -1, 135, 177, 186,
150, 1159, -1, 95, 177, 1157, 501, 502, -1, 32,
177, 1158, 513, 431, 1159, -1, 26, -1, 135, -1,
95, 354, 515, 47, 1158, 516, -1, 95, 354, 1160,
516, -1, 95, 354, 186, 265, 150, 515, 47, 1158,
516, -1, 95, 354, 186, 265, 150, 1160, 516, -1,
1160, -1, -1, 516, 517, -1, -1, 579, -1, 792,
-1, 632, -1, 697, -1, 774, -1, 897, -1, 367,
519, -1, 367, 233, 519, -1, 367, 365, 519, -1,
410, 894, -1, 365, 69, 39, 410, 894, -1, 521,
-1, 522, 408, 523, -1, 522, 477, 523, -1, 522,
408, 116, -1, 522, 477, 116, -1, 520, -1, 522,
168, 99, -1, 406, 471, 527, -1, 65, 1155, -1,
354, 1155, -1, 354, 12, -1, 354, 478, -1, 251,
528, -1, 345, 529, -1, 345, 12, -1, 345, 478,
-1, 365, 47, 529, -1, 365, 47, 12, -1, 365,
47, 478, -1, 365, 47, 116, -1, 457, 283, 1086,
-1, 410, 376, 1155, -1, 1160, -1, 522, 491, 1160,
-1, 524, -1, 523, 493, 524, -1, 526, -1, 639,
-1, 12, -1, 478, -1, 322, 422, -1, 322, 83,
-1, 335, 322, -1, 363, -1, 415, -1, 156, -1,
280, -1, 529, -1, 1155, -1, 12, -1, 478, -1,
3, -1, 1070, 1155, 1072, -1, 1070, 489, 1154, 490,
1155, -1, 639, -1, 116, -1, 233, -1, 1155, -1,
116, -1, -1, 1162, -1, 1155, -1, 338, 531, -1,
532, -1, 406, 471, -1, 410, 216, 228, -1, 365,
47, -1, 522, -1, 30, -1, 367, 519, -1, 530,
-1, 367, 521, -1, 530, -1, 371, 522, -1, 371,
406, 471, -1, 371, 410, 216, 228, -1, 371, 365,
47, -1, 371, 30, -1, 367, 89, 537, 538, -1,
30, -1, 1143, -1, 119, -1, 188, -1, 71, -1,
129, 30, -1, 129, 400, -1, 129, 402, -1, 129,
304, -1, 129, 362, -1, 32, 396, 1029, 542, -1,
32, 396, 186, 150, 1029, 542, -1, 32, 396, 1029,
543, -1, 32, 396, 186, 150, 1029, 543, -1, 32,
396, 30, 192, 399, 1146, 367, 399, 1146, 963, -1,
32, 396, 30, 192, 399, 1146, 295, 57, 1159, 367,
399, 1146, 963, -1, 32, 196, 1144, 542, -1, 32,
196, 186, 150, 1144, 542, -1, 32, 196, 1144, 544,
-1, 32, 196, 30, 192, 399, 1146, 367, 399, 1146,
963, -1, 32, 196, 30, 192, 399, 1146, 295, 57,
1159, 367, 399, 1146, 963, -1, 32, 361, 1144, 542,
-1, 32, 361, 186, 150, 1144, 542, -1, 32, 444,
1144, 542, -1, 32, 444, 186, 150, 1144, 542, -1,
32, 242, 444, 1144, 542, -1, 32, 242, 444, 186,
150, 1144, 542, -1, 32, 242, 444, 30, 192, 399,
1146, 367, 399, 1146, 963, -1, 32, 242, 444, 30,
192, 399, 1146, 295, 57, 1159, 367, 399, 1146, 963,
-1, 545, -1, 542, 493, 545, -1, 45, 300, 1144,
557, -1, 126, 300, 1144, -1, 45, 300, 1144, -1,
26, 587, -1, 26, 186, 265, 150, 587, -1, 26,
78, 587, -1, 26, 78, 186, 265, 150, 587, -1,
32, 860, 1160, 546, -1, 32, 860, 1160, 135, 265,
270, -1, 32, 860, 1160, 367, 265, 270, -1, 32,
860, 1160, 135, 152, -1, 32, 860, 1160, 135, 152,
186, 150, -1, 32, 860, 1160, 367, 383, 1156, -1,
32, 860, 1154, 367, 383, 1156, -1, 32, 860, 1160,
367, 551, -1, 32, 860, 1160, 338, 551, -1, 32,
860, 1160, 367, 386, 1160, -1, 32, 860, 1160, 26,
172, 592, 39, 185, 635, -1, 32, 860, 1160, 555,
-1, 32, 860, 1160, 135, 185, -1, 32, 860, 1160,
135, 185, 186, 150, -1, 135, 860, 186, 150, 1160,
547, -1, 135, 860, 1160, 547, -1, 32, 860, 1160,
861, 418, 1051, 548, 549, -1, 32, 860, 1160, 666,
-1, 26, 597, -1, 32, 88, 1146, 715, -1, 435,
88, 1146, -1, 135, 88, 186, 150, 1146, 547, -1,
135, 88, 1146, 547, -1, 367, 453, 278, -1, 74,
280, 1146, -1, 367, 453, 74, -1, 367, 239, -1,
367, 428, -1, 138, 413, 1146, -1, 138, 33, 413,
1146, -1, 138, 337, 413, 1146, -1, 138, 413, 30,
-1, 138, 413, 431, -1, 128, 413, 1146, -1, 128,
413, 30, -1, 128, 413, 431, -1, 138, 352, 1146,
-1, 138, 33, 352, 1146, -1, 138, 337, 352, 1146,
-1, 128, 352, 1146, -1, 198, 1144, -1, 261, 198,
1144, -1, 275, 756, -1, 265, 275, -1, 296, 408,
1158, -1, 367, 399, 1146, -1, 367, 551, -1, 338,
551, -1, 337, 185, 550, -1, 138, 350, 228, 359,
-1, 128, 350, 228, 359, -1, 164, 350, 228, 359,
-1, 261, 164, 350, 228, 359, -1, 666, -1, 367,
116, 1074, -1, 135, 116, -1, 61, -1, 340, -1,
-1, 76, 756, -1, -1, 432, 1074, -1, -1, 266,
-1, 169, -1, 116, -1, 432, 196, 1146, -1, 489,
553, 490, -1, 451, 551, -1, -1, 554, -1, 553,
493, 554, -1, 1163, 477, 728, -1, 1163, -1, 1163,
491, 1163, 477, 728, -1, 1163, 491, 1163, -1, 556,
-1, 555, 556, -1, 339, -1, 339, 501, 639, -1,
367, 637, -1, 367, 172, 592, -1, 163, 438, 451,
489, 559, 490, -1, 163, 438, 192, 489, 1112, 490,
-1, 163, 438, 168, 489, 1112, 490, 408, 489, 1112,
490, -1, 116, -1, 1162, 1154, -1, 558, -1, 559,
493, 558, -1, 32, 418, 756, 561, -1, 562, -1,
561, 493, 562, -1, 26, 46, 1043, 547, -1, 135,
46, 186, 150, 1160, 547, -1, 135, 46, 1160, 547,
-1, 32, 46, 1160, 861, 418, 1051, 548, 547, -1,
73, 971, -1, 73, 30, -1, 93, 571, 1144, 600,
565, 566, 567, 572, 501, 568, 1039, -1, 93, 489,
945, 490, 408, 566, 567, 501, 568, -1, 168, -1,
408, -1, 318, -1, -1, 1155, -1, 384, -1, 385,
-1, 569, -1, 489, 574, 490, -1, 569, 570, -1,
-1, 53, -1, 167, -1, 122, 915, 1155, -1, 270,
915, 1155, -1, 97, -1, 182, -1, 320, 915, 1155,
-1, 143, 915, 1155, -1, 164, 320, 601, -1, 164,
320, 482, -1, 164, 265, 270, 601, -1, 164, 270,
601, -1, 139, 1155, -1, 53, -1, -1, 573, 123,
1155, -1, -1, 432, -1, -1, 575, -1, 574, 493,
575, -1, 1163, 576, -1, 526, -1, 639, -1, 482,
-1, 489, 577, 490, -1, -1, 578, -1, 577, 493,
578, -1, 526, -1, 95, 580, 396, 1144, 489, 581,
490, 612, 613, 617, 618, 619, 620, -1, 95, 580,
396, 186, 265, 150, 1144, 489, 581, 490, 612, 613,
617, 618, 619, 620, -1, 95, 580, 396, 1144, 275,
756, 582, 613, 617, 618, 619, 620, -1, 95, 580,
396, 186, 265, 150, 1144, 275, 756, 582, 613, 617,
618, 619, 620, -1, 95, 580, 396, 1144, 300, 275,
1144, 582, 557, 613, 617, 618, 619, 620, -1, 95,
580, 396, 186, 265, 150, 1144, 300, 275, 1144, 582,
557, 613, 617, 618, 619, 620, -1, 402, -1, 400,
-1, 233, 402, -1, 233, 400, -1, 173, 402, -1,
173, 400, -1, 428, -1, -1, 583, -1, -1, 489,
584, 490, -1, -1, 585, -1, 583, 493, 585, -1,
586, -1, 584, 493, 586, -1, 587, -1, 594, -1,
597, -1, 588, -1, 597, -1, 1160, 1051, 664, 589,
-1, 1160, 589, -1, 1160, 451, 284, 589, -1, 589,
590, -1, -1, 88, 1146, 591, -1, 591, -1, 593,
-1, 76, 756, -1, 265, 270, -1, 270, -1, 425,
830, 621, -1, 312, 218, 830, 621, -1, 70, 489,
1074, 490, 599, -1, 116, 1075, -1, 172, 592, 39,
185, 635, -1, 172, 592, 39, 489, 1074, 490, 387,
-1, 328, 1144, 600, 604, 608, -1, 33, -1, 57,
116, -1, 118, -1, 265, 118, -1, 200, 119, -1,
200, 188, -1, 229, 1144, 595, -1, 595, 194, 596,
-1, 595, 147, 596, -1, -1, 81, -1, 89, -1,
117, -1, 185, -1, 172, -1, 197, -1, 383, -1,
386, -1, 30, -1, 88, 1146, 598, -1, 598, -1,
70, 489, 1074, 490, 715, -1, 425, 489, 601, 490,
603, 830, 621, 715, -1, 425, 622, 715, -1, 312,
218, 489, 601, 490, 603, 830, 621, 715, -1, 312,
218, 622, 715, -1, 146, 796, 489, 605, 490, 603,
830, 621, 607, 715, -1, 165, 218, 489, 601, 490,
328, 1144, 600, 604, 608, 715, -1, 261, 198, -1,
-1, 489, 601, 490, -1, -1, 602, -1, 601, 493,
602, -1, 1160, -1, 193, 489, 601, 490, -1, -1,
241, 169, -1, 241, 299, -1, 241, 373, -1, -1,
606, -1, 605, 493, 606, -1, 799, 451, 840, -1,
799, 451, 282, 489, 840, 490, -1, 448, 489, 1074,
490, -1, -1, 609, -1, 610, -1, 609, 610, -1,
610, 609, -1, -1, 280, 430, 611, -1, 280, 121,
611, -1, 261, 25, -1, 340, -1, 61, -1, 367,
270, -1, 367, 116, -1, 199, 489, 1143, 490, -1,
-1, 614, -1, -1, 300, 57, 1160, 489, 615, 490,
-1, 616, -1, 615, 493, 616, -1, 1160, 802, 803,
-1, 1079, 802, 803, -1, 489, 1074, 490, 802, 803,
-1, 432, 1148, -1, -1, 451, 551, -1, 453, 278,
-1, -1, 280, 82, 135, -1, 280, 82, 121, 351,
-1, 280, 82, 309, 351, -1, -1, 399, 1146, -1,
-1, 432, 196, 399, 1146, -1, -1, 432, 196, 1150,
-1, 95, 383, 756, 933, 280, 1112, 168, 1020, -1,
95, 383, 186, 265, 150, 756, 933, 280, 1112, 168,
1020, -1, 32, 383, 756, 367, 383, 1156, -1, 32,
383, 186, 150, 756, 367, 383, 1156, -1, 95, 580,
396, 626, 39, 974, 627, -1, 95, 580, 396, 186,
265, 150, 626, 39, 974, 627, -1, 1144, 600, 617,
618, 619, 620, -1, 451, 109, -1, 451, 261, 109,
-1, -1, 95, 630, 242, 444, 629, 39, 974, 627,
-1, 95, 630, 242, 444, 186, 265, 150, 629, 39,
974, 627, -1, 1144, 600, 617, 552, 620, -1, 428,
-1, -1, 330, 242, 444, 794, 1144, 627, -1, 95,
580, 361, 1144, 634, -1, 95, 580, 361, 186, 265,
150, 1144, 634, -1, 32, 361, 1144, 636, -1, 32,
361, 186, 150, 1144, 636, -1, 636, -1, -1, 489,
636, 490, -1, -1, 637, -1, 636, 637, -1, 39,
1053, -1, 58, 639, -1, 108, -1, 261, 108, -1,
195, 638, 639, -1, 243, 639, -1, 246, 639, -1,
261, 243, -1, 261, 246, -1, 295, 57, 756, -1,
361, 250, 756, -1, 381, 501, 639, -1, 339, -1,
339, 501, 639, -1, 57, -1, -1, 5, -1, 480,
5, -1, 481, 5, -1, 1156, -1, 639, -1, 640,
493, 639, -1, 95, 807, 642, 648, 220, 529, -1,
95, 807, 642, 648, 220, 529, 180, 643, 644, 646,
-1, 417, -1, -1, 1146, -1, 1146, 757, -1, 201,
643, -1, -1, 436, 643, -1, 261, 436, -1, 645,
-1, -1, 135, 648, 220, 529, 547, -1, 135, 648,
220, 186, 150, 529, 547, -1, 315, -1, -1, 95,
399, 1146, 650, 236, 1155, 552, -1, 296, 1158, -1,
-1, 135, 399, 1146, -1, 135, 399, 186, 150, 1146,
-1, 95, 153, 1146, 501, 653, -1, 95, 153, 186,
265, 150, 1146, 501, 653, -1, 653, 654, -1, -1,
354, 1146, -1, 443, 529, -1, 168, 529, -1, 61,
-1, 32, 153, 1146, 430, 656, -1, 656, 657, -1,
-1, 408, 529, -1, 32, 153, 1146, 513, 24, 244,
1146, -1, 32, 153, 1146, 513, 29, 823, -1, 32,
153, 1146, 513, 64, 489, 1051, 39, 1051, 490, -1,
32, 153, 1146, 513, 77, 756, -1, 32, 153, 1146,
513, 92, 756, -1, 32, 153, 1146, 513, 133, 1051,
-1, 32, 153, 1146, 513, 170, 811, -1, 32, 153,
1146, 513, 648, 220, 1146, -1, 32, 153, 1146, 513,
282, 842, -1, 32, 153, 1146, 513, 282, 72, 756,
432, 1148, -1, 32, 153, 1146, 513, 282, 157, 756,
432, 1148, -1, 32, 153, 1146, 513, 316, 811, -1,
32, 153, 1146, 513, 348, 811, -1, 32, 153, 1146,
513, 354, 1146, -1, 32, 153, 1146, 513, 144, 413,
1146, -1, 32, 153, 1146, 513, 396, 756, -1, 32,
153, 1146, 513, 403, 357, 298, 756, -1, 32, 153,
1146, 513, 403, 357, 127, 756, -1, 32, 153, 1146,
513, 403, 357, 401, 756, -1, 32, 153, 1146, 513,
403, 357, 85, 756, -1, 32, 153, 1146, 513, 361,
756, -1, 32, 153, 1146, 513, 444, 756, -1, 32,
153, 1146, 513, 242, 444, 756, -1, 32, 153, 1146,
513, 165, 396, 756, -1, 32, 153, 1146, 513, 165,
109, 455, 1146, -1, 32, 153, 1146, 513, 364, 1146,
-1, 32, 153, 1146, 513, 411, 163, 1051, 220, 1146,
-1, 32, 153, 1146, 513, 418, 1051, -1, 95, 165,
109, 455, 1146, 662, 664, -1, 180, 643, -1, 261,
180, -1, 436, 643, -1, 261, 436, -1, 660, -1,
661, 660, -1, 661, -1, -1, 32, 165, 109, 455,
1146, 662, 666, -1, 32, 165, 109, 455, 1146, 661,
-1, 284, 489, 665, 490, -1, -1, 669, -1, 665,
493, 669, -1, 284, 489, 667, 490, -1, 668, -1,
667, 493, 668, -1, 669, -1, 367, 669, -1, 26,
669, -1, 135, 670, -1, 670, 671, -1, 1163, -1,
1155, -1, 95, 364, 1146, 673, 675, 165, 109, 455,
1146, 664, -1, 95, 364, 186, 265, 150, 1146, 673,
675, 165, 109, 455, 1146, 664, -1, 418, 1155, -1,
-1, 443, 1155, -1, 443, 270, -1, 674, -1, -1,
32, 364, 1146, 674, 666, -1, 32, 364, 1146, 674,
-1, 32, 364, 1146, 666, -1, 95, 165, 396, 1144,
489, 581, 490, 612, 364, 1146, 664, -1, 95, 165,
396, 186, 265, 150, 1144, 489, 581, 490, 612, 364,
1146, 664, -1, 95, 165, 396, 1144, 300, 275, 1144,
582, 557, 364, 1146, 664, -1, 95, 165, 396, 186,
265, 150, 1144, 300, 275, 1144, 582, 557, 364, 1146,
664, -1, 32, 165, 396, 1029, 542, -1, 32, 165,
396, 186, 150, 1029, 542, -1, 191, 165, 354, 1146,
681, 168, 364, 1146, 212, 1146, 664, -1, 230, 408,
-1, 145, -1, 680, 489, 1030, 490, -1, -1, 95,
431, 240, 163, 683, 364, 1146, 664, -1, 95, 431,
240, 186, 265, 150, 163, 683, 364, 1146, 664, -1,
1158, -1, 431, -1, 135, 431, 240, 163, 683, 364,
1146, -1, 135, 431, 240, 186, 150, 163, 683, 364,
1146, -1, 32, 431, 240, 163, 683, 364, 1146, 666,
-1, 95, 305, 1146, 280, 1144, 692, 693, 690, 688,
689, -1, 32, 305, 1146, 280, 1144, 691, 688, 689,
-1, 432, 489, 1074, 490, -1, -1, 451, 70, 489,
1074, 490, -1, -1, 408, 1159, -1, -1, 408, 1159,
-1, -1, 39, 3, -1, -1, 163, 694, -1, -1,
30, -1, 360, -1, 206, -1, 430, -1, 121, -1,
95, 24, 244, 1146, 418, 696, 180, 643, -1, 196,
-1, 396, -1, 95, 413, 1146, 698, 699, 280, 1144,
701, 707, 710, 149, 711, 1152, 489, 712, 490, -1,
95, 88, 413, 1146, 28, 699, 280, 1144, 714, 715,
163, 136, 350, 710, 149, 711, 1152, 489, 712, 490,
-1, 49, -1, 28, -1, 207, 275, -1, 700, -1,
699, 285, 700, -1, 206, -1, 121, -1, 430, -1,
430, 275, 601, -1, 416, -1, 329, 702, -1, -1,
703, -1, 702, 703, -1, 704, 705, 915, 706, -1,
255, -1, 279, -1, 396, -1, 350, -1, 1160, -1,
163, 708, 709, -1, -1, 136, -1, -1, 350, -1,
382, -1, 447, 489, 1074, 490, -1, -1, 170, -1,
316, -1, 713, -1, 712, 493, 713, -1, -1, 1154,
-1, 5, -1, 1155, -1, 1163, -1, 168, 1144, -1,
-1, -1, 715, 716, -1, 265, 118, -1, 118, -1,
200, 188, -1, 200, 119, -1, 265, 434, -1, 261,
198, -1, 95, 144, 413, 1146, 280, 1163, 149, 711,
1152, 489, 490, -1, 95, 144, 413, 1146, 280, 1163,
447, 718, 149, 711, 1152, 489, 490, -1, 719, -1,
718, 36, 719, -1, 1160, 192, 489, 720, 490, -1,
6, -1, 720, 493, 6, -1, 32, 144, 413, 1146,
722, -1, 138, -1, 138, 337, -1, 138, 33, -1,
128, -1, 95, 41, 756, 70, 489, 1074, 490, 715,
-1, 95, 807, 29, 1152, 821, 725, -1, 95, 807,
29, 1152, 729, -1, 95, 282, 840, 725, -1, 95,
418, 756, 725, -1, 95, 418, 756, -1, 95, 418,
756, 39, 489, 1041, 490, -1, 95, 418, 756, 39,
142, 489, 732, 490, -1, 95, 418, 756, 39, 321,
725, -1, 95, 403, 357, 298, 756, 725, -1, 95,
403, 357, 127, 756, 725, -1, 95, 403, 357, 401,
756, 725, -1, 95, 403, 357, 85, 756, 725, -1,
95, 77, 756, 725, -1, 95, 77, 186, 265, 150,
756, 725, -1, 95, 77, 756, 168, 756, -1, 95,
77, 186, 265, 150, 756, 168, 756, -1, 489, 726,
490, -1, 727, -1, 726, 493, 727, -1, 1163, 477,
728, -1, 1163, -1, 818, -1, 1167, -1, 1110, -1,
639, -1, 1155, -1, 262, -1, 489, 730, 490, -1,
731, -1, 730, 493, 731, -1, 3, 477, 728, -1,
733, -1, -1, 1155, -1, 733, 493, 1155, -1, 32,
418, 756, 26, 437, 735, 1155, -1, 32, 418, 756,
26, 437, 735, 1155, 49, 1155, -1, 32, 418, 756,
26, 437, 735, 1155, 28, 1155, -1, 32, 418, 756,
334, 437, 1155, 408, 1155, -1, 186, 265, 150, -1,
-1, 95, 282, 72, 756, 739, 163, 418, 1051, 432,
1148, 740, 39, 737, -1, 738, -1, 737, 493, 738,
-1, 282, 1154, 840, 741, 742, -1, 282, 1154, 842,
741, 742, -1, 170, 1154, 811, -1, 170, 1154, 489,
1115, 490, 811, -1, 386, 1051, -1, 116, -1, -1,
157, 756, -1, -1, 163, 357, -1, 163, 286, 57,
756, -1, -1, 325, -1, -1, 95, 282, 157, 756,
432, 1148, -1, 32, 282, 157, 756, 432, 1148, 26,
737, -1, 32, 282, 157, 756, 432, 1148, 135, 745,
-1, 746, -1, 745, 493, 746, -1, 282, 1154, 489,
1115, 490, -1, 170, 1154, 489, 1115, 490, -1, 135,
282, 72, 756, 432, 1148, 547, -1, 135, 282, 72,
186, 150, 756, 432, 1148, 547, -1, 135, 282, 157,
756, 432, 1148, 547, -1, 135, 282, 157, 186, 150,
756, 432, 1148, 547, -1, 135, 295, 57, 1159, 547,
-1, 324, 295, 57, 1159, 408, 1158, -1, 135, 752,
186, 150, 755, 547, -1, 135, 752, 755, 547, -1,
135, 753, 186, 150, 1145, 547, -1, 135, 753, 1145,
547, -1, 135, 754, 1146, 280, 756, 547, -1, 135,
754, 186, 150, 1146, 280, 756, 547, -1, 135, 418,
758, 547, -1, 135, 418, 186, 150, 758, 547, -1,
135, 133, 758, 547, -1, 135, 133, 186, 150, 758,
547, -1, 135, 196, 84, 755, 547, -1, 135, 196,
84, 186, 150, 755, 547, -1, 396, -1, 361, -1,
444, -1, 242, 444, -1, 196, -1, 165, 396, -1,
77, -1, 92, -1, 383, -1, 403, 357, 298, -1,
403, 357, 127, -1, 403, 357, 401, -1, 403, 357,
85, -1, 24, 244, -1, 144, 413, -1, 153, -1,
165, 109, 455, -1, 319, -1, 354, -1, 364, -1,
305, -1, 352, -1, 413, -1, 756, -1, 755, 493,
756, -1, 1160, -1, 1160, 757, -1, 491, 1149, -1,
757, 491, 1149, -1, 1051, -1, 758, 493, 1051, -1,
416, 986, 1030, 760, 547, -1, 91, 185, -1, 339,
185, -1, -1, 80, 280, 762, 756, 214, 764, -1,
80, 280, 763, 1146, 214, 764, -1, 80, 280, 418,
1051, 214, 764, -1, 80, 280, 133, 1051, 214, 764,
-1, 80, 280, 29, 823, 214, 764, -1, 80, 280,
170, 811, 214, 764, -1, 80, 280, 282, 842, 214,
764, -1, 80, 280, 88, 1146, 280, 756, 214, 764,
-1, 80, 280, 88, 1146, 280, 133, 756, 214, 764,
-1, 80, 280, 305, 1146, 280, 756, 214, 764, -1,
80, 280, 316, 811, 214, 764, -1, 80, 280, 348,
811, 214, 764, -1, 80, 280, 352, 1146, 280, 756,
214, 764, -1, 80, 280, 411, 163, 1051, 220, 1146,
214, 764, -1, 80, 280, 413, 1146, 280, 756, 214,
764, -1, 80, 280, 282, 72, 756, 432, 1148, 214,
764, -1, 80, 280, 282, 157, 756, 432, 1148, 214,
764, -1, 80, 280, 221, 274, 639, 214, 764, -1,
80, 280, 64, 489, 1051, 39, 1051, 490, 214, 764,
-1, 78, -1, 196, -1, 361, -1, 383, -1, 396,
-1, 444, -1, 242, 444, -1, 77, -1, 92, -1,
165, 396, -1, 403, 357, 85, -1, 403, 357, 127,
-1, 403, 357, 298, -1, 403, 357, 401, -1, 24,
244, -1, 110, -1, 144, 413, -1, 153, -1, 165,
109, 455, -1, 648, 220, -1, 319, -1, 345, -1,
354, -1, 364, -1, 390, -1, 399, -1, 1155, -1,
270, -1, 359, 219, 766, 280, 767, 756, 214, 769,
-1, 359, 219, 766, 280, 768, 1146, 214, 769, -1,
359, 219, 766, 280, 418, 1051, 214, 769, -1, 359,
219, 766, 280, 133, 1051, 214, 769, -1, 359, 219,
766, 280, 29, 823, 214, 769, -1, 359, 219, 766,
280, 170, 811, 214, 769, -1, 359, 219, 766, 280,
221, 274, 639, 214, 769, -1, 359, 219, 766, 280,
316, 811, 214, 769, -1, 359, 219, 766, 280, 348,
811, 214, 769, -1, 163, 529, -1, -1, 78, -1,
165, 396, -1, 361, -1, 396, -1, 444, -1, 242,
444, -1, 110, -1, 144, 413, -1, 648, 220, -1,
319, -1, 345, -1, 354, -1, 390, -1, 399, -1,
1155, -1, 270, -1, 158, 771, -1, 249, 771, -1,
971, -1, 772, 971, -1, 256, 773, 971, -1, 313,
773, 971, -1, 160, 773, 971, -1, 222, 773, 971,
-1, 23, 1156, 773, 971, -1, 332, 1156, 773, 971,
-1, 1156, 773, 971, -1, 30, 773, 971, -1, 166,
773, 971, -1, 166, 1156, 773, 971, -1, 166, 30,
773, 971, -1, 48, 773, 971, -1, 48, 1156, 773,
971, -1, 48, 30, 773, 971, -1, 168, -1, 192,
-1, 772, -1, -1, 174, 776, 280, 779, 408, 780,
782, -1, 343, 776, 280, 779, 168, 780, 547, -1,
343, 174, 283, 163, 776, 280, 779, 168, 780, 547,
-1, 777, -1, 30, -1, 30, 314, -1, 30, 489,
601, 490, -1, 30, 314, 489, 601, 490, -1, 778,
-1, 777, 493, 778, -1, 360, 600, -1, 328, 600,
-1, 95, 600, -1, 1160, 600, -1, 1143, -1, 396,
1143, -1, 361, 1143, -1, 165, 109, 455, 1145, -1,
165, 364, 1145, -1, 170, 810, -1, 316, 810, -1,
348, 810, -1, 110, 1145, -1, 133, 755, -1, 220,
1145, -1, 221, 274, 640, -1, 354, 1145, -1, 399,
1145, -1, 418, 755, -1, 30, 397, 192, 354, 1145,
-1, 30, 362, 192, 354, 1145, -1, 30, 171, 192,
354, 1145, -1, 30, 317, 192, 354, 1145, -1, 30,
349, 192, 354, 1145, -1, 781, -1, 780, 493, 781,
-1, 1158, -1, 177, 1158, -1, 451, 174, 283, -1,
-1, 174, 777, 408, 1159, 785, 786, -1, 343, 777,
168, 1159, 786, 547, -1, 343, 27, 283, 163, 777,
168, 1159, 786, 547, -1, 451, 27, 283, -1, -1,
175, 57, 1158, -1, -1, 32, 116, 314, 788, 790,
-1, 788, 789, -1, -1, 192, 354, 1145, -1, 163,
345, 1159, -1, 163, 431, 1159, -1, 174, 776, 280,
791, 408, 780, 782, -1, 343, 776, 280, 791, 168,
780, 547, -1, 343, 174, 283, 163, 776, 280, 791,
168, 780, 547, -1, 397, -1, 171, -1, 349, -1,
362, -1, 419, -1, 355, -1, 95, 793, 196, 794,
795, 280, 1029, 796, 489, 797, 490, 800, 552, 620,
1039, -1, 95, 793, 196, 794, 186, 265, 150, 1150,
280, 1029, 796, 489, 797, 490, 800, 552, 620, 1039,
-1, 425, -1, -1, 84, -1, -1, 1150, -1, -1,
432, 1148, -1, -1, 799, -1, 797, 493, 799, -1,
802, 803, 804, 805, -1, 802, 756, 551, 804, 805,
-1, 1160, 798, -1, 1079, 798, -1, 489, 1074, 490,
798, -1, 193, 489, 801, 490, -1, -1, 799, -1,
801, 493, 799, -1, 76, 756, -1, -1, 756, -1,
-1, 40, -1, 125, -1, -1, 473, 160, -1, 473,
222, -1, -1, 95, 807, 170, 1152, 812, 342, 817,
825, -1, 95, 807, 170, 1152, 812, 342, 396, 489,
832, 490, 825, -1, 95, 807, 170, 1152, 812, 825,
-1, 95, 807, 316, 1152, 812, 825, -1, 285, 336,
-1, -1, 489, 809, 490, -1, 489, 490, -1, 814,
-1, 809, 493, 814, -1, 811, -1, 810, 493, 811,
-1, 1152, 808, -1, 1166, -1, 1160, -1, 1160, 1137,
-1, 489, 813, 490, -1, 489, 490, -1, 819, -1,
813, 493, 819, -1, 815, 816, 818, -1, 816, 815,
818, -1, 816, 818, -1, 815, 818, -1, 818, -1,
192, -1, 289, -1, 203, -1, 192, 289, -1, 440,
-1, 1161, -1, 818, -1, 1051, -1, 1161, 757, 484,
418, -1, 369, 1161, 757, 484, 418, -1, 814, -1,
814, 116, 1074, -1, 814, 477, 1074, -1, 814, -1,
489, 482, 490, -1, 489, 822, 490, -1, 489, 286,
57, 822, 490, -1, 489, 822, 286, 57, 822, 490,
-1, 820, -1, 822, 493, 820, -1, 1152, 821, -1,
823, -1, 824, 493, 823, -1, 827, -1, 825, 827,
-1, 60, 280, 270, 204, -1, 342, 270, 280, 270,
204, -1, 388, -1, 189, -1, 379, -1, 446, -1,
154, 359, 120, -1, 154, 359, 213, -1, 359, 120,
-1, 359, 213, -1, 225, -1, 265, 225, -1, 94,
639, -1, 351, 639, -1, 392, 756, -1, 534, -1,
297, 1160, -1, 39, 828, -1, 220, 529, -1, 411,
829, -1, 450, -1, 826, -1, 1155, -1, 1155, 493,
1155, -1, 163, 418, 1051, -1, 829, 493, 163, 418,
1051, -1, 451, 725, -1, -1, 816, 818, -1, 831,
-1, 832, 493, 831, -1, 32, 170, 811, 834, 835,
-1, 32, 316, 811, 834, 835, -1, 32, 348, 811,
834, 835, -1, 826, -1, 834, 826, -1, 340, -1,
-1, 135, 170, 810, 547, -1, 135, 170, 186, 150,
810, 547, -1, 135, 316, 810, 547, -1, 135, 316,
186, 150, 810, 547, -1, 135, 348, 810, 547, -1,
135, 348, 186, 150, 810, 547, -1, 135, 29, 824,
547, -1, 135, 29, 186, 150, 824, 547, -1, 135,
282, 841, 547, -1, 135, 282, 186, 150, 841, 547,
-1, 489, 1051, 490, -1, 489, 1051, 493, 1051, 490,
-1, 489, 262, 493, 1051, 490, -1, 489, 1051, 493,
262, 490, -1, 1107, -1, 1160, 491, 840, -1, 842,
-1, 841, 493, 842, -1, 840, 839, -1, 131, 844,
-1, 845, -1, 844, 845, -1, 1155, -1, 220, 529,
-1, 95, 64, 489, 1051, 39, 1051, 490, 451, 170,
811, 847, -1, 95, 64, 489, 1051, 39, 1051, 490,
453, 170, 847, -1, 95, 64, 489, 1051, 39, 1051,
490, 451, 203, 847, -1, 39, 190, -1, 39, 42,
-1, -1, 135, 64, 849, 489, 1051, 39, 1051, 490,
547, -1, 186, 150, -1, -1, 95, 807, 411, 163,
1051, 220, 1146, 489, 851, 490, -1, 168, 378, 451,
170, 811, 493, 408, 378, 451, 170, 811, -1, 408,
378, 451, 170, 811, 493, 168, 378, 451, 170, 811,
-1, 168, 378, 451, 170, 811, -1, 408, 378, 451,
170, 811, -1, 135, 411, 849, 163, 1051, 220, 1146,
547, -1, 331, 854, 794, 1144, -1, 331, 855, 794,
1146, -1, 331, 489, 856, 490, 854, 794, 1144, -1,
331, 489, 856, 490, 855, 794, 1146, -1, 196, -1,
396, -1, 354, -1, 395, -1, 110, -1, 857, -1,
856, 493, 857, -1, 442, -1, 32, 399, 1146, 367,
551, -1, 32, 399, 1146, 338, 551, -1, 32, 29,
823, 334, 408, 1146, -1, 32, 77, 756, 334, 408,
1146, -1, 32, 92, 756, 334, 408, 1146, -1, 32,
110, 1147, 334, 408, 1147, -1, 32, 133, 756, 334,
408, 1146, -1, 32, 133, 756, 334, 88, 1146, 408,
1146, -1, 32, 165, 109, 455, 1146, 334, 408, 1146,
-1, 32, 170, 811, 334, 408, 1146, -1, 32, 177,
1157, 334, 408, 1157, -1, 32, 648, 220, 1146, 334,
408, 1146, -1, 32, 282, 72, 756, 432, 1148, 334,
408, 1146, -1, 32, 282, 157, 756, 432, 1148, 334,
408, 1146, -1, 32, 305, 1146, 280, 1144, 334, 408,
1146, -1, 32, 305, 186, 150, 1146, 280, 1144, 334,
408, 1146, -1, 32, 316, 811, 334, 408, 1146, -1,
32, 319, 1146, 334, 408, 1146, -1, 32, 348, 811,
334, 408, 1146, -1, 32, 354, 1146, 334, 408, 1146,
-1, 32, 364, 1146, 334, 408, 1146, -1, 32, 390,
1146, 334, 408, 1146, -1, 32, 396, 1029, 334, 408,
1146, -1, 32, 396, 186, 150, 1029, 334, 408, 1146,
-1, 32, 361, 1144, 334, 408, 1146, -1, 32, 361,
186, 150, 1144, 334, 408, 1146, -1, 32, 444, 1144,
334, 408, 1146, -1, 32, 444, 186, 150, 1144, 334,
408, 1146, -1, 32, 242, 444, 1144, 334, 408, 1146,
-1, 32, 242, 444, 186, 150, 1144, 334, 408, 1146,
-1, 32, 196, 1144, 334, 408, 1146, -1, 32, 196,
186, 150, 1144, 334, 408, 1146, -1, 32, 165, 396,
1029, 334, 408, 1146, -1, 32, 165, 396, 186, 150,
1029, 334, 408, 1146, -1, 32, 396, 1029, 334, 860,
1146, 408, 1146, -1, 32, 396, 186, 150, 1029, 334,
860, 1146, 408, 1146, -1, 32, 444, 1144, 334, 860,
1146, 408, 1146, -1, 32, 444, 186, 150, 1144, 334,
860, 1146, 408, 1146, -1, 32, 242, 444, 1144, 334,
860, 1146, 408, 1146, -1, 32, 242, 444, 186, 150,
1144, 334, 860, 1146, 408, 1146, -1, 32, 396, 1029,
334, 88, 1146, 408, 1146, -1, 32, 396, 186, 150,
1029, 334, 88, 1146, 408, 1146, -1, 32, 165, 396,
1029, 334, 860, 1146, 408, 1146, -1, 32, 165, 396,
186, 150, 1029, 334, 860, 1146, 408, 1146, -1, 32,
352, 1146, 280, 1144, 334, 408, 1146, -1, 32, 413,
1146, 280, 1144, 334, 408, 1146, -1, 32, 144, 413,
1146, 334, 408, 1146, -1, 32, 345, 1157, 334, 408,
1157, -1, 32, 431, 1157, 334, 408, 1157, -1, 32,
399, 1146, 334, 408, 1146, -1, 32, 383, 756, 334,
408, 1146, -1, 32, 403, 357, 298, 756, 334, 408,
1146, -1, 32, 403, 357, 127, 756, 334, 408, 1146,
-1, 32, 403, 357, 401, 756, 334, 408, 1146, -1,
32, 403, 357, 85, 756, 334, 408, 1146, -1, 32,
418, 756, 334, 408, 1146, -1, 32, 418, 756, 334,
46, 1146, 408, 1146, 547, -1, 78, -1, -1, 367,
109, -1, -1, 32, 170, 811, 863, 124, 280, 153,
1146, -1, 32, 316, 811, 863, 124, 280, 153, 1146,
-1, 32, 348, 811, 863, 124, 280, 153, 1146, -1,
32, 413, 1146, 280, 1144, 863, 124, 280, 153, 1146,
-1, 32, 242, 444, 1144, 863, 124, 280, 153, 1146,
-1, 32, 196, 1144, 863, 124, 280, 153, 1146, -1,
261, -1, -1, 32, 29, 823, 367, 354, 1146, -1,
32, 77, 756, 367, 354, 1146, -1, 32, 92, 756,
367, 354, 1146, -1, 32, 133, 756, 367, 354, 1146,
-1, 32, 153, 1146, 367, 354, 1146, -1, 32, 170,
811, 367, 354, 1146, -1, 32, 282, 842, 367, 354,
1146, -1, 32, 282, 72, 756, 432, 1148, 367, 354,
1146, -1, 32, 282, 157, 756, 432, 1148, 367, 354,
1146, -1, 32, 316, 811, 367, 354, 1146, -1, 32,
348, 811, 367, 354, 1146, -1, 32, 396, 1029, 367,
354, 1146, -1, 32, 396, 186, 150, 1029, 367, 354,
1146, -1, 32, 383, 756, 367, 354, 1146, -1, 32,
403, 357, 298, 756, 367, 354, 1146, -1, 32, 403,
357, 127, 756, 367, 354, 1146, -1, 32, 403, 357,
401, 756, 367, 354, 1146, -1, 32, 403, 357, 85,
756, 367, 354, 1146, -1, 32, 361, 1144, 367, 354,
1146, -1, 32, 361, 186, 150, 1144, 367, 354, 1146,
-1, 32, 444, 1144, 367, 354, 1146, -1, 32, 444,
186, 150, 1144, 367, 354, 1146, -1, 32, 242, 444,
1144, 367, 354, 1146, -1, 32, 242, 444, 186, 150,
1144, 367, 354, 1146, -1, 32, 165, 396, 1029, 367,
354, 1146, -1, 32, 165, 396, 186, 150, 1029, 367,
354, 1146, -1, 32, 418, 756, 367, 354, 1146, -1,
32, 282, 842, 367, 489, 866, 490, -1, 867, -1,
866, 493, 867, -1, 1163, 477, 262, -1, 1163, 477,
868, -1, 818, -1, 1167, -1, 1110, -1, 639, -1,
1155, -1, 32, 418, 756, 367, 489, 866, 490, -1,
32, 29, 823, 296, 408, 1158, -1, 32, 77, 756,
296, 408, 1158, -1, 32, 92, 756, 296, 408, 1158,
-1, 32, 110, 1147, 296, 408, 1158, -1, 32, 133,
756, 296, 408, 1158, -1, 32, 170, 811, 296, 408,
1158, -1, 32, 648, 220, 1146, 296, 408, 1158, -1,
32, 221, 274, 639, 296, 408, 1158, -1, 32, 282,
842, 296, 408, 1158, -1, 32, 282, 72, 756, 432,
1148, 296, 408, 1158, -1, 32, 282, 157, 756, 432,
1148, 296, 408, 1158, -1, 32, 316, 811, 296, 408,
1158, -1, 32, 348, 811, 296, 408, 1158, -1, 32,
354, 1146, 296, 408, 1158, -1, 32, 418, 756, 296,
408, 1158, -1, 32, 399, 1146, 296, 408, 1158, -1,
32, 383, 756, 296, 408, 1158, -1, 32, 403, 357,
127, 756, 296, 408, 1158, -1, 32, 403, 357, 85,
756, 296, 408, 1158, -1, 32, 165, 109, 455, 1146,
296, 408, 1158, -1, 32, 364, 1146, 296, 408, 1158,
-1, 32, 144, 413, 1146, 296, 408, 1158, -1, 32,
319, 1146, 296, 408, 1158, -1, 32, 390, 1146, 296,
408, 1158, -1, 95, 319, 1146, 872, 830, -1, 873,
-1, -1, 163, 396, 1030, -1, 163, 30, 397, -1,
32, 319, 1146, 367, 725, -1, 32, 319, 1146, 26,
396, 1030, -1, 32, 319, 1146, 367, 396, 1030, -1,
32, 319, 1146, 135, 396, 1030, -1, 95, 390, 1146,
87, 1155, 319, 876, 830, -1, 877, -1, 876, 493,
877, -1, 1163, -1, 32, 390, 1146, 367, 725, -1,
32, 390, 1146, 87, 1155, -1, 32, 390, 1146, 330,
319, 830, -1, 32, 390, 1146, 367, 319, 876, 830,
-1, 32, 390, 1146, 138, -1, 32, 390, 1146, 128,
-1, 135, 390, 1146, 547, -1, 135, 390, 186, 150,
1146, 547, -1, 95, 807, 352, 1146, 39, 280, 885,
408, 1144, 1039, 131, 886, 881, -1, 266, -1, 883,
-1, 489, 882, 490, -1, 882, 492, 884, -1, 884,
-1, 974, -1, 949, -1, 965, -1, 958, -1, 887,
-1, 883, -1, -1, 360, -1, 430, -1, 121, -1,
206, -1, 207, -1, 31, -1, -1, 267, 1160, 888,
-1, 493, 1155, -1, -1, 231, 1160, -1, 427, 1160,
-1, 427, 482, -1, 22, 892, 896, -1, 50, 892,
895, -1, 381, 410, 895, -1, 82, 892, 896, -1,
141, 892, 896, -1, 346, 892, 896, -1, 353, 1160,
-1, 333, 353, 1160, -1, 333, 1160, -1, 346, 892,
408, 353, 1160, -1, 346, 892, 408, 1160, -1, 310,
410, 1155, -1, 82, 311, 1155, -1, 346, 311, 1155,
-1, 454, -1, 410, -1, -1, 216, 228, 525, -1,
322, 281, -1, 322, 456, -1, 118, -1, 265, 118,
-1, 893, -1, 894, 493, 893, -1, 894, 893, -1,
894, -1, -1, 36, 66, -1, 36, 261, 66, -1,
-1, 95, 580, 444, 1144, 600, 552, 39, 974, 898,
-1, 95, 285, 336, 580, 444, 1144, 600, 552, 39,
974, 898, -1, 95, 580, 326, 444, 1144, 489, 601,
490, 552, 39, 974, 898, -1, 95, 285, 336, 580,
326, 444, 1144, 489, 601, 490, 552, 39, 974, 898,
-1, 451, 70, 283, -1, 451, 62, 70, 283, -1,
451, 233, 70, 283, -1, -1, 232, 1151, -1, 95,
110, 1147, 501, 901, -1, 902, -1, -1, 903, -1,
902, 903, -1, 904, 905, 1156, -1, 904, 905, 526,
-1, 904, 905, 116, -1, 3, -1, 87, 230, -1,
139, -1, 236, -1, 296, -1, 399, -1, 401, -1,
477, -1, -1, 32, 110, 1147, 451, 901, -1, 32,
110, 1147, 901, -1, 32, 110, 1147, 367, 399, 1146,
-1, 32, 110, 1147, 533, -1, 135, 110, 1147, -1,
135, 110, 186, 150, 1147, -1, 135, 110, 1147, 501,
489, 909, 490, -1, 135, 110, 186, 150, 1147, 501,
489, 909, 490, -1, 910, -1, 909, 493, 910, -1,
164, -1, 32, 77, 756, 330, 443, -1, 32, 395,
367, 520, -1, 32, 395, 338, 532, -1, 95, 133,
756, 915, 1051, 589, -1, 32, 133, 756, 546, -1,
32, 133, 756, 135, 265, 270, -1, 32, 133, 756,
367, 265, 270, -1, 32, 133, 756, 26, 597, -1,
32, 133, 756, 135, 88, 1146, 547, -1, 32, 133,
756, 135, 88, 186, 150, 1146, 547, -1, 32, 133,
756, 435, 88, 1146, -1, 39, -1, -1, 32, 403,
357, 127, 756, 725, -1, 32, 403, 357, 85, 756,
26, 240, 163, 1145, 918, 755, -1, 32, 403, 357,
85, 756, 32, 240, 163, 1145, 918, 755, -1, 32,
403, 357, 85, 756, 32, 240, 336, 756, 918, 756,
-1, 32, 403, 357, 85, 756, 32, 240, 163, 1145,
336, 756, 918, 756, -1, 32, 403, 357, 85, 756,
135, 240, 163, 1145, -1, 32, 403, 357, 85, 756,
135, 240, 186, 150, 163, 1145, -1, 451, -1, 474,
-1, 95, 739, 92, 756, 163, 1155, 408, 1155, 168,
756, -1, 74, 930, 1144, 921, -1, 74, 930, -1,
74, 930, 1150, 280, 1144, -1, 432, 1150, -1, -1,
433, 931, 932, 930, 929, 936, -1, 433, 489, 924,
490, 936, -1, 925, 930, 936, -1, 925, 489, 924,
490, 936, -1, 926, -1, 924, 493, 926, -1, 35,
-1, 34, -1, 927, 928, -1, 1162, -1, 925, -1,
526, -1, 639, -1, -1, 925, -1, -1, 442, -1,
-1, 169, -1, -1, 167, -1, -1, 489, 1145, 490,
-1, -1, 1144, 933, -1, 934, -1, 935, 493, 934,
-1, 935, -1, -1, 151, 938, -1, 151, 925, 930,
938, -1, 151, 442, 938, -1, 151, 489, 939, 490,
938, -1, 974, -1, 949, -1, 965, -1, 958, -1,
970, -1, 625, -1, 628, -1, 631, -1, 946, -1,
940, -1, 939, 493, 940, -1, 941, 942, -1, 1162,
-1, 925, -1, 526, -1, 639, -1, -1, 310, 1146,
944, 39, 945, -1, 489, 1115, 490, -1, -1, 974,
-1, 949, -1, 965, -1, 958, -1, 149, 1146, 947,
-1, 95, 580, 396, 626, 39, 149, 1146, 947, 627,
-1, 95, 580, 396, 186, 265, 150, 626, 39, 149,
1146, 947, 627, -1, 489, 1112, 490, -1, -1, 112,
1146, -1, 112, 310, 1146, -1, 112, 30, -1, 112,
310, 30, -1, 983, 206, 212, 950, 951, 955, 957,
-1, 1144, -1, 1144, 39, 1160, -1, 974, -1, 294,
952, 437, 974, -1, 489, 953, 490, 974, -1, 489,
953, 490, 294, 952, 437, 974, -1, 116, 438, -1,
431, -1, 395, -1, 954, -1, 953, 493, 954, -1,
1160, 1138, -1, 280, 86, 956, 131, 430, 367, 966,
1039, -1, 280, 86, 956, 131, 266, -1, -1, 489,
797, 490, 1039, -1, 280, 88, 1146, -1, -1, 341,
1141, -1, -1, 983, 121, 168, 1031, 959, 1040, 957,
-1, 432, 1020, -1, -1, 237, 986, 1030, 961, 963,
-1, 192, 962, 247, -1, -1, 24, 370, -1, 350,
370, -1, 350, 148, -1, 370, 430, 148, -1, 370,
-1, 370, 350, 148, -1, 148, -1, 24, 148, -1,
269, -1, -1, 269, -1, 374, 238, -1, -1, 983,
430, 1031, 367, 966, 1019, 1040, 957, -1, 967, -1,
966, 493, 967, -1, 968, 477, 1074, -1, 489, 969,
490, 477, 1074, -1, 1160, 1138, -1, 968, -1, 969,
493, 968, -1, 115, 971, 972, 107, 973, 163, 974,
-1, 1146, -1, -1, 972, 261, 356, -1, 972, 356,
-1, 972, 53, -1, 972, 205, -1, -1, 451, 183,
-1, 453, 183, -1, 976, -1, 975, -1, 489, 976,
490, -1, 489, 975, 490, -1, 978, -1, 977, 991,
-1, 977, 990, 1012, 995, -1, 977, 990, 994, 1013,
-1, 979, 977, -1, 979, 977, 991, -1, 979, 977,
990, 1012, 995, -1, 979, 977, 990, 994, 1013, -1,
978, -1, 975, -1, 360, 989, 1140, 984, 1019, 1039,
1004, 1011, 1092, -1, 360, 988, 1141, 984, 1019, 1039,
1004, 1011, 1092, -1, 1018, -1, 396, 1029, -1, 977,
424, 987, 977, -1, 977, 210, 987, 977, -1, 977,
145, 987, 977, -1, 451, 980, -1, 474, 980, -1,
451, 326, 980, -1, 981, -1, 980, 493, 981, -1,
1146, 933, 39, 982, 489, 945, 490, -1, 242, -1,
265, 242, -1, -1, 979, -1, -1, 212, 985, -1,
-1, 402, 986, 1144, -1, 400, 986, 1144, -1, 233,
402, 986, 1144, -1, 233, 400, 986, 1144, -1, 173,
402, 986, 1144, -1, 173, 400, 986, 1144, -1, 428,
986, 1144, -1, 396, 1144, -1, 1144, -1, 396, -1,
-1, 30, -1, 130, -1, -1, 130, -1, 130, 280,
489, 1112, 490, -1, 30, -1, -1, 991, -1, -1,
286, 57, 992, -1, 993, -1, 992, 493, 993, -1,
1074, 432, 1110, 805, -1, 1074, 804, 805, -1, 996,
997, -1, 997, 996, -1, 996, -1, 997, -1, 994,
-1, -1, 230, 998, -1, 230, 998, 493, 999, -1,
158, 1003, 1000, 1002, 281, -1, 158, 1003, 1000, 1002,
451, 405, -1, 158, 1003, 1002, 281, -1, 158, 1003,
1002, 451, 405, -1, 277, 999, -1, 277, 1000, 1002,
-1, 1074, -1, 30, -1, 1074, -1, 1076, -1, 480,
1001, -1, 481, 1001, -1, 1154, -1, 5, -1, 350,
-1, 351, -1, 160, -1, 256, -1, 177, 57, 1005,
-1, -1, 1006, -1, 1005, 493, 1006, -1, 1074, -1,
1007, -1, 1009, -1, 1008, -1, 1010, -1, 489, 490,
-1, 347, 489, 1112, 490, -1, 98, 489, 1112, 490,
-1, 178, 368, 489, 1005, 490, -1, 181, 1074, -1,
-1, 1014, -1, 163, 322, 281, -1, 1012, -1, -1,
1015, -1, 1014, 1015, -1, 1016, 1017, 964, -1, 163,
430, -1, 163, 261, 218, 430, -1, 163, 370, -1,
163, 218, 370, -1, 275, 1143, -1, -1, 438, 489,
1112, 490, -1, 1018, 493, 489, 1112, 490, -1, 168,
1020, -1, -1, 1021, -1, 1020, 493, 1021, -1, 1029,
1024, -1, 1029, 1024, 1032, -1, 1034, 1025, -1, 223,
1034, 1025, -1, 1044, 1024, -1, 223, 1044, 1024, -1,
975, 1024, -1, 223, 975, 1024, -1, 1022, -1, 489,
1022, 490, 1023, -1, 489, 1022, 490, -1, 1021, 96,
217, 1021, -1, 1021, 1026, 217, 1021, 1028, -1, 1021,
217, 1021, 1028, -1, 1021, 253, 1026, 217, 1021, -1,
1021, 253, 217, 1021, -1, 39, 1160, 489, 1145, 490,
-1, 39, 1160, -1, 1160, 489, 1145, 490, -1, 1160,
-1, 1023, -1, -1, 1023, -1, 39, 489, 1042, 490,
-1, 39, 1160, 489, 1042, 490, -1, 1160, 489, 1042,
490, -1, -1, 169, 1027, -1, 227, 1027, -1, 344,
1027, -1, 202, -1, 290, -1, -1, 432, 489, 1145,
490, -1, 280, 1074, -1, 1144, -1, 1144, 482, -1,
281, 1144, -1, 281, 489, 1144, 490, -1, 1029, -1,
1030, 493, 1029, -1, 1029, -1, 1029, 1160, -1, 1029,
39, 1160, -1, 398, 1152, 489, 1112, 490, 1033, -1,
335, 489, 1074, 490, -1, -1, 1079, 1038, -1, 351,
168, 489, 1036, 490, 1038, -1, 1079, 1037, -1, 1035,
-1, 1036, 493, 1035, -1, 39, 489, 1042, 490, -1,
-1, 474, 287, -1, -1, 448, 1074, -1, -1, 448,
1074, -1, 448, 99, 275, 971, -1, -1, 1042, -1,
-1, 1043, -1, 1042, 493, 1043, -1, 1160, 1051, 548,
-1, 468, 489, 1076, 1088, 79, 1045, 490, -1, 468,
489, 463, 489, 1049, 490, 493, 1076, 1088, 79, 1045,
490, -1, 1046, -1, 1045, 493, 1046, -1, 1160, 1051,
-1, 1160, 1051, 1047, -1, 1160, 163, 287, -1, 1048,
-1, 1047, 1048, -1, 3, 1075, -1, 116, 1075, -1,
265, 270, -1, 270, -1, 1050, -1, 1049, 493, 1050,
-1, 1075, 39, 1163, -1, 116, 1075, -1, 1053, 1052,
-1, 369, 1053, 1052, -1, 1053, 38, 487, 1154, 488,
-1, 369, 1053, 38, 487, 1154, 488, -1, 1053, 38,
-1, 369, 1053, 38, -1, 1052, 487, 488, -1, 1052,
487, 1154, 488, -1, -1, 1055, -1, 1057, -1, 1059,
-1, 1063, -1, 1069, -1, 1070, 1072, -1, 1070, 489,
1154, 490, -1, 1057, -1, 1060, -1, 1064, -1, 1069,
-1, 1161, 1056, -1, 1161, 757, 1056, -1, 489, 1112,
490, -1, -1, 208, -1, 209, -1, 375, -1, 52,
-1, 323, -1, 161, 1058, -1, 134, 308, -1, 114,
1056, -1, 113, 1056, -1, 273, 1056, -1, 55, -1,
489, 1154, 490, -1, -1, 1061, -1, 1062, -1, 1061,
-1, 1062, -1, 54, 1068, 489, 1112, 490, -1, 54,
1068, -1, 1065, -1, 1066, -1, 1065, -1, 1066, -1,
1067, 489, 1154, 490, -1, 1067, -1, 68, 1068, -1,
67, 1068, -1, 439, -1, 252, 68, 1068, -1, 252,
67, 1068, -1, 254, 1068, -1, 441, -1, -1, 407,
489, 1154, 490, 1071, -1, 407, 1071, -1, 406, 489,
1154, 490, 1071, -1, 406, 1071, -1, 211, -1, 474,
406, 471, -1, 453, 406, 471, -1, -1, 469, -1,
248, -1, 111, -1, 184, -1, 245, -1, 1073, -1,
469, 408, 248, -1, 111, 408, 184, -1, 111, 408,
245, -1, 111, 408, 1073, -1, 184, 408, 245, -1,
184, 408, 1073, -1, 245, 408, 1073, -1, -1, 358,
-1, 358, 489, 1154, 490, -1, 1076, -1, 1074, 13,
1051, -1, 1074, 76, 756, -1, 1074, 44, 406, 471,
1074, -1, 480, 1074, -1, 481, 1074, -1, 1074, 480,
1074, -1, 1074, 481, 1074, -1, 1074, 482, 1074, -1,
1074, 483, 1074, -1, 1074, 484, 1074, -1, 1074, 485,
1074, -1, 1074, 475, 1074, -1, 1074, 476, 1074, -1,
1074, 477, 1074, -1, 1074, 17, 1074, -1, 1074, 18,
1074, -1, 1074, 19, 1074, -1, 1074, 1109, 1074, -1,
1109, 1074, -1, 1074, 1109, -1, 1074, 478, 1074, -1,
1074, 478, -1, 1074, 36, 1074, -1, 1074, 285, 1074,
-1, 265, 1074, -1, 472, 1074, -1, 1074, 229, 1074,
-1, 1074, 229, 1074, 143, 1074, -1, 1074, 472, 229,
1074, -1, 1074, 472, 229, 1074, 143, 1074, -1, 1074,
187, 1074, -1, 1074, 187, 1074, 143, 1074, -1, 1074,
472, 187, 1074, -1, 1074, 472, 187, 1074, 143, 1074,
-1, 1074, 372, 408, 1074, -1, 1074, 372, 408, 1074,
143, 1074, -1, 1074, 472, 372, 408, 1074, -1, 1074,
472, 372, 408, 1074, 143, 1074, -1, 1074, 214, 270,
-1, 1074, 215, -1, 1074, 214, 265, 270, -1, 1074,
268, -1, 1103, 292, 1103, -1, 1074, 214, 415, -1,
1074, 214, 265, 415, -1, 1074, 214, 156, -1, 1074,
214, 265, 156, -1, 1074, 214, 426, -1, 1074, 214,
265, 426, -1, 1074, 214, 130, 168, 1074, -1, 1074,
214, 265, 130, 168, 1074, -1, 1074, 214, 275, 489,
1115, 490, -1, 1074, 214, 265, 275, 489, 1115, 490,
-1, 1074, 51, 1139, 1075, 36, 1074, -1, 1074, 472,
51, 1139, 1075, 36, 1074, -1, 1074, 51, 393, 1075,
36, 1074, -1, 1074, 472, 51, 393, 1075, 36, 1074,
-1, 1074, 192, 1128, -1, 1074, 472, 192, 1128, -1,
1074, 1111, 1106, 975, -1, 1074, 1111, 1106, 489, 1074,
490, -1, 425, 975, -1, 1074, 214, 132, -1, 1074,
214, 265, 132, -1, 1074, 214, 264, -1, 1074, 214,
1120, 264, -1, 1074, 214, 265, 264, -1, 1074, 214,
265, 1120, 264, -1, 116, -1, 1076, -1, 1075, 13,
1051, -1, 480, 1075, -1, 481, 1075, -1, 1075, 480,
1075, -1, 1075, 481, 1075, -1, 1075, 482, 1075, -1,
1075, 483, 1075, -1, 1075, 484, 1075, -1, 1075, 485,
1075, -1, 1075, 475, 1075, -1, 1075, 476, 1075, -1,
1075, 477, 1075, -1, 1075, 17, 1075, -1, 1075, 18,
1075, -1, 1075, 19, 1075, -1, 1075, 478, 1075, -1,
1075, 478, -1, 1075, 1109, 1075, -1, 1109, 1075, -1,
1075, 1109, -1, 1075, 214, 130, 168, 1075, -1, 1075,
214, 265, 130, 168, 1075, -1, 1075, 214, 275, 489,
1115, 490, -1, 1075, 214, 265, 275, 489, 1115, 490,
-1, 1075, 214, 132, -1, 1075, 214, 265, 132, -1,
1134, -1, 1153, -1, 12, 1138, -1, 478, 1138, -1,
489, 1074, 490, 1138, -1, 1129, -1, 1078, -1, 975,
-1, 975, 1137, -1, 150, 975, -1, 38, 975, -1,
38, 1116, -1, 1104, -1, 1105, -1, 178, 489, 1112,
490, -1, 1152, 489, 490, -1, 1152, 489, 1113, 990,
490, -1, 1152, 489, 440, 1114, 990, 490, -1, 1152,
489, 1113, 493, 440, 1114, 990, 490, -1, 1152, 489,
30, 1113, 990, 490, -1, 1152, 489, 130, 1113, 990,
490, -1, 1152, 489, 482, 490, -1, 1077, 1090, 1091,
1095, -1, 1080, -1, 1077, -1, 1080, -1, 77, 163,
489, 1074, 490, -1, 101, -1, 104, -1, 104, 489,
1154, 490, -1, 105, -1, 105, 489, 1154, 490, -1,
234, -1, 234, 489, 1154, 490, -1, 235, -1, 235,
489, 1154, 490, -1, 102, -1, 106, -1, 366, -1,
431, -1, 100, -1, 103, -1, 64, 489, 1074, 39,
1051, 490, -1, 155, 489, 1118, 490, -1, 263, 489,
1074, 490, -1, 263, 489, 1074, 493, 1120, 490, -1,
293, 489, 1121, 490, -1, 306, 489, 1123, 490, -1,
391, 489, 1124, 490, -1, 412, 489, 1074, 39, 1051,
490, -1, 414, 489, 56, 1127, 490, -1, 414, 489,
224, 1127, 490, -1, 414, 489, 409, 1127, 490, -1,
414, 489, 1127, 490, -1, 271, 489, 1074, 493, 1074,
490, -1, 75, 489, 1112, 490, -1, 176, 489, 1112,
490, -1, 226, 489, 1112, 490, -1, 459, 489, 1112,
490, -1, 460, 489, 250, 1163, 490, -1, 460, 489,
250, 1163, 493, 1083, 490, -1, 460, 489, 250, 1163,
493, 1112, 490, -1, 460, 489, 250, 1163, 493, 1083,
493, 1112, 490, -1, 461, 489, 1076, 1088, 490, -1,
462, 489, 1084, 490, -1, 464, 489, 1086, 1074, 1087,
490, -1, 465, 489, 250, 1163, 490, -1, 465, 489,
250, 1163, 493, 1074, 490, -1, 466, 489, 1074, 493,
1081, 1082, 490, -1, 467, 489, 1086, 1074, 39, 1053,
490, -1, 443, 1074, -1, 443, 261, 437, -1, 493,
380, 470, -1, 493, 380, 261, -1, 493, 380, 261,
437, -1, -1, 458, 489, 1084, 490, -1, 1085, -1,
1084, 493, 1085, -1, 1074, 39, 1163, -1, 1074, -1,
132, -1, 90, -1, 309, 449, -1, 389, 449, -1,
-1, 301, 1076, -1, 301, 1076, 1089, -1, 301, 1089,
1076, -1, 301, 1089, 1076, 1089, -1, 57, 327, -1,
57, 437, -1, 452, 177, 489, 991, 490, -1, -1,
159, 489, 448, 1074, 490, -1, -1, 450, 1093, -1,
-1, 1094, -1, 1093, 493, 1094, -1, 1160, 39, 1096,
-1, 291, 1096, -1, 291, 1160, -1, -1, 489, 1097,
1098, 990, 1099, 490, -1, 1160, -1, -1, 300, 57,
1112, -1, -1, 321, 1100, 1102, -1, 351, 1100, 1102,
-1, 179, 1100, 1102, -1, -1, 1101, -1, 51, 1101,
36, 1101, -1, 421, 307, -1, 421, 162, -1, 99,
350, -1, 1074, 307, -1, 1074, 162, -1, 146, 99,
350, -1, 146, 177, -1, 146, 405, -1, 146, 261,
288, -1, -1, 350, 489, 1112, 490, -1, 350, 489,
490, -1, 489, 1112, 493, 1074, 490, -1, 350, 489,
1112, 490, -1, 350, 489, 490, -1, 489, 1112, 493,
1074, 490, -1, 37, -1, 377, -1, 30, -1, 10,
-1, 1108, -1, 480, -1, 481, -1, 482, -1, 483,
-1, 484, -1, 485, -1, 475, -1, 476, -1, 477,
-1, 17, -1, 18, -1, 19, -1, 478, -1, 10,
-1, 282, 489, 840, 490, -1, 1107, -1, 282, 489,
840, 490, -1, 1107, -1, 282, 489, 840, 490, -1,
229, -1, 472, 229, -1, 187, -1, 472, 187, -1,
1074, -1, 1112, 493, 1074, -1, 1114, -1, 1113, 493,
1114, -1, 1074, -1, 816, 15, 1074, -1, 816, 16,
1074, -1, 1051, -1, 1115, 493, 1051, -1, 487, 1112,
488, -1, 487, 1117, 488, -1, 487, 488, -1, 1116,
-1, 1117, 493, 1116, -1, 1119, 168, 1074, -1, 12,
168, 1074, -1, 478, 168, 1074, -1, -1, 3, -1,
469, -1, 248, -1, 111, -1, 184, -1, 245, -1,
358, -1, 1155, -1, 257, -1, 258, -1, 259, -1,
260, -1, 1074, 1122, 1125, 1126, -1, 1074, 1122, 1125,
-1, 303, 1074, -1, 1075, 192, 1075, -1, -1, 1074,
1125, 1126, -1, 1074, 1126, 1125, -1, 1074, 1125, -1,
1074, 1126, -1, 1112, -1, -1, 168, 1074, -1, 163,
1074, -1, 1074, 168, 1112, -1, 168, 1112, -1, 1112,
-1, 975, -1, 489, 1112, 490, -1, 63, 1133, 1130,
1132, 141, -1, 1131, -1, 1130, 1131, -1, 447, 1074,
404, 1074, -1, 137, 1074, -1, -1, 1074, -1, -1,
1160, -1, 1160, 1137, -1, 491, 1149, -1, 491, 482,
-1, 487, 1074, 488, -1, 487, 1136, 494, 1136, 488,
-1, 1074, -1, -1, 1135, -1, 1137, 1135, -1, -1,
1138, 1135, -1, 43, -1, -1, 1141, -1, -1, 1142,
-1, 1141, 493, 1142, -1, 1074, 39, 1163, -1, 1074,
3, -1, 1074, -1, 482, -1, 1144, -1, 1143, 493,
1144, -1, 1160, -1, 1160, 1137, -1, 1146, -1, 1145,
493, 1146, -1, 1160, -1, 1160, -1, 1160, -1, 1163,
-1, 1160, -1, 1155, -1, 1161, -1, 1160, 1137, -1,
1154, -1, 5, -1, 1155, -1, 8, -1, 9, -1,
1152, 1155, -1, 1152, 489, 1113, 990, 490, 1155, -1,
1152, 12, -1, 1152, 489, 1113, 990, 490, 12, -1,
1054, 1155, -1, 1070, 1155, 1072, -1, 1070, 489, 1154,
490, 1155, -1, 1054, 12, -1, 1070, 12, 1072, -1,
1070, 489, 1154, 490, 12, -1, 1070, 489, 1154, 490,
478, -1, 415, -1, 156, -1, 270, -1, 11, -1,
6, -1, 1154, -1, 480, 1154, -1, 481, 1154, -1,
1158, -1, 1162, -1, 106, -1, 366, -1, 1158, -1,
1159, 493, 1158, -1, 3, -1, 1164, -1, 1165, -1,
3, -1, 1164, -1, 1166, -1, 3, -1, 1164, -1,
1165, -1, 1166, -1, 3, -1, 1164, -1, 1165, -1,
1166, -1, 1167, -1, 22, -1, 23, -1, 24, -1,
25, -1, 26, -1, 27, -1, 28, -1, 29, -1,
31, -1, 32, -1, 33, -1, 41, -1, 42, -1,
44, -1, 45, -1, 46, -1, 48, -1, 49, -1,
50, -1, 57, -1, 58, -1, 59, -1, 60, -1,
61, -1, 62, -1, 65, -1, 66, -1, 69, -1,
71, -1, 72, -1, 73, -1, 74, -1, 79, -1,
80, -1, 81, -1, 82, -1, 83, -1, 85, -1,
86, -1, 87, -1, 89, -1, 90, -1, 91, -1,
92, -1, 93, -1, 94, -1, 97, -1, 98, -1,
99, -1, 107, -1, 108, -1, 109, -1, 110, -1,
111, -1, 112, -1, 115, -1, 117, -1, 119, -1,
120, -1, 121, -1, 122, -1, 123, -1, 124, -1,
126, -1, 127, -1, 128, -1, 129, -1, 132, -1,
133, -1, 134, -1, 135, -1, 136, -1, 138, -1,
139, -1, 140, -1, 142, -1, 143, -1, 144, -1,
146, -1, 147, -1, 148, -1, 149, -1, 151, -1,
152, -1, 153, -1, 154, -1, 157, -1, 159, -1,
160, -1, 162, -1, 164, -1, 166, -1, 170, -1,
171, -1, 172, -1, 173, -1, 175, -1, 179, -1,
180, -1, 182, -1, 183, -1, 184, -1, 185, -1,
186, -1, 188, -1, 189, -1, 190, -1, 191, -1,
193, -1, 194, -1, 195, -1, 196, -1, 197, -1,
198, -1, 199, -1, 201, -1, 204, -1, 205, -1,
206, -1, 207, -1, 213, -1, 216, -1, 218, -1,
219, -1, 220, -1, 221, -1, 222, -1, 225, -1,
228, -1, 231, -1, 232, -1, 233, -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,
255, -1, 256, -1, 257, -1, 258, -1, 259, -1,
260, -1, 261, -1, 264, -1, 266, -1, 267, -1,
269, -1, 272, -1, 274, -1, 275, -1, 276, -1,
278, -1, 279, -1, 282, -1, 283, -1, 284, -1,
287, -1, 288, -1, 291, -1, 294, -1, 295, -1,
296, -1, 297, -1, 298, -1, 299, -1, 300, -1,
301, -1, 302, -1, 304, -1, 305, -1, 307, -1,
310, -1, 311, -1, 309, -1, 313, -1, 314, -1,
315, -1, 316, -1, 317, -1, 318, -1, 319, -1,
320, -1, 321, -1, 322, -1, 324, -1, 325, -1,
326, -1, 327, -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, 342, -1,
343, -1, 345, -1, 346, -1, 347, -1, 348, -1,
349, -1, 351, -1, 352, -1, 353, -1, 354, -1,
355, -1, 356, -1, 357, -1, 358, -1, 359, -1,
361, -1, 362, -1, 363, -1, 364, -1, 365, -1,
367, -1, 368, -1, 370, -1, 371, -1, 373, -1,
374, -1, 376, -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,
392, -1, 394, -1, 395, -1, 397, -1, 399, -1,
400, -1, 401, -1, 402, -1, 403, -1, 405, -1,
410, -1, 411, -1, 413, -1, 416, -1, 417, -1,
418, -1, 419, -1, 420, -1, 421, -1, 422, -1,
423, -1, 426, -1, 427, -1, 428, -1, 429, -1,
430, -1, 433, -1, 434, -1, 435, -1, 436, -1,
437, -1, 441, -1, 443, -1, 444, -1, 445, -1,
446, -1, 449, -1, 452, -1, 453, -1, 454, -1,
455, -1, 456, -1, 457, -1, 469, -1, 470, -1,
471, -1, 51, -1, 52, -1, 54, -1, 55, -1,
67, -1, 68, -1, 75, -1, 113, -1, 114, -1,
150, -1, 155, -1, 161, -1, 176, -1, 178, -1,
203, -1, 208, -1, 209, -1, 211, -1, 226, -1,
252, -1, 254, -1, 262, -1, 263, -1, 271, -1,
273, -1, 289, -1, 293, -1, 306, -1, 308, -1,
323, -1, 350, -1, 369, -1, 375, -1, 391, -1,
406, -1, 407, -1, 412, -1, 414, -1, 438, -1,
439, -1, 458, -1, 459, -1, 460, -1, 461, -1,
462, -1, 463, -1, 464, -1, 465, -1, 466, -1,
467, -1, 468, -1, 47, -1, 53, -1, 77, -1,
84, -1, 96, -1, 103, -1, 167, -1, 169, -1,
187, -1, 202, -1, 214, -1, 215, -1, 217, -1,
227, -1, 229, -1, 253, -1, 268, -1, 290, -1,
292, -1, 344, -1, 372, -1, 398, -1, 442, -1,
30, -1, 34, -1, 35, -1, 36, -1, 37, -1,
38, -1, 39, -1, 40, -1, 43, -1, 56, -1,
63, -1, 64, -1, 70, -1, 76, -1, 78, -1,
88, -1, 95, -1, 100, -1, 101, -1, 102, -1,
104, -1, 105, -1, 106, -1, 116, -1, 118, -1,
125, -1, 130, -1, 131, -1, 137, -1, 141, -1,
145, -1, 156, -1, 158, -1, 163, -1, 165, -1,
168, -1, 174, -1, 177, -1, 181, -1, 192, -1,
200, -1, 210, -1, 212, -1, 223, -1, 224, -1,
230, -1, 234, -1, 235, -1, 265, -1, 270, -1,
277, -1, 280, -1, 281, -1, 285, -1, 286, -1,
303, -1, 312, -1, 328, -1, 341, -1, 360, -1,
366, -1, 377, -1, 393, -1, 396, -1, 404, -1,
408, -1, 409, -1, 415, -1, 424, -1, 425, -1,
431, -1, 432, -1, 440, -1, 447, -1, 448, -1,
450, -1, 451, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
0, 809, 809, 825, 837, 847, 848, 849, 850, 851,
852, 853, 854, 855, 856, 857, 858, 859, 860, 861,
862, 863, 864, 865, 866, 867, 868, 869, 870, 871,
872, 873, 874, 875, 876, 877, 878, 879, 880, 881,
882, 883, 884, 885, 886, 887, 888, 889, 890, 891,
892, 893, 894, 895, 896, 897, 898, 899, 900, 901,
902, 903, 904, 905, 906, 907, 908, 909, 910, 911,
912, 913, 914, 915, 916, 917, 918, 919, 920, 921,
922, 923, 924, 925, 926, 927, 928, 929, 930, 931,
932, 933, 934, 935, 936, 937, 938, 939, 940, 941,
942, 943, 944, 945, 946, 947, 948, 949, 950, 951,
952, 953, 954, 955, 956, 957, 958, 959, 960, 961,
962, 963, 964, 965, 966, 967, 968, 969, 970, 971,
973, 982, 997, 1008, 1009, 1010, 1019, 1020, 1024, 1025,
1029, 1034, 1039, 1044, 1048, 1058, 1068, 1078, 1086, 1090,
1094, 1099, 1103, 1151, 1153, 1157, 1161, 1165, 1169, 1183,
1201, 1209, 1220, 1221, 1225, 1233, 1241, 1249, 1270, 1277,
1284, 1291, 1298, 1305, 1322, 1340, 1351, 1352, 1363, 1373,
1383, 1398, 1416, 1417, 1421, 1428, 1436, 1437, 1438, 1439,
1440, 1441, 1455, 1461, 1467, 1476, 1484, 1492, 1496, 1504,
1512, 1519, 1529, 1530, 1538, 1549, 1557, 1565, 1573, 1581,
1592, 1600, 1608, 1616, 1624, 1632, 1640, 1647, 1656, 1666,
1667, 1671, 1672, 1675, 1677, 1679, 1681, 1685, 1686, 1687,
1688, 1692, 1693, 1694, 1700, 1712, 1716, 1720, 1724, 1728,
1743, 1750, 1751, 1752, 1756, 1757, 1758, 1762, 1763, 1767,
1771, 1772, 1779, 1786, 1796, 1803, 1813, 1814, 1819, 1820,
1825, 1831, 1837, 1843, 1849, 1859, 1869, 1870, 1874, 1875,
1883, 1898, 1904, 1910, 1916, 1922, 1941, 1950, 1959, 1968,
1977, 1988, 1999, 2008, 2017, 2026, 2037, 2048, 2057, 2066,
2075, 2084, 2093, 2102, 2113, 2127, 2128, 2133, 2146, 2162,
2178, 2187, 2196, 2205, 2214, 2223, 2231, 2239, 2247, 2256,
2265, 2281, 2290, 2299, 2308, 2325, 2334, 2343, 2352, 2362,
2375, 2390, 2399, 2407, 2422, 2430, 2440, 2450, 2457, 2465,
2473, 2480, 2487, 2495, 2503, 2511, 2518, 2525, 2533, 2540,
2547, 2555, 2563, 2571, 2579, 2587, 2595, 2605, 2612, 2620,
2628, 2636, 2644, 2652, 2659, 2666, 2673, 2679, 2689, 2690,
2694, 2695, 2696, 2700, 2708, 2712, 2713, 2717, 2724, 2731,
2738, 2748, 2751, 2752, 2756, 2757, 2762, 2766, 2770, 2775,
2782, 2784, 2789, 2793, 2797, 2808, 2816, 2869, 2882, 2896,
2908, 2915, 2919, 2933, 2946, 2947, 2952, 2961, 2971, 2981,
3007, 3013, 3046, 3081, 3103, 3104, 3108, 3109, 3118, 3119,
3120, 3123, 3124, 3129, 3130, 3134, 3138, 3142, 3146, 3150,
3154, 3158, 3162, 3166, 3170, 3174, 3178, 3182, 3191, 3195,
3199, 3203, 3207, 3208, 3213, 3217, 3224, 3231, 3232, 3233,
3234, 3235, 3239, 3243, 3251, 3262, 3281, 3300, 3320, 3340,
3360, 3393, 3394, 3395, 3396, 3397, 3404, 3411, 3412, 3416,
3417, 3421, 3422, 3426, 3430, 3437, 3441, 3448, 3449, 3450,
3454, 3455, 3458, 3479, 3497, 3518, 3519, 3523, 3530, 3531,
3532, 3563, 3570, 3577, 3588, 3599, 3611, 3620, 3629, 3652,
3670, 3671, 3690, 3697, 3704, 3711, 3722, 3733, 3734, 3735,
3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746, 3747, 3756,
3763, 3767, 3780, 3796, 3811, 3827, 3842, 3861, 3882, 3883,
3887, 3888, 3892, 3893, 3896, 3902, 3903, 3906, 3910, 3918,
3923, 3929, 3930, 3934, 3939, 3946, 3947, 3957, 3959, 3961,
3963, 3966, 3969, 3972, 3976, 3977, 3978, 3979, 3980, 3983,
3984, 3988, 3989, 3992, 4004, 4005, 4008, 4019, 4030, 4044,
4045, 4050, 4051, 4052, 4055, 4056, 4057, 4058, 4061, 4062,
4065, 4066, 4069, 4087, 4099, 4123, 4131, 4152, 4165, 4181,
4197, 4198, 4199, 4211, 4224, 4240, 4254, 4255, 4267, 4287,
4297, 4310, 4318, 4329, 4330, 4333, 4334, 4337, 4338, 4341,
4345, 4349, 4353, 4357, 4361, 4365, 4369, 4373, 4377, 4381,
4386, 4390, 4394, 4400, 4401, 4405, 4406, 4407, 4412, 4415,
4416, 4428, 4443, 4458, 4459, 4467, 4468, 4472, 4473, 4477,
4478, 4482, 4483, 4487, 4497, 4510, 4511, 4521, 4532, 4533,
4546, 4553, 4570, 4578, 4589, 4592, 4596, 4600, 4604, 4611,
4623, 4633, 4636, 4640, 4653, 4662, 4671, 4680, 4689, 4698,
4707, 4716, 4725, 4734, 4743, 4752, 4761, 4770, 4779, 4788,
4797, 4806, 4815, 4824, 4833, 4842, 4851, 4860, 4869, 4878,
4887, 4896, 4914, 4925, 4926, 4927, 4928, 4932, 4933, 4937,
4938, 4948, 4956, 4968, 4969, 4973, 4977, 4985, 4989, 4993,
5000, 5004, 5009, 5014, 5021, 5028, 5033, 5043, 5055, 5070,
5071, 5076, 5077, 5081, 5082, 5092, 5101, 5109, 5126, 5146,
5166, 5187, 5218, 5227, 5248, 5263, 5264, 5268, 5276, 5291,
5300, 5312, 5313, 5325, 5333, 5350, 5374, 5391, 5405, 5406,
5410, 5411, 5415, 5416, 5420, 5421, 5425, 5439, 5443, 5444,
5448, 5449, 5450, 5451, 5452, 5462, 5473, 5474, 5485, 5506,
5532, 5533, 5534, 5538, 5540, 5562, 5564, 5566, 5568, 5570,
5575, 5576, 5580, 5581, 5585, 5596, 5597, 5601, 5610, 5614,
5618, 5623, 5633, 5634, 5638, 5639, 5643, 5644, 5648, 5649,
5653, 5654, 5655, 5659, 5663, 5664, 5665, 5669, 5670, 5675,
5676, 5703, 5704, 5705, 5706, 5707, 5708, 5721, 5731, 5745,
5747, 5752, 5757, 5759, 5764, 5774, 5775, 5776, 5777, 5788,
5807, 5818, 5830, 5840, 5850, 5861, 5870, 5877, 5884, 5893,
5902, 5911, 5920, 5929, 5939, 5948, 5960, 5963, 5964, 5967,
5971, 5978, 5979, 5980, 5981, 5982, 5983, 5986, 5989, 5990,
5998, 6005, 6006, 6009, 6011, 6022, 6033, 6044, 6055, 6068,
6069, 6085, 6100, 6101, 6105, 6117, 6127, 6135, 6144, 6153,
6154, 6157, 6158, 6161, 6162, 6163, 6166, 6180, 6185, 6195,
6204, 6216, 6217, 6221, 6229, 6241, 6251, 6264, 6274, 6296,
6306, 6324, 6334, 6344, 6354, 6364, 6374, 6384, 6394, 6404,
6414, 6424, 6434, 6448, 6449, 6450, 6451, 6452, 6453, 6454,
6455, 6456, 6457, 6458, 6459, 6460, 6465, 6466, 6467, 6468,
6469, 6470, 6471, 6476, 6477, 6478, 6482, 6483, 6486, 6487,
6490, 6492, 6497, 6498, 6509, 6520, 6521, 6522, 6556, 6564,
6572, 6580, 6588, 6596, 6604, 6612, 6620, 6633, 6641, 6649,
6657, 6665, 6673, 6681, 6689, 6697, 6705, 6717, 6718, 6719,
6720, 6721, 6722, 6723, 6724, 6725, 6726, 6727, 6728, 6729,
6730, 6735, 6736, 6737, 6738, 6739, 6740, 6741, 6742, 6743,
6744, 6745, 6746, 6750, 6751, 6765, 6775, 6785, 6795, 6805,
6815, 6825, 6835, 6845, 6857, 6858, 6863, 6864, 6865, 6866,
6867, 6868, 6873, 6874, 6875, 6876, 6877, 6878, 6879, 6880,
6883, 6884, 6894, 6900, 6908, 6916, 6924, 6932, 6940, 6948,
6956, 6964, 6972, 6980, 6988, 6996, 7004, 7012, 7020, 7028,
7038, 7039, 7042, 7043, 7053, 7069, 7083, 7109, 7111, 7113,
7115, 7122, 7131, 7132, 7135, 7142, 7149, 7156, 7170, 7178,
7186, 7194, 7202, 7210, 7218, 7226, 7234, 7242, 7250, 7258,
7266, 7274, 7282, 7290, 7298, 7306, 7314, 7322, 7334, 7335,
7339, 7340, 7345, 7346, 7356, 7369, 7379, 7391, 7392, 7395,
7396, 7406, 7416, 7417, 7421, 7425, 7429, 7440, 7453, 7467,
7484, 7485, 7486, 7487, 7488, 7489, 7501, 7531, 7564, 7565,
7569, 7570, 7574, 7575, 7579, 7580, 7583, 7584, 7589, 7601,
7620, 7625, 7630, 7637, 7638, 7641, 7642, 7645, 7646, 7649,
7650, 7653, 7654, 7655, 7658, 7659, 7660, 7676, 7688, 7701,
7713, 7728, 7729, 7732, 7733, 7737, 7738, 7742, 7743, 7748,
7760, 7767, 7774, 7789, 7790, 7794, 7795, 7810, 7819, 7828,
7837, 7846, 7858, 7859, 7860, 7861, 7862, 7868, 7872, 7887,
7888, 7894, 7904, 7908, 7913, 7921, 7962, 7966, 7970, 7974,
7982, 7983, 7987, 7997, 7998, 8004, 8005, 8012, 8016, 8020,
8024, 8028, 8032, 8036, 8040, 8044, 8048, 8052, 8056, 8060,
8064, 8068, 8072, 8077, 8084, 8088, 8092, 8096, 8100, 8106,
8107, 8114, 8115, 8119, 8120, 8123, 8135, 8139, 8154, 8162,
8170, 8182, 8183, 8188, 8189, 8206, 8216, 8226, 8236, 8246,
8256, 8269, 8279, 8292, 8302, 8315, 8323, 8325, 8327, 8332,
8334, 8339, 8340, 8345, 8363, 8372, 8373, 8377, 8381, 8393,
8404, 8415, 8428, 8429, 8430, 8434, 8446, 8447, 8457, 8469,
8473, 8477, 8481, 8488, 8508, 8518, 8528, 8538, 8550, 8551,
8554, 8555, 8556, 8559, 8560, 8563, 8573, 8582, 8599, 8608,
8617, 8626, 8635, 8644, 8653, 8662, 8671, 8680, 8689, 8698,
8707, 8717, 8727, 8736, 8745, 8754, 8763, 8772, 8781, 8791,
8801, 8811, 8821, 8831, 8841, 8851, 8861, 8871, 8881, 8891,
8901, 8912, 8923, 8934, 8945, 8956, 8967, 8977, 8987, 8998,
9009, 9019, 9029, 9037, 9046, 9055, 9064, 9073, 9082, 9091,
9100, 9109, 9118, 9132, 9133, 9136, 9137, 9147, 9156, 9165,
9174, 9184, 9193, 9204, 9205, 9215, 9224, 9233, 9242, 9251,
9260, 9269, 9278, 9287, 9296, 9305, 9314, 9323, 9332, 9341,
9350, 9359, 9368, 9377, 9386, 9395, 9404, 9413, 9422, 9431,
9440, 9449, 9467, 9476, 9477, 9480, 9482, 9488, 9489, 9490,
9491, 9492, 9504, 9519, 9527, 9535, 9543, 9551, 9559, 9567,
9575, 9583, 9591, 9599, 9607, 9615, 9623, 9631, 9639, 9647,
9655, 9663, 9671, 9679, 9687, 9695, 9703, 9721, 9740, 9741,
9745, 9749, 9769, 9776, 9784, 9792, 9809, 9822, 9826, 9833,
9842, 9851, 9860, 9869, 9879, 9889, 9907, 9915, 9931, 9948,
9949, 9950, 9955, 9961, 9970, 9971, 9972, 9973, 9974, 9978,
9979, 9982, 9983, 9984, 9985, 9989, 9990, 9991, 10003, 10013,
10014, 10017, 10026, 10032, 10051, 10059, 10066, 10073, 10081, 10089,
10097, 10104, 10111, 10118, 10125, 10132, 10139, 10146, 10155, 10156,
10157, 10161, 10164, 10167, 10170, 10173, 10180, 10182, 10184, 10189,
10191, 10195, 10196, 10197, 10209, 10222, 10235, 10253, 10274, 10275,
10276, 10277, 10287, 10303, 10313, 10314, 10318, 10319, 10323, 10327,
10331, 10349, 10350, 10351, 10352, 10353, 10354, 10355, 10362, 10363,
10374, 10381, 10388, 10399, 10416, 10424, 10432, 10440, 10451, 10455,
10466, 10478, 10495, 10501, 10517, 10530, 10539, 10547, 10555, 10564,
10575, 10586, 10596, 10597, 10608, 10618, 10629, 10640, 10651, 10662,
10671, 10683, 10684, 10698, 10721, 10731, 10742, 10755, 10756, 10768,
10788, 10798, 10809, 10820, 10824, 10831, 10832, 10836, 10843, 10844,
10848, 10849, 10850, 10854, 10855, 10859, 10860, 10863, 10864, 10867,
10868, 10872, 10873, 10877, 10884, 10886, 10891, 10892, 10905, 10912,
10922, 10929, 10939, 10940, 10941, 10942, 10943, 10944, 10945, 10946,
10947, 10951, 10955, 10962, 10969, 10970, 10974, 10975, 10976, 10986,
10996, 10997, 11001, 11002, 11003, 11004, 11014, 11021, 11038, 11057,
11058, 11068, 11074, 11080, 11086, 11102, 11120, 11124, 11132, 11138,
11145, 11151, 11158, 11167, 11168, 11172, 11174, 11179, 11190, 11200,
11210, 11216, 11225, 11234, 11240, 11241, 11252, 11266, 11267, 11278,
11289, 11290, 11293, 11294, 11295, 11296, 11297, 11298, 11299, 11300,
11303, 11304, 11308, 11309, 11310, 11321, 11339, 11340, 11344, 11349,
11373, 11384, 11385, 11395, 11406, 11409, 11410, 11411, 11412, 11413,
11416, 11417, 11418, 11466, 11467, 11471, 11472, 11487, 11488, 11495,
11503, 11511, 11519, 11527, 11535, 11546, 11547, 11574, 11588, 11603,
11604, 11623, 11627, 11631, 11648, 11655, 11662, 11672, 11673, 11676,
11689, 11690, 11691, 11695, 11696, 11700, 11712, 11720, 11725, 11730,
11735, 11740, 11748, 11756, 11761, 11766, 11773, 11774, 11778, 11779,
11780, 11787, 11788, 11792, 11793, 11797, 11798, 11802, 11806, 11807,
11810, 11819, 11832, 11837, 11842, 11846, 11857, 11858, 11862, 11870,
11886, 11894, 11902, 11910, 11921, 11924, 11929, 11930, 11938, 11958,
11959, 11961, 11966, 11967, 11971, 11972, 11975, 11976, 12001, 12002,
12006, 12007, 12011, 12012, 12013, 12014, 12015, 12019, 12032, 12039,
12046, 12053, 12054, 12058, 12059, 12063, 12064, 12068, 12069, 12073,
12084, 12085, 12086, 12087, 12091, 12092, 12102, 12108, 12126, 12127,
12131, 12132, 12138, 12143, 12151, 12158, 12166, 12172, 12179, 12214,
12239, 12243, 12269, 12273, 12285, 12298, 12312, 12323, 12338, 12344,
12349, 12355, 12362, 12363, 12371, 12375, 12379, 12385, 12392, 12397,
12398, 12399, 12400, 12404, 12405, 12417, 12418, 12423, 12430, 12437,
12444, 12455, 12456, 12469, 12473, 12480, 12493, 12506, 12507, 12522,
12532, 12544, 12549, 12550, 12553, 12554, 12557, 12558, 12563, 12564,
12569, 12570, 12578, 12583, 12584, 12588, 12592, 12598, 12622, 12632,
12645, 12646, 12650, 12664, 12721, 12735, 12737, 12742, 12744, 12746,
12748, 12753, 12755, 12760, 12768, 12788, 12793, 12800, 12805, 12811,
12816, 12825, 12827, 12830, 12834, 12835, 12836, 12837, 12838, 12839,
12844, 12864, 12865, 12866, 12867, 12878, 12884, 12892, 12893, 12899,
12904, 12909, 12914, 12919, 12924, 12929, 12934, 12940, 12946, 12952,
12959, 12981, 12990, 12994, 13002, 13006, 13014, 13026, 13047, 13051,
13057, 13061, 13074, 13082, 13092, 13094, 13096, 13098, 13100, 13102,
13107, 13108, 13115, 13124, 13132, 13141, 13152, 13160, 13161, 13162,
13166, 13168, 13170, 13172, 13174, 13176, 13178, 13183, 13188, 13194,
13202, 13207, 13214, 13221, 13225, 13229, 13265, 13266, 13268, 13276,
13291, 13293, 13295, 13297, 13299, 13301, 13303, 13305, 13307, 13309,
13311, 13313, 13315, 13317, 13320, 13322, 13324, 13327, 13329, 13332,
13334, 13336, 13338, 13341, 13346, 13354, 13359, 13367, 13372, 13380,
13385, 13394, 13402, 13410, 13418, 13436, 13444, 13452, 13460, 13468,
13484, 13492, 13500, 13508, 13516, 13524, 13532, 13536, 13540, 13544,
13548, 13556, 13564, 13572, 13580, 13600, 13622, 13633, 13640, 13656,
13661, 13667, 13671, 13675, 13679, 13683, 13708, 13710, 13712, 13714,
13716, 13718, 13720, 13722, 13724, 13726, 13728, 13730, 13732, 13734,
13736, 13738, 13740, 13742, 13744, 13746, 13748, 13750, 13754, 13758,
13762, 13766, 13771, 13787, 13788, 13789, 13804, 13819, 13853, 13855,
13857, 13868, 13892, 13903, 13914, 13921, 13931, 13941, 13950, 13954,
13960, 13967, 13974, 13984, 13991, 14019, 14054, 14065, 14066, 14073,
14079, 14083, 14087, 14091, 14095, 14099, 14103, 14107, 14111, 14115,
14119, 14123, 14127, 14131, 14135, 14139, 14141, 14145, 14149, 14153,
14162, 14167, 14174, 14189, 14196, 14200, 14204, 14208, 14212, 14219,
14227, 14235, 14239, 14243, 14247, 14251, 14255, 14261, 14265, 14274,
14278, 14282, 14287, 14301, 14303, 14307, 14309, 14311, 14314, 14317,
14320, 14321, 14324, 14332, 14342, 14343, 14346, 14347, 14348, 14353,
14357, 14361, 14365, 14372, 14373, 14381, 14382, 14386, 14387, 14395,
14396, 14400, 14401, 14406, 14414, 14416, 14430, 14433, 14460, 14461,
14464, 14465, 14473, 14480, 14487, 14495, 14504, 14521, 14566, 14574,
14582, 14590, 14598, 14609, 14610, 14611, 14612, 14613, 14627, 14628,
14629, 14632, 14633, 14636, 14639, 14640, 14641, 14644, 14645, 14648,
14649, 14650, 14651, 14652, 14653, 14654, 14655, 14656, 14657, 14658,
14659, 14660, 14663, 14665, 14670, 14672, 14677, 14679, 14681, 14683,
14685, 14687, 14699, 14703, 14710, 14714, 14720, 14724, 14733, 14744,
14745, 14748, 14752, 14756, 14762, 14763, 14768, 14772, 14776, 14780,
14787, 14788, 14789, 14790, 14791, 14792, 14793, 14794, 14798, 14799,
14800, 14801, 14811, 14815, 14822, 14829, 14830, 14846, 14850, 14855,
14859, 14874, 14879, 14883, 14886, 14889, 14890, 14891, 14894, 14901,
14911, 14925, 14926, 14930, 14941, 14942, 14945, 14946, 14949, 14953,
14960, 14964, 14968, 14976, 14987, 14988, 14992, 14993, 14997, 14998,
15001, 15002, 15012, 15013, 15017, 15018, 15021, 15037, 15045, 15053,
15075, 15076, 15087, 15091, 15118, 15120, 15125, 15128, 15131, 15133,
15135, 15137, 15147, 15149, 15160, 15164, 15168, 15172, 15176, 15185,
15192, 15224, 15231, 15263, 15267, 15273, 15280, 15284, 15290, 15298,
15305, 15309, 15313, 15319, 15320, 15322, 15323, 15324, 15328, 15361,
15388, 15392, 15398, 15400, 15417, 15418, 15419, 15424, 15425, 15426,
15431, 15432, 15433, 15434, 15440, 15441, 15442, 15443, 15444, 15464,
15465, 15466, 15467, 15468, 15469, 15470, 15471, 15472, 15473, 15474,
15475, 15476, 15477, 15478, 15479, 15480, 15481, 15482, 15483, 15484,
15485, 15486, 15487, 15488, 15489, 15490, 15491, 15492, 15493, 15494,
15495, 15496, 15497, 15498, 15499, 15500, 15501, 15502, 15503, 15504,
15505, 15506, 15507, 15508, 15509, 15510, 15511, 15512, 15513, 15514,
15515, 15516, 15517, 15518, 15519, 15520, 15521, 15522, 15523, 15524,
15525, 15526, 15527, 15528, 15529, 15530, 15531, 15532, 15533, 15534,
15535, 15536, 15537, 15538, 15539, 15540, 15541, 15542, 15543, 15544,
15545, 15546, 15547, 15548, 15549, 15550, 15551, 15552, 15553, 15554,
15555, 15556, 15557, 15558, 15559, 15560, 15561, 15562, 15563, 15564,
15565, 15566, 15567, 15568, 15569, 15570, 15571, 15572, 15573, 15574,
15575, 15576, 15577, 15578, 15579, 15580, 15581, 15582, 15583, 15584,
15585, 15586, 15587, 15588, 15589, 15590, 15591, 15592, 15593, 15594,
15595, 15596, 15597, 15598, 15599, 15600, 15601, 15602, 15603, 15604,
15605, 15606, 15607, 15608, 15609, 15610, 15611, 15612, 15613, 15614,
15615, 15616, 15617, 15618, 15619, 15620, 15621, 15622, 15623, 15624,
15625, 15626, 15627, 15628, 15629, 15630, 15631, 15632, 15633, 15634,
15635, 15636, 15637, 15638, 15639, 15640, 15641, 15642, 15643, 15644,
15645, 15646, 15647, 15648, 15649, 15650, 15651, 15652, 15653, 15654,
15655, 15656, 15657, 15658, 15659, 15660, 15661, 15662, 15663, 15664,
15665, 15666, 15667, 15668, 15669, 15670, 15671, 15672, 15673, 15674,
15675, 15676, 15677, 15678, 15679, 15680, 15681, 15682, 15683, 15684,
15685, 15686, 15687, 15688, 15689, 15690, 15691, 15692, 15693, 15694,
15695, 15696, 15697, 15698, 15699, 15700, 15701, 15702, 15703, 15704,
15705, 15706, 15707, 15708, 15709, 15710, 15711, 15712, 15713, 15714,
15715, 15716, 15717, 15718, 15719, 15720, 15721, 15722, 15723, 15724,
15725, 15726, 15727, 15728, 15729, 15730, 15731, 15732, 15733, 15734,
15735, 15736, 15737, 15738, 15739, 15740, 15741, 15742, 15743, 15744,
15745, 15746, 15747, 15748, 15749, 15750, 15751, 15752, 15753, 15754,
15755, 15756, 15757, 15758, 15759, 15760, 15761, 15762, 15776, 15777,
15778, 15779, 15780, 15781, 15782, 15783, 15784, 15785, 15786, 15787,
15788, 15789, 15790, 15791, 15792, 15793, 15794, 15795, 15796, 15797,
15798, 15799, 15800, 15801, 15802, 15803, 15804, 15805, 15806, 15807,
15808, 15809, 15810, 15811, 15812, 15813, 15814, 15815, 15816, 15817,
15818, 15819, 15820, 15821, 15822, 15823, 15824, 15825, 15826, 15840,
15841, 15842, 15843, 15844, 15845, 15846, 15847, 15848, 15849, 15850,
15851, 15852, 15853, 15854, 15855, 15856, 15857, 15858, 15859, 15860,
15861, 15862, 15872, 15873, 15874, 15875, 15876, 15877, 15878, 15879,
15880, 15881, 15882, 15883, 15884, 15885, 15886, 15887, 15888, 15889,
15890, 15891, 15892, 15893, 15894, 15895, 15896, 15897, 15898, 15899,
15900, 15901, 15902, 15903, 15904, 15905, 15906, 15907, 15908, 15909,
15910, 15911, 15912, 15913, 15914, 15915, 15916, 15917, 15918, 15919,
15920, 15921, 15922, 15923, 15924, 15925, 15926, 15927, 15928, 15929,
15930, 15931, 15932, 15933, 15934, 15935, 15936, 15937, 15938, 15939,
15940, 15941, 15942, 15943, 15944, 15945, 15946, 15947, 15948
};
#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",
"ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER", "AGGREGATE",
"ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE", "AND", "ANY",
"ARRAY", "AS", "ASC", "ASSERTION", "ASSIGNMENT", "ASYMMETRIC", "AT",
"ATTACH", "ATTRIBUTE", "AUTHORIZATION", "BACKWARD", "BEFORE", "BEGIN_P",
"BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P", "BOTH", "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",
"CONCURRENTLY", "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT",
"CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST",
"CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG",
"CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME",
"CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P",
"DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE",
"DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P",
"DELIMITER", "DELIMITERS", "DEPENDS", "DESC", "DETACH", "DICTIONARY",
"DISABLE_P", "DISCARD", "DISTINCT", "DO", "DOCUMENT_P", "DOMAIN_P",
"DOUBLE_P", "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING", "ENCRYPTED",
"END_P", "ENUM_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING",
"EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION",
"EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FIRST_P",
"FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "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", "INDEX", "INDEXES", "INHERIT", "INHERITS",
"INITIALLY", "INLINE_P", "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE",
"INSERT", "INSTEAD", "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO",
"INVOKER", "IS", "ISNULL", "ISOLATION", "JOIN", "KEY", "LABEL",
"LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P", "LEADING", "LEAKPROOF",
"LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL",
"LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOCKED", "LOGGED",
"MAPPING", "MATCH", "MATERIALIZED", "MAXVALUE", "METHOD", "MINUTE_P",
"MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL",
"NATURAL", "NCHAR", "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", "ON", "ONLY", "OPERATOR", "OPTION",
"OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P",
"OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER",
"PARALLEL", "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD",
"PLACING", "PLANS", "POLICY", "POSITION", "PRECEDING", "PRECISION",
"PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES",
"PROCEDURAL", "PROCEDURE", "PROCEDURES", "PROGRAM", "PUBLICATION",
"QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE",
"REF", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX", "RELATIVE_P",
"RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET",
"RESTART", "RESTRICT", "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE",
"ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES", "ROW", "ROWS", "RULE",
"SAVEPOINT", "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", "SQL_P",
"STABLE", "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN",
"STDOUT", "STORAGE", "STORED", "STRICT_P", "STRIP_P", "SUBSCRIPTION",
"SUBSTRING", "SUPPORT", "SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE",
"TABLES", "TABLESAMPLE", "TABLESPACE", "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",
"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",
"NOT_LA", "NULLS_LA", "WITH_LA", "'<'", "'>'", "'='", "'?'", "POSTFIXOP",
"'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('",
"')'", "'.'", "';'", "','", "':'", "$accept", "stmtblock", "stmtmulti",
"stmt", "CallStmt", "CreateRoleStmt", "opt_with", "OptRoleList",
"AlterOptRoleList", "AlterOptRoleElem", "CreateOptRoleElem",
"CreateUserStmt", "AlterRoleStmt", "opt_in_database", "AlterRoleSetStmt",
"DropRoleStmt", "CreateGroupStmt", "AlterGroupStmt", "add_drop",
"CreateSchemaStmt", "OptSchemaName", "OptSchemaEltList", "schema_stmt",
"VariableSetStmt", "set_rest", "generic_set", "set_rest_more",
"var_name", "var_list", "var_value", "iso_level",
"opt_boolean_or_string", "zone_value", "opt_encoding",
"NonReservedWord_or_Sconst", "VariableResetStmt", "reset_rest",
"generic_reset", "SetResetClause", "FunctionSetResetClause",
"VariableShowStmt", "ConstraintsSetStmt", "constraints_set_list",
"constraints_set_mode", "CheckPointStmt", "DiscardStmt",
"AlterTableStmt", "alter_table_cmds", "partition_cmd",
"index_partition_cmd", "alter_table_cmd", "alter_column_default",
"opt_drop_behavior", "opt_collate_clause", "alter_using",
"replica_identity", "reloptions", "opt_reloptions", "reloption_list",
"reloption_elem", "alter_identity_column_option_list",
"alter_identity_column_option", "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", "ColQualList", "ColConstraint",
"ColConstraintElem", "generated_when", "ConstraintAttr",
"TableLikeClause", "TableLikeOptionList", "TableLikeOption",
"TableConstraint", "ConstraintElem", "opt_no_inherit", "opt_column_list",
"columnList", "columnElem", "opt_c_include", "key_match",
"ExclusionConstraintList", "ExclusionConstraintElem",
"ExclusionWhereClause", "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", "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", "DropPLangStmt", "opt_procedural",
"CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
"CreateExtensionStmt", "create_extension_opt_list",
"create_extension_opt_item", "AlterExtensionStmt",
"alter_extension_opt_list", "alter_extension_opt_item",
"AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
"fdw_options", "opt_fdw_options", "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", "AlterForeignTableStmt",
"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",
"drop_type_any_name", "drop_type_name", "drop_type_name_on_any_name",
"any_name_list", "any_name", "attrs", "type_name_list", "TruncateStmt",
"opt_restart_seqs", "CommentStmt", "comment_type_any_name",
"comment_type_name", "comment_text", "SecLabelStmt", "opt_provider",
"security_label_type_any_name", "security_label_type_name",
"security_label", "FetchStmt", "fetch_args", "from_in", "opt_from_in",
"GrantStmt", "RevokeStmt", "privileges", "privilege_list", "privilege",
"privilege_target", "grantee_list", "grantee", "opt_grant_grant_option",
"GrantRoleStmt", "RevokeRoleStmt", "opt_grant_admin_option",
"opt_granted_by", "AlterDefaultPrivilegesStmt", "DefACLOptionList",
"DefACLOption", "DefACLAction", "defacl_privilege_target", "IndexStmt",
"opt_unique", "opt_concurrently", "opt_index_name",
"access_method_clause", "index_params", "index_elem_options",
"index_elem", "opt_include", "index_including_params", "opt_collate",
"opt_class", "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",
"createfunc_opt_list", "common_func_opt_item", "createfunc_opt_item",
"func_as", "transform_type_list", "opt_definition", "table_func_column",
"table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
"opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
"oper_argtypes", "any_operator", "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_type", "reindex_target_multitable",
"reindex_option_list", "reindex_option_elem", "AlterTblSpcStmt",
"RenameStmt", "opt_column", "opt_set_data", "AlterObjectDependsStmt",
"opt_no", "AlterObjectSchemaStmt", "AlterOperatorStmt",
"operator_def_list", "operator_def_elem", "operator_def_arg",
"AlterTypeStmt", "AlterOwnerStmt", "CreatePublicationStmt",
"opt_publication_for_tables", "publication_for_tables",
"AlterPublicationStmt", "CreateSubscriptionStmt",
"publication_name_list", "publication_name_item",
"AlterSubscriptionStmt", "DropSubscriptionStmt", "RuleStmt",
"RuleActionList", "RuleActionMulti", "RuleActionStmt",
"RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
"notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
"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", "vac_analyze_option_list",
"analyze_keyword", "vac_analyze_option_elem", "vac_analyze_option_name",
"vac_analyze_option_arg", "opt_analyze", "opt_verbose", "opt_full",
"opt_freeze", "opt_name_list", "vacuum_relation", "vacuum_relation_list",
"opt_vacuum_relation_list", "ExplainStmt", "ExplainableStmt",
"explain_option_list", "explain_option_elem", "explain_option_name",
"explain_option_arg", "PrepareStmt", "prep_type_clause",
"PreparableStmt", "ExecuteStmt", "execute_param_clause",
"DeallocateStmt", "InsertStmt", "insert_target", "insert_rest",
"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", "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_with_clause",
"into_clause", "OptTempTableName", "opt_table", "all_or_distinct",
"distinct_clause", "opt_all_clause", "opt_sort_clause", "sort_clause",
"sortby_list", "sortby", "select_limit", "opt_select_limit",
"limit_clause", "offset_clause", "select_limit_value",
"select_offset_value", "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", "func_alias_clause", "join_type", "join_outer",
"join_qual", "relation_expr", "relation_expr_list",
"relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
"func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
"opt_ordinality", "where_clause", "where_or_current_clause",
"OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
"xmltable", "xmltable_column_list", "xmltable_column_el",
"xmltable_column_option_list", "xmltable_column_option_el",
"xml_namespace_list", "xml_namespace_el", "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",
"a_expr", "b_expr", "c_expr", "func_application", "func_expr",
"func_expr_windowless", "func_expr_common_subexpr", "xml_root_version",
"opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
"xml_attribute_el", "document_or_content", "xml_whitespace_option",
"xmlexists_argument", "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", "type_list", "array_expr", "array_expr_list",
"extract_list", "extract_arg", "unicode_normal_form", "overlay_list",
"overlay_placing", "position_list", "substr_list", "substr_from",
"substr_for", "trim_list", "in_expr", "case_expr", "when_clause_list",
"when_clause", "case_default", "case_arg", "columnref", "indirection_el",
"opt_slice_bound", "indirection", "opt_indirection", "opt_asymmetric",
"opt_target_list", "target_list", "target_el", "qualified_name_list",
"qualified_name", "name_list", "name", "database_name", "access_method",
"attr_name", "index_name", "file_name", "func_name", "AexprConst",
"Iconst", "Sconst", "SignedIconst", "RoleId", "RoleSpec", "role_list",
"ColId", "type_function_name", "NonReservedWord", "ColLabel",
"unreserved_keyword", "col_name_keyword", "type_func_name_keyword",
"reserved_keyword", 0
};
#endif
# ifdef YYPRINT
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
token YYLEX-NUM. */
static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
625, 626, 627, 628, 629, 630, 631, 632, 633, 634,
635, 636, 637, 638, 639, 640, 641, 642, 643, 644,
645, 646, 647, 648, 649, 650, 651, 652, 653, 654,
655, 656, 657, 658, 659, 660, 661, 662, 663, 664,
665, 666, 667, 668, 669, 670, 671, 672, 673, 674,
675, 676, 677, 678, 679, 680, 681, 682, 683, 684,
685, 686, 687, 688, 689, 690, 691, 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, 60, 62, 61, 63, 730,
43, 45, 42, 47, 37, 94, 731, 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, 495, 496, 497, 497, 498, 498, 498, 498, 498,
498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
498, 499, 500, 501, 501, 501, 502, 502, 503, 503,
504, 504, 504, 504, 504, 504, 504, 504, 504, 504,
504, 504, 504, 505, 505, 505, 505, 505, 505, 506,
507, 507, 508, 508, 509, 509, 509, 509, 510, 510,
510, 510, 510, 510, 511, 512, 513, 513, 514, 514,
514, 514, 515, 515, 516, 516, 517, 517, 517, 517,
517, 517, 518, 518, 518, 519, 519, 519, 520, 520,
520, 520, 521, 521, 521, 521, 521, 521, 521, 521,
521, 521, 521, 521, 521, 521, 521, 521, 521, 522,
522, 523, 523, 524, 524, 524, 524, 525, 525, 525,
525, 526, 526, 526, 526, 527, 527, 527, 527, 527,
527, 527, 527, 527, 528, 528, 528, 529, 529, 530,
531, 531, 531, 531, 532, 532, 533, 533, 534, 534,
535, 535, 535, 535, 535, 536, 537, 537, 538, 538,
539, 540, 540, 540, 540, 540, 541, 541, 541, 541,
541, 541, 541, 541, 541, 541, 541, 541, 541, 541,
541, 541, 541, 541, 541, 542, 542, 543, 543, 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, 546, 546,
547, 547, 547, 548, 548, 549, 549, 550, 550, 550,
550, 551, 552, 552, 553, 553, 554, 554, 554, 554,
555, 555, 556, 556, 556, 556, 557, 557, 557, 557,
558, 559, 559, 560, 561, 561, 562, 562, 562, 562,
563, 563, 564, 564, 565, 565, 566, 566, 567, 567,
567, 568, 568, 569, 569, 570, 570, 570, 570, 570,
570, 570, 570, 570, 570, 570, 570, 570, 571, 571,
572, 572, 573, 573, 574, 574, 575, 576, 576, 576,
576, 576, 577, 577, 578, 579, 579, 579, 579, 579,
579, 580, 580, 580, 580, 580, 580, 580, 580, 581,
581, 582, 582, 583, 583, 584, 584, 585, 585, 585,
586, 586, 587, 588, 588, 589, 589, 590, 590, 590,
590, 591, 591, 591, 591, 591, 591, 591, 591, 591,
592, 592, 593, 593, 593, 593, 594, 595, 595, 595,
596, 596, 596, 596, 596, 596, 596, 596, 596, 597,
597, 598, 598, 598, 598, 598, 598, 598, 599, 599,
600, 600, 601, 601, 602, 603, 603, 604, 604, 604,
604, 605, 605, 606, 606, 607, 607, 608, 608, 608,
608, 608, 609, 610, 611, 611, 611, 611, 611, 612,
612, 613, 613, 614, 615, 615, 616, 616, 616, 617,
617, 618, 618, 618, 619, 619, 619, 619, 620, 620,
621, 621, 622, 623, 623, 624, 624, 625, 625, 626,
627, 627, 627, 628, 628, 629, 630, 630, 631, 632,
632, 633, 633, 634, 634, 635, 635, 636, 636, 637,
637, 637, 637, 637, 637, 637, 637, 637, 637, 637,
637, 637, 637, 638, 638, 639, 639, 639, 639, 640,
640, 641, 641, 642, 642, 643, 643, 644, 644, 645,
645, 646, 646, 647, 647, 648, 648, 649, 650, 650,
651, 651, 652, 652, 653, 653, 654, 654, 654, 654,
655, 656, 656, 657, 658, 658, 658, 658, 658, 658,
658, 658, 658, 658, 658, 658, 658, 658, 658, 658,
658, 658, 658, 658, 658, 658, 658, 658, 658, 658,
658, 658, 659, 660, 660, 660, 660, 661, 661, 662,
662, 663, 663, 664, 664, 665, 665, 666, 667, 667,
668, 668, 668, 668, 669, 670, 671, 672, 672, 673,
673, 674, 674, 675, 675, 676, 676, 676, 677, 677,
677, 677, 678, 678, 679, 680, 680, 681, 681, 682,
682, 683, 683, 684, 684, 685, 686, 687, 688, 688,
689, 689, 690, 690, 691, 691, 692, 692, 693, 693,
694, 694, 694, 694, 694, 695, 696, 696, 697, 697,
698, 698, 698, 699, 699, 700, 700, 700, 700, 700,
701, 701, 702, 702, 703, 704, 704, 705, 705, 706,
707, 707, 708, 708, 709, 709, 710, 710, 711, 711,
712, 712, 712, 713, 713, 713, 713, 714, 714, 715,
715, 716, 716, 716, 716, 716, 716, 717, 717, 718,
718, 719, 720, 720, 721, 722, 722, 722, 722, 723,
724, 724, 724, 724, 724, 724, 724, 724, 724, 724,
724, 724, 724, 724, 724, 724, 725, 726, 726, 727,
727, 728, 728, 728, 728, 728, 728, 729, 730, 730,
731, 732, 732, 733, 733, 734, 734, 734, 734, 735,
735, 736, 737, 737, 738, 738, 738, 738, 738, 739,
739, 740, 740, 741, 741, 741, 742, 742, 743, 744,
744, 745, 745, 746, 746, 747, 747, 748, 748, 749,
750, 751, 751, 751, 751, 751, 751, 751, 751, 751,
751, 751, 751, 752, 752, 752, 752, 752, 752, 752,
752, 752, 752, 752, 752, 752, 753, 753, 753, 753,
753, 753, 753, 754, 754, 754, 755, 755, 756, 756,
757, 757, 758, 758, 759, 760, 760, 760, 761, 761,
761, 761, 761, 761, 761, 761, 761, 761, 761, 761,
761, 761, 761, 761, 761, 761, 761, 762, 762, 762,
762, 762, 762, 762, 762, 762, 762, 762, 762, 762,
762, 763, 763, 763, 763, 763, 763, 763, 763, 763,
763, 763, 763, 764, 764, 765, 765, 765, 765, 765,
765, 765, 765, 765, 766, 766, 767, 767, 767, 767,
767, 767, 768, 768, 768, 768, 768, 768, 768, 768,
769, 769, 770, 770, 771, 771, 771, 771, 771, 771,
771, 771, 771, 771, 771, 771, 771, 771, 771, 771,
772, 772, 773, 773, 774, 775, 775, 776, 776, 776,
776, 776, 777, 777, 778, 778, 778, 778, 779, 779,
779, 779, 779, 779, 779, 779, 779, 779, 779, 779,
779, 779, 779, 779, 779, 779, 779, 779, 780, 780,
781, 781, 782, 782, 783, 784, 784, 785, 785, 786,
786, 787, 788, 788, 789, 789, 789, 790, 790, 790,
791, 791, 791, 791, 791, 791, 792, 792, 793, 793,
794, 794, 795, 795, 796, 796, 797, 797, 798, 798,
799, 799, 799, 800, 800, 801, 801, 802, 802, 803,
803, 804, 804, 804, 805, 805, 805, 806, 806, 806,
806, 807, 807, 808, 808, 809, 809, 810, 810, 811,
811, 811, 811, 812, 812, 813, 813, 814, 814, 814,
814, 814, 815, 815, 815, 815, 815, 816, 817, 818,
818, 818, 819, 819, 819, 820, 821, 821, 821, 821,
822, 822, 823, 824, 824, 825, 825, 826, 826, 826,
826, 826, 826, 826, 826, 826, 826, 826, 826, 826,
826, 826, 826, 826, 827, 827, 827, 827, 827, 828,
828, 829, 829, 830, 830, 831, 832, 832, 833, 833,
833, 834, 834, 835, 835, 836, 836, 836, 836, 836,
836, 837, 837, 838, 838, 839, 839, 839, 839, 840,
840, 841, 841, 842, 843, 844, 844, 845, 845, 846,
846, 846, 847, 847, 847, 848, 849, 849, 850, 851,
851, 851, 851, 852, 853, 853, 853, 853, 854, 854,
855, 855, 855, 856, 856, 857, 858, 858, 859, 859,
859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
859, 859, 859, 859, 859, 859, 859, 859, 859, 859,
859, 859, 859, 860, 860, 861, 861, 862, 862, 862,
862, 862, 862, 863, 863, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 864, 864, 864, 864, 864, 864, 864, 864,
864, 864, 865, 866, 866, 867, 867, 868, 868, 868,
868, 868, 869, 870, 870, 870, 870, 870, 870, 870,
870, 870, 870, 870, 870, 870, 870, 870, 870, 870,
870, 870, 870, 870, 870, 870, 870, 871, 872, 872,
873, 873, 874, 874, 874, 874, 875, 876, 876, 877,
878, 878, 878, 878, 878, 878, 879, 879, 880, 881,
881, 881, 882, 882, 883, 883, 883, 883, 883, 884,
884, 885, 885, 885, 885, 886, 886, 886, 887, 888,
888, 889, 890, 890, 891, 891, 891, 891, 891, 891,
891, 891, 891, 891, 891, 891, 891, 891, 892, 892,
892, 893, 893, 893, 893, 893, 894, 894, 894, 895,
895, 896, 896, 896, 897, 897, 897, 897, 898, 898,
898, 898, 899, 900, 901, 901, 902, 902, 903, 903,
903, 904, 904, 904, 904, 904, 904, 904, 905, 905,
906, 906, 906, 907, 908, 908, 908, 908, 909, 909,
910, 911, 912, 912, 913, 914, 914, 914, 914, 914,
914, 914, 915, 915, 916, 917, 917, 917, 917, 917,
917, 918, 918, 919, 920, 920, 920, 921, 921, 922,
922, 923, 923, 924, 924, 925, 925, 926, 927, 927,
928, 928, 928, 929, 929, 930, 930, 931, 931, 932,
932, 933, 933, 934, 935, 935, 936, 936, 937, 937,
937, 937, 938, 938, 938, 938, 938, 938, 938, 938,
938, 939, 939, 940, 941, 941, 942, 942, 942, 943,
944, 944, 945, 945, 945, 945, 946, 946, 946, 947,
947, 948, 948, 948, 948, 949, 950, 950, 951, 951,
951, 951, 951, 952, 952, 953, 953, 954, 955, 955,
955, 956, 956, 956, 957, 957, 958, 959, 959, 960,
961, 961, 962, 962, 962, 962, 962, 962, 962, 962,
963, 963, 964, 964, 964, 965, 966, 966, 967, 967,
968, 969, 969, 970, 971, 972, 972, 972, 972, 972,
973, 973, 973, 974, 974, 975, 975, 976, 976, 976,
976, 976, 976, 976, 976, 977, 977, 978, 978, 978,
978, 978, 978, 978, 979, 979, 979, 980, 980, 981,
982, 982, 982, 983, 983, 984, 984, 985, 985, 985,
985, 985, 985, 985, 985, 985, 986, 986, 987, 987,
987, 988, 988, 989, 989, 990, 990, 991, 992, 992,
993, 993, 994, 994, 994, 994, 995, 995, 996, 996,
996, 996, 996, 996, 997, 997, 998, 998, 999, 1000,
1000, 1000, 1001, 1001, 1002, 1002, 1003, 1003, 1004, 1004,
1005, 1005, 1006, 1006, 1006, 1006, 1006, 1007, 1008, 1009,
1010, 1011, 1011, 1012, 1012, 1013, 1013, 1014, 1014, 1015,
1016, 1016, 1016, 1016, 1017, 1017, 1018, 1018, 1019, 1019,
1020, 1020, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021,
1021, 1021, 1022, 1022, 1022, 1022, 1022, 1022, 1023, 1023,
1023, 1023, 1024, 1024, 1025, 1025, 1025, 1025, 1025, 1026,
1026, 1026, 1026, 1027, 1027, 1028, 1028, 1029, 1029, 1029,
1029, 1030, 1030, 1031, 1031, 1031, 1032, 1033, 1033, 1034,
1034, 1035, 1036, 1036, 1037, 1037, 1038, 1038, 1039, 1039,
1040, 1040, 1040, 1041, 1041, 1042, 1042, 1043, 1044, 1044,
1045, 1045, 1046, 1046, 1046, 1047, 1047, 1048, 1048, 1048,
1048, 1049, 1049, 1050, 1050, 1051, 1051, 1051, 1051, 1051,
1051, 1052, 1052, 1052, 1053, 1053, 1053, 1053, 1053, 1053,
1053, 1054, 1054, 1054, 1054, 1055, 1055, 1056, 1056, 1057,
1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
1058, 1058, 1059, 1059, 1060, 1060, 1061, 1062, 1063, 1063,
1064, 1064, 1065, 1066, 1067, 1067, 1067, 1067, 1067, 1067,
1068, 1068, 1069, 1069, 1069, 1069, 1070, 1071, 1071, 1071,
1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
1072, 1072, 1072, 1072, 1073, 1073, 1074, 1074, 1074, 1074,
1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
1074, 1074, 1074, 1074, 1074, 1074, 1075, 1075, 1075, 1075,
1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075,
1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075,
1075, 1075, 1075, 1076, 1076, 1076, 1076, 1076, 1076, 1076,
1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1077, 1077,
1077, 1077, 1077, 1077, 1077, 1078, 1078, 1079, 1079, 1080,
1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080,
1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080,
1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080,
1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080,
1080, 1080, 1080, 1081, 1081, 1082, 1082, 1082, 1082, 1083,
1084, 1084, 1085, 1085, 1086, 1086, 1087, 1087, 1087, 1088,
1088, 1088, 1088, 1089, 1089, 1090, 1090, 1091, 1091, 1092,
1092, 1093, 1093, 1094, 1095, 1095, 1095, 1096, 1097, 1097,
1098, 1098, 1099, 1099, 1099, 1099, 1100, 1100, 1101, 1101,
1101, 1101, 1101, 1102, 1102, 1102, 1102, 1102, 1103, 1103,
1103, 1104, 1104, 1105, 1106, 1106, 1106, 1107, 1107, 1108,
1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
1108, 1108, 1109, 1109, 1110, 1110, 1111, 1111, 1111, 1111,
1111, 1111, 1112, 1112, 1113, 1113, 1114, 1114, 1114, 1115,
1115, 1116, 1116, 1116, 1117, 1117, 1118, 1118, 1118, 1118,
1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120, 1120,
1120, 1120, 1121, 1121, 1122, 1123, 1123, 1124, 1124, 1124,
1124, 1124, 1124, 1125, 1126, 1127, 1127, 1127, 1128, 1128,
1129, 1130, 1130, 1131, 1132, 1132, 1133, 1133, 1134, 1134,
1135, 1135, 1135, 1135, 1136, 1136, 1137, 1137, 1138, 1138,
1139, 1139, 1140, 1140, 1141, 1141, 1142, 1142, 1142, 1142,
1143, 1143, 1144, 1144, 1145, 1145, 1146, 1147, 1148, 1149,
1150, 1151, 1152, 1152, 1153, 1153, 1153, 1153, 1153, 1153,
1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153,
1153, 1153, 1153, 1154, 1155, 1156, 1156, 1156, 1157, 1158,
1158, 1158, 1159, 1159, 1160, 1160, 1160, 1161, 1161, 1161,
1162, 1162, 1162, 1162, 1163, 1163, 1163, 1163, 1163, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165, 1165,
1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1166,
1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166,
1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166,
1166, 1166, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
static const yytype_uint8 yyr2[] =
{
0, 2, 1, 3, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 2, 5, 1, 1, 0, 2, 0, 2, 0,
2, 2, 2, 2, 3, 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, 1, 0, 2, 0, 1, 1, 1, 1,
1, 1, 2, 3, 3, 2, 5, 1, 3, 3,
3, 3, 1, 3, 3, 2, 2, 2, 2, 2,
2, 2, 2, 3, 3, 3, 3, 3, 3, 1,
3, 1, 3, 1, 1, 1, 1, 2, 2, 2,
1, 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, 1, 3, 4, 3, 3,
2, 5, 3, 6, 4, 6, 6, 5, 7, 6,
6, 5, 5, 6, 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, 3,
2, 2, 3, 4, 4, 4, 5, 1, 3, 2,
1, 1, 0, 2, 0, 2, 0, 1, 1, 1,
3, 3, 2, 0, 1, 3, 3, 1, 5, 3,
1, 2, 1, 3, 2, 3, 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, 3, 2, 1, 0,
3, 0, 1, 0, 1, 3, 2, 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, 4, 2, 4, 2, 0, 3, 1, 1,
2, 2, 1, 3, 4, 5, 2, 5, 7, 5,
1, 2, 1, 2, 2, 2, 3, 3, 3, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 3,
1, 5, 8, 3, 9, 4, 10, 11, 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, 2, 2, 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, 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, 2, 2, 2, 2, 3, 3,
3, 1, 3, 1, 0, 1, 2, 2, 1, 1,
3, 6, 10, 1, 0, 1, 2, 2, 0, 2,
2, 1, 0, 5, 7, 1, 0, 7, 2, 0,
3, 5, 5, 8, 2, 0, 2, 2, 2, 1,
5, 2, 0, 2, 7, 6, 10, 6, 6, 6,
6, 7, 6, 9, 9, 6, 6, 6, 7, 6,
8, 8, 8, 8, 6, 6, 7, 7, 8, 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, 5, 7, 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, 16, 20,
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, 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, 2, 2, 1, 3,
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, 8, 9, 8, 6, 6,
8, 9, 8, 9, 9, 7, 10, 1, 1, 1,
1, 1, 1, 2, 1, 1, 2, 3, 3, 3,
3, 2, 1, 2, 1, 3, 2, 1, 1, 1,
1, 1, 1, 1, 1, 8, 8, 8, 8, 8,
8, 9, 8, 8, 2, 0, 1, 2, 1, 1,
1, 2, 1, 2, 2, 1, 1, 1, 1, 1,
1, 1, 2, 2, 1, 2, 3, 3, 3, 3,
4, 4, 3, 3, 3, 4, 4, 3, 4, 4,
1, 1, 1, 0, 7, 7, 10, 1, 1, 2,
4, 5, 1, 3, 2, 2, 2, 2, 1, 2,
2, 4, 3, 2, 2, 2, 2, 2, 2, 3,
2, 2, 2, 5, 5, 5, 5, 5, 1, 3,
1, 2, 3, 0, 6, 6, 9, 3, 0, 3,
0, 5, 2, 0, 3, 3, 3, 7, 7, 10,
1, 1, 1, 1, 1, 1, 15, 18, 1, 0,
1, 0, 1, 0, 2, 0, 1, 3, 4, 5,
2, 2, 4, 4, 0, 1, 3, 2, 0, 1,
0, 1, 1, 0, 2, 2, 0, 8, 11, 6,
6, 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, 2, 4, 5, 1,
1, 1, 1, 3, 3, 2, 2, 1, 2, 2,
2, 2, 1, 2, 2, 2, 2, 1, 1, 1,
3, 3, 5, 2, 0, 2, 1, 3, 5, 5,
5, 1, 2, 1, 0, 4, 6, 4, 6, 4,
6, 4, 6, 4, 6, 3, 5, 5, 5, 1,
3, 1, 3, 2, 2, 1, 2, 1, 2, 11,
10, 10, 2, 2, 0, 9, 2, 0, 10, 11,
11, 5, 5, 8, 4, 4, 7, 7, 1, 1,
1, 1, 1, 1, 3, 1, 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, 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, 5, 1, 0,
3, 3, 5, 6, 6, 6, 8, 1, 3, 1,
5, 5, 6, 7, 4, 4, 4, 6, 13, 1,
1, 3, 3, 1, 1, 1, 1, 1, 1, 1,
0, 1, 1, 1, 1, 1, 1, 0, 3, 2,
0, 2, 2, 2, 3, 3, 3, 3, 3, 3,
2, 3, 2, 5, 4, 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, 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, 4, 2, 5, 2, 0, 6,
5, 3, 5, 1, 3, 1, 1, 2, 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, 3, 2, 1, 1, 1, 1, 0, 5,
3, 0, 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, 7, 1, 0, 3, 2, 2, 2,
0, 2, 2, 1, 1, 3, 3, 1, 2, 4,
4, 2, 3, 5, 5, 1, 1, 9, 9, 1,
2, 4, 4, 4, 2, 2, 3, 1, 3, 7,
1, 2, 0, 1, 0, 2, 0, 3, 3, 4,
4, 4, 4, 3, 2, 1, 1, 0, 1, 1,
0, 1, 5, 1, 0, 1, 0, 3, 1, 3,
4, 3, 2, 2, 1, 1, 1, 0, 2, 4,
5, 6, 4, 5, 2, 3, 1, 1, 1, 1,
2, 2, 1, 1, 1, 1, 1, 1, 3, 0,
1, 3, 1, 1, 1, 1, 1, 2, 4, 4,
5, 2, 0, 1, 3, 1, 0, 1, 2, 3,
2, 4, 2, 3, 2, 0, 4, 5, 2, 0,
1, 3, 2, 3, 2, 3, 2, 3, 2, 3,
1, 4, 3, 4, 5, 4, 5, 4, 5, 2,
4, 1, 1, 0, 1, 4, 5, 4, 0, 2,
2, 2, 1, 1, 0, 4, 2, 1, 2, 2,
4, 1, 3, 1, 2, 3, 6, 4, 0, 2,
6, 2, 1, 3, 4, 0, 2, 0, 2, 0,
2, 4, 0, 1, 0, 1, 3, 3, 7, 12,
1, 3, 2, 3, 3, 1, 2, 2, 2, 2,
1, 1, 3, 3, 2, 2, 3, 5, 6, 2,
3, 3, 4, 0, 1, 1, 1, 1, 1, 2,
4, 1, 1, 1, 1, 2, 3, 3, 0, 1,
1, 1, 1, 1, 2, 2, 2, 2, 2, 1,
3, 0, 1, 1, 1, 1, 5, 2, 1, 1,
1, 1, 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, 3, 3, 5,
2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 2, 2, 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, 6, 7, 3, 4, 4, 6, 2, 3,
4, 3, 4, 4, 5, 1, 1, 3, 2, 2,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 2, 3, 2, 2, 5, 6, 6,
7, 3, 4, 1, 1, 2, 2, 4, 1, 1,
1, 2, 2, 2, 2, 1, 1, 4, 3, 5,
6, 8, 6, 6, 4, 4, 1, 1, 1, 5,
1, 1, 4, 1, 4, 1, 4, 1, 4, 1,
1, 1, 1, 1, 1, 6, 4, 4, 6, 4,
4, 4, 6, 5, 5, 5, 4, 6, 4, 4,
4, 4, 5, 7, 7, 9, 5, 4, 6, 5,
7, 7, 7, 2, 3, 3, 3, 4, 0, 4,
1, 3, 3, 1, 1, 1, 2, 2, 0, 2,
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, 1, 4, 1, 4, 1, 4, 1, 2,
1, 2, 1, 3, 1, 3, 1, 3, 3, 1,
3, 3, 3, 2, 1, 3, 3, 3, 3, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 4, 3, 2, 3, 0, 3, 3, 2,
2, 1, 0, 2, 2, 3, 2, 1, 1, 3,
5, 1, 2, 4, 2, 0, 1, 0, 1, 2,
2, 2, 3, 5, 1, 0, 1, 2, 0, 2,
1, 0, 1, 0, 1, 3, 3, 2, 1, 1,
1, 3, 1, 2, 1, 3, 1, 1, 1, 1,
1, 1, 1, 2, 1, 1, 1, 1, 1, 2,
6, 2, 6, 2, 3, 5, 2, 3, 5, 5,
1, 1, 1, 1, 1, 1, 2, 2, 1, 1,
1, 1, 1, 3, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 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[] =
{
1694, 1460, 636, 1546, 1545, 1460, 0, 270, 0, 1556,
0, 1460, 429, 1132, 0, 0, 0, 0, 636, 1460,
0, 1694, 0, 0, 0, 0, 0, 1707, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1460, 0, 0,
1714, 0, 0, 0, 0, 1707, 0, 1558, 0, 0,
0, 0, 0, 2, 4, 39, 74, 75, 32, 31,
93, 57, 18, 65, 127, 126, 128, 44, 40, 82,
27, 29, 41, 45, 67, 69, 34, 47, 58, 105,
66, 25, 64, 88, 70, 91, 52, 12, 13, 53,
14, 54, 15, 55, 16, 101, 76, 94, 37, 63,
24, 46, 72, 73, 5, 48, 80, 11, 59, 60,
62, 85, 86, 87, 110, 89, 122, 43, 119, 98,
99, 116, 100, 117, 9, 102, 56, 17, 113, 112,
114, 83, 49, 84, 71, 92, 111, 28, 115, 19,
20, 22, 23, 21, 61, 30, 68, 33, 90, 118,
108, 104, 123, 121, 129, 106, 77, 7, 8, 95,
6, 26, 51, 10, 36, 35, 50, 42, 125, 38,
1556, 97, 109, 96, 78, 103, 81, 107, 124, 79,
120, 1664, 1663, 1716, 1667, 1693, 0, 1679, 1459, 1458,
1473, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 635, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1470, 2324, 2339,
2340, 2341, 2342, 2343, 2344, 2345, 2346, 2347, 2348, 2349,
2350, 2351, 2352, 2353, 2354, 2689, 2355, 2356, 2357, 2638,
2639, 2690, 2640, 2641, 2358, 2359, 2360, 2361, 2362, 2363,
2364, 2365, 2642, 2643, 2366, 2367, 2368, 2369, 2370, 2644,
2691, 2371, 2372, 2373, 2374, 2375, 2692, 2376, 2377, 2378,
2379, 2380, 2381, 2382, 2383, 2384, 2693, 2385, 2386, 2387,
2694, 2388, 2389, 2390, 2391, 2392, 2393, 2645, 2646, 2394,
2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404,
2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414,
2415, 2416, 2417, 2418, 2419, 2420, 2647, 2421, 2422, 2423,
2424, 2648, 2425, 2426, 2427, 2649, 2428, 2429, 2430, 2695,
2696, 2431, 2432, 2433, 2434, 2435, 2650, 2651, 2436, 2437,
2438, 2439, 2440, 2441, 2442, 2697, 2443, 2444, 2445, 2446,
2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2698, 2652,
2455, 2456, 2457, 2458, 2653, 2654, 2655, 2459, 2699, 2700,
2460, 2701, 2461, 2462, 2463, 2464, 2465, 2466, 2656, 2702,
2467, 2703, 2468, 2469, 2470, 2471, 2472, 2473, 2474, 2475,
2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2484, 2485,
2486, 2657, 2704, 2658, 2487, 2488, 2489, 2490, 2491, 2492,
2493, 2659, 2660, 2494, 2495, 2496, 2705, 2497, 2661, 2498,
2662, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507,
2508, 2663, 2706, 2509, 2707, 2664, 2510, 2511, 2512, 2513,
2514, 2515, 2516, 2517, 2518, 2519, 2520, 2665, 2521, 2666,
2524, 2522, 2523, 2525, 2526, 2527, 2528, 2529, 2530, 2531,
2532, 2533, 2534, 2667, 2535, 2536, 2537, 2538, 2539, 2540,
2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550,
2551, 2552, 2708, 2553, 2554, 2555, 2556, 2557, 2668, 2558,
2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568,
2569, 2570, 2571, 2572, 2573, 2669, 2574, 2575, 2709, 2576,
2577, 2670, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585,
2586, 2587, 2588, 2589, 2590, 2591, 2671, 2592, 2593, 2594,
2595, 2710, 2596, 2597, 2598, 2599, 2600, 2601, 2672, 2673,
2602, 2603, 2674, 2604, 2675, 2605, 2606, 2607, 2608, 2609,
2610, 2611, 2612, 2613, 2614, 2615, 2616, 2617, 2618, 2619,
2620, 2621, 2622, 2676, 2677, 2623, 2711, 2624, 2625, 2626,
2627, 2628, 2629, 2630, 2631, 2632, 2633, 2634, 2678, 2679,
2680, 2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2635,
2636, 2637, 131, 0, 0, 2292, 2325, 2326, 2329, 2324,
401, 400, 1654, 2286, 2325, 1555, 1535, 636, 0, 1473,
428, 1694, 0, 0, 0, 0, 0, 0, 0, 869,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 183, 0, 0, 0, 0, 452, 451, 0,
0, 0, 1098, 457, 0, 0, 0, 0, 0, 624,
1603, 2522, 1601, 1655, 271, 274, 275, 272, 273, 2314,
0, 1234, 1235, 1237, 0, 0, 1247, 909, 910, 0,
0, 0, 918, 0, 0, 0, 907, 0, 0, 0,
923, 0, 920, 0, 0, 924, 921, 904, 922, 911,
0, 903, 0, 0, 1247, 925, 0, 0, 905, 0,
0, 0, 0, 1473, 1600, 458, 1694, 0, 1577, 1578,
1579, 1556, 1568, 1580, 1573, 1575, 1574, 1576, 1572, 2313,
2340, 1033, 1033, 1033, 1033, 1030, 1031, 1033, 1033, 1033,
2542, 0, 0, 1012, 0, 1014, 2315, 1033, 1038, 521,
521, 521, 0, 1037, 1042, 521, 0, 1441, 1482, 2291,
1706, 0, 1013, 1440, 2602, 1591, 0, 0, 1262, 1258,
1260, 1261, 1259, 0, 1101, 1101, 2560, 1452, 255, 2571,
2672, 2602, 254, 249, 250, 219, 2344, 0, 0, 1037,
0, 1473, 1450, 995, 1713, 1711, 0, 2273, 2364, 2379,
2470, 246, 2553, 2561, 2571, 2672, 2602, 2634, 192, 202,
197, 0, 264, 2571, 2672, 2602, 260, 1470, 0, 1680,
1817, 2282, 0, 1443, 1442, 1557, 0, 1560, 0, 2537,
1684, 1687, 1562, 1685, 1676, 0, 0, 1, 1694, 0,
1567, 1710, 1710, 0, 1710, 0, 1668, 1676, 1671, 1675,
0, 0, 0, 0, 0, 1444, 0, 0, 0, 928,
0, 1485, 2287, 1083, 0, 0, 0, 0, 0, 1334,
0, 1141, 1140, 2330, 2320, 2321, 0, 2318, 2319, 2331,
2332, 2333, 0, 2442, 1334, 0, 0, 2177, 2188, 2189,
2190, 2368, 2425, 2185, 2186, 2187, 2191, 2179, 2180, 2181,
2182, 2183, 2184, 0, 0, 1229, 2178, 0, 2442, 0,
1334, 0, 162, 0, 135, 1334, 0, 0, 2442, 0,
0, 2442, 0, 0, 0, 0, 0, 2442, 0, 0,
0, 0, 0, 162, 2475, 0, 135, 2442, 0, 0,
1464, 0, 0, 0, 1466, 1469, 1445, 0, 2265, 0,
2266, 2293, 1538, 0, 2282, 0, 0, 0, 964, 957,
0, 965, 972, 0, 0, 974, 0, 0, 958, 0,
0, 0, 0, 0, 977, 978, 0, 0, 979, 959,
980, 960, 981, 961, 982, 0, 0, 0, 0, 962,
0, 0, 0, 1456, 1447, 0, 1593, 1595, 1594, 1592,
521, 0, 0, 0, 2442, 0, 0, 135, 1523, 0,
2442, 135, 0, 0, 456, 455, 135, 2318, 454, 453,
2368, 2425, 0, 1131, 0, 1399, 135, 2442, 0, 185,
2442, 710, 2442, 1562, 0, 639, 0, 0, 824, 2475,
135, 0, 0, 0, 0, 0, 0, 1101, 0, 0,
0, 0, 0, 623, 636, 1604, 1602, 0, 1238, 248,
247, 1236, 916, 2442, 1173, 362, 0, 0, 2442, 1504,
2327, 1892, 1921, 1899, 1921, 1921, 1888, 1888, 2408, 1901,
2442, 1889, 1890, 1926, 0, 1921, 1888, 1893, 0, 1891,
1929, 1929, 1916, 362, 932, 1873, 1874, 1875, 1876, 1902,
1903, 1877, 1908, 1909, 1913, 1878, 1943, 1888, 2328, 917,
0, 908, 2442, 362, 1137, 2442, 2322, 172, 0, 906,
2368, 2425, 2442, 362, 1231, 0, 2442, 362, 2442, 168,
2442, 362, 2442, 362, 2442, 640, 0, 0, 2442, 362,
2442, 2475, 170, 0, 2442, 362, 926, 2442, 362, 2284,
2442, 0, 1448, 0, 1596, 0, 1570, 2676, 1585, 0,
1581, 1588, 1584, 1694, 1033, 1032, 0, 1033, 0, 1033,
0, 1033, 0, 1033, 0, 0, 0, 1033, 2316, 2317,
1015, 0, 1039, 0, 0, 1046, 1045, 1044, 0, 0,
0, 1047, 0, 1821, 1631, 0, 1438, 1455, 0, 0,
0, 1101, 1265, 0, 1263, 1100, 0, 0, 1451, 253,
251, 0, 0, 0, 0, 0, 0, 1457, 0, 1449,
0, 0, 0, 2295, 2297, 2298, 2192, 2268, 0, 2639,
2640, 2641, 2257, 0, 2642, 2643, 2644, 2691, 2083, 2070,
2079, 2084, 2071, 2073, 2080, 2645, 2646, 2015, 2647, 2648,
2311, 2649, 2650, 2651, 2653, 2654, 2655, 2656, 2075, 2077,
2657, 2658, 2660, 0, 2312, 2661, 2662, 2504, 2664, 2665,
2667, 2668, 2081, 2670, 2671, 2672, 2673, 2674, 2675, 2310,
0, 2082, 2677, 2679, 2680, 2681, 2682, 2684, 2685, 2686,
2687, 0, 2268, 0, 0, 2279, 0, 2050, 0, 1881,
1882, 1904, 1905, 1883, 1910, 1911, 1884, 0, 2278, 1946,
2136, 2049, 2066, 0, 2055, 2056, 0, 2048, 2043, 1696,
2274, 0, 2044, 2294, 2296, 2258, 1696, 2272, 205, 266,
0, 267, 2280, 2571, 193, 245, 209, 244, 211, 212,
210, 207, 208, 206, 0, 2366, 194, 0, 0, 195,
0, 0, 0, 0, 263, 261, 0, 1446, 0, 1819,
1818, 2283, 937, 0, 1549, 1543, 1552, 1548, 1559, 1556,
2202, 0, 1686, 0, 0, 0, 1666, 1665, 3, 0,
1564, 1566, 1541, 1562, 1708, 1709, 0, 0, 0, 0,
0, 0, 0, 0, 1766, 1724, 1725, 1727, 1763, 1767,
1775, 0, 1672, 0, 0, 1823, 0, 0, 1471, 0,
0, 0, 0, 0, 1172, 0, 0, 0, 0, 0,
929, 0, 0, 0, 1491, 0, 1493, 1494, 1495, 0,
0, 1496, 1497, 1485, 257, 1503, 1501, 1484, 1486, 1499,
0, 0, 0, 0, 0, 0, 0, 1515, 0, 176,
177, 0, 652, 636, 0, 2442, 0, 0, 0, 0,
1180, 1187, 1333, 0, 0, 0, 0, 0, 0, 0,
0, 1181, 1179, 0, 1182, 259, 1192, 1211, 1214, 0,
0, 1139, 1142, 0, 0, 0, 0, 0, 1324, 0,
0, 0, 1324, 0, 0, 0, 1333, 0, 0, 0,
0, 0, 0, 0, 0, 0, 282, 284, 295, 357,
0, 615, 0, 0, 0, 618, 0, 2442, 1334, 0,
0, 0, 1233, 0, 0, 0, 0, 0, 0, 0,
0, 1214, 0, 0, 0, 0, 0, 0, 0, 0,
0, 133, 134, 139, 0, 0, 0, 0, 1214, 0,
0, 0, 0, 0, 0, 0, 601, 614, 0, 0,
0, 0, 0, 611, 0, 0, 135, 287, 591, 597,
0, 0, 0, 717, 716, 0, 0, 0, 0, 0,
1415, 1414, 0, 0, 0, 0, 1513, 1512, 0, 0,
0, 0, 0, 0, 1324, 0, 276, 278, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 393, 394, 0, 0, 0, 139, 0,
0, 1324, 0, 289, 0, 0, 1465, 1462, 1463, 0,
1468, 0, 0, 0, 0, 2058, 0, 2206, 1716, 2204,
2292, 2264, 0, 2334, 2712, 2713, 2714, 2715, 2716, 2717,
2718, 2719, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727,
2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737,
2738, 2739, 2740, 2741, 2742, 2743, 2744, 2745, 2746, 2747,
2748, 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2756, 2757,
2758, 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767,
2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777,
2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787,
2788, 2261, 2260, 2289, 2335, 2336, 2337, 2338, 2267, 0,
1534, 0, 971, 0, 0, 0, 0, 973, 0, 966,
0, 0, 963, 2368, 2425, 0, 0, 0, 0, 0,
0, 0, 0, 0, 976, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 832, 0, 1485, 1522, 0,
0, 0, 645, 0, 2442, 0, 137, 870, 0, 822,
457, 0, 0, 0, 1204, 1398, 137, 0, 0, 179,
0, 0, 714, 0, 0, 0, 0, 0, 0, 0,
0, 0, 761, 760, 0, 0, 0, 823, 0, 0,
137, 0, 2442, 594, 2442, 0, 521, 521, 0, 0,
1103, 0, 0, 0, 0, 0, 0, 1658, 1660, 1659,
0, 1657, 0, 360, 361, 0, 1221, 1246, 0, 0,
0, 1920, 1907, 1915, 1914, 0, 1897, 1896, 1895, 0,
1894, 0, 1921, 1921, 1919, 1898, 1873, 0, 0, 0,
1925, 0, 1923, 0, 899, 1869, 1865, 0, 1932, 1933,
1934, 1931, 1944, 1930, 0, 1879, 1935, 1888, 1885, 919,
0, 0, 1215, 0, 0, 2442, 362, 2442, 0, 2442,
0, 0, 0, 1223, 362, 0, 1217, 0, 0, 1219,
0, 1416, 0, 915, 913, 912, 914, 0, 0, 897,
0, 0, 0, 2442, 362, 0, 0, 892, 0, 0,
894, 0, 0, 0, 0, 1694, 0, 232, 233, 231,
1586, 234, 1587, 1583, 1569, 0, 1023, 0, 1027, 0,
1018, 0, 1024, 0, 1019, 1016, 1017, 0, 1022, 0,
0, 522, 524, 0, 0, 2391, 2407, 0, 2431, 2463,
2464, 2528, 2556, 2561, 2567, 0, 2596, 2607, 0, 1048,
1078, 1043, 728, 0, 0, 1641, 1439, 2209, 0, 1694,
0, 0, 0, 0, 1254, 1255, 252, 220, 0, 0,
0, 1080, 2560, 1454, 994, 636, 0, 2045, 0, 2053,
2054, 2256, 0, 0, 0, 0, 0, 0, 2052, 2219,
0, 0, 0, 0, 0, 0, 1971, 0, 0, 0,
2236, 0, 2242, 0, 0, 2008, 0, 0, 0, 0,
0, 0, 0, 0, 1972, 2046, 1950, 1951, 2050, 2202,
0, 2051, 2306, 2303, 1943, 0, 1943, 2277, 2192, 0,
2188, 2189, 2190, 0, 0, 0, 2271, 0, 2200, 0,
0, 1986, 2198, 1988, 0, 0, 0, 0, 2185, 2186,
2187, 1968, 2179, 2180, 2181, 2182, 2183, 2184, 2196, 1966,
0, 0, 2138, 0, 1965, 0, 0, 1779, 2301, 0,
2299, 2259, 1779, 268, 269, 265, 0, 0, 214, 216,
215, 213, 0, 238, 236, 242, 243, 237, 204, 241,
0, 235, 218, 2125, 2124, 217, 203, 225, 200, 226,
198, 221, 223, 224, 201, 199, 262, 0, 0, 0,
362, 1567, 0, 1550, 1551, 1547, 1554, 1776, 0, 1688,
0, 1692, 1567, 0, 1563, 1683, 1682, 1717, 1718, 1123,
1681, 1746, 1747, 0, 0, 0, 0, 1772, 1770, 1737,
1728, 1736, 0, 0, 1734, 0, 1738, 1946, 1765, 1670,
1722, 1723, 1726, 1669, 0, 1768, 0, 1644, 1766, 1727,
1628, 0, 1606, 0, 1824, 0, 0, 1472, 0, 0,
0, 1152, 1154, 0, 1153, 0, 1156, 0, 1165, 0,
0, 1151, 1170, 0, 1159, 1157, 0, 1511, 0, 0,
930, 0, 0, 0, 0, 1492, 0, 0, 2596, 256,
1495, 1500, 1487, 1498, 0, 0, 0, 0, 0, 1082,
1081, 0, 0, 1105, 0, 0, 0, 1518, 510, 0,
359, 0, 0, 0, 0, 0, 0, 0, 0, 818,
815, 0, 0, 814, 0, 650, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 690, 0,
1324, 0, 722, 0, 1189, 0, 1188, 0, 1193, 0,
0, 1190, 1185, 1186, 2561, 2571, 2602, 258, 1191, 1213,
0, 1212, 1208, 0, 1134, 0, 1135, 0, 0, 0,
0, 0, 2417, 2442, 300, 322, 0, 1323, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 344, 0, 0, 347, 346, 0, 0,
0, 0, 0, 351, 330, 0, 331, 0, 350, 0,
0, 0, 616, 617, 0, 0, 0, 1324, 0, 291,
0, 0, 0, 0, 0, 0, 0, 0, 1230, 0,
745, 0, 0, 2561, 1209, 0, 0, 0, 0, 0,
0, 1402, 0, 0, 165, 0, 160, 164, 0, 0,
2561, 1210, 0, 0, 0, 0, 0, 599, 600, 613,
0, 604, 605, 602, 606, 607, 0, 0, 0, 0,
0, 0, 0, 598, 0, 0, 712, 711, 715, 0,
0, 0, 0, 0, 1411, 0, 1204, 0, 0, 1410,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1267, 1266, 0, 0, 0, 0, 1334, 0, 860, 0,
0, 0, 0, 0, 0, 0, 0, 0, 167, 732,
0, 731, 0, 161, 166, 0, 0, 0, 0, 0,
0, 0, 0, 230, 1461, 1467, 1716, 1716, 1716, 2064,
0, 0, 0, 0, 1715, 2262, 2265, 1537, 2290, 1536,
0, 0, 0, 0, 975, 0, 0, 0, 0, 0,
0, 0, 0, 0, 967, 968, 969, 970, 0, 0,
0, 0, 0, 407, 404, 405, 407, 0, 0, 0,
0, 834, 0, 837, 840, 0, 1483, 476, 0, 0,
642, 690, 0, 0, 460, 174, 0, 0, 0, 0,
747, 0, 0, 0, 1397, 132, 183, 185, 458, 0,
184, 186, 188, 189, 190, 187, 191, 0, 709, 713,
0, 0, 0, 0, 638, 0, 0, 0, 0, 0,
762, 766, 765, 769, 767, 0, 763, 0, 0, 1844,
0, 0, 159, 0, 0, 589, 593, 0, 0, 0,
0, 460, 560, 373, 2442, 0, 521, 0, 2442, 0,
1102, 0, 821, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1656, 362, 1174, 0, 1505, 0, 0,
0, 0, 362, 1918, 1917, 1870, 1866, 0, 0, 0,
0, 933, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1886, 362, 1138, 173, 2323, 0, 901, 0, 0,
0, 0, 362, 1232, 889, 362, 169, 362, 362, 641,
0, 362, 171, 0, 0, 0, 633, 362, 927, 362,
2285, 0, 362, 1599, 2442, 521, 1571, 1582, 1020, 1029,
1028, 1026, 1025, 1021, 0, 1040, 0, 520, 0, 0,
0, 0, 0, 1056, 1057, 0, 0, 1053, 1058, 0,
1054, 1055, 1060, 1050, 1049, 1061, 1062, 0, 0, 1080,
726, 0, 0, 0, 0, 1638, 0, 1636, 0, 1822,
1640, 1629, 1590, 0, 1589, 0, 582, 1101, 1101, 1264,
0, 0, 1037, 0, 0, 362, 1453, 0, 996, 1002,
0, 0, 0, 0, 0, 0, 0, 1005, 1006, 0,
1007, 998, 1008, 999, 1009, 0, 1000, 0, 0, 0,
0, 2269, 2213, 0, 2214, 0, 0, 2255, 2251, 0,
0, 0, 0, 0, 2220, 0, 2223, 2224, 2225, 2222,
2226, 2221, 0, 0, 0, 2227, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2668, 0, 0, 0,
0, 2016, 0, 0, 2172, 0, 2202, 2241, 0, 0,
0, 0, 0, 0, 2202, 2247, 0, 0, 0, 0,
2123, 0, 2120, 0, 0, 0, 0, 2268, 0, 2307,
0, 2304, 1947, 1961, 1962, 1963, 1969, 2276, 0, 2270,
0, 0, 1948, 1977, 0, 2248, 2004, 0, 2009, 1992,
2228, 2229, 2230, 2231, 2011, 0, 1985, 0, 1990, 1994,
0, 1973, 0, 1970, 0, 2271, 2201, 0, 2199, 0,
1958, 1959, 1960, 1967, 1952, 1953, 1954, 1955, 1956, 1957,
1964, 2176, 2174, 2175, 0, 0, 0, 2146, 0, 0,
1989, 2434, 2470, 0, 1707, 1707, 1707, 1695, 1705, 2275,
0, 1839, 1716, 1839, 2281, 0, 0, 1943, 0, 1820,
935, 936, 934, 1540, 1544, 1553, 1567, 2203, 1561, 1690,
0, 0, 1542, 1565, 0, 1121, 1122, 0, 1126, 2668,
2558, 0, 0, 0, 0, 1739, 1773, 0, 1764, 0,
2295, 1740, 2294, 1741, 1744, 1745, 1735, 1774, 1642, 0,
1769, 1674, 1673, 0, 1842, 0, 0, 0, 1620, 1608,
0, 1825, 0, 1779, 1646, 0, 2268, 1777, 1373, 1268,
1335, 1155, 0, 1888, 1166, 0, 1150, 0, 1149, 1888,
0, 1167, 0, 1888, 1374, 1269, 1336, 931, 1375, 1270,
1337, 1376, 1271, 1502, 1490, 1489, 1488, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 799, 2442, 362, 1516, 1377, 0, 1272, 358, 1517,
1338, 1521, 817, 816, 0, 0, 1339, 0, 651, 0,
655, 0, 657, 658, 659, 0, 0, 0, 660, 0,
2368, 2425, 662, 665, 666, 667, 674, 679, 669, 0,
0, 681, 675, 0, 0, 0, 0, 0, 0, 687,
692, 0, 0, 0, 0, 0, 0, 1183, 1184, 1378,
1275, 0, 1340, 0, 1133, 0, 1276, 175, 0, 0,
283, 2442, 302, 0, 694, 799, 0, 1326, 299, 328,
0, 343, 338, 339, 337, 2442, 362, 2442, 362, 0,
0, 0, 0, 0, 340, 335, 336, 332, 0, 0,
345, 2343, 2409, 2572, 0, 698, 700, 0, 705, 348,
1296, 369, 368, 367, 0, 352, 0, 374, 377, 349,
329, 327, 324, 296, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2288, 0, 0, 1225, 0, 1381, 1341,
0, 1363, 0, 0, 0, 0, 739, 1384, 1282, 1344,
0, 1403, 1405, 1395, 1283, 1404, 163, 1313, 152, 0,
0, 148, 0, 0, 0, 0, 138, 1385, 1284, 1345,
0, 0, 1386, 1285, 0, 0, 288, 592, 603, 608,
1290, 612, 609, 1353, 610, 1393, 1286, 0, 1389, 1316,
1348, 575, 1396, 1412, 1287, 1204, 1407, 1409, 0, 1324,
0, 277, 279, 0, 298, 0, 1288, 0, 1346, 1388,
1315, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1524, 0, 0, 0, 0, 0, 0, 362, 0, 0,
0, 1326, 2442, 362, 1387, 0, 1321, 0, 1361, 0,
0, 395, 0, 1314, 1324, 0, 290, 1292, 0, 1355,
0, 0, 228, 227, 229, 0, 0, 0, 0, 2207,
2208, 0, 2205, 2059, 2264, 0, 984, 942, 983, 0,
2407, 0, 941, 943, 0, 0, 0, 944, 0, 948,
949, 0, 0, 0, 940, 938, 939, 406, 0, 0,
756, 757, 0, 0, 0, 0, 836, 0, 0, 0,
1514, 0, 135, 649, 0, 0, 0, 644, 689, 694,
0, 0, 0, 0, 459, 463, 467, 468, 469, 0,
0, 0, 0, 153, 136, 0, 878, 0, 521, 0,
749, 1401, 1400, 1203, 0, 185, 178, 0, 0, 710,
0, 1562, 0, 0, 373, 831, 829, 828, 830, 0,
0, 0, 852, 827, 0, 1843, 1845, 0, 0, 0,
0, 0, 0, 582, 462, 0, 0, 524, 0, 563,
0, 0, 0, 0, 560, 0, 0, 0, 2327, 0,
848, 820, 1144, 0, 1162, 1145, 0, 0, 0, 0,
1197, 1129, 1198, 1175, 1130, 0, 0, 621, 1661, 1662,
0, 1222, 0, 0, 1510, 0, 1508, 0, 1887, 1900,
900, 0, 1928, 1927, 1929, 1929, 0, 1871, 0, 1912,
1937, 1938, 1939, 1940, 1941, 1942, 0, 1936, 1880, 1216,
362, 0, 362, 0, 362, 1224, 1218, 1220, 1417, 0,
898, 0, 0, 362, 891, 893, 0, 895, 0, 1041,
523, 0, 0, 0, 0, 0, 0, 1052, 619, 1059,
0, 1073, 1068, 1070, 0, 1074, 725, 0, 0, 1639,
1632, 1634, 1633, 0, 0, 1630, 2210, 890, 0, 588,
0, 0, 0, 0, 362, 0, 1075, 0, 0, 1003,
997, 0, 0, 1001, 0, 0, 0, 1004, 0, 0,
1712, 2211, 2212, 0, 0, 0, 2252, 0, 0, 2098,
0, 2072, 2074, 0, 0, 2086, 0, 2099, 2057, 2100,
2076, 2078, 2087, 0, 0, 2193, 0, 0, 2089, 0,
2018, 2019, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2033, 0, 0, 0, 0, 0, 0,
2036, 2035, 2090, 2171, 0, 0, 2239, 2240, 2091, 0,
0, 2246, 0, 0, 0, 2096, 2101, 0, 0, 0,
0, 2107, 0, 2128, 0, 0, 0, 2047, 2203, 0,
0, 0, 0, 0, 0, 0, 0, 2010, 1993, 2013,
1987, 0, 1991, 1995, 0, 0, 2012, 0, 0, 1981,
0, 0, 1979, 2005, 1975, 0, 0, 2006, 0, 0,
0, 2065, 0, 0, 1707, 1707, 1707, 1707, 1704, 0,
0, 0, 0, 2558, 2688, 0, 1803, 1778, 1780, 1790,
1803, 1808, 1803, 2067, 1837, 2068, 2282, 0, 1749, 0,
1749, 196, 0, 239, 222, 1539, 1691, 1694, 1719, 0,
2194, 1126, 0, 1721, 1743, 1742, 0, 1732, 0, 1771,
1729, 1643, 1627, 0, 1625, 1612, 1614, 1613, 0, 0,
1615, 2268, 0, 1625, 1607, 1651, 0, 0, 1842, 0,
1650, 0, 1888, 1147, 1148, 0, 1171, 0, 1085, 1086,
0, 1084, 0, 0, 0, 509, 1104, 0, 0, 0,
799, 0, 0, 513, 0, 1519, 0, 1394, 1312, 653,
654, 0, 668, 0, 677, 676, 0, 0, 0, 0,
0, 0, 0, 661, 683, 625, 684, 686, 0, 0,
685, 688, 691, 1324, 0, 723, 1298, 0, 1359, 1177,
0, 0, 1136, 0, 0, 0, 0, 0, 0, 476,
323, 0, 0, 0, 0, 382, 0, 304, 315, 380,
321, 0, 354, 0, 326, 0, 319, 341, 333, 342,
334, 353, 355, 0, 702, 703, 701, 697, 0, 704,
706, 0, 371, 0, 0, 0, 0, 1380, 0, 1324,
0, 292, 1294, 0, 1357, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1362, 0, 0,
0, 0, 744, 0, 741, 0, 0, 0, 141, 143,
142, 140, 0, 151, 0, 0, 0, 0, 0, 0,
0, 1413, 0, 0, 0, 0, 0, 0, 389, 0,
297, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 396, 364,
0, 855, 0, 0, 0, 398, 0, 0, 1372, 0,
0, 0, 0, 0, 1379, 1277, 2062, 2063, 2060, 1716,
2263, 0, 0, 0, 955, 0, 0, 0, 0, 0,
0, 409, 410, 135, 408, 431, 0, 799, 0, 0,
833, 838, 846, 2504, 2179, 2180, 844, 839, 841, 843,
845, 842, 0, 0, 0, 0, 0, 492, 0, 0,
0, 482, 0, 0, 1204, 475, 478, 479, 0, 0,
645, 648, 646, 647, 682, 0, 462, 499, 550, 0,
155, 0, 0, 156, 154, 0, 0, 373, 746, 0,
743, 0, 181, 458, 0, 714, 0, 0, 0, 1204,
637, 768, 771, 764, 0, 851, 853, 825, 0, 694,
0, 0, 594, 0, 521, 1600, 577, 0, 552, 462,
550, 559, 0, 0, 567, 372, 0, 0, 582, 373,
0, 0, 1105, 0, 847, 0, 1143, 0, 0, 0,
1194, 1199, 1195, 0, 0, 1158, 0, 1196, 1176, 1433,
1434, 1431, 1432, 0, 0, 0, 1653, 0, 0, 1506,
0, 1906, 0, 1924, 1922, 1867, 1872, 1945, 902, 0,
885, 0, 887, 362, 733, 0, 634, 362, 0, 0,
0, 0, 0, 0, 1051, 0, 1071, 0, 0, 1034,
1077, 0, 0, 1637, 1635, 580, 0, 1256, 1257, 1080,
0, 1035, 1079, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2215, 0, 2254, 2250, 0, 2069, 2217, 2218,
2216, 0, 0, 2234, 2233, 2172, 0, 0, 2017, 2029,
2030, 2031, 2235, 0, 2041, 0, 0, 2026, 2027, 2028,
2032, 2020, 2021, 2022, 2023, 2024, 2025, 2034, 2244, 2243,
2237, 2238, 0, 2093, 2094, 2095, 2245, 2102, 0, 2358,
2129, 0, 2106, 2122, 2121, 0, 0, 0, 2109, 0,
0, 2118, 0, 2173, 2308, 2309, 2305, 1949, 0, 0,
1978, 2249, 1996, 0, 0, 2014, 0, 1974, 2193, 0,
0, 0, 0, 0, 1983, 0, 0, 0, 2149, 2144,
2145, 2169, 0, 0, 0, 0, 0, 0, 1698, 1697,
1703, 1803, 1808, 1803, 0, 0, 1676, 0, 1790, 0,
1802, 1788, 1801, 0, 0, 1814, 1812, 0, 1814, 0,
1814, 0, 1782, 0, 1804, 1784, 1801, 1786, 0, 1829,
2283, 1838, 0, 1762, 2059, 1762, 0, 0, 0, 1720,
1124, 1125, 1730, 0, 1733, 2387, 1840, 0, 1626, 0,
0, 0, 1617, 1623, 1605, 0, 0, 1647, 1625, 1648,
1168, 0, 0, 1160, 1091, 1092, 1095, 1093, 1090, 1094,
0, 0, 0, 799, 0, 0, 531, 0, 1118, 1118,
0, 0, 515, 572, 526, 802, 0, 0, 0, 800,
362, 1273, 0, 678, 0, 0, 673, 671, 670, 672,
0, 626, 1392, 1274, 0, 0, 0, 0, 1178, 1327,
0, 0, 1297, 0, 301, 0, 472, 0, 0, 307,
316, 0, 312, 0, 1325, 0, 0, 0, 0, 311,
384, 0, 381, 0, 362, 362, 356, 699, 370, 375,
376, 379, 1332, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 879, 862, 0, 0,
880, 881, 0, 0, 0, 1227, 1228, 1226, 1364, 1365,
1370, 1367, 1366, 1369, 1371, 1368, 0, 1280, 0, 0,
737, 1328, 149, 145, 146, 144, 147, 150, 1329, 1310,
1291, 1354, 576, 1408, 0, 0, 0, 1289, 0, 1347,
0, 1306, 1300, 0, 0, 0, 0, 0, 1391, 1320,
1352, 1390, 1318, 1350, 1317, 1349, 1319, 1351, 1311, 0,
0, 1847, 859, 0, 0, 0, 362, 362, 858, 735,
1293, 0, 1356, 1302, 0, 0, 0, 945, 0, 0,
947, 950, 0, 952, 414, 432, 135, 0, 755, 819,
0, 0, 835, 798, 0, 480, 0, 486, 490, 0,
0, 494, 495, 493, 481, 1204, 521, 571, 788, 789,
0, 0, 809, 0, 643, 0, 460, 0, 496, 0,
0, 464, 158, 157, 0, 0, 0, 750, 754, 752,
751, 753, 748, 0, 739, 185, 2442, 0, 0, 0,
0, 573, 1406, 0, 781, 826, 0, 1846, 729, 0,
373, 590, 0, 0, 0, 460, 582, 0, 465, 470,
471, 476, 0, 560, 551, 0, 552, 561, 562, 0,
569, 1481, 0, 583, 569, 0, 0, 0, 850, 0,
849, 1146, 1163, 1164, 0, 0, 1127, 0, 0, 0,
0, 628, 362, 0, 1509, 1868, 362, 362, 1253, 0,
896, 1065, 1066, 1067, 1064, 1063, 620, 0, 1069, 727,
0, 581, 362, 0, 1011, 989, 1010, 988, 990, 0,
992, 993, 987, 985, 986, 2253, 2085, 2088, 2097, 2232,
2171, 2203, 0, 0, 2042, 0, 0, 2092, 2678, 0,
0, 2133, 2134, 0, 2130, 2131, 2126, 2127, 2108, 0,
2493, 2113, 0, 0, 0, 2002, 2000, 1997, 0, 1998,
1982, 0, 0, 1980, 1976, 0, 2007, 2135, 0, 2151,
2148, 2168, 2203, 1702, 1701, 1700, 1699, 1789, 1785, 1787,
0, 2683, 0, 1792, 1799, 0, 1781, 0, 1813, 1809,
0, 1810, 0, 0, 1811, 0, 0, 1783, 0, 1799,
0, 1836, 0, 0, 2140, 2302, 2300, 2140, 240, 1689,
0, 1731, 0, 1624, 1609, 0, 1610, 1616, 0, 0,
0, 0, 1652, 1645, 1161, 1169, 0, 0, 0, 511,
0, 526, 0, 0, 0, 1111, 1120, 1110, 0, 526,
0, 1204, 804, 803, 806, 801, 805, 1520, 0, 663,
664, 680, 1299, 0, 1360, 1308, 0, 1641, 303, 0,
695, 310, 0, 0, 0, 305, 383, 385, 306, 309,
313, 364, 325, 318, 0, 0, 0, 1295, 0, 1358,
1304, 1331, 1382, 1278, 1342, 0, 0, 868, 0, 0,
0, 0, 1383, 1279, 1343, 0, 0, 0, 0, 1641,
0, 0, 0, 0, 0, 0, 0, 0, 1529, 0,
0, 363, 857, 856, 364, 397, 1322, 0, 2061, 0,
946, 953, 954, 951, 0, 403, 411, 414, 0, 0,
1244, 1244, 0, 799, 0, 0, 477, 491, 0, 571,
530, 0, 483, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 742, 741, 180,
0, 460, 0, 694, 0, 775, 776, 770, 772, 0,
783, 787, 854, 0, 0, 0, 582, 462, 0, 0,
1597, 461, 0, 0, 473, 0, 563, 552, 560, 0,
0, 579, 0, 1474, 0, 585, 0, 0, 0, 1200,
0, 1206, 0, 1157, 1201, 0, 1839, 0, 0, 0,
0, 632, 1245, 1507, 886, 888, 734, 1072, 0, 1076,
362, 991, 2173, 2037, 0, 0, 0, 0, 2103, 0,
2104, 2132, 2110, 2114, 0, 2111, 2112, 1999, 2003, 2001,
1984, 2137, 0, 1716, 2170, 1832, 0, 1835, 0, 0,
1791, 0, 0, 1793, 0, 0, 1795, 1797, 0, 0,
0, 0, 0, 0, 2286, 2386, 2651, 2555, 0, 1748,
1750, 1753, 1755, 1754, 1756, 1752, 1761, 0, 1678, 1677,
2195, 1841, 0, 0, 0, 1106, 0, 1649, 1073, 0,
362, 1118, 1204, 532, 2504, 533, 1117, 1119, 1123, 0,
1204, 0, 571, 656, 0, 0, 285, 693, 0, 0,
308, 317, 366, 378, 0, 1641, 0, 0, 866, 875,
875, 863, 0, 0, 882, 1281, 738, 0, 0, 280,
1307, 1301, 0, 0, 0, 1531, 1532, 0, 0, 0,
0, 0, 1330, 362, 1303, 956, 0, 434, 441, 415,
419, 1523, 0, 1523, 0, 416, 420, 1523, 1523, 413,
1839, 430, 1244, 0, 1241, 1240, 797, 0, 519, 596,
0, 484, 0, 541, 0, 0, 810, 0, 0, 462,
550, 0, 508, 500, 501, 502, 504, 503, 505, 506,
507, 498, 497, 0, 694, 872, 373, 1481, 736, 0,
0, 707, 0, 773, 778, 777, 1523, 782, 0, 0,
0, 694, 0, 1600, 578, 552, 462, 550, 466, 476,
0, 567, 560, 563, 0, 564, 0, 568, 0, 0,
0, 582, 1533, 1105, 0, 1205, 0, 0, 0, 0,
0, 0, 1248, 627, 0, 0, 631, 622, 694, 1036,
2038, 0, 2039, 0, 0, 2116, 2115, 0, 2155, 1837,
0, 0, 1831, 0, 0, 1861, 0, 0, 0, 1800,
1816, 0, 1796, 1794, 0, 1805, 0, 1807, 0, 0,
0, 1757, 0, 2139, 2141, 0, 0, 1622, 1839, 0,
1619, 0, 1087, 0, 1088, 1112, 571, 0, 1123, 1126,
521, 571, 0, 799, 1309, 0, 696, 596, 0, 320,
0, 293, 1305, 0, 0, 877, 877, 0, 0, 0,
0, 0, 0, 391, 0, 0, 1525, 0, 1526, 1527,
1530, 399, 412, 0, 439, 0, 437, 436, 438, 0,
427, 0, 0, 0, 0, 0, 0, 402, 1239, 1243,
1242, 0, 0, 485, 0, 487, 0, 527, 528, 529,
0, 489, 537, 538, 0, 807, 0, 812, 0, 0,
0, 694, 549, 718, 0, 0, 0, 1475, 0, 0,
574, 0, 784, 785, 780, 0, 0, 730, 1481, 582,
560, 0, 552, 474, 0, 569, 563, 567, 565, 566,
0, 1478, 0, 584, 0, 1114, 1128, 1207, 1202, 1437,
0, 0, 630, 629, 724, 2040, 2119, 2105, 2117, 2150,
0, 0, 0, 0, 1830, 1833, 0, 1864, 0, 0,
0, 0, 1850, 0, 1798, 0, 0, 1806, 0, 0,
0, 1751, 0, 0, 1611, 1621, 1107, 0, 0, 536,
0, 1126, 1108, 530, 799, 525, 512, 1641, 314, 365,
0, 0, 0, 873, 876, 864, 865, 884, 883, 740,
1641, 0, 387, 386, 0, 390, 0, 435, 444, 0,
442, 417, 422, 0, 426, 424, 423, 418, 421, 0,
518, 0, 0, 0, 0, 0, 539, 0, 540, 570,
0, 811, 0, 0, 0, 720, 871, 0, 0, 460,
694, 774, 779, 0, 0, 1476, 1598, 563, 552, 560,
0, 0, 554, 1118, 1118, 447, 567, 569, 1479, 1480,
0, 0, 373, 1436, 1435, 1694, 0, 0, 2638, 2387,
2610, 0, 2167, 2156, 2167, 2167, 2147, 0, 0, 1862,
1863, 1848, 0, 0, 1852, 1815, 1828, 1759, 0, 1758,
2142, 2143, 1839, 362, 0, 799, 534, 1109, 541, 514,
286, 1641, 867, 0, 281, 0, 392, 1528, 440, 0,
425, 787, 595, 488, 546, 0, 545, 0, 543, 542,
808, 813, 0, 694, 861, 1481, 708, 786, 0, 567,
560, 563, 0, 553, 0, 1120, 1120, 569, 445, 0,
0, 569, 1419, 1694, 1418, 1420, 1428, 1425, 1427, 1426,
1424, 1251, 1252, 0, 2160, 2159, 2158, 2162, 2161, 0,
2154, 2152, 2153, 1834, 0, 1851, 1854, 0, 0, 0,
1860, 1853, 1855, 0, 1826, 1760, 1618, 1089, 0, 516,
799, 294, 874, 0, 443, 0, 544, 548, 547, 694,
719, 1477, 792, 569, 563, 567, 1118, 555, 1119, 557,
556, 449, 1114, 1115, 0, 1839, 0, 1429, 1423, 1676,
1663, 0, 0, 0, 0, 2164, 0, 2165, 0, 1857,
1858, 1859, 1856, 0, 0, 517, 0, 0, 721, 794,
0, 790, 793, 795, 796, 448, 567, 569, 1120, 373,
1113, 0, 1096, 1421, 1694, 0, 0, 2157, 2163, 2166,
0, 0, 535, 388, 0, 758, 0, 569, 446, 558,
569, 1116, 1422, 0, 0, 0, 1827, 0, 791, 450,
1839, 0, 0, 1849, 792, 1097, 0, 0, 0, 1249,
1250, 759
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
-1, 52, 53, 54, 55, 56, 1543, 2535, 2386, 3333,
3334, 57, 58, 1539, 59, 60, 61, 62, 1453, 63,
1028, 1789, 2550, 64, 2219, 809, 810, 811, 2120, 2121,
2474, 2122, 2108, 1336, 1931, 1475, 783, 784, 1435, 1476,
66, 67, 1330, 2095, 68, 69, 70, 1506, 1597, 1507,
1508, 1447, 1836, 4401, 5149, 3125, 2348, 3381, 3126, 3127,
3768, 3769, 3850, 5163, 5164, 71, 1613, 1614, 72, 73,
2516, 3298, 3903, 4765, 4766, 4999, 622, 4426, 4427, 4986,
4987, 5177, 5319, 5320, 2551, 1781, 3376, 3988, 3324, 4497,
3325, 4498, 3326, 4499, 3310, 3935, 3936, 4440, 3937, 3327,
4458, 5031, 3328, 2238, 5193, 2592, 1953, 1951, 4681, 5013,
4255, 4256, 5405, 5201, 5202, 5203, 5428, 4460, 4503, 4504,
5361, 5362, 3379, 3994, 4510, 4831, 4782, 3011, 75, 76,
718, 1815, 3489, 719, 2595, 656, 720, 2552, 81, 2585,
5195, 2586, 1569, 2400, 3916, 3469, 82, 1054, 3734, 4851,
5086, 5087, 83, 226, 84, 1797, 85, 86, 2530, 3317,
87, 2255, 3028, 88, 89, 3059, 3060, 3061, 90, 3759,
4699, 1509, 3114, 3115, 3116, 3117, 3789, 91, 1792, 2559,
2560, 92, 93, 94, 95, 2712, 2713, 96, 2460, 97,
98, 99, 100, 3824, 4360, 4474, 3156, 3340, 3960, 4472,
101, 3302, 2553, 1805, 2575, 2576, 4484, 4807, 4808, 4809,
5046, 5351, 4811, 5048, 5224, 5050, 4450, 5540, 5541, 4773,
3713, 4269, 103, 4451, 4452, 5208, 104, 2253, 105, 106,
1765, 2522, 2523, 3917, 2602, 3389, 3390, 3974, 3975, 107,
3240, 108, 4336, 4337, 657, 5215, 5155, 5305, 109, 110,
4340, 4341, 111, 112, 113, 114, 115, 710, 711, 712,
1145, 1146, 2983, 1093, 116, 2130, 117, 991, 992, 3277,
118, 1221, 2758, 2759, 4555, 119, 743, 1165, 1166, 2554,
121, 752, 2732, 754, 1968, 3471, 3472, 4059, 122, 123,
2709, 2735, 124, 1440, 2229, 2230, 4250, 2555, 658, 1206,
2599, 3006, 4924, 4675, 4925, 5372, 5514, 4676, 4938, 2928,
3663, 126, 659, 1481, 2305, 1113, 1114, 2605, 3393, 2198,
2199, 2200, 4014, 2201, 3395, 2202, 1414, 2203, 1064, 1065,
3401, 3402, 3403, 4010, 4017, 2544, 4841, 4842, 127, 1478,
2302, 128, 129, 130, 1522, 903, 1123, 1124, 131, 671,
672, 132, 5004, 133, 1067, 134, 4849, 135, 136, 774,
775, 1203, 1204, 137, 138, 2319, 3771, 139, 1479, 140,
141, 3150, 3151, 4352, 142, 143, 144, 1784, 1785, 145,
146, 3205, 3206, 147, 148, 149, 5454, 5516, 5517, 5518,
4023, 5375, 5456, 1196, 151, 152, 153, 190, 944, 945,
946, 855, 2556, 4833, 155, 156, 1436, 1437, 1438, 1439,
2224, 157, 158, 159, 3415, 3416, 160, 161, 162, 163,
1769, 164, 165, 4977, 166, 167, 1730, 168, 169, 1363,
1364, 1365, 1366, 2135, 2916, 616, 827, 1369, 1375, 1380,
1381, 1382, 171, 722, 1159, 1160, 1161, 1933, 172, 1199,
995, 723, 1154, 174, 724, 2181, 2958, 3678, 3679, 3680,
3683, 4660, 4228, 725, 2954, 177, 1975, 2718, 2721, 2950,
726, 2963, 2964, 2965, 3686, 727, 745, 1057, 2612, 728,
1297, 182, 183, 184, 836, 830, 831, 2921, 186, 2087,
2897, 761, 1386, 796, 797, 845, 2484, 2147, 2148, 2172,
2173, 1395, 1396, 2160, 2164, 2165, 2941, 2934, 2153, 4213,
4909, 4910, 4911, 4912, 4913, 4914, 4644, 2168, 2169, 1398,
1399, 1400, 2177, 187, 2901, 3637, 3638, 3639, 4190, 4191,
4205, 4201, 4629, 4896, 3640, 1194, 1406, 4637, 5484, 3641,
4885, 4886, 5102, 4209, 3648, 3674, 3364, 3365, 3366, 3642,
5271, 5272, 5481, 5482, 5104, 5105, 2204, 1866, 1095, 1298,
1096, 1878, 1299, 1850, 1098, 1300, 1301, 1302, 1101, 1303,
1304, 1305, 1104, 1842, 1306, 1307, 1860, 1875, 1876, 1370,
5106, 1309, 1310, 1311, 3644, 1312, 4141, 4593, 4579, 2821,
2822, 2115, 4137, 3579, 4131, 2082, 2887, 4918, 5123, 5124,
3621, 4169, 4609, 4883, 5263, 5382, 5383, 5470, 1313, 1314,
1315, 2884, 2078, 906, 1316, 3919, 2080, 2815, 1638, 1639,
1978, 2000, 2765, 2783, 2784, 2860, 2795, 3537, 2803, 2808,
3566, 3567, 2816, 2846, 1317, 2767, 2768, 3517, 2002, 1318,
950, 1642, 951, 1997, 2841, 1326, 1319, 1320, 1969, 820,
4892, 1149, 861, 3142, 1722, 953, 758, 1321, 1322, 1323,
1324, 1515, 876, 1116, 1117, 613, 605, 878, 3118, 614,
607, 608, 1727
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
#define YYPACT_NINF -4998
static const int yypact[] =
{
10978, 93, 17662, -4998, -4998, 93, 64034, -4998, 72007, 998,
1252, 103, 188, 17236, 72476, 79511, 263, 357, 18109, 93,
79511, 3904, 54184, 69193, 1381, 79511, 1644, 1422, 54184, 79511,
79980, 1551, 1592, 883, 80449, 72945, 67786, 1150, 79511, 1743,
1413, 80918, 73414, 1555, 73883, 1422, 49969, 123, 1540, 81387,
79511, 1665, 1911, 1562, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
28, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, 1539, -4998, 1166, 1690, 2000, 992, 1595, -4998, -4998,
2079, 64034, 79511, 79511, 79511, 1812, 79511, 1732, 79511, 200,
64034, 60282, 74352, 1884, 1717, 46217, 81856, -4998, 64034, 79511,
58406, 64034, 79511, 79511, 82325, 79511, 82794, 79511, 131, 70600,
79511, 1864, 79511, 79511, 58875, 83263, 1979, 1186, 256, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, 1719, 541, -4998, 282, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, 79511, 18512, 1644, 2079,
-4998, 1665, 79511, 2038, 79511, 1829, 83732, 1920, 79511, -4998,
79511, 1944, 84201, 818, 1706, 60282, 1995, 46686, 2029, 79511,
79511, 60282, 84670, 85139, 85608, 79511, 79511, -4998, -4998, 2059,
79511, 79511, -4998, 2192, 60751, 1647, 2214, 2277, 2271, 907,
-4998, 74821, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
63096, 357, -4998, -4998, 2251, 64503, 2291, -4998, -4998, 86077,
102891, 2091, -4998, 828, 64972, 61220, 2424, 2093, 47155, 2462,
-4998, 65441, -4998, 61689, 65910, -4998, -4998, -4998, -4998, -4998,
86546, -4998, 87015, 2169, 2291, -4998,103346, 62158, -4998, 2333,
87484, 87953, 88422, 2079, 2053, 1909, 1390, 41982, -4998, -4998,
-4998, 998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
417, 1445, 234, 216, 252, -4998, -4998, 225, 226, 238,
417, 2559, 2559, -4998, 79511, -4998, -4998, 1445, 641, 2086,
2086, 2086, 2312, 60, -4998, 2086, 2249, -4998, -4998, -4998,
-4998, 73883, -4998, 2115, 1644, 2128, 2565, 2190, -4998, -4998,
-4998, -4998, -4998, 2230, 2584, 2584, 79511, -4998, -4998, 2631,
2210, 2471, 2200, -4998, -4998, -4998, 2414, 2421, 2434, 183,
1644, 231, -4998, 2564, -4998, 2453, 28137, 28137, 1644, 75290,
88891, 259, 55123, 367, 75759, 2275, 1358, 2472, -4998, -4998,
-4998, 807, -4998, 2692, 2283, 2551, 2200, 1186, 43389, -4998,
2280, 541, 73883, -4998, -4998, -4998, 62627, 2607, 30065, 79511,
2294, -4998, 2325, 2294, 2304, 2341, 2000, -4998, 10978, 62627,
79511, 1501, 1501, 2766, 1501, 1577, 1869, -4998, 2409, -4998,
2668, 2632, 73883, 2356, 299, -4998, 1431, 2366, 158, 2368,
1534, 968, -4998, -4998, 948, 79511, 523, 2420, 76228, 9513,
2390, 541, 2395, -4998, -4998, -4998, 2577, 1037, -4998, -4998,
-4998, -4998, 2707, 2751, 7704, 355, 76697, -4998, -4998, -4998,
-4998, 79511, 79511, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, 2423, 1206, -4998, -4998, 2425, 2771, 2649,
10285, 938, 2738, 2604, 1301, 10309, 2680, 1326, 2794, 16467,
1472, 2815, 1565, 1744, 77166, 79511, 2778, 2821, 6462, 1842,
1015, 2695, 926, 2738, 2813, 2648, 1301, 2836, 5493, 79511,
-4998, 2762, 2873, 835, -4998, 440, -4998, 22885, 30065, 49500,
-4998, 541, 2569, 2716, 72, 2758, 64034, 2521, -4998, -4998,
79511, -4998, -4998,103801, 2614, -4998, 859, 64034, -4998, 2754,
2602, 47624, 79511, 64034, -4998, -4998, 64034, 79511, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, 2702, 2889, 79511,103801, -4998,
2845, 79511, 79511, -4998, -4998, 2576, -4998, -4998, -4998, -4998,
2086, 79511, 2997,103801, 2806, 220, 79511, 44, 3050, 79511,
2825, 44, 2639, 89360, -4998, -4998, 44, -4998, -4998, -4998,
79511, 79511, 2611, 1192, 2834, 2952, 44, 2855, 3074, 3078,
2866, 2715, 2879, 2325, 3051, 2862, 1025, 373, 203, 2001,
44, 2721, 89829, 90298, 79511, 2729, 79511, 2584, 64034, 64034,
64034, 79511, 3016, -4998, 2865, -4998, -4998, 1098, -4998, -4998,
-4998, -4998, -4998, 3010, -4998, 194, 3035, 2708, 3042, 1670,
-4998, -4998, 2763, -4998, 2763, 2763, 2714, 2714, 2897, 2717,
3057, -4998, -4998, -4998, 1934, 2763, 2714, -4998,104711, -4998,
1586, 1738, -4998, 230, -4998, 3171, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, 2723, -4998, 997, 1957, -4998, -4998,
2755, -4998, 3063, 294, -4998, 3064, -4998, 2722, 90767, -4998,
91236, 91705, 3066, 322, -4998, 60282, 3068, 294, 3069, 2722,
3070, 294, 3072, 585, 3073, -4998, 1056, 3061, 3075, 230,
3076, 2039, 2722, 63565, 3077, 391, -4998, 3080, 400, -4998,
3082, 2953, -4998, 30065, -4998, 2839, -4998, 1540, -4998, 1851,
-4998, 53242, -4998, 1390, 1445, -4998, 79511, 1445, 79511, 1445,
79511, 1445, 79511, 1445, 79511, 79511, 79511, 1445, -4998, -4998,
-4998, 79511, 2747, 79511, 79511, -4998, -4998, -4998, 69662, 60282,
70131, -4998, 79511, -4998, 167, 1644, -4998, -4998,103801, 3199,
60282, 2584, -4998, 1943, -4998, -4998, 79511, 79511, -4998, -4998,
-4998, 3011, 79511, 3081, 3088, 69662, 60282, -4998, 92174, -4998,
63096, 2972, 2764, -4998, -4998, -4998, -4998, -4998, 2082, 1637,
248, 1859, 30065, 2767, 248, 248, 2769, 3091, -4998, -4998,
-4998, 306, 2772, 2773, -4998, 307, 307, -4998, 2780, 2786,
-4998, 324, 2787, 2789, 2188, 2234, 325, 2793, 2795, 2796,
1934, 248, 2797, 30065, -4998, 2798, 307, 2799, 2801, 2802,
2316, 2803, -4998, 2319, 2804, 336, 350, 2805, 2807, -4998,
2780, -4998, 329, 2808, 2809, 2810, 2811, 2812, 2814, 2816,
2818, 30065, -4998, 30065, 30065, -4998, 26686, 541, 2326, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, 332, 6591, -4998,
2831, -4998, -4998, 2963, -4998, -4998, 30065, -4998, -4998, 435,
-4998, 337, -4998, -4998, -4998, 541, 3048, 2817, -4998, -4998,
935, 2819, -4998, 1808, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, 54654, 3265, -4998, 375, 1644, 440,
1008, 3209, 51829, 52300, -4998, -4998, 3083, -4998, 79511, -4998,
-4998, 541, 160, 1978, -4998, -4998, 53242, -4998, -4998, 998,
16639, 1988, 2294, 79511, 79511, 3270, -4998, -4998, -4998, 1998,
-4998, 2820, -4998, 2325, -4998, -4998, 2000, 2000, 30065, 2000,
296, 1341, 28619, 30547, 3154, 3041, 1297, 1543, 3156, -4998,
3045, 1577, 1869, 73883, 79511, 92643, 2955, 30065, -4998, 3257,
2916, 2919, 2975, 50907, -4998, 2922, 2890, 2924, 2980, 56530,
2846, 2930, 2931, 2986, -4998, 3112, -4998, -4998, 2935, 2936,
93112, -4998, -4998, 993, -4998, -4998, -4998, 993, -4998, 2868,
1559, 959, 1293, 2939, 321, 212, 3260, -4998, 1387, -4998,
-4998, 2995, -4998, 5913, 79511, 3200, 5647, 3071, 355, 2993,
-4998, -4998, -4998, 3130, 2954, 79511, 2958, 3097, 355, 330,
93581, -4998, -4998, 79511, -4998, -4998, -4998, -4998, 7042, 3237,
25776, -4998, 2009, 2960, 2942, 2971, 79511, 66848, 2205, 3084,
3095, 1587, 2212, 257, 3026, 79511, 1668, 3102, 79511, 2893,
2978, 2982, 3198, 2899, 1460, 3303, 2900, -4998, -4998, -4998,
3268, -4998, 2340, 2361, 3099, -4998, 3206, 3250, 8071, 2969,
2970,101526, -4998, 2996, 1076, 48093, 79511, 79511, 2998, 2999,
94050, 7042, 3279, 3009, 3012, 3002, 3003, 50, 3304, 1378,
3005, -4998, -4998, -4998, 1378, 3007, 3008, 94519, 7042, 3293,
79511, 3014, 3015, 79511,104711, 355, -4998, 3362, 355, 355,
1925, 3363, 3020, 268, 3185, 1356, 44, 2900, 2718, -4998,
3029, 3030, 963, -4998, 3157, 79511, 3036, 3043, 1799, 1644,
-4998, -4998, 3049, 3134, 3052, 106, -4998, -4998, 1345, 3059,
73883, 3159, 3161, 1668, 394, 1389, 2900, -4998, 3054, 3055,
2899, 2899, 79511, 79511, 79511, 79511, 79511, 269, 3410, 3418,
3062, 433, 1087, 2976, -4998, 1378, 59344, 3065, -4998, 1378,
79511, 180, 1409, 2900, 1676, 1714, -4998, -4998, -4998, 1186,
-4998, 30065, 30065, 30065, 2985, -4998, 1674, 16639, 109, -4998,
2363, 7184, 2984, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, 79511,
-4998, 79511, -4998, 3251,103801, 3192, 3262, -4998, 3025, -4998,
3267, 355, -4998, 79511, 79511, 3272, 3208, 3276, 3277, 3212,
1059,103801, 3213, 3281, -4998, 3282, 3283, 3090, 179, 3085,
3013, 3460, 3350, 79511, 56530, -4998, 3479, 993, -4998,103801,
3228, 3364, -4998, 79511, 3246, 647, -4998, 3397, 3087, -4998,
-4998, 634, 79511, 236, 3086, -4998, -4998, 3365, 60282, 930,
3366, 1644, 3093, 3371, 3243, 1644, 60282, 3288, 79511, 79511,
79511, 79511, -4998, -4998, 3252, 845, 290, -4998, 59344, 3261,
-4998, 79511, 3264, 2718, 3269, 3503, 649, 2086, 94988, 3380,
95457, 3089, 3092, 3092, 3518,103801, 3340, -4998, 2135, -4998,
3205, -4998, 64034, -4998, -4998, 64034, -4998, -4998,103801, 79511,
3094, -4998, 3104, -4998, -4998, 30065, -4998, -4998, -4998, 2559,
-4998,103801, 2763, 2763, -4998, -4998, 3524, 3158, 3160, 2559,
-4998, 2559, -4998,103801, -4998, 3101, 3108, 2559, 3162, 3169,
3172, -4998, 3107, 3174, 2559, -4998, -4998, 2127, -4998, -4998,
64034, 64034, -4998, 60282, 60282, 3415, 391, 3417, 3137, 3429,
3165, 48093, 48093, -4998, 412, 64034, -4998, 60282, 64034, -4998,
79511, -4998, 79511, -4998, -4998, -4998, -4998,103801,103801, -4998,
60282, 59344, 3441, 3448, 585, 79511, 79511, -4998, 79511, 79511,
-4998, 79511, 79511, 2012, 95926, 1390, 62627, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, 79511, -4998, 79511, -4998, 79511,
-4998, 79511, -4998, 79511, -4998, -4998, -4998, 79511, -4998, 79511,
2016, -4998, -4998, 2027, 1461, 79511, 79511, 798, 64034, 79511,
3326, 64034, 64034, 79511, 79511, 79511, 79511, 79511, 3194, 2819,
972, -4998, 1308, 882, 73883, 3338, -4998, -4998, 2037, 1665,
1095, 79511, 1182, 2230, -4998, -4998, -4998, -4998, 70131, 69193,
3440, 120, 79511, -4998, -4998, 5860, 30065, 541, 27650, -4998,
-4998, 16639, 3164, 30065, 30065, 3128, 2559, 2559, -4998, 409,
30065, 30065, 30065, 2559, 2559, 30065, 5054, 30065, 48093, 30065,
35367, 23861, 30065, 30065, 27168, -4998, 30065, 3368, 36807, 30065,
1008, 3369, 30065, 1008, 5054, 541, 3609, 3609, 2777, 6966,
3135, 541, -4998, -4998, 1165, 2559, 1165, -4998, 274,103801,
30065, 30065, 30065, 30065, 56530, 3221, 235, 79511, 30065, 3142,
2165, -4998, 30065, -4998, 3143, 30065, 3225, 272, 30065, 30065,
30065, 37278, 30065, 30065, 30065, 30065, 30065, 30065, -4998, 38699,
408, 3465, 3487, 994, 498, 77635, 28137, 3481, -4998, 22885,
-4998, 293, 3481, -4998, -4998, -4998, 79511, 3265, -4998, -4998,
-4998, -4998, 3240, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
214, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
3163, -4998, -4998, -4998, -4998, 3163, -4998, 3167, 3462, 3466,
585, 79511, 62627, -4998, -4998, -4998, 2427, -4998, 30065, -4998,
2048, 1965, 79511, 79511, -4998, 3442, -4998, 3168, -4998, 7244,
3442, -4998, -4998, 35846, 3284, 3435, 3377, -4998, -4998, -4998,
3175, 16639, 31029, 31029, -4998, 2122, 16639, 2132, -4998, -4998,
-4998, -4998, -4998, -4998, 205, -4998, 79511, 171, 3154, 1543,
3232, 130, 3621, 79511, -4998, 43858, 2057, -4998, 60282, 79511,
79511, 3376, -4998, 3613, -4998,104711, -4998, 3181, -4998,104256,
100147, -4998, -4998, 702, -4998, 884, 60282, -4998, 79511, 79511,
-4998, 56530, 60282, 79511, 79511, -4998, 60282, 79511, 79511, -4998,
-4998, -4998, -4998, -4998, 53713, 115, 69193, 3318, 68255, -4998,
-4998, 3184, 79511, 3244, 3457, 3461, 1332, -4998, -4998, 96395,
-4998, 3408, 60282, 79511, 79511, 30065, 3412, 79511, 79511, -4998,
334, 3278, 3286, -4998, 79511, 3287, 3436, 64034, 3195, 79511,
79511,103801, 3274, 878, 64034, 3245, 48562, 64034, 64034, 79511,
79511, 79511, 79511, 3335, 3533,103801, 79511, 3477, 1311, 73883,
242, 1696, 2900, 3428, -4998, 331, -4998, 60282, -4998, 79511,
3420, -4998, -4998, -4998, 55592, 3657, 3331, -4998, -4998, -4998,
96864, -4998, -4998, 3431, -4998, 2075, -4998, 60282, 60282, 79511,
8276, 97333, 1419, 3443, -4998, -4998,103801, -4998, 79511, 78104,
79511, 79511, 3482, 79511, 71069, 97802, 98271, 1528, 1622, 3485,
79511, 71538, 3486, -4998, 3359, 79511, -4998, -4998, 56999, 60282,
79511, 815, 56530, -4998, -4998, 79511, -4998, 942, -4998, 79511,
3791, 3437, -4998, -4998, 3307, 3317, 79511, 333, 1870, 2900,
3594, 79511, 79511, 3226, 2088, 60282, 79511, 56530, -4998, 3446,
133, 60282, 79511, 55592, -4998, 3452, 73883, 73883, 60282, 79511,
73883, -4998, 79511, 88891, -4998, 60282, 886, -4998, 60282, 79511,
55592, -4998, 3459, 3406, 60282, 79511, 17960, -4998, -4998, -4998,
355, -4998, -4998, -4998, -4998, -4998, 79511, 79511, 355, 79511,
79511, 355, 1258, -4998, 60282, 79511, -4998, -4998, -4998, 3375,
60282, 79511, 79511, 417, -4998, 60282, 3086, 79511, 56530, -4998,
79511, 7489, 79511, 79511, 79511, 79511, 79511, 79511, 60282, 79511,
-4998, -4998, 1062, 1173, 1143, 1768, 762, 79511, 3557, 79511,
98740, 60282, 79511, 79511, 1644, 79511, 56530, 1632, -4998, -4998,
3381, -4998, 60282, 886, -4998, 8864, 79511, 79511, 79511, 3336,
3339, 317, 3426, -4998, -4998, -4998, 110, 110, 3463, -4998,
30065, 30065, 29101, 3273, -4998, -4998, 30065, -4998, -4998, -4998,
1044, 3711, 99209, 1044, -4998, 1044, 3538, 3322, 3323, 1044,
79511, 1044, 1044, 79511, -4998, -4998, -4998, -4998, 3537, 79511,
1044, 1044, 1044, 3444, -4998, -4998, 3444, 195, 30065,103801,
79511, -4998, 2094, -4998, 3289, 845, -4998, -4998, 56530, 79511,
186, 872, 3610, 3484, 67317, 3254, 3601, 79511, 3321, 79511,
3728, 3373, 73883, 2611, -4998, 3254, 79511, -4998, 1694, 69193,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, 79511, -4998, -4998,
3603, 79511, 30065, 3453, -4998, 1644, 2611, 2611, 2611, 2611,
-4998, -4998, -4998, -4998, 3496, 2019, -4998, 3285, 2611, 79511,
3409, 3625, 3254, 3291, 3626, -4998, 2718, 3627, 1078, 79511,
3506, 67317, 3353, 3337, 3517, 3747, 2086, 1644, 3522, 3509,
-4998, 51368, -4998, 2611, 26231, 3667, 6524, 3510, 3571, 63096,
3611, 3614, 3629, -4998, 194, -4998, 3754, 1670, 3634, 30065,
2108, 3309, 230, -4998, -4998, 3313, 3108, 3332, 3333, 3312,
3315, -4998, 2559, 228, 3316, 1115, 808, 3449, 2559, 3560,
3319, -4998, 294, -4998, 2722, -4998, 79511, -4998, 79511, 79511,
79511, 79511, 322, -4998, -4998, 294, 2722, 294, 585, -4998,
3590, 230, 2722, 3447, 3649, 63096, -4998, 391, -4998, 400,
-4998, 3534, 585, -4998, 3548, 2086, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, 2117, -4998, 79511, -4998, 3623, 3624,
3628, 3630, 3632, 3325, 3334, 3370, 79511, 3341, 3325, 355,
3341, 3341, 3325, 2819, 2819, 3325, 3334, 59813, 3792, 3651,
-4998, 3422, 3342, 3664, 192, -4998, 209, 108, 3586, -4998,
-4998, -4998, -4998,103801, -4998, 60282, 3384, 2584, 2584, -4998,
201, 3567, 3355, 59813, 3794, 585, -4998, 64034, -4998, -4998,
103801, 3439, 3458, 64034, 3575, 3416, 64034, -4998, -4998, 64034,
-4998, -4998, -4998, -4998, -4998,103801, -4998, 3633, 79511, 79511,
2119, -4998, -4998, 1900, -4998, 1916, 30065, 468, -4998, 14479,
2137, 30065, 3374, 3385, -4998, 3691, -4998, -4998, -4998, -4998,
-4998, -4998, 3693, 3398, 3698, -4998, 2139, 2167, 2168, 3400,
3401, 2949, 5689, 3404, 14578, 3407, 3378, 35367, 35367, 26686,
2171, -4998, 35367, 3411, 3582, 2174, 13332, 3405, 3419, 14808,
29583, 30065, 29583, 29583, 15400, 3405, 3427, 2180, 56530, 3598,
15910, 2199, -4998, 30065, 56530, 5998, 30065, -4998, 30065, -4998,
3432, -4998, -4998, 2765, 2765, 2765, 5054, -4998, 3454, -4998,
35367, 35367, -4998, 1319, 26686, -4998, -4998, 3732, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, 2785, -4998, 3413, -4998, -4998,
3659, 2408, 48093, 4503, 30065, 303, 30065, 3142, 30065, 3516,
2765, 2765, 2765, 1014, 418, 418, 288, 288, 288, 1904,
498, -4998, -4998, -4998, 3445, 3451, 3455, 3637, 3456, 30065,
-4998, 2233, 2332, 79511, 4195, 5347, 5655, -4998, -4998, -4998,
39637, 3483, 109, 3483, -4998, 1186, 2559, 1165, 52771, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, 79511, 16639, -4998, -4998,
3688, 3464, -4998, -4998, 30065, -4998, -4998, 2225, 3468, 957,
814, 2362, 2362, 2122, 960, -4998, -4998, 3505, -4998, 30065,
2198, -4998, 2209, -4998, -4998, -4998, -4998, 2819, -4998, 3704,
-4998, -4998, -4998, 39637, 3498, 3511, 687, 42920, 3668, -4998,
79511, -4998, 79511, 359, -4998, 3470, -4998, -4998, -4998, -4998,
-4998, -4998,100147, 1957, -4998,104256, -4998,104256, -4998, 1957,
3893, -4998,100147, 1826, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, 60282, 60282, 3671,
79511, 3669, 3674, 30065, 343, 79511, 3467, 3471, 1462, 3761,
79511, -4998, 3809, 585, -4998, -4998, 3553, -4998, 16639, -4998,
-4998, -4998, -4998, -4998, 60282, 79511, -4998, 63096, -4998, 79511,
-4998,103801, -4998, -4998, -4998, 79511, 3508, 79511, -4998, 79511,
79511, 79511, -4998, -4998, -4998, -4998, -4998, -4998, -4998, 1108,
103801, -4998, -4998, 79511, 79511, 876, 3558, 3559, 79511, -4998,
149, 3157, 9012, 79511, 79511, 79511, 3764, -4998, -4998, -4998,
-4998, 3695, -4998, 3816, -4998,100147, -4998, 2722, 1117, 3562,
2900, 3706, -4998, 3823, 3692, -4998, 3608, 1096, -4998, -4998,
3618, -4998, -4998, -4998, -4998, 3828, 585, 3829, 585, 79511,
79511, 79511, 79511, 3631, -4998, -4998, -4998, -4998, 3635, 3756,
-4998, 56530, 56530, 56530, 2203, -4998, -4998, 1644, -4998, -4998,
-4998, -4998, -4998, -4998, 3786, -4998, 2236, -4998, 16, -4998,
-4998, -4998, -4998, -4998, 3832, 60282, 79511, 9287, 79511, 79511,
79511, 3707, 1611, -4998, 1083,103801, -4998,101981, -4998, -4998,
2257, -4998, 3515, 79511, 3585, 60282, 3564, -4998, -4998, -4998,
3844, 3507, 3507, -4998, -4998, 3507, -4998, -4998, -4998, 3771,
3702, -4998, 327, 3705, 60282, 3577, -4998, -4998, -4998, -4998,
3855, 3604, -4998, -4998, 3605, 1962, 2900, 2718, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, 3639, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, 1432, -4998, -4998, 1271, 424,
2032, 2900, -4998, 365, -4998, 3606, -4998, 3607, -4998, -4998,
-4998, 3776, 3777, 3783, 3616, 3617, 3675, 3620, 3640, 3677,
-4998, 3641, 3682, 3642, 3684, 3643, 3887, 585,103801, 3774,
1644, 3678, 3891, 585, -4998, 3650, -4998, 3652, -4998, 2258,
4001, -4998, 79511, -4998, 338, 2136, 2900, -4998, 3653, -4998,
60282, 79511, -4998, -4998, -4998, 30065, 3573, 3574, 3578, 16639,
16639, 30065, -4998, -4998, 16639, 3569, -4998, -4998, -4998,103801,
79511, 3851, -4998, -4998, 1044, 79511, 79511, -4998, 3853, -4998,
-4998, 3856, 79511, 3858, -4998, -4998, -4998, -4998, 490, 490,
-4998, -4998, 3896, 7909, 3583, 348, -4998, 56530, 45265, 2157,
2292, 304, 44, -4998, 63096, 79511, 63096, -4998, 872, 3692,
79511, 79511, 79511, 3591, 3587, -4998, -4998, -4998, -4998, 60282,
761, 60282, 2559, -4998, -4998, 3665, -4998, 79511, 2086, 4079,
3921, -4998, 3507, -4998, 4038, 3078, 930, 3750, 1759, 2715,
3979, 2325, 361, 56530, 3337, -4998, -4998, -4998, -4998, 79511,
79511, 845, 1644, -4998, 3600, 3599, -4998, 79511, 3934, 79511,
79511, 79511, 79511, 3384, 3612, 79511, 3615,103801, 79511, 2175,
2899, 4059, 3952, 1665, 3353, 3696, 3953, 73883, 3638, 2268,
-4998, -4998, -4998, 2273, 191, -4998, 1644, 63096,101071, 3943,
-4998, 6524, -4998, -4998, 6524, 920, 79511, 3927, -4998, -4998,
1665, -4998,103801, 3619, -4998, 2278, -4998, 2279, -4998, -4998,
-4998, 2559, -4998, -4998, 962, 962, 3622, -4998, 3644, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, 3636, -4998, -4998, -4998,
391, 3679, 585, 3680, 585, -4998, -4998, -4998, -4998, 79511,
-4998, 79511, 59344, 585, -4998, -4998, 79511, -4998, 3959, -4998,
-4998, 3760, 3762, 3765, 3766, 3782, 79511, 3325, -4998, 3645,
60282, 1502, -4998, -4998, 3835, -4998, -4998, 73883, 3767, -4998,
-4998, -4998, -4998, 3982, 3992, -4998, -4998, -4998, 1036, -4998,
79511, 79511, 60282, 69662, 423, 60282, -4998, 3930, 3931, -4998,
-4998, 3935, 355, -4998, 3936, 3938, 3940, -4998, 3941, 3945,
-4998, -4998, -4998, 3654, 15356, 30065, -4998, 4007,103801, -4998,
8303, -4998, -4998, 30065, 30065, -4998, 30065, -4998, -4998, -4998,
-4998, -4998, -4998, 2265, 30065, -4998, 30065, 3995, -4998, 24349,
4151, 4151, 3672,103801, 35367, 35367, 35367, 35367, 1649, 2799,
35367, 35367, 35367, 36328, 35367, 35367, 35367, 35367, 35367, 35367,
36328, 586, -4998, 3874, 30065, 30065, 4009, 3995, -4998,103801,
3683, 3405, 3694, 3699, 30065, -4998, -4998, 2295, 37757, 3703,
56530, -4998, 30065, 13825, 2305, 3731, 15934, 541, 8324, 370,
30065, 3253, 3361, 30065, 2309, 30065, 4010, -4998, -4998, -4998,
-4998, 3697, -4998, -4998, 3917,103801, -4998, 30065, 3709, 3845,
35367, 35367, 4562, -4998, 5586, 30065, 26686, -4998, 3463, 3734,
44327, -4998, 24837, 3701, 1422, 1422, 1422, 1422, -4998, 79511,
79511, 79511, 40106, 4017, 3712, 39168, 78573, 3710, 2467, -4998,
78573, 79042, 78573, -4998, 3714, -4998, 541, 30065, 4015, 3716,
4015, 440, 3717, -4998, -4998, -4998, -4998, 1665, -4998, 3713,
-4998, 3468, 1568, -4998, -4998, -4998, 1075, -4998, 3795, -4998,
-4998, -4998, 3710, 31511, 3863, -4998, -4998, -4998, 3759, 2310,
-4998, -4998, 4122, 3863, -4998, -4998, 2322, 43858, 3498, 30065,
541, 2328, 1910, -4998, -4998,100147, -4998, 3793, 2722, 2722,
1755, 3325, 4047, 1755, 8849, -4998, -4998, 40575, 79511, 79511,
-4998, 79511, 2334, 1554, 79511, -4998, 79511, -4998, -4998, -4998,
-4998, 4174, -4998, 79511, -4998, -4998, 3784, 3787, 79511, 79511,
79511, 79511, 3994, -4998, -4998, 2368, -4998, -4998, 60282, 79511,
-4998, -4998, -4998, 396, 2443, 2900, -4998, 3807, -4998, -4998,
4014, 79511, -4998, 4163, 3824, 79511, 4072, 79511, 3735, -4998,
1554, 3846, 4056, 291, 2899, 268, 4979, -4998, 148, -4998,
-4998, 3815, -4998, 79511, -4998, 79511, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, 3876, -4998, -4998, -4998, -4998, 56999, -4998,
-4998, 79511, -4998, 56530, 45265, 56530, 79511, -4998, 1446, 443,
2520, 2900, -4998, 3830, -4998, 4083, 3833, 3834, 3883, 204,
266, 3836, 3838, 3886, 3753, 3757, 3763, -4998, 56530, 45748,
3915, 79511, 2722, 3768, 3799, 79511, 417, 393, -4998, -4998,
-4998, -4998, 1644, 2722, 1644, 79511, 79511, 79511, 79511, 417,
56530, -4998, 4194, 3859, 79511, 79511, 79511, 79511, -4998, 3817,
-4998, 79511, 79511, 4091, 240, 2102, 60282, 79511, 79511, 60282,
79511, 79511, 79511, 79511, 79511, 79511, 79511, 3980, -4998, 4183,
4111, 2085, 4153, 3847, 79511, -4998, 79511, 1644, -4998, 3157,
79511, 79511, 79511, 79511, -4998, -4998, -4998, -4998, -4998, 3463,
-4998, 3773, 4052, 1044, -4998, 4053, 4060, 1044, 1044, 4068,
1044, -4998, -4998, 44, -4998, 211, 79511, -4998, 2357, 79511,
-4998, -4998, -4998, 3713, 2340, 2361, -4998, -4998, -4998, -4998,
-4998, -4998, 79511, 3781, 79511, 79511, 35367, -4998, 1816, 1490,
984, -4998, 4065, 79511, 3086, -4998, -4998, -4998, 933, 79511,
-4998, -4998, -4998, -4998, -4998, 759, 3612, -4998, 4085, 67317,
2722, 60282, 60282, 2722, -4998,103801, 3797, 3337, -4998, 229,
3881, 60282, 930, 1216, 99678, 3093, 3837, 4013, 39637, 1432,
-4998, 3801, 3966, -4998, 3806, 3804, -4998, -4998, 79511, 3692,
59344, 2347, 2718, 4260, 811, 2053, -4998, 68724, 4003, 3612,
4085, -4998, 2899, 4023, 4024, -4998, 1665, 79511, 3384, 3337,
1644, 79511, 3244, 45265, -4998, 4302, -4998,100147, 30065, 30065,
-4998, 3813, -4998, 3818, 6524, -4998, 3890, 3819, -4998, -4998,
-4998, -4998, -4998, 3901, 3821, 79511, -4998, 3825, 3634, -4998,
3634, -4998, 3831, -4998, -4998, -4998, -4998, -4998, -4998, 79511,
-4998, 79511, -4998, 585, -4998, 3947, -4998, 585, 79511, 79511,
79511, 79511, 79511, 79511, 3325, 355, -4998, 4139, 59813, -4998,
-4998, 2353, 79511, -4998, -4998, -4998, 4207, -4998, -4998, 120,
4152, -4998, -4998, 1068, 1068, 1068, 4108, 1068, 1068, 1068,
1068, 1068, -4998, 30065, 16639, -4998, 3842, -4998, 16639, 16639,
16639, 3843, 9161, 16639, 4009, -4998, 2359, 30065, -4998, 4326,
4326, 4326, 4575, 4156, -4998, 1275, 3848, 4326, 4326, 4326,
429, 376, 376, 237, 237, 237, 4151, 586, 16639, 16639,
-4998, -4998, 3860, -4998, -4998, -4998, 3405, -4998, 31993, 1091,
4277, 36807, -4998, -4998, -4998, 3889, 3892, 3861, -4998, 30065,
32475, 3864,104711, 4043, -4998, -4998, -4998, 1711, 30065, 30065,
4637, -4998, 7749, 30065,103801, -4998, 2360, 4637, 500, 30065,
3430, 4262, 30065, 30065, 5641, 9776, 3866, 30065,100602, -4998,
-4998, -4998, 2364, 30065, 79511, 79511, 79511, 79511, -4998, -4998,
-4998, 78573, 79042, 78573, 3865, 38228, 25307, 2467, 3869, 79511,
-4998, -4998, 3872, 39637, 4131, 4074, -4998, 39637, 4074, 1452,
4074, 4132, 3964, 44796, -4998, -4998, 3877, -4998, 4078, -4998,
2009, 16639, 4310, 4187, 2377, 4187, 1644, 3880, 48093, -4998,
-4998, -4998, -4998, 3969, -4998, 4096, 16639, 28137, -4998, 1665,
2567, 79511, 541, 112, -4998, 3900, 79511, -4998, 3863, 16639,
-4998, 3962, 2373, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
3973, 69193, 4214, -4998, 30065, 2374, -4998, 3932, 4308, 193,
2375, 2379, 1554, -4998, 4193, -4998, 1731, 4189, 227, -4998,
585, -4998,103801, -4998, 79511, 79511, -4998, -4998, -4998, -4998,
79511, 2846, -4998, -4998, 79511, 79511, 79511, 79511, -4998, -4998,
60282, 79511, -4998, 79511, -4998, 56530, 2292, 417, 1816, 4202,
4203, 4120, -4998, 355, -4998, 1816, 4121, 417, 79511, -4998,
-4998, 3360, -4998,103801, 585, 585, -4998, -4998, -4998, -4998,
-4998, 3918, -4998, 4335, 3998, 79511, 79511, 79511, 79511, 79511,
60282, 79511, 79511, 2559, 2559,103801, 3905, -4998, 2559, 2559,
3906, -4998, 60282, 79511, 79511, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, 3993, -4998, 30065, 4330,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, -4998, 60282, 79511, 3996, -4998, 4000, -4998,
728, -4998, -4998, 79511, 79511, 79511, 79511, 4252, -4998, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998, 4250,
79511, -4998, -4998, 1644, 1644,103801, 585, 585, -4998, -4998,
-4998, 4004, -4998, -4998, 3916, 4197, 1044, -4998, 1044, 1044,
-4998, -4998, 1044, -4998, 3920, -4998, 44, 4290, -4998, 1554,
1796, 4244, -4998, 4248, 30065, -4998, 2014, 4575, -4998, 4301,
4380, -4998, -4998, -4998, -4998, 3086, 2086, 3988, -4998, -4998,
64034, 401, -4998, 4229, 186, 4147, 67317, 365, 328, 3937,
4063, -4998, 2722, 2722, 3991, 79511, 4385, -4998, -4998, -4998,
-4998, -4998, -4998, 60282, 3564, -4998, 4166, 1046, 4267, 79511,
30065, 3710, -4998, 1692, 4270, -4998, 1644, -4998, -4998, 4070,
3337, -4998, 1079, 79511, 4160, 67317, 3384, 2380, -4998, -4998,
-4998, 3985, 4381, 3353, -4998, 365, 4003, -4998, -4998, 4355,
4040, 3990, 4403, -4998, 4040, 4275, 4165, 3958, -4998, 3638,
-4998, -4998, 16639, 16639, 1644,105166, 6524,103801, 4283, 79511,
190, 4247, 585, 2388, -4998, -4998, 585, 585, -4998, 79511,
-4998, 3325, 3325, 3325, 3325, 3325, -4998, 4168, -4998, -4998,
4237, -4998, 585, 59813, -4998, -4998, -4998, -4998, -4998, 1068,
-4998, -4998, -4998, -4998, -4998, 16639, -4998, -4998, -4998, -4998,
-4998, 9823, 35367, 4284, -4998, 3965,103801, -4998, 3967, 2412,
2413, -4998, -4998, 1091, -4998, 4277, -4998, -4998, -4998, 10009,
4016, 16639, 4075, 3968, 3970, 4637, 4637, 7749, 2435, -4998,
4637, 30065, 30065, 4637, 4637, 30065, -4998, -4998, 10132, 4161,
-4998, -4998, 10723, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
57468, 3974, 3598, 78573, 3976, 79511, 2467, 39637, -4998, -4998,
2397, -4998, 39637, 4245, -4998, 39637, 64034, -4998, 79511, 3977,
79511, -4998, 32957, 30065, 4018, -4998, -4998, 4018, -4998, -4998,
3983, -4998, 79511, 2817, -4998, 687, -4998, -4998, 4379, 40575,
4338, 30065, -4998, -4998, -4998, -4998, 59813, 4190, 59813, 1554,
10950, 4193, 40575, 49031, 79511, -4998, 79511, -4998, 4149, 4193,
3989, 3086, -4998, -4998, -4998, -4998, -4998, -4998, 4002, -4998,
-4998, -4998, -4998, 4071, -4998, -4998, 62, 3338, -4998, 2441,
-4998, -4998, 4441, 4332, 4333, -4998, -4998, -4998, -4998, -4998,
-4998, 4183, -4998, -4998, 45265, 60282, 79511, -4998, 4076, -4998,
-4998, -4998, -4998, -4998, -4998, 42451, 48093, -4998, 204, 3997,
3999, 266, -4998, -4998, -4998, 79511, 11231, 4008, 636, 3338,
79511, 79511, 4011, 4012, 4019, 1667, 1255, 1845, 3325, 4322,
79511, -4998, -4998, -4998, 4183, -4998, -4998, 79511, -4998, 1044,
-4998, -4998, -4998, -4998, 56530, -4998, 3957, 3920, 1644, 64034,
4451, 4451, 79511, -4998, 11582, 4221, -4998, -4998, 732, 3988,
4255, 4297, -4998, 4020, 79511, 933, 4021, 79511, 4022, 4134,
1655, 1655, 79511, 79511, 79511, 2446, 1665, 2722, 3799, 930,
4352, 67317, 4394, 3692, 386, -4998, -4998, 1692, -4998, 1094,
4369, 4067, -4998, 79511, 4468, 79511, 3384, 3612, 79511, 4025,
-4998, -4998, 68724, 4233, 2292, 79511, 2175, 4003, 3353, 1321,
79511, -4998, 924, -4998, 1665, -4998, 79511, 73883, 40575, -4998,
104256, -4998, 2456, -4998, -4998, 4100, 3483, 4141, 4148, 4035,
79511, 928, -4998, -4998, -4998, -4998, -4998, -4998, 79511, -4998,
423, -4998, -4998, 4913, 35367,103801, 2460, 30065, -4998, 30065,
-4998, -4998, -4998, -4998, 669, -4998, -4998, -4998, 4637, 4637,
4637, -4998, 4470, 3463, -4998, -4998, 2465, 4489, 34403, 4450,
-4998, 79511, 2479, -4998, 30065, 4041, -4998, -4998, 39637, 2397,
4042, 2490, 79511, 2491,103801, 4044, 721, 4045, 23373, 4048,
-4998, -4998, -4998, -4998, -4998, 16639, 16639, 79511, -4998, -4998,
-4998, -4998, 4098, 79511, 2505, -4998, 809, 16639, 1502, 1755,
423, 4308, 3086, -4998, 4049, -4998, -4998, 2899, 1517, 79511,
3086, 79511, 3988, -4998, 79511, 4138, -4998, -4998, 56530, 4357,
-4998, -4998, 4113, -4998, 986, 3338, 79511,103801, -4998, 126,
4383, -4998,103801,103801, -4998, -4998, -4998, 30065, 4144, -4998,
-4998, -4998, 30065, 30065, 66379, -4998, -4998, 79511, 79511, 79511,
79511, 79511, -4998, 585, -4998, -4998, 2513, -4998, 41513, -4998,
-4998, 3050, 1644, 3050, 1878, -4998, -4998, 3050, 3050, -4998,
3483, -4998, 4451, 1018, -4998, -4998, -4998, 2015, 4287, 4061,
30065, -4998, 1172, 4269, 4154, 4066, -4998, 64034, 4545, 3612,
4085, 79511, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, -4998, 2518, 3692, 4398, 3337, 3990, -4998, 79511,
4102, -4998, 39637, -4998, -4998, -4998, 3050, -4998, 737, 4073,
4410, 3692, 1665, 2053, -4998, 4003, 3612, 4085, -4998, -4998,
4080, 4024, 3353, 2175, 4209, -4998, 4210, -4998, 4494, 4282,
4497, 3384, -4998, 3244, 2524, -4998, 6524,105166,103801, 4437,
4119, 4123, -4998, -4998, 4137, 79511, -4998, -4998, 3692, -4998,
4913, 2526, -4998, 2530, 2539, 4140, -4998, 30065, 1254, 3714,
57468, 4087, -4998, 35367, 2546, -4998, 2706, 79511, 2558, -4998,
16639, 79511, -4998, -4998, 30065, -4998, 2560, -4998, 30065, 4089,
30065, -4998, 32957, 4088, -4998, 4541, 1665, -4998, 3483, 40575,
-4998, 4215, -4998, 4415, -4998, -4998, 3988, 48093, 1517, 3468,
2086, 3988, 2568, -4998, -4998, 79511, -4998, 4061, 30065, -4998,
4188, -4998, -4998, 2583, 1402, 4261, 4261, 2585, 2587, 11709,
79511, 2592, 2593, -4998, 2594, 2559, 3334, 1845, 3334, -4998,
3325, -4998, -4998, 56530, -4998, 57937, -4998, -4998, -4998, 1644,
-4998, 1644, 4319, 79511, 50438, 1644, 1644, -4998, -4998, -4998,
-4998, 4454, 4400, -4998, 2718, -4998, 12241, -4998, -4998, -4998,
451, -4998, 4320, 4321, 79511, -4998, 4114, -4998, 2598, 365,
4240, 3692, -4998, -4998, 79511, 4566, 4570, -4998, 1093, 79511,
3710, 79511, -4998, -4998, -4998, 30065, 933, -4998, 3990, 3384,
3353, 365, 4003, 2292, 41044, 4040, 2175, 4024, -4998, -4998,
4327, -4998, 4328, -4998, 4126, 4419, 6524, -4998, -4998, 354,
4446, 4448, -4998, -4998, -4998, -4998, -4998, -4998, -4998, 3405,
33439, 33439, 33439, 4130, -4998, -4998, 79511, 4575, 4129, 34403,
56530, 2623, -4998,102436, -4998, 2629, 2636, -4998, 2637, 32957,
2650, -4998, 79511, 4135, -4998, -4998, -4998, 43858, 59813, 4175,
4143, 3468, -4998, 4255, -4998, -4998, 1554, 3338, -4998, 16639,
79511, 64034, 4568, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
3338, 4223, -4998, -4998, 66379, -4998, 79511, -4998, -4998, 2652,
-4998, -4998, -4998, 79511, 3801, -4998, 3801, -4998, -4998, 4285,
-4998, 2731, 4253, 1197, 1197, 4518, -4998, 4211, -4998, -4998,
4158, -4998, 4636, 4280, 79511, -4998, -4998, 204, 1665, 67317,
3692, -4998, -4998, 12486, 64034, -4998, -4998, 2175, 4003, 3353,
30065, 2656, -4998, 4308, 193, -4998, 4024, 4040, -4998, -4998,
40575, 4167, 3337, -4998, -4998, 2339, 64034, 64034, 34885, 4299,
836, 14065, 4506, -4998, 4506, 4506, -4998, 2658, 36807, -4998,
-4998, -4998, 79511, 4370, 1316, -4998, 4323, -4998, 2660, -4998,
-4998, -4998, 30, 423, 4170, -4998, -4998, -4998, 4269, 1554,
-4998, 3338, -4998, 79511, -4998, 4171, -4998, -4998, -4998, 57937,
3801, 4067, -4998, -4998, -4998, 4638, -4998, 976, -4998, -4998,
-4998, -4998, 79511, 3692, 3905, 3990, -4998, -4998, 4172, 4024,
3353, 2175, 12826, -4998, 41044, 79511, 79511, 4040, -4998, 2662,
40575, 4040, -4998, 1767, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, 4169, 4176, 4628, -4998, -4998, -4998, -4998, -4998, 1022,
-4998, -4998, -4998, -4998, 3598, -4998, -4998, 35367, 35367, 4402,
-4998, 1316, -4998, 4184, -4998, -4998, -4998, -4998, 30065, 1554,
-4998, -4998, -4998, 30065, -4998, 4525, -4998, -4998, -4998, 3692,
-4998, -4998, 56061, 4040, 2175, 4024, 4308, -4998, -4998, -4998,
-4998, -4998, 4419, -4998, 2664, 3483, 2289, -4998, -4998, 2405,
2341, 4268, 4507, 33921, 4329, -4998, 4389, -4998, 4599, 4575,
4575, -4998, -4998, 30065, 13143, 1554, 2666, 933, -4998, -4998,
2681, -4998, -4998, -4998, -4998, -4998, 4024, 4040, 79511, 3337,
-4998, 40575, -4998, -4998, 1767, 4305, 4306, -4998, -4998, -4998,
79511, 13217, -4998, -4998, 64034, -4998, 56061, 4040, -4998, -4998,
4040, -4998, -4998, 4241, 4242, 2682, -4998, 4191, -4998, -4998,
3483, 4524, 4526, -4998, 56061, -4998, 64034, 64034, 2703, -4998,
-4998, -4998
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
-4998, -4998, -4998, 3868, -4998, -4998, -914, 482, 3079, -1931,
-4998, -4998, -4998, 1259, -4998, -4998, -4998, -4998, 3822, -4998,
2152, -2451, -4998, -4998, 159, 3778, -1303, 124, 3349, 1801,
-4998, -1148, -4998, -4998, -572, 85, -4998, 3780, 241, -4998,
-4998, -4998, -4998, -4998, -4998, -4998, -4998, -790, 2276, -4998,
2365, 1625, 7340, -2724, -4998, -4998, -1458, -3274, -4998, 921,
-4998, 953, -4274, -598, -4998, -4998, -4998, 2266, -4998, -4998,
-4998, 2206, 1426, -40, -4998, -4998, -4998, -4998, -4998, -4998,
-447, -4998, -4998, -691, 153, 46, -2467, -3800, -4998, -4998,
780, -92, -1445, -4998, -3628, -4998, 295, -3801, -4998, -4998,
-4998, -58, -1426, 1730, -4998, -700, -1163, 2049, -2905, -543,
-4998, 79, -4998, -653, -446, -444, -575, -3856, -4356, -4998,
-4998, -684, -3273, -4622, -4833, -4240, -3980, 1753, -4998, -4998,
161, -3180, -3260, 163, 765, -4998, 168, 170, -4998, 782,
-382, -918, -1547, -4998, -524, -4998, -4998, -4998, -2980, -4998,
-4998, -4998, -4998, 81, -4998, -4998, -4998, -4998, 827, -4998,
-4998, -4998, -4998, -4998, -4998, -2736, 2237, 2239, -4998, -2922,
-4998, -864, -4998, 988, -2994, 1660, -4998, -4998, 1425, 3857,
817, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -1713, -4998,
-4998, -4998, -4998, 305, -14, -4998, -4998, -4998, -4998, -4998,
-4998, -4998, 172, -4998, 2262, 1429, -4998, -4998, -15, -4998,
-4998, -4998, -4998, -4998, -4998, -627, -4605, -785, -766, -4998,
-3003, -4998, -4998, -4998, 21, -4998, -4998, -4998, -4998, -4998,
-873, -4998, 1506, -3650, -4998, -4998, 810, -4998, -4998, -4998,
-4998, -4998, -530, 90, 3044, -4998, -140, -333, -4998, -4998,
-4998, 91, -4998, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-1084, 9082, -811, -582, -4998, -4998, -4998, -4998, -4998, -2185,
-4998, -4998, -4998, -4998, -3794, -4998, 4797, 2385, 416, 173,
-4998, -12, 67, 3647, -1141, -2647, 768, -101, -4998, -4998,
-4998, -2601, -4998, -4998, -4998, -4998, -3582, 174, -4998, -670,
-4998, -3879, -4623, -4064, -3607, -679, -4998, -3943, -4997, -3962,
-3560, -4998, -4998, -4998, -4998, -558, -167, 3017, -4998, -1414,
2628, -931, -4998, -2112, 832, 1852, 3021, -2796, -126, 3018,
-2544, -640, -3286, -4998, -4998, -2317, -242, -4998, -4998, 1535,
697, -4998, -4998, -4998, -4998, -633, 2956, -194, -4998, -4998,
4177, -4998, -3842, -4998, 4142, -4998, -4998, -4998, -4998, 2861,
2863, -4998, 2869, -4998, -4998, -1385, 1608, -4998, -759, -4998,
-4998, 2398, 1033, -4998, -4998, -4998, -4998, -4998, -4998, -4998,
-4998, 1500, 1016, -4998, -4998, -4998, -4998, -4998, -520, -695,
-4998, -4998, 175, -4998, -4998, -4998, -4998, 2244, -902, -736,
4050, 895, 181, -4794, -4998, -4998, -1127, -4998, 3423, -4998,
-4998, -4998, -4998, -4998, 834, 838, -4998, -4998, -4998, -4998,
-2528, -4998, -4998, -4470, -4998, -4998, -4998, -4998, -4998, 4031,
116, 2732, -4998, -4998, -4998, -30, -4998, -4998, -964, 2728,
-4998, -1939, -4998, -594, -4998, 2947, -4998, -4998, -4998, -4998,
-1896, 182, -3840, -4998, 6, -4998, -4998, 219, -4998, 645,
-4998, -4998, -3469, 9, -4998, -4998, -4998, -4998, -4490, -4998,
12, -410, 1191, -2848, -4998, 184, -1, -4998, -4998, 2,
2226, -43, -53, -44, 5, 119, 3512, -4998, -4998, 3554,
-4998, 13, 2196, -4998, -4998, -821, -173, -4998, 1955, -648,
2704, 3488, 3491, -4998, 1942, 2734, -1992, -1988, -4998, 1239,
-389, -231, -4998, -4998, -4998, -4998, 678, -644, 2719, -4998,
3497, -4998, -4998, -4998, -1945, -2877, -3507, 1264, -3489, -3405,
712, 701, -1368, 4, -41, -765, 3501, -4998, -4998, 1269,
-195, -4998, -4998, -193, -2850, 1219, -4998, -4417, -2368, 1276,
-651, -482, -4998, -569, -4998, -356, 2522, 3058, -1049, -4998,
-4998, -1013, 14010, -4998, -4998, -4998, 14165, 14439, -4998, -4998,
15771, 15795, -4998, -863, 16303, 13488, -1019, -1886, -334, 12660,
-449, 326, 121, -4998, -3587, -1961, -4998, -4998, -4998, 48,
1334, -705, -4998, -4465, -3890, -4998, -4998, 270, -4998, -364,
-4998, -363, -4998, -4998, -4998, -2665, -4988, -2722, 2838, -4998,
-4998, -4998, -174, -4998, 17345, -2773, -4998, -345, -1329, -1539,
-3475, -1894, -4998, -4998, -4998, -2676, -4998, -4998, -4998, -4998,
-3057, -3360, -393, 2055, -4998, -4998, 2158, -4998, -4998, -4998,
-904, 2438, -761, -1224, 2062, -4998, -772, 2842, -762, 12023,
-693, 8506, -544, -2281, -1255, -1658, -4998, 1237, -4998, 1163,
6387, 24, -135, 5495, -616, -6, 12836, -578, -895, 4500,
11757, 9868, -3202
};
/* 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 -2695
static const yytype_int16 yytable[] =
{
604, 1568, 180, 819, 1022, 185, 175, 611, 835, 176,
846, 904, 178, 1930, 663, 2237, 1636, 755, 1148, 757,
1950, 2413, 1618, 763, 788, 1327, 185, 1401, 777, 785,
755, 905, 792, 869, 1886, 785, 785, 1331, 821, 1856,
824, 910, 2314, 1630, 915, 2343, 747, 1728, 1420, 1185,
1186, 1187, 747, 3650, 1723, 1191, 1573, 1362, 822, 655,
1361, 2315, 3404, 1846, 1847, 856, 2306, 3323, 2035, 1794,
1349, 2487, 1862, 1855, 1990, 913, 3672, 1129, 3740, 3237,
3970, 3144, 3760, 2724, 1007, 65, 3494, 2976, 2978, 935,
753, 1142, 1060, 1767, 2478, 2580, 3346, 1772, 1058, 709,
4257, 4219, 1776, 789, 2764, 1207, 3921, 2326, 3475, 3203,
1482, 3999, 1786, 3986, 3685, 4018, 170, 3784, 4018, 3786,
4258, 4252, 1156, 4517, 1139, 1510, 1810, 602, 4187, 1567,
4156, 4296, 848, 1127, 4506, 1069, 1131, 721, 1596, 1162,
840, 849, 2440, 2441, 4320, 4496, 4457, 2903, 1623, 1779,
4828, 1532, 4204, 74, 3661, 1840, 1549, 4889, 2829, 782,
2831, 77, 2600, 78, 2210, 1807, 816, 2297, 79, 833,
80, 2943, 102, 120, 125, 150, 3691, 2946, 928, 3604,
5017, 154, 173, 4789, 179, 604, 859, 859, 862, 4505,
859, 3983, 2913, 1361, 871, 4677, 821, 1394, 2663, 907,
808, 1397, 871, 2922, 5061, 871, 4120, 4946, 821, 2436,
859, 1843, 1844, 821, 4234, 5074, -2427, 859, 2133, 821,
669, 4901, 1854, 4903, 1060, -2465, -2488, 2297, 5235, 1477,
1340, 4827, 1846, 1847, -2355, 4202, 2467, 4207, -2525, 729,
4584, 620, 1806, 5217, 2297, 729, 2955, 3313, 1367, 4969,
3543, 2128, -2430, 1855, -1921, 1833, 3336, 1862, 2317, 4467,
-1921, 1367, -2327, 729, 1167, 669, 2541, 854, -2327, 4674,
1477, -2327, -2327, -135, 4835, 1477, 4979, 4980, 2839, -135,
4557, 4558, 1171, 4560, 4561, 4562, 4563, 4564, -2328, 5154,
2327, 1833, 825, 664, -2328, 2734, 1877, -2328, -2328, -2293,
1758, 2049, 2476, 2477, -2177, -2293, 2221, 4008, 3282, 867,
3283, -2177, -2694, -1888, 3287, 2447, 3289, 3290, -2694, -1888,
2317, -2694, -2694, 2865, 3741, 3294, 3295, 3296, 2245, 3054,
-1901, -1926, 2055, 669, -433, -1916, -1901, -1926, 669, 3828,
3479, -1916, -1929, 669, 2044, 4685, 2839, 2514, -1929, 2088,
4468, 1216, -2290, 4518, 3314, 1833, -1929, 3481, 4847, 1973,
1511, 1514, -1929, 669, 2057, 1408, 729, 3022, 3442, 3492,
3444, 1843, 1844, 669, 4333, 1335, 669, 1820, 2103, 1341,
1511, 669, 4144, 1833, 735, 5373, 729, 2104, 1763, 3543,
5463, 3300, 4658, 735, 735, 843, 843, 3944, 1854, 669,
3262, 1802, 735, 4384, 5367, 4363, 735, 2240, 736, 2243,
3055, 2317, 2774, 2231, 618, 669, 2317, 736, 736, 2144,
735, 2775, 1803, 2154, 2956, 2428, 736, -2486, 729, 4945,
736, 2049, 2577, -689, 5355, 4469, 4338, 4784, 2881, 1226,
2948, 5237, 3543, 4299, 736, 2882, 2380, 1630, 5509, 5510,
2292, 3067, 1833, 3938, 1415, 3176, 2151, 1728, 3483, 2866,
2997, 1833, 2055, 905, 2867, 5151, 2155, 3154, 1189, 924,
615, 5062, 2317, 1833, 2317, 4790, 4300, 2246, 3647, 2452,
4094, 3848, 2434, 1371, 1833, 5116, 4334, 3765, 1416, 2233,
40, 2105, 1417, 3794, 2057, 1541, 669, 4702, 925, 2129,
1016, 2868, 2317, 188, 4707, 2397, 1026, 3795, 2234, 1894,
4121, 2049, 3844, 188, 905, 4311, 3909, 839, 1542, 1040,
2776, 2317, 4791, 3687, 1723, 1418, 44, 2900, 3849, 3968,
-2197, 1981, 3176, 5447, 1834, 5557, 2041, -2197, 3484, 1764,
3315, 3155, 2055, 2293, 3068, 2949, 2998, 189, 4339, 1449,
4785, 5569, 2152, 1190, 5042, 1884, 4301, 189, 940, 948,
1409, 5374, 3480, 949, 2091, 1060, 2247, 665, 48, 1934,
1834, 1914, 5333, 1970, 2057, 2157, 4385, 670, 1728, 3482,
1804, 49, 3741, 1060, 1980, 3058, 1083, 2515, 2466, 4470,
4335, 3301, 3921, 2777, 2328, 1764, 868, 3829, 4848, 3543,
1991, 4659, 2482, 3265, 50, 3515, 5503, 2329, 2106, 2330,
954, 2578, 826, 1884, 5366, 1521, 821, 4355, 859, 2957,
859, 5354, 862, 999, 859, 666, 185, 996, 2840, 3316,
997, 907, 2542, 998, 1834, 2158, 1029, 1932, 859, 1218,
2526, 5501, 1060, 4425, 2869, 859, 1833, 2085, 1994, 2408,
3063, -2177, 2411, 1974, 2778, 2235, 941, 2779, 1450, 4471,
1974, 4686, 1834, 667, 2381, 668, 2282, -2486, 4009, 604,
2331, 3023, 5547, 862, 835, 1402, 1190, 621, 871, 4598,
948, 2140, 907, 4466, 949, 871, 4626, 1835, 871, 1841,
4630, 1163, 1764, 4204, 1190, 4871, 3610, 5316, 990, 5230,
1636, 1636, 1636, 2906, 859, 942, 2448, 4262, -2427, 1764,
2418, 3549, 2429, 5567, 741, 742, 3427, -2465, -2488, 1541,
1193, 185, 3559, 1863, 3706, 4514, -2355, 2475, 2359, 2244,
-2525, 1834, 741, 742, 4569, 5439, -2486, -1921, 4513, 3263,
1834, 3138, 1542, 1180, -2430, -2327, 3880, 5449, -135, -135,
-2486, 3939, 1834, 2178, 1164, 821, 1169, 2179, 1173, 2360,
2902, 1155, 943, 1834, 1177, 4861, 1060, 2780, 2236, 4663,
1208, -2328, 2101, 2077, 1060, 1060, 4617, 1745, 4619, 2579,
948, 1193, -2293, 848, 949, 2883, 2684, 1881, 1060, 1857,
1325, 1325, 849, 821, 785, -2694, 1845, 905, 785, 5011,
1740, 3921, 2435, 1857, 4284, 3830, 1747, 5410, 1923, 1748,
1858, 1405, 821, 1849, -1926, 1892, 821, 2483, -1916, 5505,
5414, 2045, 1325, 2109, 1858, 1859, 2089, 1456, 2123, 2123,
1733, 2667, 3845, 1158, 821, 1512, 1513, 1764, 2301, 1861,
180, 2453, 2134, 185, 175, 1342, 821, 176, 4145, 5387,
178, 4325, 3687, 2107, 2138, 1512, 1513, 4091, 3556, 3557,
3558, 3559, 821, 3693, 2641, 3694, 3082, 5135, 3983, 2524,
2454, 4364, 2694, 4824, 3901, 3902, 5359, -2197, 2781, 2138,
821, 5334, 5546, 2706, 1916, 859, 859, 2782, 3841, 3168,
1451, 2301, 2368, 1919, 3962, 3064, 4742, 741, 742, 4242,
2074, 2075, 2076, 2077, 4429, 1884, 2714, 2695, 2301, 3554,
3555, 3556, 3557, 3558, 3559, 2766, 4058, 5009, 785, 785,
4743, 5491, -1888, 65, 2589, 1834, 4428, 1012, 2086, 5005,
5095, 3121, 5564, 1629, 2284, 5343, 1048, 1110, 3951, 3645,
2943, 1325, 1325, 3272, 2291, 3666, 1434, 2533, 1372, 2590,
604, 2040, 1607, 1452, 170, 1182, 2987, 5358, 1608, 1334,
2538, 871, 5143, 1346, 1533, 907, 2571, 871, 1738, 669,
871, 1424, 3139, 3169, 1441, 1351, 5139, 3655, 2072, 2073,
2074, 2075, 2076, 2077, 3122, 859, 5068, 3036, 2980, 2623,
2624, 74, 3645, 768, 5069, 5365, 1424, 2297, 5465, 77,
-1888, 78, 5440, 4968, 3895, 3896, 79, 821, 80, 5528,
102, 120, 125, 150, 859, 859, 3130, 5055, 3688, 154,
173, 3653, 179, 1462, 2048, 2548, 3170, 2049, 948, 2231,
2715, 2398, 949, 4887, 2401, 2402, 821, 821, 821, 2413,
859, 4019, 604, 604, 604, 4531, 4353, 2232, 782, 1588,
669, 2572, 3054, 3433, 2093, 1425, 3736, 4488, 2055, 4455,
5189, 1609, 2186, 1449, 4953, 4257, 3554, 3555, 3556, 3557,
3558, 3559, 4258, 1534, 669, 5130, 2995, 1049, 2539, 769,
1425, 3123, 3676, 1442, 3171, 4258, 4493, 5222, 3221, 5119,
2057, 4481, 5497, 2761, 3222, -1745, 3235, 3991, 2113, 3894,
1602, 4866, 4443, 4448, 2549, 2233, 3952, 1426, 1868, 3809,
1798, 4494, 859, 850, 859, 859, 1627, 2593, 3677, 5223,
4893, 5524, 3762, 2094, 2234, 4897, 4020, 5448, 4899, 1884,
1183, 2761, 1426, 3055, 4890, 1826, 2534, 1728, 2591, 5096,
2114, 1903, 1603, 5466, 2504, 4065, 1856, 1325, 1168, 1170,
1172, 1827, 1799, 1174, 1175, 1176, 5289, 5070, 1636, 2837,
5188, 5294, 2696, 1181, 5210, 1936, 1872, 1938, 185, 1940,
-1888, 1942, 1450, 1944, 1945, 1946, 5291, 1952, 1952, 4744,
1948, 1869, 821, 1904, 755, 746, 2505, 1728, 3172, 5084,
3394, 746, 2981, 3728, 5244, 2982, 3918, 3223, 851, 5525,
821, 5232, 2703, 2704, 1427, 1828, 1987, 5511, 5190, 821,
2011, 5515, 1993, 5229, 1013, 1352, 4814, 2496, 3810, 5209,
3131, 5010, 1610, 1050, 1111, 2669, 1325, 3372, 4815, 1427,
4826, 3763, 2716, 2416, 1535, 3729, 4820, 770, -1744, 5131,
4018, 3667, 1870, 603, 1443, 1871, 5498, 3124, 4456, 4449,
4669, 4258, 2717, 835, 4444, 1739, 5231, 1325, 5424, 1051,
1611, 2573, 2693, 5545, 1428, -1745, 2698, 2644, 2975, 2622,
2702, 2235, 1536, 2705, 3037, 2574, 1868, 2041, 771, 772,
4021, 2656, 1444, 5526, 1353, 1325, 4015, 1325, 1325, 2220,
1325, 1628, 768, 1612, 2662, 2617, 2064, 4066, 1212, 3430,
4495, 4700, 1429, 1829, 940, 1537, 35, 5568, 3058, 3173,
1325, 841, 3737, 1604, 3276, 1445, 1723, 3174, 1052, 5477,
3175, 2589, 2642, 1800, 1053, 2823, 2661, 5579, 2826, 2048,
5580, 2676, 2049, 2145, 2146, 1430, 2150, 2655, 4554, 2136,
2657, 5197, 849, 849, 2888, 849, 2590, 5133, 1162, 1869,
4022, 905, 821, 5150, 1905, 1872, 4222, 2506, 3224, 1830,
3431, -1888, 1405, 2055, 5085, 634, 2403, 1431, 4493, 1432,
-2695, -1888, 773, 1845, -1888, 1419, 842, -1888, 769, 3811,
1499, 2239, 1325, 1446, 2236, 2793, 1325, 1325, 4662, 634,
5091, 5112, 1431, 4494, 1432, 2057, 3225, 821, 821, 2184,
2697, 1325, 941, 2700, 2701, 4573, 3730, 4574, -1744, 2240,
1870, 3668, 3753, 1871, 2947, 1857, 1605, 3812, 4581, 1433,
5445, 5446, 852, 2708, 785, 636, 1801, 5527, 857, 3226,
2366, 5233, 5478, 5260, 3764, 3765, 1858, 870, 40, 40,
615, 2455, 5064, 794, 5044, 870, 3539, 3128, 870, 636,
3813, 942, 843, 2710, 1831, 1390, 5065, 1906, 5425, 2288,
2507, 790, 3593, 3766, 785, 1884, 1873, 859, 4552, 3227,
4526, 5198, 3152, 1872, 44, 44, 940, 3231, 3187, 1884,
821, 2316, 5153, 2889, 3754, 715, 1874, 5157, 5158, 821,
5045, 3054, 859, 1538, 2072, 2073, 2074, 2075, 2076, 2077,
2620, 2404, 1523, 2725, 2405, 15, -2695, 3228, 943, 3731,
3232, -2695, 3921, 4887, 994, 2249, 48, 48, -458, 907,
3080, 821, 5286, 1872, 785, 2250, 4223, 1392, 4582, 49,
49, 1384, 617, 3207, 2277, 4801, 770, 5426, 2711, 20,
3229, 785, 4258, 795, 821, 5199, 756, 821, -2695, 2431,
4575, 1636, 50, 50, 1367, 5063, 5054, 2925, 2241, 2154,
188, 3152, 3440, 5548, 5427, 2367, 3842, 51, 51, 859,
3230, 2800, 3055, 1524, 941, 5261, 2456, 771, 772, 5292,
1935, 5479, 5349, 1937, 821, 1939, 5480, 1941, 1884, 1943,
844, 4978, 647, 1947, 648, 2344, 859, 859, 859, 859,
821, 2064, 2155, 3587, 189, 5262, 3186, 3056, 1152, 4441,
4487, 3161, 3162, 735, 821, 3165, 647, 4447, 648, 4082,
1780, 4195, 1551, 942, 1434, 1325, 1325, 1325, 2344, 1434,
5066, 1385, 2688, 3311, 1873, -2318, -458, 736, 3843, -162,
2413, 3211, 2926, -1892, 1780, 3057, 1060, 5363, 2344, -1892,
669, 2760, 4482, 2763, 4196, 3266, 3267, 3268, 3250, 2770,
1552, 3752, 1764, 2156, 1608, 2786, 2787, 2788, -162, 4632,
3343, 3645, 4265, 2992, 3645, 3256, 2805, 2807, 4442, 4198,
943, 2817, 3918, 2251, -1676, 5022, 1219, 3236, 5302, 2480,
2481, -2695, 3077, 3355, 3356, 3357, 3358, -1676, 2653, 2344,
1434, 1390, -1676, 3413, 1434, 3363, 4975, 4351, 4417, 2615,
2410, 2157, 4420, 4421, 2643, 4423, 35, 905, 905, 2167,
32, 2252, 2225, 2488, 2049, 821, 3272, 1410, 4220, 4976,
3391, 5407, 3889, 2226, 1348, 1390, 5023, 859, 859, 4045,
1391, 4323, 3690, 2437, 5024, 2383, 3645, 3058, 1919, -1676,
40, 2227, 1541, 1352, 4266, 2345, 1499, 859, 4536, 5303,
4537, 4217, 5216, 2468, 3009, 1411, 4932, 1609, 1570, -1676,
5007, 2158, 5025, 1392, 4940, 1542, 821, 3342, 2689, 4103,
2384, 4104, 627, 4258, 2346, 2387, 44, 2057, 2345, 5236,
4221, -2695, 859, 859, 859, 859, 4200, 2071, 1412, 2072,
2073, 2074, 2075, 2076, 2077, 821, 1571, 1392, 2345, 2347,
2690, 5243, 821, 4324, 2488, 4267, -1676, 2346, 760, 4268,
1393, 3010, 1353, 2691, 3846, -1676, 604, 5026, 48, 604,
1421, 1579, 2334, 862, 767, -1675, 1212, 2346, 3166, 1325,
5027, 49, 2347, 5513, 905, 2342, 766, 3712, -1675, 4438,
4682, 3005, 5028, -1675, 1393, 1344, 2458, 5363, 2692, 2345,
2464, 1576, 2347, 4258, 50, -1899, 2335, 634, 1422, 3881,
5083, -1899, 1580, 4439, 871, 871, 3188, 2097, 2342, 51,
3099, 5041, 1581, 2543, 3191, 907, 907, 3194, 2346, 871,
-1099, 3918, 871, 746, 3009, 746, 3384, 746, 2342, 1577,
-1675, 1423, 2228, 746, 1178, 1179, 4860, 3806, -1105, 859,
859, 837, 857, 2347, 4105, 1572, 859, 2049, 821, 4683,
-1675, 870, 3995, 3577, 4106, 3840, 4244, 636, 870, 3584,
185, 870, 1578, 2719, 2678, 2344, 2679, 2322, 2680, 2323,
2681, 3100, 2682, 1952, 5571, 3807, 2683, 4805, 2055, 2342,
859, 3709, 871, 4057, 5146, 871, 871, 5357, 821, 821,
4018, 859, 793, -1676, 4258, 817, 4769, -1675, 821, 5356,
2641, 4806, 2469, 1041, 3101, 821, -1675, 2731, 3808, 3347,
2057, 999, 755, 755, 185, 996, 2736, 4952, 997, 4788,
1325, 998, 1325, 4689, 4690, 4058, 5079, 1325, 1325, 4770,
2324, 1852, 1853, 3467, 1325, 1325, 1325, 3645, 1042, 1325,
2470, 1325, 907, 1325, 1325, 1325, 1325, 1325, 1325, 4928,
1325, 4930, 1325, 1325, 4799, 40, 1325, -1715, 4819, 828,
4983, 1060, -1715, 2403, 29, 3102, 2471, 3407, 5029, 1857,
1582, 5030, 1158, 1043, 1325, 1325, 1325, 1325, 746, 2472,
3065, 859, 1325, 4263, 838, 2730, 1325, 3490, 3491, 1325,
1858, 44, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325,
1325, 1325, 3042, 1325, 1583, 1859, 2757, 2473, 1584, 821,
1325, 3649, 634, 1325, 3923, 1041, 5441, 1060, 853, 2334,
821, 1044, 905, 3453, 647, 2345, 648, 3038, 5451, -1715,
3043, 3044, 3233, 48, 4245, 5253, 1014, 650, 1015, 2344,
4246, 1585, 5213, 4403, -1675, 854, 49, 4247, 4975, 652,
1042, 1541, 1780, 2335, 2346, 821, 863, 40, 4779, 5227,
3926, 3030, 1325, 4265, 4404, 3234, 821, 821, 1598, 50,
5296, 4976, 636, 5182, 1542, 865, -1715, 1325, 5183, 2347,
5187, -587, 4248, 2422, 51, 3964, 1325, 1325, 885, -135,
1919, 886, 3692, 44, 1808, 5220, 5254, 5504, 2404, 3651,
821, 2405, 3076, 1544, 4249, 3468, 1599, 2961, 5191, 2966,
1600, 1226, 2423, 2959, 3543, 2342, 3928, 1809, 3544, 3545,
3546, 1857, 1615, 857, -1889, 1619, 3971, 3742, 5184, 939,
-1889, 2344, 1911, 1044, 870, 48, 3981, 2919, 947, 1601,
870, 862, 1858, 870, 2999, 4266, 3002, 3352, 49, 4310,
755, 930, 755, 3770, 3140, 1912, 181, 1861, 2374, 3608,
2920, 4760, 3645, 4761, 4762, 887, 3645, 4763, 3062, 1325,
-1890, 50, 888, 889, 890, 2391, -1890, 181, 2996, 227,
3167, 604, 2915, 859, 859, 619, 51, -1430, 871, -1430,
907, 871, 871, 713, 859, 4386, 859, 4489, 2545, 2345,
859, 2344, 3745, 821, 3417, 5570, 4267, 834, 5285, 4775,
4268, 791, 1001, 2317, 3931, 1821, 1822, 1823, 4387, 5345,
2317, 5409, 2582, 2318, 785, 2847, 4975, 2848, 2346, 3360,
2325, 3432, 3434, 3435, 3361, 2316, 4302, 3701, 4309, 647,
3697, 648, 4294, 3087, 821, 1845, 3838, 2211, 1003, 4976,
3098, 2849, -1893, 2347, 746, -1891, 3932, 3253, -1893, 821,
1060, -1891, 669, 1006, 1636, 1193, 1193, 653, 2042, 1193,
1636, 1925, 3933, 4516, 1926, 2352, 2801, 3801, 3540, 3541,
821, 729, 4070, 3561, 2819, 3143, 3143, 1009, 4285, 2342,
40, 2345, 3923, 3547, 4942, 1023, 2353, 3664, 3924, 1046,
821, 821, 729, 729, 821, 2344, 862, 785, -1157, -1157,
3925, 3698, 3699, 669, 2123, 3548, 3847, 3967, 3511, 4645,
2346, 3591, 3592, 2138, 4241, 1018, 44, 1019, 3940, 1845,
859, 2211, 5489, 859, 3512, 4033, 4034, 744, 3926, 3513,
3927, 847, 2524, 744, 4326, 2347, 1036, 3570, 2048, 3572,
3573, 2049, 2850, 2851, 2852, 2853, 821, 821, 5436, 2854,
2855, 2345, 3910, 1982, -586, 2856, 1983, 3922, 48, 3934,
2857, 3238, 3361, 3241, 3243, 1531, 1845, 3201, 1419, 1060,
1548, 2342, 2055, 3549, 3542, 3719, 1045, 4232, 3207, -2695,
2346, 3, 4, 5179, 3928, 5181, 3571, 1047, 2131, 5185,
5186, 2132, 2944, 2945, 1325, 1325, 1325, 1066, 2137, 2935,
1325, 2138, -1739, -1739, 2057, 2347, 859, 5535, 2142, 51,
3882, 2132, 3929, 4194, 859, 1062, 948, 859, -2293, 3594,
949, 1193, 2673, 859, 1109, 2138, 2685, 3659, 1118, 2686,
746, 5500, 1325, 5035, 859, 746, 746, 2687, 5221, 1125,
2686, 2342, 2850, 2851, 2852, 2853, 1136, 2722, 2316, 746,
2723, 3143, 5246, 821, 4507, 2345, 821, 1119, 2918, 3822,
3345, 1919, 1153, 755, 3623, 4260, 4261, 2967, -1743, -1743,
2138, 3607, 5486, 1143, 841, 859, 1325, 3930, 3833, -1742,
-1742, 4500, 3931, 4194, 2346, 3074, 4195, -1716, 3075, 1998,
729, 51, -1716, 3238, 4985, 1184, 3501, 5538, 3146, 3504,
2858, 3147, 3505, 859, 3306, 3377, 2610, 3307, 2611, 2347,
3373, 2859, 1188, 3394, 3348, -2695, 5384, 5385, 3418, 4196,
-2695, 2138, 3918, 1192, 3932, 5452, 29, 3459, 1195, 3510,
2686, 3497, 2138, 1325, 4197, 5136, 1845, 1198, 2211, 842,
3933, 746, 1200, 5141, 4198, 2342, 3992, 3519, 3993, 3527,
2138, 746, 2138, 3624, 1201, 3625, 4195, -2695, 3957, -1716,
859, 5403, 859, 3143, 859, 3143, 3550, 3551, 3552, 3553,
4199, 3554, 3555, 3556, 3557, 3558, 3559, 3528, 3529, 3645,
2138, 2138, 5471, 5472, 3563, 5552, 3645, 2138, 1205, 4196,
3576, 3645, 1202, 2138, 3645, 1178, 1179, 4894, 1209, 2641,
1952, 1210, 2344, 2761, 4197, 4133, -1716, 1211, 905, 3581,
2064, 1212, 3582, 3787, 4198, 843, 3788, 1213, 3645, 40,
893, 894, 895, 896, 1214, 897, 898, 899, 900, 901,
902, 3645, 4061, 3950, 1215, 3953, 1226, 3934, 746, 3543,
4199, 746, 746, 3544, 3545, 3546, 3792, 1220, 5075, 3793,
5585, 604, 3626, 1222, 3627, 44, 1060, 871, 1060, 1354,
871, 4200, 3941, 871, 3943, 5270, 1347, 3817, 3878, 1630,
3818, 3818, 859, 3660, 1355, 1350, 835, 1554, 4004, 2344,
1325, 4005, 1360, 4006, 4310, 1325, 4007, 1356, 4029, 4031,
1554, 4030, 2138, 4054, 1368, 2048, 1555, 48, 2049, 5553,
-2695, 5554, -2695, -2695, -2695, 4127, 2761, 1373, 4128, 1555,
49, 1325, 1325, 1325, 1376, 4138, 1325, 4286, 4139, 4151,
4230, 835, 2138, 4231, 1325, 1325, 1325, 1325, 4430, 2055,
4431, 4200, 4235, 50, 1374, 4236, 2056, 1325, 4240, 1060,
1325, 2982, 1325, 1388, 4264, 4012, 1556, 2686, 5453, 4895,
4631, 1377, 4634, 844, 1325, 1325, 1403, 4490, 1325, 1556,
2686, 2057, 2345, 4549, 1404, 1407, 1974, 181, 4698, 4570,
4599, 4303, 2138, 2723, 4611, 1413, 907, 2138, 1325, 1419,
1325, 4655, 1325, 4665, 4671, 4678, 2982, 4672, 2686, 4679,
4821, 2346, 2686, 4822, 4327, 1454, 4069, 3645, 4853, 1480,
-2695, 4030, 4819, 1325, -2329, 4210, 2071, 821, 2072, 2073,
2074, 2075, 2076, 2077, 3646, 1376, 2347, -1664, 3128, 1485,
4321, 1486, 4868, 4870, 746, 4869, 2138, 3629, 3630, 3631,
821, 1483, 1521, 1557, 835, 3596, 1525, 3597, 1325, 2345,
3548, 1526, -1676, 3152, 4281, 4877, 1557, 40, 2723, 1527,
1538, 4947, 2342, 1325, 4948, -1676, 5036, 3645, 1540, 2686,
-1676, 3598, 181, 834, 1553, 3207, 5076, 3646, 2346, 5077,
5092, 3681, 2058, 2723, 3684, 5099, 2966, 2059, 5100, 2048,
1550, 1558, 2049, 44, 1559, 1575, 2050, 2051, 2052, 5109,
1589, 1590, 1919, 2347, 1558, 1606, 1616, 1559, 4076, 2412,
5115, 5117, 1617, 3978, 3978, 2053, 1620, -1676, 3549, 4424,
1625, 1626, 2412, 2055, 2062, 5128, 1731, 1325, 5129, 3143,
2056, 1729, 1732, 5172, 1952, 48, 5173, -1676, 5212, 2342,
1734, 2096, 2621, 1561, 5245, 4409, 5255, 5129, 49, 2723,
5256, 3643, 2629, 3582, 2630, 2057, 1561, 1737, 1741, 5257,
2634, 859, 2138, 859, 859, 859, 5268, 2640, 1387, 5269,
1389, 50, 2850, 2851, 2852, 2853, 1742, 2064, 5274, 3599,
5277, 1919, 1751, 3978, -1676, 3600, 51, 1563, 5295, 1750,
3601, 2686, 847, -1676, 181, 1754, 1757, 1760, 4414, 857,
1563, 1762, 857, 5301, 3643, 5307, 2723, 5308, 2723, 1564,
2723, 3645, 5311, 5312, 5313, 2138, 2138, 5314, 5341, 1768,
1771, 5342, 1564, 4594, 1773, 4099, 4100, 4101, 4102, 1566,
1764, 4107, 4108, 4109, 4110, 4111, 4112, 4113, 4114, 4115,
4116, 4117, 1566, 5391, 1782, 1783, 5392, 870, 870, 5395,
1787, 1788, 1919, 2801, 2801, -182, 5396, 5397, 2801, 2138,
2138, 1790, 870, 1791, 3660, 870, 2058, 2066, 1795, 3645,
5399, 2059, 5418, 2138, 1793, 5419, 5443, 821, 5473, 5444,
5485, 3978, 5512, 5122, 5550, 5129, 5563, 5551, 1796, 2138,
1832, 4160, 4161, 2060, 2061, 1811, 2801, 2801, 3645, 2772,
2773, 5565, 5583, 1818, 5566, 5392, 2789, 2790, 2062, 1825,
207, 3550, 3551, 3552, 3553, 1837, 3554, 3555, 3556, 3557,
3558, 3559, 1839, 5591, 4096, 870, 5566, 1838, 870, 870,
3602, -1676, 1094, 1845, 1841, 1848, 1849, 1851, 2830, 1865,
1879, 3603, 1867, 1880, 1883, 1884, 1891, 2063, 1895, 1897,
1898, 5422, 1900, 1902, 1907, 1908, 1910, 1915, 1094, 4126,
1918, 2064, 1921, 1922, 2065, 1924, 1949, 2067, 1979, 1986,
-2695, -2695, -2695, 2071, 1988, 2072, 2073, 2074, 2075, 2076,
2077, 1989, 1995, 1996, 2005, 2083, 2003, 3168, 2004, 1325,
2085, 2006, 2007, 1226, 948, 1325, 3543, 1376, 949, 51,
3544, 3545, 3546, 3645, 859, 2009, 2010, 4172, 2011, 3143,
3143, 3329, 2012, 2081, 2013, 2014, 2015, 2017, 2018, 4148,
2019, 2020, 2021, 2022, 2023, 4350, 2024, 2026, 2027, 2028,
2029, 2030, 4795, 2031, 2102, 2032, 1728, 2033, 2116, 2141,
2086, 2126, 2096, 2143, 821, 821, 821, 1391, 1393, 2174,
2176, 2066, 2185, 2187, 2188, 2942, 2942, 2189, 2761, 2190,
2206, 821, 2208, 2207, 2209, 4462, 4463, 2211, 2212, 2213,
2214, 3169, 2215, 2216, 2217, 2223, 4002, 2242, 2248, 2254,
2279, 2283, 2285, 1952, 821, 2286, 4541, 4542, 4543, 4544,
4545, 2303, 2287, 1952, 821, 821, 2289, 2290, 2307, 821,
2309, 1226, 3143, 2308, 3543, 2321, 2332, 2336, 3544, 3545,
3546, 821, 2338, 2341, 2320, 3998, 2339, 746, 2342, 181,
2340, 2349, 2351, 2350, 3170, 2354, 4500, 4149, 2355, 1554,
2356, 2361, 2362, 2375, 2365, 2376, 2371, 2372, 2377, 3645,
2378, 2379, 4026, 2385, 2382, 2388, 2389, 2392, 1555, 2399,
2406, 2067, 2394, 2395, 2068, 2069, 2070, 2071, 2407, 2072,
2073, 2074, 2075, 2076, 2077, 2409, 1193, 2414, 2415, 3532,
1226, 1499, 3533, 3543, 2420, 4166, 3330, 3544, 3545, 3546,
859, 2421, 3171, 2426, 1999, 4653, 2449, 2425, 2430, 2432,
2427, 2433, 2438, 2439, 2450, 2490, 4601, 3548, 1556, 2457,
2451, 821, 2492, 2462, 2008, 2479, 2493, 4437, 2486, 5138,
2494, 2495, 3086, 3645, 821, 1736, 2499, 821, 2500, 3645,
2501, 2502, 2503, 2509, 857, 2510, 2511, 2512, 2513, 2519,
2520, 870, 2518, 2517, 870, 870, 2025, 2525, 2528, 1325,
1753, 2532, 4767, 629, 2529, 2546, 2557, 1325, 1325, 2537,
1325, 2561, 2038, 2562, 2565, 1761, 2581, 2570, 1325, 2584,
1325, 4546, 4305, 1325, 2587, 3549, 1572, 2543, 1325, 1325,
1325, 1325, 2588, 2597, 1325, 1325, 1325, 1325, 1325, 1325,
1325, 1325, 1325, 1325, 1325, 1557, 3172, 2607, 1325, 1325,
2609, 2613, 2625, 746, 2627, 2646, 2628, 2648, 1325, 2649,
2635, 746, 1325, 835, 746, 3548, 1325, 2636, 2601, 2650,
2637, 2604, 2639, 2618, 1325, 4650, 746, 1325, 2632, 1325,
3645, 2664, 835, 2619, 4840, 2633, 2638, 2651, 2665, 3331,
2699, 1325, 2707, 1558, 1325, 1325, 1559, 2720, 2733, 1325,
1325, 2766, 847, 847, 4170, 847, 1325, 2771, 2818, 2824,
3660, 2412, 2049, 821, 821, 821, 604, 2838, 2828, 3646,
4192, 2844, 2862, 2864, 4192, 4206, 4192, 4174, 4175, 4176,
4177, 1325, 2885, 3549, 3548, 3660, 2886, 2910, 3332, 2900,
2905, 2911, 842, 2937, 2936, 1561, 2908, 2909, 2938, 999,
2960, 2924, 185, 996, 2953, 2971, 997, 1325, 2939, 998,
2972, 2974, 3000, 3003, 4696, 3007, 3005, 3173, 3014, 3008,
3029, 2966, 3019, 1325, 3031, 3174, 3024, 3035, 3175, 3039,
4745, 4746, 3049, 4748, 3025, 3027, 3050, 3053, 3066, 1563,
3071, 4259, 1952, 1952, 1344, 2488, 3396, 1348, 3083, 3109,
3090, 3073, 3549, 3103, 3108, 3135, 3136, 3134, 3141, 3145,
1977, 1564, 859, 859, 859, 859, 3153, 1457, 3550, 3551,
3552, 3553, 3160, 3554, 3555, 3556, 3557, 3558, 3559, 3180,
3181, 1566, 3197, 3239, 3260, 3252, 4780, 3261, 3264, 843,
3279, 2316, 3284, 3643, 3285, 3286, 3643, 3292, 4738, 3321,
3320, 1458, 3297, 3273, 3335, 3337, 3308, 3339, 3350, 4315,
3341, 3359, 3353, 3367, 3362, 3368, 3370, 3371, 5142, 4706,
3369, 3375, 3382, 4580, 2413, 3378, 3383, 3386, 3380, 3387,
3405, 3406, 3410, 3412, 3408, 3426, 3428, 3409, 3414, 3419,
3421, 3436, 3424, 3422, 3423, 3425, 3429, 1872, 3437, 3438,
3449, 3451, 3452, 3458, 3456, 3461, 3462, 1487, 1919, 3474,
3463, 1459, 3464, 1488, 3465, 3466, 2734, 1916, 3643, 3660,
3476, 3477, 3478, 3485, 1881, 3488, 3550, 3551, 3552, 3553,
5176, 3554, 3555, 3556, 3557, 3558, 3559, 3493, 1190, 3502,
4362, 3495, 3499, 3507, 3500, 2048, 1460, 4797, 2049, 3523,
3503, 3524, 746, 4372, 3521, 1490, 3526, 3539, 4406, 4988,
2801, 2801, 2801, 2801, -2169, 3522, 2801, 2801, 2801, 2801,
2801, 2801, 2801, 2801, 2801, 2801, 2801, 3397, 3525, 2055,
3530, 3531, 1461, 5166, 3535, 5168, -2695, 3538, 2138, 3578,
3595, 3562, 3605, 859, 4130, 3550, 3551, 3552, 3553, 3568,
3554, 3555, 3556, 3557, 3558, 3559, 821, 3575, 859, 1491,
1325, 2057, 3589, 3606, 3615, 3590, 1492, 821, 3620, 1493,
3656, 3647, 1463, 4453, 3616, 3669, 2801, 2801, 3, 4,
3618, 3662, 3671, 2316, 3619, 3622, 3673, 3689, 3682, 3675,
3695, 3700, 3702, 3657, 3703, 1494, 3707, 3711, 821, 3714,
3708, 3716, 3646, 3723, 1465, 3750, 3738, 3739, 3749, 3751,
3755, 3756, 3238, 3757, 857, 3761, 3758, 3772, 3773, 3775,
870, 4501, 3791, 870, 3783, 3796, 870, 3805, 4159, 1495,
3781, 821, 3819, 3821, 3782, 2488, 3823, 3825, 4511, 715,
1974, 3826, 1325, 1325, 3827, 35, 3834, 3832, 3835, 3398,
4989, 3867, 3836, 3837, 3851, 3852, 3853, 3854, 1468, 15,
5324, 5326, 3839, 3855, 3856, 3857, 1469, 5318, 3859, 3858,
5033, 3861, -2695, 3143, 2300, 3143, 3863, -2695, 3865, 3870,
4935, 3874, 821, 2364, 905, 3872, 1471, 2447, 3860, 3862,
3864, 3866, 1593, 20, 4990, 1472, 1497, 3890, 3876, 1473,
3877, 3883, 5098, 3886, 3887, 3893, 1498, 3897, 3888, 3652,
3898, 746, 3900, 3908, -2695, 1499, 3906, 1325, 3399, 4991,
3949, 3948, 3958, 3955, 3959, 3961, 3963, 1500, 3966, 3643,
3977, 1325, 3978, 4959, 3665, 3665, 4992, 3980, 3996, 4954,
4993, 3987, 3997, 4001, 4000, 3990, 4016, 4025, 4028, 4048,
4035, 4039, 4041, 1474, 4049, 4003, 4050, 3400, 4060, 4051,
4052, 4994, 1325, 4863, 4995, 1325, 4037, 2064, 1502, 1503,
4063, 4062, 4036, 1325, 1325, 4804, 4053, 603, 4055, 4996,
4064, 1998, 1325, 1325, 4073, 4074, 4840, 1325, 4085, 4075,
4077, 181, 4078, 1325, 4079, 4080, 1325, 1325, 1504, 4081,
5420, 1325, 4610, 3565, 3543, 4097, -2168, 1325, 821, 821,
821, 821, 3564, 4123, 4140, 4192, 4206, 4192, 4153, 1325,
4192, 4155, 4167, 4624, 4124, 4184, 4154, 3646, 4208, 4125,
603, 3646, 4212, 4132, 4173, -2597, 4229, 4639, 5108, 4158,
4224, 4185, 4218, 4193, 4227, 181, 4214, 4216, 4233, 5108,
4251, 4243, 907, 4272, 4280, 4287, 4274, -2695, 4288, 4275,
4290, 1325, 4293, 4291, 4295, 3681, 1505, 4997, 4298, 4297,
2966, 4654, 4656, 4313, 32, 4316, 4329, 4332, 4328, 4667,
4344, 4330, 4331, 4345, 4342, 755, 4343, 4346, 1325, 4356,
4359, 4374, 2801, 4347, 4383, 4380, 2491, 4358, 4375, 4400,
4399, 4402, 4304, 4415, 40, 4405, 4416, 4418, 3143, 3143,
4434, 5318, 1226, 2508, 4419, 3543, 5331, 4998, 4988, 3544,
3545, 3546, 4422, 4445, 4459, 2845, 4465, 2316, 5170, 4473,
-2597, 2527, 4479, 4480, 2686, 4483, 4485, 4486, 4602, 4492,
44, 4508, 4710, 4502, 4509, 4519, 4524, 4525, 4527, 4529,
4530, 4539, 4528, 4547, 3643, 4532, 4551, -2695, 3643, 4535,
4553, 4701, 4559, 2071, 4572, 2072, 2073, 2074, 2075, 2076,
2077, 4709, 4566, 4567, 4583, -2170, 1226, 4576, 4586, 3543,
-2597, 4587, 48, -2695, -2695, -2695, 716, 2608, 4627, 4635,
4577, 4588, 1325, -2597, 4620, 49, 4607, 4592, -2597, 4623,
2616, 4625, 4636, -2597, 4628, 4641, 4640, 4642, 4643, -2597,
4649, 4652, -2597, 1094, 4651, 5390, -2597, 4661, 50, 859,
4664, 4666, 4668, 4673, 4674, 2631, 4680, 4684, 4703, 4704,
4705, 4708, 4715, 717, 859, 4714, 5165, 4716, 4728, 4731,
4737, 4735, 4749, 4750, 4740, -2597, 4758, 181, 4741, 4764,
1060, 4759, 4757, 4768, 4771, 5090, 4772, 4777, 5275, 4778,
4781, 4786, 4787, 4794, 4796, -2597, 4792, 4793, 1325, 2660,
1094, 4800, 4802, 4810, 4813, 4818, 4823, 4829, 4825, 4830,
5293, 4832, 4834, 4836, 604, 4837, 4845, 4838, 4850, 4858,
2316, 4857, 4864, 4873, 4865, 4874, 4867, 4585, 4875, 1952,
4876, 4882, 4898, 4888, 5178, 4891, 4902, 4923, 4917, 4926,
4929, 746, -2597, 4920, 1325, -2597, 3548, 4939, 4941, 4944,
4949, -2597, 4950, 4951, 4956, 4981, 4962, 859, 4963, 3377,
5003, 4444, 4943, 5014, 4816, 3954, 5012, 4967, 5021, 905,
4972, 4973, 5039, 5040, 5290, 5047, 606, 5052, 4974, 5015,
5018, 4622, 5020, 2048, 5049, 5057, 2049, 5059, 5078, 5080,
2050, 2051, 2052, 821, 5094, 5082, 5081, 5097, 5101, 5107,
5111, 5114, 4960, 5118, 5120, 5126, -2597, 5145, 5137, 2053,
3660, 5122, 5147, 5160, 3549, 5148, 5154, 2055, 5192, 5200,
5194, 5207, 905, 5204, 2056, 5214, 5205, 5219, 4958, 5226,
5238, 5239, 5225, 2040, 5240, 5241, 1325, 5242, 5249, 5234,
5250, 2832, 2048, 5252, 5251, 2049, 5266, 5258, 5279, 2057,
5283, 5282, 5287, 5288, 4032, 1226, 5304, 5300, 3543, 5323,
5329, 760, 3544, 3545, 3546, 1325, 1325, 1060, 5330, 1325,
5335, 5337, 5002, 5340, 5344, 5347, 2055, 5544, 3549, 5348,
5368, 5369, 5371, -2695, 604, 5370, 5376, 4192, 5377, -2597,
5386, 3646, 5388, 5404, 4168, 5413, 3646, 5161, 5162, 3646,
604, 5415, 3238, 5406, 4904, 5421, 1325, 1325, 2057, 5333,
5423, 5334, 5431, -2597, 5432, -2597, -2597, 2048, 5430, 5464,
2049, 4921, 5469, 4259, 5267, 1325, 5450, 5476, 5483, 5488,
5493, 5502, 5521, 5496, 5523, 746, 4259, 907, 859, 5522,
859, 5544, 5531, 5533, 5537, 5556, 5555, 5559, 5560, 5558,
5584, 2055, -2597, 5573, 5574, -2597, -2597, -2597, -2695, 5544,
2058, 606, 5581, 5582, 5586, 2059, 5587, 2463, 3344, 1484,
606, 879, 2125, 1587, 1586, 4162, 1378, 3212, 606, 3654,
879, 606, 3767, 2057, 4319, 3133, 5416, 2060, 2061, 871,
907, 4312, 3299, 3251, 879, 3905, 5317, 5000, 5494, 4461,
5058, 4776, 2062, 5032, 3705, 3460, 5165, 3550, 3551, 3552,
3553, 3643, 3554, 3555, 3556, 3557, 3558, 3559, 3643, -2695,
5408, 4933, 5259, 3643, -2695, 5490, 3643, 5338, 5336, 5429,
5507, 3710, 4512, 871, 4491, 5298, 821, 4454, 3318, 5276,
3319, 2063, 3785, 5278, 3965, 5280, 4317, 1574, 4453, 4798,
3643, 821, 4478, 3034, 5038, 2064, 821, 3309, 3143, 3548,
3973, -2695, 5043, 3643, 5495, 2316, 5073, 3051, 5037, 5588,
5578, -2695, -2695, -2695, 3553, 5016, 3554, 3555, 3556, 3557,
3558, 3559, 821, 3911, 181, 4520, 4501, 5434, 4961, 5060,
5156, 2536, 4964, 5306, -2695, 762, 4548, 5132, 2977, -2695,
859, 821, 4259, 5549, 3696, 5247, 5071, 1971, 3084, 4521,
2606, 1060, 2603, 2727, 2064, 2728, 1137, 2652, 1061, 3873,
2614, 4348, 2729, 3969, 3249, 5455, 4373, 3549, 1325, 5572,
2222, 1325, 4533, 1325, 2914, 835, -2695, 1357, 4534, 603,
1379, 2923, 603, 2677, 4922, 2066, 4657, 5402, 4237, 3658,
2092, 3670, 1325, 2952, 2171, 2139, 2170, 2933, 1325, 4215,
5398, 5281, 3646, 4647, 4618, 2175, 4904, 2951, 2801, 4188,
4633, 4182, 1325, 5113, 2180, 5265, 5264, 4238, 4183, 5575,
5475, 5125, 5532, 5389, 2626, 5093, 4134, 4919, 5400, 2064,
5401, 2890, 3613, 1226, 3275, 3516, 3543, 3611, 2899, 0,
3544, 3545, 3546, 821, -2695, 1952, 0, 0, 0, 0,
0, 0, 0, 0, 603, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 746, 0, 3643,
0, 1325, 0, 905, 0, 0, 1325, 1325, 0, 0,
0, 859, 859, 859, 859, 2067, 0, 0, 2068, 2069,
2070, 2071, 746, 2072, 2073, 2074, 2075, 2076, 2077, 746,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 746, 0, 1325, 0, 0, 0, 0, -2695,
0, 604, 0, 0, 0, 0, 0, 0, 1554, 3643,
0, 0, 0, 0, 0, 2038, 0, 0, 5529, 5530,
0, 0, 0, 821, -2695, 0, 3646, 1555, 0, 0,
2071, 3304, 2072, 2073, 2074, 2075, 2076, 2077, 0, 0,
3550, 3551, 3552, 3553, 5228, 3554, 3555, 3556, 3557, 3558,
3559, 0, 0, 0, 2048, 0, 0, 2049, 0, 0,
2038, 2050, 2051, 2052, 0, 0, 0, 1178, 1179, 0,
0, 0, 0, 0, 0, 0, 0, 1556, 4304, 0,
0, 1325, 0, 2845, 604, 2245, 0, 1325, 2055, 0,
0, 5273, 0, 0, 0, 2056, 0, 0, 1325, -2695,
3617, 0, 1325, 0, 1325, 2071, 1325, 2072, 2073, 2074,
2075, 2076, 2077, 4259, 0, 0, 3636, -2695, 5284, 0,
2057, 907, 0, 0, 5412, 879, 0, 0, 0, 0,
0, 879, 1325, 0, 0, 0, 0, 0, 5536, 0,
0, 4305, 0, 0, 879, 0, 0, 0, 0, 0,
0, 0, 0, 3643, 0, 0, 746, 0, 0, 0,
879, 0, 0, 0, 1557, 606, 0, 1952, 1952, 3636,
1108, 0, 0, 834, 606, 879, 0, 0, 0, 0,
2801, 606, 0, 879, 606, 3549, 0, 0, 0, 0,
0, 0, 0, 0, 0, 603, 1108, 879, 859, 5461,
5462, 0, 0, 0, 2801, 5352, 0, 879, 746, 1325,
0, 3643, 1558, 0, 0, 1559, 0, 0, 5364, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2412, 2058, 0, 0, 4306, 3486, 2059, 0, 0, 0,
3643, 0, 0, 0, 1325, 1325, 1325, 0, 0, 0,
3238, 0, 3498, 1325, 0, 0, 0, 0, 2060, 2061,
0, 0, 0, 1325, 1561, 0, 5125, 3506, 0, 0,
0, 2966, 0, 2062, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 871, 606, 606, 0, 0,
0, 0, 879, 0, 0, 0, 0, 0, 0, 0,
859, 0, 0, 0, 0, 0, 0, 1952, 1563, 0,
0, 0, 2063, 0, 0, 0, 879, 0, 606, 0,
0, 0, 0, 0, 0, 0, 2064, 0, 0, 879,
1564, 0, 0, 2316, 0, 0, 0, -2599, 604, 0,
5435, 0, 0, 0, 1325, 3643, 0, 0, 0, 0,
1566, 0, 4307, 0, 4259, 4308, 0, 0, 0, 0,
871, 871, 1325, 0, 0, 0, 0, 5460, 0, 0,
185, 5457, 1325, 0, 5458, 0, 5273, 5459, 3550, 3551,
3552, 3553, 0, 3554, 3555, 3556, 3557, 3558, 3559, 0,
0, 0, 0, 0, 0, 0, 0, 859, 0, 0,
5520, 0, 0, 0, 0, 0, 0, 0, 0, 5589,
5590, 0, 0, 0, 0, 0, 2066, 0, 0, 2801,
603, 0, 0, 0, 603, 0, 0, 0, 5364, 859,
859, 0, -2599, 0, 4259, 0, 0, 606, 606, 1724,
0, 0, 0, 0, 0, 5460, 606, 0, 185, 5457,
746, 0, 5458, 1108, 0, 5459, 746, 606, 2342, 0,
746, 1325, 1325, 606, 0, 0, 606, 0, 0, 0,
0, 0, 1325, 0, 0, 0, 0, 1325, 1108, 0,
0, 3643, -2599, 0, 0, 0, 4725, 4726, 0, 0,
0, 4729, 4730, 1108, 0, -2599, 0, 0, 0, 0,
-2599, 0, 0, 0, 0, -2599, 0, 1325, 0, 1487,
0, -2599, 0, 0, -2599, 1488, 2067, 1325, -2599, 2068,
2069, 2070, 2071, 0, 2072, 2073, 2074, 2075, 2076, 2077,
0, 0, 859, 0, 0, 4259, 0, 0, 606, 606,
606, 0, 0, 3721, 5273, 0, 5460, -2599, 604, 185,
5457, 0, 0, 5458, 0, 3643, 5459, 1490, 0, 0,
0, 3643, 3732, 0, 0, 0, 0, -2599, 0, 0,
871, 871, 0, 0, 0, 0, 0, 0, 1108, 0,
0, 0, 0, 0, 0, 2801, 2048, 0, 0, 2049,
0, 0, 0, 0, 0, 0, 0, 0, 0, 181,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1491, 0, 0, -2599, 879, 0, -2599, 1492, 0,
2055, 1493, 0, -2599, 0, 0, 181, -2695, 0, 0,
0, 0, 0, 879, 0, 0, 0, 0, 0, 0,
0, 2048, 0, 606, 2049, -2615, 0, 1494, 0, 0,
0, 879, 2057, 0, 0, 0, 0, 3814, 0, 3816,
0, 0, 3643, 1487, 0, 0, 0, 0, 0, 1488,
0, 0, 0, 0, 0, 2055, 0, 4783, -2599, 879,
0, 1495, -2695, 0, 0, 0, 877, 0, 1108, 2048,
879, 0, 2049, 0, 0, 914, 2050, 2051, 2052, 0,
0, 0, 0, 0, 5474, 0, 879, 2057, 0, 936,
879, 1490, 0, 0, 0, 2053, 0, 0, 0, 4163,
0, 0, 606, 2055, 0, 0, 0, 0, 0, 0,
2056, 0, 0, 760, 0, 0, 0, 0, 0, 0,
-2615, 0, 0, 0, 1593, 0, 0, 0, 1497, 0,
3869, 0, 0, 606, 0, 2057, 0, 0, 1498, 0,
0, -2599, 0, -2695, 0, 1491, 0, 1499, -2695, 0,
0, 0, 1492, 0, 4605, 1493, 0, 0, 0, 1500,
0, 606, 0, 606, 606, -2599, 606, -2599, -2599, 0,
-2615, 3891, 0, 2801, 2801, 0, 0, 0, 0, 0,
0, 1494, 0, -2615, 0, -2695, 606, 0, -2615, 0,
0, 0, 0, -2615, 0, 0, 0, 1621, -2695, -2615,
1502, 1503, -2615, -2695, -2599, 0, -2615, -2599, -2599, -2599,
0, 0, 2038, 0, 879, 1495, 0, 0, 0, 0,
0, 0, 879, 879, 0, 0, 0, 603, 4181, 0,
1622, 4186, 0, 0, 603, -2615, 879, 0, 2064, 603,
-2695, 0, 603, 4900, 0, 0, 2058, 746, 0, 0,
0, 2059, 0, 181, 0, -2615, 0, 0, 606, 2737,
0, 0, 606, 606, 0, 0, 603, 0, 0, 3084,
0, 0, 0, 2060, 2061, 0, 0, 606, 1593, 603,
0, 0, 1497, 1108, 0, 0, 0, 0, 2062, 1724,
0, 0, 1498, 2064, 0, 0, 0, 0, 1505, 0,
0, 1499, -2615, 0, 4027, -2615, 0, 2256, 2738, 0,
0, -2615, 2257, 1500, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2063, -2695, 0,
0, 0, 870, 0, 0, 0, 0, 0, 0, 0,
2739, 2064, 0, 0, 2065, 0, 0, 2258, 0, 0,
1108, 2280, 0, 0, 1502, 1503, 0, 0, 0, 0,
2259, 0, 0, 2740, 0, 0, -2615, 0, 0, 0,
0, 0, 0, 0, 2741, 2260, 870, 0, 2048, 0,
0, 2049, 0, -2695, 2281, 2050, 2051, 2052, 0, 0,
0, 1108, 0, 0, 0, 2742, 0, 0, 0, 0,
2743, 0, 0, 0, 2053, 0, 0, 0, 0, 0,
4086, 0, 2055, 0, 0, 0, 2261, 0, 0, 2056,
0, 760, 0, 0, 1108, 0, 0, 2262, -2695, 0,
0, 2066, 0, 0, 2071, 4098, 2072, 2073, 2074, 2075,
2076, 2077, 0, 0, 2057, 603, 0, 0, 2263, -2615,
0, 2744, 1505, 2264, 0, 0, 0, 0, 0, 0,
0, 4122, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2745, -2615, 0, -2615, -2615, 0, 0, 0,
0, 0, 0, -2695, 0, 0, 879, 0, 0, 2071,
0, 2072, 2073, 2074, 2075, 2076, 2077, 1977, 0, 0,
1017, 606, 606, 606, 0, 603, 1017, 0, 0, 0,
0, 0, -2615, 0, 0, -2615, -2615, -2615, 0, 1017,
0, 746, 0, 0, 0, 2265, 0, 0, 0, 0,
0, 2067, 0, 0, 2068, 2069, 2070, 2071, 0, 2072,
2073, 2074, 2075, 2076, 2077, 207, 2746, 0, 0, 2747,
0, 0, 3534, 0, 0, 2058, 0, 0, 0, 0,
2059, 0, 0, 0, 3636, 2266, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2748, 0, 0, 2749, 0,
0, 0, 2060, 2061, 2750, 0, 0, 0, 0, 0,
0, 2751, 181, 0, 0, 0, 0, 2062, 207, 2267,
0, 0, 0, 0, 1108, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2752, 1108, 0, 0, 5206, 0, 2753, 0, 0, 2754,
0, 2268, 0, 0, 1724, 0, 2063, 2269, 0, 1108,
0, 0, 0, 0, 2270, 0, 0, 2271, 2755, 603,
2064, 0, 0, 2065, 0, 0, 0, 0, 879, 0,
0, 0, 0, 0, 0, 0, 879, 0, 0, 0,
0, 0, 0, 0, 2756, 0, 0, 0, 879, 2272,
0, 0, 0, 0, 0, 0, 2273, 0, 0, 0,
0, 0, 0, 0, 2274, 1108, 0, 0, 5315, 0,
0, 2275, 606, 0, 0, 606, 0, 603, 1108, 0,
0, 0, 0, 0, 0, 606, 0, 0, 0, 0,
0, 1108, 0, 0, 0, 0, 0, 2276, 0, 0,
0, 0, 0, 1108, 0, 0, 603, 0, 0, 0,
2066, 0, 0, 0, 0, 0, 0, 0, 0, 0,
606, 606, 0, 879, 879, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 606, 0, 879, 606, 0,
0, 0, 0, 0, 673, 0, 0, 1108, 1108, 0,
879, 879, 0, 759, 0, 0, 0, 0, 0, 3636,
0, 0, 0, 3636, 0, 0, 879, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 181, 181, 0, 606, 0,
0, 606, 606, 0, 0, 0, 0, 0, 0, 0,
2067, 603, 0, 2068, 2069, 2070, 2071, 4464, 2072, 2073,
2074, 2075, 2076, 2077, 0, 0, 0, 0, 1487, 0,
0, 3585, 0, 0, 1488, 0, 606, 0, 606, 0,
0, 0, 0, 606, 606, 0, 0, 1591, 0, 0,
606, 606, 606, 0, 0, 606, 0, 606, 0, 606,
606, 606, 606, 606, 606, 0, 606, 0, 606, 606,
0, 0, 606, 0, 0, 0, 1490, 0, 870, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1108,
606, 606, 606, 606, 1724, 0, 0, 0, 606, 0,
0, 0, 606, 3396, 0, 606, 0, 0, 606, 606,
606, 606, 606, 606, 606, 606, 606, 606, 0, 606,
0, 0, 0, 0, 1457, 0, 606, 0, 1592, 606,
1491, 5438, 0, 0, 2047, 0, 0, 1492, 0, 0,
1493, 2048, 0, 0, 2049, 0, 0, 603, 2050, 2051,
2052, 0, 0, 870, 870, 0, 0, 0, 1458, 0,
0, 0, 0, 0, 0, 0, 1494, 2053, 0, 0,
2054, 0, 879, 0, 0, 2055, 0, 0, 606, 0,
0, 0, 2056, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 606, 0, 0, 0, 0, 0, 0,
1495, 0, 606, 606, 0, 5542, 0, 2057, 0, 0,
0, 0, 0, 0, 0, 0, 1977, 0, 1459, 0,
0, 603, 0, 0, 0, 0, 0, 603, 879, 0,
0, 0, 0, 0, 0, 1108, 0, 0, 0, 1108,
1108, 0, 0, 0, 0, 0, 879, 0, 0, 0,
0, 1724, 879, 1460, 0, 0, 879, 0, 181, 0,
0, 0, 0, 1593, 879, 0, 0, 1497, 0, 5542,
0, 0, 0, 0, 0, 0, 0, 1498, 0, 0,
0, 0, 879, 0, 3397, 606, 1499, 5542, 0, 1461,
0, 0, 0, 0, 0, 0, 0, 606, 1500, 0,
0, 1108, 0, 0, 606, 0, 0, 606, 606, 0,
0, 0, 0, 0, 0, 1108, 0, 0, 2058, 0,
0, 0, 0, 2059, 0, 0, 0, 879, 603, 1463,
0, 0, 0, 0, 4688, 0, 1594, 0, 0, 1502,
1503, 5577, 0, 0, 0, 2060, 2061, 879, 879, 0,
0, 0, 0, 0, 0, 0, 1108, 0, 0, 0,
2062, 1465, 0, 870, 870, 0, 0, 0, 0, 1595,
0, 0, 0, 0, 0, 4711, 0, 0, 1724, 879,
0, 0, 1724, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 3636, 0, 0, 0, 4727, 3636, 2063,
0, 3636, 35, 0, 0, 879, 1467, 1724, 0, 0,
0, 879, 0, 2064, 0, 1468, 2065, 0, 879, 0,
0, 0, 0, 1469, 0, 879, 0, 0, 879, 0,
0, 2300, 0, 0, 879, 0, 0, 1505, 0, 0,
0, 0, 0, 1471, 0, 0, 0, 0, 0, 0,
0, 0, 1472, 0, 879, 0, 1473, 0, 0, 0,
879, 0, 0, 0, 0, 879, 0, 4754, 1724, 0,
0, 0, 0, 0, 0, 3399, 0, 0, 879, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 879, 0, 0, 0, 0, 1724, 0, 0, 0,
0, 0, 879, 2066, 0, 0, 0, 0, 0, 0,
1474, 0, 0, 0, 3400, 0, 2048, 0, 0, 2049,
606, 606, 606, 2050, 2051, 2052, 606, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2053, 0, 0, 993, 0, 0, 0, 0,
2055, 0, 0, 0, 0, 0, 0, 2056, 606, 1108,
0, 0, 181, 0, 0, 0, 0, 0, 1724, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2057, 0, 0, 0, 0, 0, 0, 4844,
0, 0, 0, 0, 0, 0, 0, 1059, 673, 0,
181, 0, 606, 2067, 0, 0, 2068, 2069, 2070, 2071,
0, 2072, 2073, 2074, 2075, 2076, 2077, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1977, 0,
0, 1108, 1457, 0, 1108, 0, 0, 0, 0, 879,
0, 2461, 0, 0, 0, 0, 0, 0, 0, 606,
0, 0, 0, 0, 3636, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2038, 0, 1458, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1197, 0, 2058, 0, 0, 0, 0, 2059, 0,
0, 0, 0, 0, 0, 879, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1217, 0, 0,
2060, 2061, 0, 0, 0, 1328, 0, 0, 1337, 1059,
1343, 0, 0, 0, 2048, 2062, 1459, 2049, 0, 0,
0, 2050, 2051, 2052, 0, 0, 0, 879, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2053, 0, 0, 1108, 0, 879, 0, 0, 2055, 0,
0, 1460, 0, 879, 2063, 2056, 0, 606, 0, 0,
1108, 0, 0, 606, 0, 0, 606, 0, 2064, 606,
0, 2065, 0, 0, 2048, 1108, 0, 2049, 0, 0,
2057, 2050, 2051, 2052, 0, 0, 606, 1461, 3636, 0,
0, 606, 0, 0, 0, 0, 0, 0, 181, 0,
2053, 0, 0, 2547, 2925, 0, 0, 0, 2055, 0,
0, 2564, 0, 0, 0, 2056, 0, 606, 606, 606,
0, 0, 606, 2461, 0, 0, 0, 1463, 0, 0,
606, 606, 606, 606, 0, 0, 0, 0, 1724, 0,
2057, 0, 0, 606, 1724, 0, 606, 0, 606, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2066, 1465,
606, 606, 0, 0, 606, 0, 0, 0, 0, 0,
0, 0, 181, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 606, 0, 606, 0, 606, 2926,
0, 2058, 0, 0, 0, 0, 2059, 0, 0, 2645,
35, 0, 2299, 0, 1467, 0, 0, 1977, 0, 606,
0, 0, 0, 1468, 0, 0, 0, 0, 2060, 2061,
606, 1469, 0, 0, 0, 0, 2461, 0, 879, 2300,
0, 0, 0, 2062, 0, 0, 0, 0, 0, 0,
0, 1471, 0, 0, 606, 0, 3869, 0, 0, 0,
1472, 2058, 0, 0, 1473, 0, 2059, 0, 2067, 606,
0, 2068, 2069, 2070, 2071, 0, 2072, 2073, 2074, 2075,
2076, 2077, 2063, 606, 0, 0, 2827, 0, 2060, 2061,
0, 0, 0, 0, 0, 0, 2064, 0, 0, 2065,
0, 0, 1108, 2062, 0, 1108, 0, 1108, 0, 1977,
0, 0, 1108, 0, 1977, 1977, 0, 0, 1474, 0,
0, 0, 0, 0, 0, 0, 0, 879, 879, 0,
0, 0, 0, 606, 0, 0, 0, 0, 0, 0,
0, 0, 2063, 0, 0, 1487, 0, 0, 0, 0,
0, 1488, 0, 0, 879, 0, 2064, 879, 0, 2065,
1059, 1108, 0, 0, 1591, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1059, 0,
1108, 0, 0, 0, 0, 0, 2066, 0, 0, 0,
0, 0, 0, 1490, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 181, 1108, 0, 0, 0, 0,
0, 0, 1976, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5248, 181, 0, 0, 0, 0, 0, 1059, 0, 0,
0, 1724, 1724, 1724, 0, 1592, 2066, 1491, 0, 0,
0, 0, 0, 0, 1492, 0, 0, 1493, 0, 0,
0, 0, 0, 0, 0, 879, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1108, 0, 1108, 0, 0,
0, 0, 0, 1494, 0, 879, 2067, 0, 0, 2068,
2069, 2070, 2071, 0, 2072, 2073, 2074, 2075, 2076, 2077,
0, 0, 2485, 0, 879, 0, 2927, 0, 0, 5519,
0, 0, 0, 2968, 0, 2043, 0, 1495, 0, 0,
0, 0, 0, 0, 2046, 0, 0, 0, 0, 0,
0, 2984, 0, 0, 0, 0, 0, 2988, 2090, 0,
0, 2991, 0, 0, 0, 0, 2067, 0, 0, 2068,
2069, 2070, 2071, 0, 2072, 2073, 2074, 2075, 2076, 2077,
1487, 1059, 0, 0, 2111, 2112, 1488, 3015, 1108, 1059,
1059, 0, 0, 0, 0, 0, 0, 0, 0, 1489,
1593, 0, 0, 1059, 1497, 0, 0, 0, 0, 2048,
879, 0, 2049, 0, 1498, 606, 2050, 2051, 2052, 0,
0, 606, 0, 1499, 0, 0, 0, 0, 1490, 1108,
181, 0, 3069, 0, 0, 1500, 0, 0, 0, 0,
0, 0, 0, 2055, 0, 5394, 0, 0, 0, 0,
2056, 0, 1017, 0, 0, 0, 0, 1724, 1108, 0,
0, 0, 0, 0, 879, 0, 879, 0, 0, 0,
0, 0, 0, 3209, 0, 2057, 1502, 1503, 0, 879,
0, 879, 1491, 0, 3119, 0, 0, 0, 0, 1492,
0, 0, 1493, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1724, 0, 0, 3210, 0, 0, 0,
3148, 0, 0, 0, 0, 0, 3157, 0, 1494, 0,
0, 0, 0, 3163, 0, 0, 0, 1108, 0, 0,
1017, 0, 0, 3177, 0, 0, 0, 0, 0, 3182,
0, 0, 0, 0, 0, 0, 0, 879, 1108, 0,
0, 0, 1495, 0, 0, 0, 0, 0, 0, 3195,
0, 0, 1108, 0, 0, 3198, 0, 0, 0, 2048,
3202, 0, 2049, 0, 1505, 0, 2050, 2051, 2052, 0,
0, 0, 0, 3219, 0, 0, 2058, 0, 0, 0,
0, 2059, 0, 0, 0, 2053, 3244, 0, 0, 0,
0, 0, 879, 2055, 0, 0, 0, 1017, 0, 2417,
2056, 0, 0, -2695, -2695, 1496, 2424, 0, 0, 1497,
879, 0, 0, 0, 0, 0, 0, 0, 2062, 1498,
0, 0, 0, 0, 0, 2057, 0, 0, 1499, 0,
0, 0, 879, 0, 0, 879, 0, 0, 0, 0,
1500, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 606, 0, -2695, 1108, 0,
0, 0, 0, 606, 606, 0, 606, 0, 0, 0,
0, 2064, 0, 0, 606, 0, 606, 0, 1501, 606,
0, 1502, 1503, 1108, 606, 606, 606, 606, 0, 0,
606, 606, 606, 606, 606, 606, 606, 606, 606, 606,
606, 0, 0, 0, 606, 606, 0, 0, 0, 1108,
0, 1504, 0, 0, 606, 0, 0, 0, 606, 0,
1724, 0, 606, 0, 0, 0, 0, 0, 0, 0,
606, 0, 0, 606, 0, 606, 2058, 1487, 0, 0,
0, 2059, 0, 1488, 0, 1108, 0, 606, 0, 0,
606, 606, 0, 0, 0, 606, 606, 0, 0, 0,
0, 2066, 606, 2060, 2061, 0, 0, 0, 0, 0,
0, 0, 606, 0, 0, 606, 0, 0, 2062, 1505,
0, 0, 0, 0, 0, 1490, 0, 606, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 606, 0, 0, 0, 2063, 2558, 0,
0, 0, 2563, 0, 0, 0, 0, 0, 0, 606,
0, 2064, 0, 0, 2065, 1108, 0, 0, 0, 1491,
0, 0, 3473, 0, 0, 0, 1492, 606, 0, 1493,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3487, 2067, 0, 0, 2068, 2069, 2070, 2071, 3473, 2072,
2073, 2074, 2075, 2076, 2077, 1494, 0, 0, 879, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1495,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2066, 0, 0, 0, 0, 0, 0, 1724, 0,
0, 0, 0, 1724, 1108, 1724, 0, 0, 0, 0,
0, 0, 1487, 0, 0, 0, 0, 0, 1488, 0,
0, 0, 0, 2048, 0, 0, 2049, 0, 1724, 1108,
2050, 2051, 2052, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1496, 0, 2048, 0, 1497, 2049, 0, 2053,
1724, 2050, 2051, 2052, 0, 0, 1498, 2055, 0, 0,
1490, 0, 0, 0, 2056, 1499, 879, 0, 0, 879,
2053, 0, 0, 0, 0, 0, 0, 1500, 2055, 0,
0, 0, 0, 0, 0, 2056, 0, 0, 0, 2057,
0, 2067, 0, 0, 2068, 2069, 2070, 2071, 0, 2072,
2073, 2074, 2075, 2076, 2077, 0, 2785, 0, 0, 3907,
2057, 0, 0, 0, 1491, 2357, 0, 0, 1502, 1503,
0, 1492, 0, 0, 1493, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 606, 0, 0, 0,
0, 0, 0, 1864, 0, 0, 0, 0, 2358, 0,
1494, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 879, 879, 1882, 0, 1108, 0, 0, 0, 0,
0, 879, 0, 1893, 0, 0, 0, 1896, 606, 0,
0, 1899, 0, 1901, 1495, 0, 0, 0, 0, 1909,
879, 0, 0, 0, 0, 1917, 0, 0, 1920, 0,
2058, 0, 0, 0, 0, 2059, 0, 2907, 0, 0,
0, 0, 0, 1108, 0, 0, 1505, 1108, 606, 606,
0, 2058, 0, 0, 612, 0, 2059, 2060, 2061, 3717,
662, 612, 0, 0, 0, 0, 714, 0, 612, 0,
0, 0, 2062, 0, 612, 0, 765, 1593, 2060, 2061,
0, 1497, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1498, 0, 2062, 0, 832, 832, 0, 879, 0,
1499, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2063, 1500, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 606, 0, 2064, 0, 0, 2065, 0,
0, 0, 2063, 0, 0, 0, 0, 606, 0, 0,
0, 0, 0, 0, 0, 0, 2064, 0, 0, 2065,
3079, 1059, 0, 1502, 1503, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 606, 0,
3797, 606, 0, 0, 0, 0, 0, 0, 0, 606,
606, 0, 1108, 1504, 0, 0, 0, 0, 606, 606,
0, 0, 0, 606, 1108, 0, 0, 0, 0, 606,
0, 0, 606, 606, 0, 0, 0, 606, 0, 0,
0, 0, 0, 606, 0, 2066, 0, 0, 0, 0,
0, 1343, 0, 0, 0, 606, 0, 0, 0, 0,
0, 0, 0, 606, 0, 0, 2066, 606, 0, 0,
0, 0, 0, 0, 866, 0, 0, 0, 0, 0,
0, 1505, 909, 0, 0, 911, 0, 0, 916, 917,
0, 920, 0, 923, 0, 0, 929, 606, 931, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 606, 3884, 0, 0, 0, 0,
1343, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1108, 0, 0, 2067, 0, 1343, 2068, 2069,
2070, 2071, 0, 2072, 2073, 2074, 2075, 2076, 2077, 0,
879, 0, 0, 4087, 0, 1724, 2067, 0, 0, 2068,
2069, 2070, 2071, 0, 2072, 2073, 2074, 2075, 2076, 2077,
0, 0, 0, 1108, 4143, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
879, 0, 0, 0, 0, 1108, 0, 0, 0, 0,
0, 3247, 879, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 606, 2048,
0, 0, 2049, 0, 0, 0, 2050, 2051, 2052, 0,
0, 0, 0, 0, 879, 0, 0, 3278, 0, 0,
3278, 0, 3278, 0, 0, 2053, 3278, 0, 3278, 3278,
1487, 0, 0, 2055, 0, 0, 1488, 3278, 3278, 3278,
2056, 0, 0, 0, 0, 1108, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2057, 0, 0, 0, 0,
0, 0, 0, 0, 606, 0, 0, 0, 1490, 0,
0, 0, 0, 0, 0, 0, 0, 2461, 0, 0,
606, 0, 3354, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 4056, 0, 0, 0, 0,
0, 0, 0, 879, 0, 0, 0, 0, 0, 0,
606, 0, 0, 0, 3385, 0, 0, 0, 0, 0,
4072, 0, 1491, 0, 0, 0, 1059, 0, 0, 1492,
0, 0, 1493, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1108, 0, 1108, 1494, 0,
0, 0, 0, 0, 0, 0, 2058, 0, 1487, 0,
0, 2059, 0, 0, 1488, 0, 0, 0, 0, 0,
0, 0, 1059, 879, 0, 0, 0, 0, 0, 0,
0, 0, 1495, 2060, 2061, 0, 0, 0, 0, 0,
0, 0, 606, 0, 0, 0, 1108, 0, 2062, 0,
0, 0, 0, 0, 0, 0, 1490, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 606, 606, 0, 0, 606, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2063, 0, 0,
606, 0, 0, 0, 0, 1593, 0, 606, 0, 1497,
0, 2064, 606, 0, 2065, 606, 606, 0, 1011, 1498,
1491, 0, 606, 606, 0, 1024, 1025, 1492, 1499, 1031,
1493, 1034, 1035, 0, 0, 0, 1037, 0, 0, 606,
1500, 606, 0, 0, 0, 0, 879, 1056, 879, 0,
0, 2048, 606, 0, 2049, 0, 1494, 0, 2050, 2051,
2052, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2053, 3254, 0,
0, 1502, 1503, 0, 0, 2055, 1133, 0, 1135, 0,
1495, 0, 2056, 0, 1108, 879, 0, 0, 1151, 0,
0, 2066, 0, 0, 0, 606, 2647, 0, 0, 0,
0, 3255, 0, 4282, 2654, 0, 0, 2057, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
612, 0, 0, 0, 2666, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1724, 0, 0, 0, 0, 606,
0, 0, 0, 1593, 858, 860, 0, 1497, 864, 0,
0, 0, 0, 0, 0, 0, 0, 1498, 0, 0,
0, 0, 0, 0, 0, 1059, 1499, 0, 922, 1505,
0, 0, 0, 0, 0, 932, 0, 0, 1500, 0,
0, 0, 0, 1487, 0, 0, 0, 0, 0, 1488,
0, 2067, 0, 0, 2068, 2069, 2070, 2071, 0, 2072,
2073, 2074, 2075, 2076, 2077, 832, 0, 0, 606, 4253,
1108, 0, 0, 0, 0, 0, 3743, 0, 2058, 1502,
1503, 4388, 0, 2059, 4391, 0, 0, 0, 0, 0,
0, 1490, 0, 0, 606, 1108, 0, 606, 0, 606,
0, 1448, 0, 0, 0, 2060, 2061, 0, 0, 3744,
0, 0, 0, 0, 0, 0, 0, 0, 606, 0,
2062, 0, 0, 0, 606, 0, 0, 0, 606, 0,
0, 0, 0, 0, 1108, 0, 0, 0, 606, 0,
0, 0, 0, 0, 1059, 1491, 0, 0, 0, 0,
0, 0, 1492, 0, 0, 1493, 0, 0, 0, 2063,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2064, 0, 1624, 2065, 1505, 1724, 0,
0, 1494, 0, 0, 0, 0, 4475, 1108, 0, 0,
0, 0, 1108, 1108, 0, 0, 1735, 606, 0, 0,
2912, 0, 606, 606, 879, 2461, 0, 0, 1746, 0,
0, 0, 0, 1749, 0, 1495, 0, 0, 879, 0,
0, 0, 0, 1752, 0, 0, 0, 0, 1756, 0,
0, 0, 0, 0, 3790, 0, 0, 1759, 0, 0,
606, 0, 1766, 0, 0, 1770, 0, 606, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2066, 0, 0, 0, 0, 0, 0,
0, 0, 606, 0, 0, 0, 0, 0, 1593, 0,
0, 0, 1497, 3473, 0, 0, 0, 1824, 0, 3831,
0, 0, 1498, 0, 0, 0, 0, 0, 0, 0,
0, 1499, 0, 1457, 0, 0, 0, 1108, 1108, 0,
0, 0, 0, 1500, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 606, 0, 0,
606, 0, 0, 606, 0, 0, 0, 1458, 0, 0,
0, 0, 0, 0, 606, 0, 0, 0, 606, 0,
606, 3799, 606, 0, 1502, 1503, 0, 3871, 0, 606,
0, 0, 0, 2067, 0, 0, 2068, 2069, 2070, 2071,
0, 2072, 2073, 2074, 2075, 2076, 2077, 0, 606, 0,
0, 4568, 0, 0, 3800, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1459, 0, 0,
0, 3278, 612, 1724, 612, 879, 612, 0, 612, 0,
612, 612, 612, 0, 0, 3904, 3904, 612, 0, 0,
0, 0, 0, 0, 0, 3920, 0, 0, 1972, 0,
0, 1059, 1460, 1059, 0, 0, 1002, 0, 1005, 0,
0, 0, 1008, 1985, 0, 0, 0, 0, 0, 0,
0, 0, 1505, 0, 0, 606, 1033, 0, 0, 0,
0, 0, 0, 1038, 606, 0, 0, 0, 1461, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3976,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
606, 606, 606, 0, 0, 0, 0, 0, 0, 606,
1724, 0, 0, 1108, 1462, 0, 0, 0, 1463, 606,
0, 0, 0, 4011, 1059, 0, 2048, 0, 879, 2049,
0, 0, 0, 2050, 2051, 2052, 0, 0, 0, 0,
0, 606, 0, 0, 0, 0, 0, 0, 0, 1464,
1465, 0, 2053, 0, 879, 0, 0, 0, 0, 0,
2055, 0, 0, 0, 0, 4722, 0, 2056, 0, 0,
0, 0, 0, 2048, 0, 0, 2049, 4732, 0, 0,
2050, 2051, 2052, 0, 0, 0, 0, 1466, 0, 0,
0, 35, 2057, 0, 606, 1467, 0, 0, 0, 2053,
606, 0, 0, 0, 1468, 0, 0, 2055, 0, 0,
606, 0, 1469, 0, 2056, 0, 606, 606, 606, 832,
1470, 0, 0, 0, 0, 0, 0, 0, 606, 0,
0, 0, 1471, 0, 0, 0, 0, 0, 0, 2057,
0, 1472, 0, 0, 0, 1473, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 879,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 606, 0, 0, 0, 0, 0,
606, 0, 0, 0, 3411, 0, 0, 0, 0, 1474,
2278, 0, 3420, 2058, 0, 0, 0, 0, 2059, 0,
0, 0, 0, 1519, 1520, 0, 4146, 606, 606, 0,
0, 0, 3439, 0, 0, 0, 0, 0, 606, 0,
2060, 2061, 3445, 606, 0, 3446, 0, 3447, 3448, 0,
0, 3450, 1724, 0, 0, 2062, 0, 3454, 0, 3455,
2058, 0, 3457, 0, 0, 2059, 0, 0, 0, 2048,
0, 0, 2049, 606, 0, 0, 2050, 2051, 2052, 0,
0, 0, 2369, 606, 0, 0, 0, 2060, 2061, 0,
0, 0, 0, 0, 2063, 2053, 0, 0, 3473, 0,
0, 606, 2062, 2055, 0, 0, 0, 0, 2064, 0,
2056, 2065, 0, 0, 606, 0, 1724, 0, 872, 881,
0, 0, 0, 1755, 0, 3496, 872, 0, 881, 872,
0, 0, 0, 0, 1724, 2057, 606, 606, 0, 0,
0, 2063, 881, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1777, 1778, 0, 2064, 0, 0, 2065, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1819, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2048, 0, 0, 2049, 0, 0, 2066, 2050,
2051, 2052, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3473, 0, 3473, 0, 0, 0, 0, 2053, 0,
0, 0, 0, 0, 0, 0, 2055, 0, 0, 0,
0, 3920, 0, 2056, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2066, 2058, 0, 0, 0,
0, 2059, 1888, 1890, 0, 0, 4354, 0, 2057, 0,
0, 0, 0, 0, 4365, 0, 0, 0, 0, 4366,
0, 4367, 0, 2060, 2061, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2062, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2067, 0,
0, 2068, 2069, 2070, 2071, 0, 2072, 2073, 2074, 2075,
2076, 2077, 0, 0, 4408, 0, 4606, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2063, 0, 2531,
3278, 0, 0, 0, 3278, 3278, 0, 3278, 0, 0,
0, 2064, 0, 0, 2065, 2067, 0, 0, 2068, 2069,
2070, 2071, 0, 2072, 2073, 2074, 2075, 2076, 2077, 0,
0, 0, 0, 4862, 0, 0, 0, 0, 0, 2058,
0, 0, 0, 0, 2059, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1457, 2060, 2061, 0, 0,
0, 0, 0, 3715, 0, 0, 0, 0, 0, 0,
0, 2062, 0, 0, 0, 0, 0, 0, 0, 1457,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1458,
0, 2066, 0, 0, 0, 0, 0, 4515, 0, 0,
3920, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2063, 0, 0, 1458, 0, 0, 2658, 0, 2659, 0,
0, 0, 0, 0, 2064, 0, 0, 2065, 0, 0,
0, 0, 0, 0, 0, 2670, 0, 2671, 0, 0,
0, 0, 0, 0, 0, 0, 3774, 0, 3776, 1459,
0, 612, 0, 612, 0, 612, 0, 612, 0, 612,
0, 0, 0, 612, 0, 0, 0, 0, 0, 0,
4556, 4556, 4556, 1459, 4556, 4556, 4556, 4556, 4556, 0,
0, 0, 0, 0, 1460, 0, 0, 0, 0, 0,
0, 2067, 0, 0, 2068, 2069, 2070, 2071, 0, 2072,
2073, 2074, 2075, 2076, 2077, 0, 0, 0, 1460, 4872,
0, 0, 0, 881, 2066, 0, 0, 0, 0, 881,
1461, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 881, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1461, 0, 0, 0, 881, 0,
0, 0, 0, 0, 0, 0, 1462, 0, 0, 0,
1463, 0, 872, 881, 0, 2298, 0, 0, 0, 872,
0, 881, 872, 0, 0, 0, 0, 0, 0, 0,
1462, 0, 0, 0, 1463, 881, 0, 3868, 0, 0,
2337, 1528, 1465, 3875, 0, 881, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 4646, 0, 4648, 2067, 1545, 1465, 2068, 2069, 2070,
2071, 0, 2072, 2073, 2074, 2075, 2076, 2077, 0, 1529,
0, 0, 4881, 35, 0, 0, 0, 1467, 0, 0,
0, 0, 0, 0, 0, 0, 1468, 0, 0, 0,
0, 0, 0, 1546, 1469, 0, 0, 35, 0, 0,
0, 1467, 1530, 0, 0, 0, 0, 2419, 0, 0,
1468, 0, 0, 0, 1471, 0, 0, 0, 1469, 0,
881, 0, 0, 1472, 0, 0, 1547, 1473, 0, 0,
0, 0, 0, 0, 2442, 2443, 2444, 2445, 1471, 0,
0, 0, 0, 0, 881, 2969, 2970, 1472, 0, 0,
0, 1473, 0, 0, 0, 0, 0, 881, 0, 0,
0, 0, 0, 0, 2985, 2986, 0, 0, 0, 2989,
2990, 0, 0, 0, 2993, 0, 0, 0, 0, 0,
0, 1474, 0, 2048, 0, 0, 2049, 0, 3004, 0,
2050, 2051, 2052, 0, 0, 3013, 0, 0, 0, 3016,
3017, 0, 0, 3020, 3021, 1474, 0, 0, 0, 2053,
3026, 0, 0, 0, 0, 0, 0, 2055, 0, 0,
0, 0, 0, 0, 2056, 3045, 0, 3047, 0, 0,
4038, 0, 4040, 3473, 4042, 0, 0, 0, 0, 0,
4752, 4753, 0, 4046, 0, 3070, 0, 0, 0, 2057,
3072, 0, 0, 3278, 0, 3278, 3278, 0, 0, 3278,
0, 0, 0, 0, 0, 3078, 0, 1726, 0, 0,
0, 0, 0, 0, 3085, 2497, 2498, 3089, 0, 3091,
3094, 3096, 0, 0, 4071, 872, 3104, 3107, 0, 0,
0, 872, 0, 0, 872, 2521, 3120, 0, 0, 0,
0, 3129, 0, 0, 0, 3132, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3149, 4812, 0, 0, 0, 0, 3158, 3159,
2566, 2567, 2568, 2569, 0, 3164, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3178, 3179, 0, 0, 0,
0, 3183, 0, 0, 0, 0, 0, 0, 0, 0,
2058, 4839, 0, 3190, 0, 2059, 3193, 0, 0, 0,
0, 3196, 0, 0, 0, 0, 0, 3199, 3200, 0,
0, 0, 0, 3204, 0, 0, 3208, 2060, 2061, 0,
3215, 3216, 3217, 3218, 0, 3220, 4556, 0, 0, 0,
0, 0, 2062, 0, 0, 0, 0, 0, 3245, 3246,
2048, 3248, 0, 2049, 0, 0, 0, 2050, 2051, 2052,
0, 0, 3257, 3258, 3259, 0, 0, 0, -130, 0,
0, 0, 0, 0, 0, 0, 2053, 0, 0, 0,
0, 2063, 0, 881, 2055, 0, 0, 0, 2668, 0,
1, 2056, 0, 0, 2672, 2064, 0, 0, 2065, 0,
2, 881, 3, 4, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2057, 0, 5, 881,
0, 0, 0, 0, 0, 3312, 0, 6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 7,
0, 8, 9, 0, 0, 0, 0, 881, 10, 0,
11, 0, 0, 3349, 0, 0, 0, 0, 881, 0,
0, 12, 0, 13, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 881, 0, 0, 0, 881, 0,
14, 0, 0, 15, 0, 2066, 0, 0, 0, 0,
0, 3920, 0, 0, 0, 0, 0, 16, 0, 17,
0, 0, 0, 18, 0, 0, 0, 0, 0, 19,
0, 0, 0, 0, 0, 0, 0, 20, 0, 21,
0, 0, 0, 0, 0, 0, 22, 2058, 0, 2842,
0, 0, 2059, 0, 0, 0, 3278, 0, 0, 0,
0, 0, 23, 0, 0, 5001, 0, 0, 0, 0,
0, 0, 0, 0, 2060, 2061, 0, 0, 0, 24,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2062,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2067, 0, 0, 2068, 2069,
2070, 2071, 0, 2072, 2073, 2074, 2075, 2076, 2077, 25,
26, 0, 881, 4884, 0, 27, 0, 0, 2063, 0,
881, 881, 0, 0, 0, 0, 0, 28, 0, 0,
0, 0, 2064, 0, 881, 2065, 0, 0, 0, 0,
0, 2048, 0, 0, 2049, 29, 0, 0, 2050, 2051,
2052, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3509, 0, 2053, 0, 0,
0, 0, 0, 0, 0, 2055, 0, 0, 0, 0,
0, 0, 2056, 0, 0, 0, 0, 1726, 30, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 31, 0, 0, 0, 0, 2057, 32, 33,
0, 34, 0, 0, 0, 0, 35, 0, 0, 0,
0, 36, 2066, 0, 37, 0, 0, 0, 0, 0,
0, 38, 0, 0, 0, 0, 0, 39, 40, 0,
0, 3032, 3033, 0, 0, 41, 0, 0, 0, 42,
0, 0, 3046, 0, 3048, 0, 0, 0, 3052, 43,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 44, 1059, 0, 0, 0, 5180,
0, 0, 0, 4538, 0, 0, 0, 4540, 0, 0,
0, 0, 0, 0, 45, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 46, 0, 0, 0, 0,
0, 47, 0, 0, 0, 0, 48, 0, 2058, 0,
0, 0, 2067, 2059, 0, 2068, 2069, 2070, 2071, 49,
2072, 2073, 2074, 2075, 2076, 2077, 0, 0, 0, 0,
4931, 0, 0, 0, 0, 2060, 2061, 0, 0, 0,
0, 0, 50, 0, 0, 0, 0, 0, 0, 0,
2062, 0, 0, 0, 0, 0, 0, 51, 0, 0,
-130, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 881, 0, 0, 0, 3189, 0,
0, 3192, 0, 0, 0, 0, 0, 0, 0, 2063,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2064, 0, 0, 2065, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3718, 0, 0, 0, 3720, 0, 0, 0, 0,
0, 3722, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3733,
3735, 0, 1059, 0, 3735, 0, 5321, 0, 5322, 3746,
3747, 3748, 5327, 5328, 3281, 0, 0, 0, 0, 0,
0, 0, 3288, 0, 0, 3291, 0, 0, 0, 0,
0, 3293, 2048, 0, 0, 2049, 0, 0, 0, 2050,
2051, 2052, 3305, 2066, 0, 3777, 3778, 3779, 3780, 0,
4687, 0, 0, 0, 0, 0, 0, 0, 2053, 0,
0, 0, 0, 0, 0, 0, 2055, 0, 0, 0,
0, 0, 1726, 2056, 0, 0, 0, 0, 0, 0,
0, 0, 3798, 3351, 3802, 3803, 3804, 0, 0, 0,
0, 0, 0, 0, 4712, 4713, 881, 0, 2057, 0,
0, 0, 0, 0, 881, 0, 0, 0, 0, 0,
0, 3374, 0, 0, 0, 0, 881, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2067, 0, 0, 2068, 2069, 2070, 2071,
0, 2072, 2073, 2074, 2075, 2076, 2077, 0, 0, 2048,
0, 4966, 2049, 0, 0, 0, 2050, 2051, 2052, 0,
3441, 0, 3443, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2053, 4755, 4756, 872, 872,
0, 881, 881, 2055, 0, 0, 0, 0, 3879, 0,
2056, 0, 0, 872, 0, 881, 872, 3885, 0, 2058,
0, 0, 0, 0, 2059, 0, 0, 0, 881, 881,
0, 0, 0, 0, 0, 2057, 0, 0, 0, 0,
0, 0, 0, 0, 881, 0, 2060, 2061, 3899, 0,
0, 0, 0, 0, 0, 0, 1059, 0, 0, 0,
0, 2062, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3942, 0, 0, 0, 0, 872, 0, 0, 872,
872, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3508, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2063, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2064, 0, 0, 2065, 0, 0,
0, 0, 4852, 3979, 0, 0, 4854, 4855, 3985, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 5543,
0, 0, 4859, 0, 0, 0, 2058, 0, 0, 0,
0, 2059, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4024, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1726, 2060, 2061, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2062, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5543, 2066, 4043, 0, 4044, 880, 0,
0, 0, 0, 0, 0, 0, 0, 880, 0, 0,
0, 5543, 0, 0, 0, 0, 0, 2063, 0, 0,
0, 880, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2064, 0, 0, 2065, 0, 0, 4068, 0, 0,
881, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2067, 0, 881, 2068, 2069, 2070,
2071, 0, 2072, 2073, 2074, 2075, 2076, 2077, 0, 0,
0, 0, 5008, 0, 881, 0, 0, 0, 0, 1726,
881, 2066, 0, 0, 881, 0, 0, 0, 0, 0,
0, 0, 881, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
881, 0, 0, 0, 0, 0, 0, 0, 0, 3724,
0, 3725, 3726, 3727, 0, 0, 0, 0, 0, 0,
0, 0, 872, 0, 0, 872, 872, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 881, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 881, 881, 0, 0, 0,
0, 2067, 0, 0, 2068, 2069, 2070, 2071, 0, 2072,
2073, 2074, 2075, 2076, 2077, 0, 0, 0, 0, 5309,
5089, 0, 0, 0, 0, 0, 1726, 881, 0, 0,
1726, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4270, 0, 4271, 0, 0, 884, 0, 0, 0, 4273,
0, 0, 0, 881, 0, 1726, 0, 919, 0, 881,
0, 0, 0, 0, 0, 4283, 881, 0, 938, 0,
0, 2048, 0, 881, 2049, 0, 881, 4289, 2050, 2051,
2052, 4292, 881, 0, 0, 0, 0, 0, 0, 0,
5134, 0, 0, 0, 0, 0, 0, 2053, 0, 4314,
0, 0, 881, 0, 0, 2055, 0, 0, 881, 0,
0, 0, 2056, 881, 0, 0, 1726, 4318, 0, 0,
0, 0, 4322, 0, 0, 0, 881, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2057, 0, 881,
0, 0, 0, 5171, 1726, 0, 0, 4357, 0, 0,
881, 4361, 0, 0, 0, 0, 0, 0, 0, 0,
0, 4368, 4369, 4370, 4371, 0, 0, 0, 0, 0,
4376, 4377, 4378, 4379, 0, 0, 0, 4381, 4382, 0,
0, 0, 3892, 4389, 4390, 0, 4392, 4393, 4394, 4395,
4396, 4397, 4398, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4407, 0, 0, 0, 4410, 4411, 4412, 4413,
0, 0, 880, 0, 0, 0, 1726, 0, 880, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 880, 3735, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 880, 2058, 0,
0, 4436, 0, 2059, 0, 0, 0, 0, 0, 0,
0, 0, 880, 0, 0, 0, 0, 0, 0, 0,
880, 0, 0, 0, 0, 2060, 2061, 0, 0, 0,
0, 0, 0, 0, 880, 0, 0, 0, 0, 0,
2062, 0, 0, 0, 880, 0, 0, 881, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2048, 0, 0, 2049,
0, 0, 0, 2050, 2051, 2052, 0, 0, 0, 2063,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2053, 2064, 0, 0, 2065, 0, 0, 0,
2055, 3735, 0, 881, 0, 0, 0, 2056, 4047, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 880,
0, 0, 2057, 0, 0, 0, 0, 0, 4550, 0,
0, 0, 0, 0, 0, 881, 0, 0, 0, 0,
0, 0, 0, 880, 0, 0, 0, 0, 0, 0,
0, 0, 0, 881, 0, 0, 880, 0, 0, 0,
0, 881, 0, 0, 0, 0, 0, 0, 0, 0,
0, 872, 0, 2066, 872, 0, 0, 872, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 952,
0, 0, 0, 0, 0, 1000, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2058, 0, 0, 0, 0, 2059, 0,
0, 0, 0, 0, 0, 0, 1726, 0, 0, 0,
0, 0, 1726, 0, 0, 0, 0, 0, 0, 0,
2060, 2061, 0, 0, 0, 0, 1725, 0, 0, 0,
0, 0, 0, 2067, 0, 2062, 2068, 2069, 2070, 2071,
0, 2072, 2073, 2074, 2075, 2076, 2077, 0, 0, 0,
0, 5332, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5487, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2063, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2064, 0,
0, 2065, 0, 0, 0, 0, 881, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4691, 0, 0, 0,
4692, 4693, 4694, 4695, 0, 0, 0, 4697, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4276, 4277, 4278, 4279, 0, 0, 0, 0, 0, 0,
0, 0, 1332, 0, 0, 0, 0, 0, 0, 0,
0, 4717, 4718, 4719, 4720, 4721, 2048, 4723, 4724, 2049,
0, 1359, 0, 2050, 2051, 2052, 0, 0, 0, 4733,
4734, 0, 0, 0, 0, 0, 0, 0, 2066, 0,
0, 0, 2053, 1383, 0, 881, 881, 0, 0, 0,
2055, 0, 0, 0, 0, 0, 0, 2056, 0, 0,
0, 4739, 880, 0, 0, 0, 0, 0, 0, 0,
0, 0, 881, 0, 0, 881, 0, 0, 0, 0,
880, 0, 2057, 0, 0, 0, 0, 0, 0, 1518,
0, 0, 0, 0, 0, 0, 0, 0, 880, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 880, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 880, 2067, 0,
0, 2068, 2069, 2070, 2071, 0, 2072, 2073, 2074, 2075,
2076, 2077, 0, 880, 0, 0, 5437, 880, 0, 1726,
1726, 1726, 0, 0, 0, 4803, 0, 0, 0, 0,
0, 4432, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 881, 0, 0, 4435, 0, 0, 0,
0, 0, 0, 2058, 0, 0, 0, 0, 2059, 0,
0, 0, 0, 881, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1775, 0, 0, 0,
2060, 2061, 881, 0, 0, 4856, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2062, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1813, 1816, 1817, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2063, 0, 0, 0, 0, 0,
0, 880, 0, 0, 0, 0, 0, 0, 2064, 880,
880, 2065, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 880, 0, 0, 0, 0, 881, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2048, 0, 0, 2049, 0, 612, 0,
2050, 2051, 2052, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1726, 1725, 0, 0, 2053,
0, 0, 881, 0, 881, 0, 0, 2055, 0, 0,
0, 0, 0, 0, 2056, 0, 0, 881, 2066, 881,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1332, 0, 0, 0, 0, 0, 0, 0, 2057,
0, 1726, 4955, 0, 0, 0, 0, 2048, 0, 1984,
2049, 0, 0, 0, 2050, 2051, 2052, 0, 1332, 0,
0, 4965, 0, 0, 0, 0, 4970, 4971, 0, 0,
0, 0, 0, 2053, 0, 0, 4982, 0, 0, 0,
0, 2055, 0, 4984, 0, 881, 0, 0, 2056, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2057, 0, 0, 0, 0, 2067, 5034,
0, 2068, 2069, 2070, 2071, 0, 2072, 2073, 2074, 2075,
2076, 2077, 0, 0, 0, 0, 5506, 0, 0, 5051,
881, 5053, 0, 0, 0, 0, 0, 0, 0, 0,
2058, 0, 0, 0, 0, 2059, 5067, 0, 881, 0,
0, 0, 2048, 0, 0, 2049, 0, 0, 0, 2050,
2051, 2052, 0, 0, 0, 0, 3735, 2060, 2061, 0,
881, 0, 0, 881, 5088, 0, 0, 0, 2053, 0,
0, 0, 2062, 880, 0, 0, 2055, 0, 0, 0,
0, 2127, 0, 2056, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2058, 0, 0, 0, 2057, 2059,
0, 2063, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2064, 0, 2182, 2065, 5127,
0, 2060, 2061, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2062, 0, 1726, 0,
5144, 0, 0, 0, 0, 0, 1308, 1308, 0, 0,
0, 0, 5152, 0, 0, 0, 0, 4747, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4751, 0, 0, 2063, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3564, 0, 0, 0, 2064,
3565, 0, 2065, 0, 0, 0, 0, 0, 0, 2310,
0, 0, 0, 0, 0, 2066, 1107, 0, 2333, 2058,
0, 1725, 0, 0, 2059, 0, 0, 5211, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1107, 0, 0, 880, 2060, 2061, 0, 0,
2370, 0, 0, 880, 0, 0, 0, 0, 0, 0,
0, 2062, 0, 0, 0, 880, 0, 0, 0, 0,
0, 0, 0, 2393, 0, 4817, 2396, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2066,
0, 3735, 0, 0, 0, 0, 0, 0, 0, 0,
2063, 0, 0, 0, 0, 0, 881, 1637, 1641, 0,
0, 0, 0, 0, 2064, 2067, 0, 2065, 2068, 2069,
2070, 2071, 0, 2072, 2073, 2074, 2075, 2076, 2077, 2446,
0, 0, 0, 5562, 0, 0, 0, 0, 0, 0,
880, 880, 0, 2465, 0, 0, 0, 0, 0, 0,
0, 5297, 0, 0, 880, 0, 1726, 0, 0, 0,
0, 1726, 0, 1726, 0, 0, 5310, 880, 880, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 880, 0, 0, 1726, 0, 0, 2067,
0, 0, 2068, 2069, 2070, 2071, 0, 2072, 2073, 2074,
2075, 2076, 2077, 0, 2066, 0, 0, 5576, 1726, 0,
5339, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 881, 5350, 0, 881, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2489, 0, 4936, 0, 4937, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1640, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1107,
0, 0, 0, 0, 2067, 2540, 5411, 2068, 2069, 2070,
2071, 1725, 2072, 2073, 2074, 2075, 2076, 2077, 0, 881,
881, 0, 0, 0, 1107, 0, 0, 0, 0, 881,
0, 0, 0, 0, 2583, 2048, 0, 0, 2049, 1107,
0, 2596, 2050, 2051, 2052, 0, 0, 0, 881, 0,
5433, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2053, 0, 0, 0, 0, 0, 0, 0, 2055,
0, 0, 0, 0, 0, 0, 2056, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 880,
0, 0, 2001, 0, 0, 0, 0, 0, 0, 0,
0, 2057, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 5072, 0,
0, 0, 0, 2016, 1107, 0, 881, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 5499, 0,
0, 0, 0, 0, 0, 880, 0, 2675, 0, 0,
0, 2034, 0, 2036, 2037, 0, 2039, 0, 0, 0,
0, 0, 0, 880, 0, 0, 0, 0, 1725, 880,
0, 0, 0, 880, 0, 0, 2084, 0, 0, 0,
0, 880, 0, 0, 0, 0, 0, 1332, 1332, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 880,
0, 0, 0, 0, 2726, 0, 0, 0, 0, 0,
0, 0, 2058, 0, 0, 0, 0, 2059, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1107, 0, 0, 0, 0, 2060,
2061, 0, 0, 0, 880, 0, 0, 0, 2149, 0,
0, 0, 2161, 2166, 2062, 0, 0, 0, 0, 0,
5167, 0, 5169, 0, 880, 880, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2048, 0, 0, 2049, 0,
0, 0, 2050, 2051, 2052, 0, 0, 0, 0, 0,
0, 0, 0, 2063, 0, 1725, 880, 0, 0, 1725,
0, 2053, 0, 0, 0, 0, 0, 2064, 2898, 2055,
2065, 0, 0, 0, 0, 0, 2056, 0, 0, 2904,
0, 0, 880, 0, 1725, 0, 0, 0, 880, 0,
0, 0, 0, 0, 4135, 880, 0, 0, 0, 0,
0, 2057, 880, 0, 0, 880, 0, 0, 0, 0,
0, 880, 0, 0, 1383, 0, 0, 0, 881, 0,
0, 0, 0, 1726, 0, 1383, 1383, 0, 1106, 0,
0, 880, 0, 0, 0, 0, 0, 880, 0, 0,
0, 0, 880, 0, 0, 1725, 0, 0, 0, 0,
0, 0, 0, 0, 1106, 880, 0, 2066, 881, 1332,
0, 0, 0, 0, 0, 0, 0, 0, 880, 0,
881, 0, 0, 1725, 4136, 0, 0, 0, 0, 880,
0, 0, 0, 0, 0, 0, 0, 5467, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 881, 0, 0, 0, 0, 0, 0, 2205,
0, 0, 2058, 0, 0, 0, 0, 2059, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2060,
2061, 0, 0, 0, 0, 1725, 0, 0, 0, 0,
0, 1637, 1637, 1637, 2062, 0, 5346, 2067, 0, 0,
2068, 2069, 2070, 2071, 0, 2072, 2073, 2074, 2075, 2076,
2077, 0, 0, 0, 0, 0, 2205, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2063, 0, 0, 0, 0, 0, 0,
0, 881, 0, 3088, 0, 0, 0, 2064, 0, 0,
2065, 0, 0, 0, 0, 0, 0, 1107, 3110, 0,
0, 0, 0, 0, 0, 0, 880, 0, 0, 0,
0, 0, 5468, 0, 0, 0, 0, 0, 0, 3137,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1107, 0, 0, 0, 0, 0, 0, 0, 5417, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 881, 880, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2066, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1106, 0, 0, 0, 3213, 3214, 0, 0, 0,
0, 0, 0, 0, 880, 0, 0, 1640, 1640, 1640,
0, 0, 0, 0, 0, 0, 1106, 0, 0, 0,
0, 0, 880, 0, 0, 0, 0, 0, 0, 2048,
880, 1106, 2049, 0, 0, 5492, 2050, 2051, 2052, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2053, 0, 0, 3518, 0,
0, 0, 0, 2055, 0, 0, 0, 5508, 5508, 0,
2056, 0, 0, 0, 881, 0, 881, 2067, 0, 0,
2068, 2069, 2070, 2071, 0, 2072, 2073, 2074, 2075, 2076,
2077, 0, 0, 0, 0, 2057, 0, 0, 0, 0,
0, 0, 3338, 0, 0, 0, 0, 0, 0, 0,
1107, 0, 0, 0, 0, 1725, 1106, 0, 0, 0,
0, 1725, 0, 881, 0, 0, 0, 1107, 2048, 0,
0, 2049, 0, 872, 0, 2050, 2051, 2052, 0, 0,
0, 0, 0, 0, 0, 1107, 0, 0, 0, 0,
0, 0, 0, 0, 2053, 0, 0, 0, 0, 0,
0, 0, 2055, 0, 0, 0, 0, 0, 0, 2056,
5508, 0, 1726, 0, 0, 0, 0, 872, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2057, 0, 0, 0, 0, 0,
0, 1107, 0, 2769, 0, 880, 2058, 0, 0, 0,
0, 2059, 0, 0, 1107, 2791, 0, 2792, 0, 2794,
0, 0, 2806, 2809, 2814, 0, 1106, 1107, 0, 2820,
1097, 0, 2825, 2060, 2061, 0, 0, 0, 0, 1107,
0, 0, 0, 0, 0, 0, 0, 0, 2062, 0,
2833, 2834, 2835, 2836, 0, 0, 1097, 0, 2843, 0,
0, 0, 2861, 0, 0, 2863, 0, 0, 2870, 2871,
2872, 2873, 2874, 2875, 2876, 2877, 2878, 2879, 0, 2880,
0, 0, 0, 1107, 1107, 0, 1308, 2063, 0, 1637,
0, 0, 0, 0, 880, 880, 0, 0, 0, 0,
0, 2064, 0, 0, 2065, 2058, 0, 0, 0, 0,
2059, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 880, 0, 0, 880, 0, 0, 0, 0, 0,
0, 0, 2060, 2061, 0, 0, 0, 0, 2917, 0,
0, 0, 0, 0, 0, 0, 0, 2062, 0, 0,
0, 0, 0, 0, 0, 0, 1726, 0, 2048, 0,
0, 2049, 2036, 2037, 0, 2050, 2051, 2052, 0, 0,
0, 0, 0, 0, 0, 2110, 0, 0, 0, 0,
0, 0, 881, 0, 2053, 1099, 2063, 3569, 0, 0,
0, 2066, 2055, 0, 0, 0, 881, 0, 0, 2056,
2064, 0, 0, 2065, 0, 0, 0, 0, 1725, 1725,
1725, 1099, 0, 0, 0, 0, 0, 0, 0, 0,
0, 3536, 0, 0, 2057, 1107, 0, 0, 0, 0,
0, 0, 880, 0, 0, 0, 0, 0, 0, 0,
0, 1106, 0, 0, 0, 3018, 0, 0, 0, 0,
0, 0, 880, 0, 0, 0, 3628, 0, 0, 0,
0, 0, 0, 0, 0, 1640, 0, 0, 0, 0,
0, 880, 0, 0, 0, 0, 0, 0, 0, 1383,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2066, 2067, 0, 0, 2068, 2069, 2070, 2071, 0, 2072,
2073, 2074, 2075, 2076, 2077, 0, 0, 0, 1106, 0,
0, 0, 0, 1097, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2058, 0, 0, 1097, 0,
2059, 0, 0, 0, 0, 0, 0, 0, 0, 1106,
0, 0, 0, 1097, 0, 0, 0, 880, 0, 0,
0, 0, 2060, 2061, 0, 0, 0, 0, 0, 0,
0, 2973, 0, 0, 0, 2205, 2979, 2062, 0, 0,
0, 1726, 1106, 881, 0, 0, 0, 0, 0, 0,
2067, 0, 0, 2068, 2069, 2070, 2071, 0, 2072, 2073,
2074, 2075, 2076, 2077, 1725, 0, 0, 0, 0, 0,
0, 880, 0, 880, 0, 0, 2063, 0, 0, 0,
0, 0, 0, 0, 0, 0, 880, 0, 880, 0,
2064, 0, 0, 2065, 0, 0, 0, 1107, 1097, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1725, 1107, 0, 0, 0, 0, 0, 0, 0, 1100,
0, 0, 0, 0, 0, 0, 0, 0, 1099, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1726, 0,
3269, 3270, 1637, 0, 0, 1100, 3274, 0, 0, 0,
0, 0, 1107, 1099, 880, 0, 881, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1099, 872,
0, 0, 0, 0, 0, 0, 3820, 0, 3303, 0,
2066, 0, 881, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1097, 880,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1106, 0, 0, 0, 0, 880, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1106,
0, 0, 0, 0, 872, 872, 0, 0, 0, 880,
0, 0, 880, 1099, 0, 0, 0, 1106, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2067, 0, 0, 2068, 2069, 2070, 2071, 881, 2072, 2073,
2074, 2075, 2076, 2077, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1106, 0, 0, 0, 0, 1640, 0,
0, 0, 0, 0, 0, 0, 1106, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1725, 0, 1106,
0, 0, 0, 3945, 3946, 3947, 0, 0, 0, 0,
0, 1106, 0, 0, 0, 1107, 0, 0, 0, 0,
3956, 0, 0, 1099, 0, 0, 2048, 0, 0, 2049,
1726, 0, 0, 2050, 2051, 2052, 0, 0, 0, 0,
0, 0, 0, 3972, 0, 0, 0, 0, 0, 0,
0, 0, 2053, 3982, 3984, 1106, 1106, 0, 3989, 0,
2055, 0, 1100, 0, 0, 0, 0, 2056, 0, 0,
2048, 0, 0, 2049, 0, 0, 0, 2050, 2051, 2052,
0, 0, 0, 1097, 0, 0, 3514, 1100, 0, 0,
0, 3520, 2057, 0, 1726, 0, 2053, 2205, 0, 0,
2205, 0, 1100, 0, 2055, 0, 0, 0, 0, 0,
0, 2056, 1726, 0, 872, 872, 0, 0, 0, 2039,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2814, 0, 2814, 2814, 0, 0, 2057, 0, 0, 0,
0, 0, 0, 3583, 0, 0, 3586, 0, 3588, 0,
1097, 0, 0, 0, 0, 880, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 4067, 0, 0, 1332, 0, 0, 0,
0, 0, 0, 0, 3609, 0, 3612, 1100, 3614, 0,
0, 1097, 0, 0, 0, 0, 0, 1106, 0, 0,
0, 0, 0, 2058, 0, 1725, 0, 0, 2059, 0,
1725, 0, 1725, 0, 0, 0, 0, 0, 0, 1107,
0, 0, 0, 0, 1097, 0, 0, 0, 3574, 0,
2060, 2061, 0, 0, 0, 1725, 1107, 0, 1099, 0,
0, 0, 0, 0, 2149, 2062, 0, 2058, 0, 0,
0, 1107, 2059, 0, 0, 0, 0, 1725, 0, 2166,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 880, 2060, 2061, 880, 0, 0, 0,
0, 0, 0, 0, 2063, 0, 0, 0, 0, 2062,
0, 0, 0, 0, 0, 0, 0, 1100, 2064, 0,
0, 2065, 0, 0, 0, 1099, 0, 0, 0, 0,
0, 0, 4178, 4179, 4180, 0, 0, 0, 0, 0,
0, 0, 0, 3704, 0, 0, 0, 0, 2063, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2064, 1106, 0, 2065, 1099, 1106, 1106, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 880, 880,
0, 0, 0, 0, 0, 0, 0, 0, 880, 1099,
0, 0, 0, 0, 0, 0, 0, 0, 2066, 0,
0, 0, 0, 0, 0, 0, 0, 880, 0, 0,
0, 0, 0, 0, 1097, 0, 0, 0, 0, 1106,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4083, 1097, 0, 1106, 0, 0, 0, 0, 0, 0,
0, 0, 2066, 0, 0, 0, 0, 0, 0, 1097,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1106, 0, 0, 0, 2205, 0,
0, 2979, 0, 2979, 0, 880, 0, 0, 2205, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2067, 0,
0, 2068, 2069, 2070, 2071, 1097, 2072, 2073, 2074, 2075,
2076, 2077, 0, 0, 0, 0, 0, 0, 1097, 0,
0, 0, 1100, 0, 0, 0, 0, 0, 0, 0,
0, 1097, 0, 0, 0, 0, 0, 1107, 0, 0,
0, 0, 2067, 1097, 0, 2068, 2069, 2070, 2071, 0,
2072, 2073, 2074, 2075, 2076, 2077, 1107, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1099,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2205, 0, 0, 0, 0, 1099, 1097, 1097, 1100,
2048, 0, 0, 2049, 0, 1637, 0, 2050, 2051, 2052,
0, 1637, 0, 0, 1099, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2048, 4433, 2053, 2049, 0, 3580,
0, 2050, 2051, 2052, 2055, 0, 4446, 0, 0, 0,
1100, 2056, 0, 0, 0, 0, 0, 0, 0, 0,
2053, 0, 0, 4142, 0, 0, 0, 0, 2055, 0,
0, 1107, 0, 1107, 0, 2056, 2057, 4477, 0, 0,
1099, 0, 0, 1100, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1099, 0, 0, 0, 1106, 0, 0,
2057, 0, 0, 0, 0, 0, 1099, 0, 0, 0,
2596, 0, 0, 0, 0, 0, 0, 0, 1099, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 880, 0, 0,
0, 0, 1725, 0, 0, 0, 0, 0, 0, 1097,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2675, 1099, 1099, 1107, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 880, 0, 1106,
0, 0, 1106, 0, 0, 0, 0, 2058, 0, 880,
0, 1640, 2059, 0, 0, 0, 0, 1640, 0, 0,
0, 0, 0, 0, 0, 1107, 0, 0, 0, 0,
0, 2058, 0, 0, 2060, 2061, 2059, 0, 0, 0,
0, 880, 0, 0, 0, 0, 0, 0, 0, 2062,
0, 0, 0, 0, 2979, 0, 0, 0, 2060, 2061,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2062, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1100, 0, 4084, 0, 0, 2063, 0,
0, 0, 0, 4088, 4089, 0, 4090, 0, 0, 0,
1100, 0, 2064, 0, 4092, 2065, 4093, 4613, 4614, 4615,
4616, 0, 2063, 0, 0, 1097, 0, 0, 1100, 1097,
1097, 1106, 0, 1107, 1099, 0, 2064, 0, 0, 2065,
0, 0, 0, 0, 4118, 4119, 0, 0, 1106, 0,
880, 0, 0, 0, 2979, 0, 0, 0, 0, 0,
0, 0, 2820, 1106, 0, 0, 0, 0, 1107, 0,
4147, 0, 0, 4150, 0, 4152, 0, 0, 0, 0,
0, 0, 0, 0, 1100, 0, 0, 4157, 0, 0,
0, 1097, 0, 0, 0, 4164, 4165, 1100, 0, 0,
0, 0, 2066, 0, 0, 1097, 0, 0, 0, 0,
1100, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1100, 0, 0, 0, 2066, 4211, 0, 0,
880, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1097, 0, 0, 0,
0, 0, 0, 4226, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1100, 1100, 0, 4239,
0, 0, 0, 0, 1107, 0, 0, 0, 0, 0,
1099, 0, 0, 0, 1099, 1099, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1107,
0, 0, 2067, 0, 0, 2068, 2069, 2070, 2071, 0,
2072, 2073, 2074, 2075, 2076, 2077, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1107, 2067, 0, 0, 2068,
2069, 2070, 2071, 0, 2072, 2073, 2074, 2075, 2076, 2077,
0, 0, 0, 880, 0, 880, 1099, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1099, 1107, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1102, 0, 0, 0, 0, 0, 0, 0, 0,
1106, 0, 0, 1106, 0, 1106, 0, 0, 0, 0,
1106, 0, 880, 0, 0, 1103, 0, 1102, 0, 0,
0, 1099, 0, 0, 0, 0, 0, 0, 1100, 0,
0, 0, 0, 1487, 0, 0, 0, 0, 0, 1488,
0, 1103, 0, 0, 0, 0, 1554, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1106,
0, 1725, 0, 0, 0, 1555, 0, 0, 0, 1097,
0, 2205, 0, 0, 0, 0, 0, 0, 1106, 0,
0, 1490, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4846, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1106, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1556, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1491, 0, 0, 0, 0,
0, 0, 1492, 0, 0, 1493, 0, 0, 0, 0,
0, 1097, 0, 0, 1097, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2979, 1494, 0, 1106, 1100, 1106, 0, 0, 1100, 1100,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2048,
0, 0, 2049, 0, 0, 2979, 2050, 2051, 2052, 0,
0, 0, 1557, 0, 0, 1495, 0, 0, 4522, 4523,
0, 0, 0, 0, 0, 2053, 0, 0, 0, 0,
0, 0, 0, 2055, 1099, 0, 0, 0, 0, 0,
2056, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1100, 0, 0, 0, 0, 1725, 0, 0, 0, 0,
1558, 0, 0, 1559, 1100, 2057, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1106, 0, 1560, 0,
0, 880, 1497, 1097, 1102, 0, 0, 0, 0, 0,
0, 0, 1498, 4565, 0, 880, 0, 0, 0, 0,
1097, 1499, 0, 0, 0, 1100, 0, 4571, 1103, 1102,
0, 0, 1561, 1500, 0, 1097, 1099, 1106, 0, 1099,
0, 0, 0, 0, 1102, 0, 0, 0, 0, 0,
0, 0, 0, 1103, 0, 0, 0, 0, 0, 0,
0, 1107, 0, 0, 0, 5006, 1106, 0, 1103, 4589,
4591, 1562, 0, 0, 1502, 1503, 1563, 0, 4595, 4596,
5019, 0, 0, 4597, 0, 1332, 0, 0, 0, 4600,
0, 0, 4603, 4604, 0, 0, 2058, 4608, 1564, 0,
0, 2059, 0, 4612, 1565, 0, 0, 0, 0, 2979,
0, 5056, 0, 2205, 0, 0, 0, 0, 1566, 0,
0, 0, 0, 2060, 2061, 0, 0, 0, 0, 1102,
0, 0, 0, 0, 0, 1106, 0, 0, 2062, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1103, 0, 0, 1106, 1308, 1099, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1106, 0, 1505, 0, 0, 1099, 0, 2063, 0, 0,
0, 0, 0, 0, 4670, 0, 0, 0, 0, 0,
1099, 2064, 0, 0, 2065, 0, 0, 0, 0, 0,
1725, 0, 880, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1100, 0,
0, 0, 5140, 0, 0, 0, 0, 0, 0, 1102,
0, 0, 0, 0, 0, 0, 0, 0, 1107, 0,
0, 0, 1097, 1105, 0, 1097, 0, 1097, 0, 0,
1107, 0, 1097, 1103, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1106, 0, 0, 1105,
0, 2066, 0, 0, 0, 0, 0, 0, 4736, 0,
0, 0, 0, 0, 0, 0, 0, 1725, 0, 0,
0, 1106, 0, 0, 0, 0, 0, 0, 0, 0,
1100, 1097, 0, 1100, 0, 880, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1106, 0, 0,
1097, 0, 5218, 0, 0, 0, 0, 0, 0, 0,
0, 880, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1097, 0, 0, 0, 0,
0, 0, 0, 1106, 4774, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1107, 0,
0, 2067, 0, 0, 2068, 2069, 2070, 2071, 0, 2072,
2073, 2074, 2075, 2076, 2077, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1099, 0, 0,
1099, 0, 1099, 0, 0, 0, 0, 1099, 0, 1107,
0, 0, 0, 0, 0, 1097, 0, 1097, 0, 0,
0, 0, 1100, 0, 0, 0, 0, 0, 0, 0,
0, 1107, 0, 0, 0, 0, 880, 0, 0, 1100,
0, 0, 0, 1106, 1102, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1100, 0, 1099, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1103, 0,
0, 0, 0, 0, 0, 1099, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1099, 1107, 0, 0, 0, 0, 0, 0, 1097, 0,
0, 1102, 0, 0, 0, 0, 0, 0, 0, 1725,
623, 4878, 4879, 0, 0, 4880, 1105, 0, 0, 0,
0, 0, 0, 0, 0, 1103, 0, 624, 0, 0,
0, 0, 1106, 0, 0, 0, 0, 0, 0, 1097,
0, 1105, 1102, 0, 0, 0, 0, 0, 0, 0,
625, 0, 4915, 4916, 0, 0, 1105, 1106, 0, 0,
1099, 0, 1099, 626, 0, 0, 1103, 0, 1097, 0,
0, 4927, 0, 1725, 627, 1102, 0, 0, -870, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1725, 0, 0, 0, 0, 628, 0, 0, 1103,
0, 0, 629, 0, 0, 0, 0, 0, 0, 0,
0, 4843, 0, 1107, 0, 0, 0, 0, 0, 630,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
631, 0, 0, 0, 0, 0, 0, 1097, 0, 632,
0, 1105, 0, 0, 0, 0, 0, 0, 0, 0,
0, 633, 0, 1099, 0, 0, 0, 0, 1097, 634,
0, 1100, 1107, 635, 1100, 0, 1100, 0, 0, 0,
0, 1100, 1097, 0, 0, 0, 0, 0, 0, 0,
0, 0, -1099, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1106, 1099, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 636,
1100, 0, 0, 1099, 0, 0, 0, 0, -587, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1100,
0, 1106, 0, 0, 0, 1106, 0, 0, 0, 0,
0, 1105, 0, 0, 0, 1102, 0, 0, 0, 0,
0, 0, 0, 0, 1100, 0, 0, 0, 637, 0,
0, 638, 1102, 0, 0, 0, 0, 2820, 1097, 1103,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1102, 639, 1099, 0, 0, 0, 1103, 0, 0, 0,
2979, 0, 0, 1097, 5110, 640, 0, 0, 0, 0,
0, 0, -458, 1099, 1103, 0, 0, 0, 2039, 0,
0, 0, 0, 0, 0, 0, 0, 1099, 0, 1097,
0, 641, 0, 0, 1100, 0, 1100, 0, 0, 0,
642, 0, 0, 0, 0, 0, 1102, -458, 0, 0,
643, 0, 0, 0, 0, 0, 0, 0, 0, 1102,
0, 0, 0, 0, 0, 1097, 0, 0, 0, 644,
1103, 0, 1102, 0, 0, 0, 645, 5159, 0, 0,
1106, 0, -458, 1103, 1102, 646, 647, 0, 648, 649,
0, 0, 1106, 0, 0, 0, 1103, 0, 0, 650,
0, 0, 0, 0, 651, 0, 0, 0, 1103, 0,
0, 652, 0, 0, 653, 0, 0, 654, 0, 0,
5196, 0, 0, 0, 0, 0, 2979, 1100, 1102, 1102,
-458, 0, 0, 1099, 0, 0, 0, 0, 0, 0,
0, 191, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1107, 1103, 1103, 0, 1097, 0, 0, 1099, 0,
0, 0, 0, 0, 0, 0, 1105, 0, 1100, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1099, 0, 0, 0, 0, 192,
1107, 0, 0, 0, 0, 0, 0, 1100, 0, 0,
0, 0, 0, 0, 193, 0, 0, 0, 0, 0,
1106, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1099, 0, 194, 0, 0, 0, 0, 0, 195, 0,
0, 0, 4915, 1105, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1107, 0, 196, 0, 0, 1107, 1107,
0, 1106, 0, 0, 1097, 0, 197, 0, 5299, 0,
0, 0, 0, 0, 0, 198, 1100, 0, 0, 0,
1102, 0, 0, 1106, 1105, 0, 0, 199, 0, 1097,
0, 0, 200, 0, 0, 0, 0, 1100, 0, 201,
0, 0, 0, 0, 1103, 0, 0, 0, 0, 0,
0, 1100, 0, 0, 0, 0, 0, 1105, 202, 0,
1099, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 203, 0, 5353, 0, 0, 0, 0,
0, 0, 0, 1106, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 204, 0, 0, 0, 0, 0,
0, 0, 0, 4843, 1107, 0, 0, 0, 0, 0,
5381, 5381, 5381, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4915,
0, 0, 0, 0, 205, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1100, 0, 1099,
0, 0, 0, 0, 0, 1097, 1102, 206, 0, 0,
1102, 1102, 0, 0, 0, 0, 0, 207, 208, 0,
0, 209, 1100, 0, 1099, 0, 1487, 0, 0, 0,
1103, 0, 1488, 0, 1103, 1103, 0, 0, 0, 1554,
0, 0, 0, 0, 0, 0, 0, 210, 1100, 0,
211, 0, 0, 1097, 212, 1106, 213, 1097, 1555, 0,
5442, 0, 0, 214, 0, 0, 215, 0, 0, 0,
0, 0, 1102, 0, 1490, 0, 0, 1105, 5381, 0,
0, 0, 0, 0, 1100, 216, 1102, 0, 0, 0,
0, 0, 217, 0, 1105, 0, 1103, 218, 219, 0,
0, 220, 0, 0, 1106, 221, 0, 0, 1556, 0,
1103, 0, 1105, 0, 0, 222, 0, 0, 0, 0,
223, 0, 0, 0, 0, 0, 0, 1102, 1491, 0,
0, 0, 0, 224, 0, 1492, 0, 0, 1493, 0,
0, 0, 0, 0, 0, 0, 225, 0, 0, 1107,
0, 1103, 0, 0, 0, 0, 0, 0, 0, 0,
1099, 0, 0, 0, 1494, 0, 0, 0, 1105, 0,
0, 0, 0, 674, 1100, 0, 0, 0, 675, 0,
0, 1105, 0, 0, 0, 0, 0, 0, 5534, 0,
0, 0, 1097, 0, 1105, 1557, 0, 0, 1495, 0,
0, 0, 0, 0, 1097, 0, 1105, 0, 1099, 0,
0, 0, 1099, 676, 0, 0, 0, 0, 0, 0,
0, 0, 0, 5381, 0, 0, 677, 0, 0, 0,
0, 0, 0, 5561, 0, 0, 0, 0, 0, 0,
0, 678, 1106, 1558, 0, 0, 1559, 0, 0, 0,
1105, 1105, 0, 0, 0, 0, 0, 0, 0, 679,
0, 1560, 0, 0, 0, 1497, 0, 0, 0, 0,
0, 0, 0, 1100, 0, 1498, 0, 0, 0, 0,
0, 0, 680, 0, 1499, 0, 0, 0, 0, 0,
0, 0, 0, 681, 0, 1561, 1500, 0, 1100, 0,
0, 0, 682, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 683, 0, 0, 0, 0, 684,
0, 0, 1097, 0, 0, 0, 685, 0, 0, 0,
1102, 0, 0, 0, 3184, 0, 0, 1502, 1503, 1563,
0, 0, 0, 0, 0, 686, 0, 1099, 0, 0,
0, 0, 0, 0, 1103, 0, 0, 0, 0, 1099,
0, 1564, 0, 1097, 0, 0, 0, 3185, 1106, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1566, 0, 0, 0, 1097, 0, 0, 0, 0,
0, 687, 1105, 1106, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1102, 0, 0, 1102, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 688, 1106, 0, 1100, 1505, 1103, 0, 0, 1103,
0, 0, 0, 0, 689, 0, 0, 0, 0, 0,
0, 0, 0, 0, 690, 1097, 0, 0, 0, 0,
0, 0, 0, 0, 207, 691, 0, 0, 692, 0,
0, 0, 0, 0, 0, 0, 0, 1099, 0, 0,
0, 0, 1100, 0, 0, 1106, 1100, 0, 0, 0,
1106, 1106, 0, 0, 693, 0, 0, 694, 0, 0,
0, 695, 0, 696, 0, 0, 0, 0, 0, 0,
697, 0, 0, 698, 0, 0, 0, 0, 1099, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 699, 0, 1102, 0, 0, 0, 1105, 700,
1099, 0, 1105, 1105, 0, 701, 0, 0, 702, 0,
0, 1102, 703, 0, 0, 0, 0, 0, 1103, 0,
704, 0, 705, 0, 0, 0, 1102, 706, 0, 0,
0, 0, 0, 0, 0, 1103, 955, 1097, 0, 0,
707, 956, 0, 0, 0, 0, 0, 0, 0, 0,
1103, 0, 0, 708, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1105, 0, 1106, 0, 0, 0,
1099, 0, 0, 0, 0, 0, 957, 0, 1105, 0,
0, 1100, 0, 0, 0, 0, 1097, 0, 0, 958,
959, 0, 0, 1100, 0, 0, 0, 0, 0, 0,
960, 0, 0, 0, 961, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1105,
0, 0, 962, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 963, 0, 0, 0, 0,
0, 0, 0, 2079, 0, 0, 964, 0, 0, 0,
0, 0, 0, 0, 0, 965, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 966, 0, 0,
0, 0, 967, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1099, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 968, 0,
0, 1100, 0, 0, 0, 2079, 0, 0, 0, 0,
0, 0, 0, 0, 1097, 0, 0, 0, 0, 0,
0, 0, 0, 969, 0, 0, 0, 0, 0, 0,
0, 1099, 0, 1102, 0, 0, 1102, 0, 1102, 0,
0, 0, 1100, 1102, 970, 0, 0, 0, 0, 0,
0, 1106, 0, 0, 0, 0, 0, 1103, 0, 0,
1103, 0, 1103, 0, 1100, 0, 0, 1103, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 971, 0, 0, 0, 0, 0,
0, 0, 1102, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 972, 0, 0,
0, 1102, 1105, 0, 0, 0, 1103, 207, 973, 0,
0, 974, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1100, 1103, 1102, 0, 0, 0,
1097, 0, 0, 0, 0, 0, 0, 975, 0, 0,
976, 0, 0, 0, 977, 0, 978, 0, 0, 0,
1103, 0, 0, 979, 0, 1097, 980, 0, 0, 1099,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 981, 0, 0, 0, 0,
0, 0, 982, 0, 1105, 0, 0, 1105, 983, 0,
0, 984, 0, 0, 1097, 985, 1102, 0, 1102, 0,
0, 0, 0, 986, 0, 987, 0, 0, 0, 0,
988, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1103, 0, 1103, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 989, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1100, 1097, 0, 0,
0, 0, 1097, 1097, 0, 0, 0, 0, 0, 0,
0, 0, 2079, 0, 0, 0, 2079, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1099, 0, 0, 0, 1102,
0, 0, 0, 0, 0, 1100, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1105, 0, 0, 0,
1099, 0, 0, 1103, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1105, 0, 0, 0, 0, 0, 0,
1102, 0, 0, 0, 0, 0, 0, 0, 1105, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1099,
0, 0, 0, 0, 1103, 0, 0, 0, 0, 1102,
0, 0, 0, 0, 0, 0, 0, 0, 1097, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1103, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1099, 0, 0, 0, 0, 1099, 1099, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1102, 0,
0, 0, 0, 1100, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1102,
0, 0, 1103, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1102, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1103, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1103, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1099, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1105, 0, 0, 1105, 1100,
1105, 0, 0, 1097, 0, 1105, 0, 0, 0, 1102,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1100, 0, 0, 0, 0, 0,
0, 0, 0, 1103, 1102, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1105, 0, 0, 0, 1103, 0,
1102, 0, 0, 1100, 0, 0, 2079, 0, 0, 0,
0, 0, 0, 1105, 0, 0, 0, 0, 0, 0,
0, 2079, 0, 0, 1103, 2802, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1102, 0, 1105, 2079,
0, 2079, 2079, 0, 2079, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1100, 0, 0, 0,
1103, 1100, 1100, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2079,
0, 0, 0, 0, 0, 0, 0, 0, 1099, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1105, 0,
1105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1102, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1103, 0, 0, 0, 2079, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2079, 0, 0, 0,
0, 2079, 0, 0, 0, 0, 0, 1100, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1105, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1102, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1105, 0, 0, 0, 0, 0, 0, 1103,
1102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1105, 0, 0, 1103, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1105, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1100, 0, 0, 1105, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1102, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1102, 0, 0, 0, 1102, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1103, 0,
0, 0, 1103, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1105, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1105, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1105, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1105, 0,
0, 0, 0, 1102, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1102, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1103, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1103,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1105, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1102, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1103, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1102, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1105, 0, 0,
0, 0, 0, 0, 0, 0, 1102, 0, 1103, 0,
0, 0, 0, 0, 2079, 0, 0, 0, 0, 0,
0, 0, 1105, 0, 0, 0, 0, 0, 0, 0,
1103, 0, 0, 0, 0, 0, 2079, 2079, 0, 2079,
0, 0, 2802, 2802, 0, 3560, 0, 2802, 0, 0,
0, 2079, 0, 0, 2079, 0, 0, 0, 0, 2079,
0, 0, 0, 0, 0, 2079, 0, 0, 0, 0,
2079, 0, 0, 0, 0, 0, 1102, 0, 2079, 2079,
2079, 2079, 0, 0, 0, 2802, 2802, 0, 2079, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1103, 0, 0, 0, 0, 0, 2079, 0, 2079, 0,
0, 0, 0, 0, 0, 2079, 2079, 2079, 2079, 2079,
2079, 2079, 2079, 2079, 2079, 2079, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1105, 0,
0, 0, 2079, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1102, 0,
0, 0, 0, 0, 0, 0, 1105, 0, 0, 0,
1105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1103, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1102, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2079, 0, 0, 0, 0, 0, 0,
0, 1103, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1105, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1105, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1102, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1103,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1105, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1102, 0, 0, 2079, 2079, 1105, 0, 0, 2079,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1103, 1102, 0, 1105, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2079, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1103, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 1102, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1103,
0, 0, 0, 0, 0, 0, 0, 0, 1105, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1102, 0,
0, 0, 0, 1102, 1102, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1103, 0, 0, 0, 0, 1103, 1103, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1105, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1102,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2079,
0, 0, 0, 0, 0, 2079, 0, 0, 0, 0,
0, 0, 0, 1103, 0, 0, 0, 0, 0, 1105,
0, 0, 0, 0, 0, 3560, 3560, 0, 0, 2802,
2802, 2802, 2802, 0, 0, 2802, 2802, 2802, 2802, 2802,
2802, 2802, 2802, 2802, 2802, 2802, 3560, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2079, 0,
0, 2079, 0, 2079, 0, 0, 3560, 3560, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2079, 2802, 2802, 2079, 0, 2079,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1105, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1102, 0, 0, 0, 0, 2079,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1103, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1105, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1105, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1105, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1105, 0, 0, 0, 0, 1105, 1105, 0, 0, 0,
0, 2802, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1105, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2079,
0, 0, 0, 2079, 2079, 2079, 0, 2079, 2079, 0,
0, 0, 0, 0, 3560, 3560, 3560, 3560, 0, 0,
0, 0, 3560, 3560, 3560, 3560, 3560, 3560, 3560, 3560,
3560, 3560, 3560, 2079, 2079, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2079, 0, 0, 2079, 0, 2079, 0, 0,
0, 0, 2079, 0, 0, 3560, 3560, 0, 0, 2079,
2079, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2079, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2079, 0, 0, 0, 0, 1105, 0, 0, 0,
0, 0, 0, 0, 2079, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3560, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2079, 2079, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2079, 0, 0, 0, 0, 0, 2079, 2802, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2079, 0, 2079, 0, 0, 0,
2079, 2079, 2079, 0, 0, 2079, 0, 0, 2079, 2079,
0, 0, 0, 2079, 0, 0, 0, 2079, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2079, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2079, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2079,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 3560, 2802,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 2079, 2079, 2079, 0, 0, 0, 0,
0, 0, 0, 2802, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2079, 2079, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2079, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3560, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2802, 0,
0, 3560, 0, 0, 0, 2079, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2079, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2079, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3560, 0, 2802, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 2079, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2079, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2079, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2079, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2802, 2802, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 3560, 3560, 0, 0, 0, 2079,
0, 0, 0, 0, 0, 0, 0, 0, 228, 0,
1223, 669, 0, 1224, 1225, 1226, 729, 1227, 0, 0,
0, 0, 0, 0, 0, 0, 2079, 229, 230, 231,
232, 233, 234, 235, 236, 1631, 237, 238, 239, 0,
0, 0, 0, 1228, 0, 0, 240, 241, 0, 242,
243, 244, 245, 246, 247, 248, 249, 1229, 251, 1230,
1231, 0, 254, 255, 256, 257, 258, 259, 1232, 1233,
260, 261, 1234, 1235, 264, 0, 265, 266, 267, 268,
1236, 0, 1237, 0, 271, 272, 273, 274, 275, 276,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 286, 287, 288, 289, 1238, 1239, 1240, 1241, 1242,
1243, 1244, 291, 292, 293, 294, 295, 296, 1245, 1246,
299, 1247, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 1632, 0, 311, 312, 1078,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 1248, 327, 328, 329, 330,
1249, 1250, 332, 0, 333, 334, 1251, 336, 0, 337,
0, 338, 339, 0, 340, 341, 342, 343, 344, 0,
345, 1252, 0, 1253, 348, 349, 0, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 368, 369, 370,
371, 372, 373, 1254, 1255, 0, 1256, 0, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 0, 0,
387, 1257, 389, 390, 391, 0, 392, 393, 394, 1258,
1259, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 1260, 412, 1261,
414, 415, 416, 417, 418, 419, 420, 421, 1262, 423,
1263, 424, 425, 426, 427, 1264, 1265, 429, 1266, 431,
432, 433, 0, 434, 435, 0, 0, 1267, 437, 438,
0, 0, 439, 440, 441, 442, 443, 444, 1268, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 1269, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 1270, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 492,
493, 494, 495, 496, 497, 1271, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 1272, 513, 514, 515, 516, 517, 518, 519, 520,
1273, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 1274, 537, 0, 538,
539, 0, 540, 541, 542, 543, 544, 545, 546, 0,
547, 1275, 1276, 0, 0, 550, 551, 1277, 553, 1278,
1279, 555, 556, 557, 558, 559, 560, 561, 562, 0,
1280, 563, 564, 565, 566, 567, 1281, 0, 568, 569,
570, 571, 572, 573, 1282, 1633, 575, 576, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 1283, 1284, 1285, 1286, 593, 1287,
1288, 1289, 1290, 598, 599, 600, 601, 1291, 0, 0,
0, 0, 0, 1292, 0, 1293, 1294, 1634, 0, 0,
0, 0, 0, 0, 1296, 1635, 228, 0, 1223, 669,
0, 1224, 1225, 1226, 729, 1227, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 1228, 0, 0, 240, 241, 0, 242, 243, 244,
245, 246, 247, 248, 249, 1229, 251, 1230, 1231, 0,
254, 255, 256, 257, 258, 259, 1232, 1233, 260, 261,
1234, 1235, 264, 0, 265, 266, 267, 268, 1236, 0,
1237, 0, 271, 272, 273, 274, 275, 276, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 286,
287, 288, 289, 1238, 1239, 1240, 1241, 1242, 1243, 1244,
291, 292, 293, 294, 295, 296, 1245, 1246, 299, 1247,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 1078, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 1248, 327, 328, 329, 330, 1249, 1250,
332, 0, 333, 334, 1251, 336, 0, 337, 0, 338,
339, 0, 340, 341, 342, 343, 344, 0, 345, 1252,
0, 1253, 348, 349, 0, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 368, 369, 370, 371, 372,
373, 1254, 1255, 0, 1256, 0, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 0, 0, 387, 1257,
389, 390, 391, 0, 392, 393, 394, 1258, 1259, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 1260, 412, 1261, 414, 415,
416, 417, 418, 419, 420, 421, 1262, 423, 1263, 424,
425, 426, 427, 1264, 1265, 429, 1266, 431, 432, 433,
0, 434, 435, 0, 0, 1267, 437, 438, 0, 0,
439, 440, 441, 442, 443, 444, 1268, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 1269,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 1270, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 492, 493, 494,
495, 496, 497, 1271, 499, 500, 501, 502, 503, 504,
505, 506, 507, 40, 508, 509, 510, 511, 512, 1272,
513, 514, 515, 516, 517, 518, 519, 520, 1273, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 1274, 537, 0, 538, 539, 44,
540, 541, 542, 543, 544, 545, 546, 0, 547, 1275,
1276, 0, 0, 550, 551, 1277, 553, 1278, 1279, 555,
556, 557, 558, 559, 560, 561, 562, 0, 1280, 563,
564, 565, 566, 567, 1281, 0, 568, 569, 570, 571,
572, 1157, 1282, 0, 575, 576, 577, 578, 579, 580,
0, 0, 581, 0, 49, 582, 583, 584, 585, 586,
587, 588, 1283, 1284, 1285, 1286, 593, 1287, 1288, 1289,
1290, 598, 599, 600, 601, 1291, 0, 50, 0, 0,
0, 1292, 0, 1293, 1294, 0, 0, 0, 0, 0,
0, 0, 1296, 5121, 228, 0, 1223, 669, 0, 1224,
1225, 1226, 729, 1227, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 1228,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 249, 1229, 251, 1230, 1231, 0, 254, 255,
256, 257, 258, 259, 1232, 1233, 260, 261, 1234, 1235,
264, 0, 265, 266, 267, 268, 1236, 0, 1237, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
289, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 291, 292,
293, 294, 295, 296, 1245, 1246, 299, 1247, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 1078, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 1248, 327, 328, 329, 330, 1249, 1250, 332, 0,
333, 334, 1251, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 1252, 0, 1253,
348, 349, 0, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 369, 370, 371, 372, 373, 1254,
1255, 0, 1256, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 1257, 389, 390,
391, 0, 392, 393, 394, 1258, 1259, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 1260, 412, 1261, 414, 415, 416, 417,
418, 419, 420, 421, 1262, 423, 1263, 424, 425, 426,
427, 1264, 1265, 429, 1266, 431, 432, 433, 0, 434,
435, 0, 0, 1267, 437, 438, 0, 0, 439, 440,
441, 442, 443, 444, 1268, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 1269, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 1270, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 1271, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 1272, 513, 514,
515, 516, 517, 518, 519, 520, 1273, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 1274, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 1275, 1276, 0,
0, 550, 551, 1277, 553, 1278, 1279, 555, 556, 557,
558, 559, 560, 561, 562, 0, 1280, 563, 564, 565,
566, 567, 1281, 0, 568, 569, 570, 571, 572, 573,
1282, 0, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
1283, 1284, 1285, 1286, 593, 1287, 1288, 1289, 1290, 598,
599, 600, 601, 1291, 0, 0, 0, 0, 0, 1292,
0, 1293, 1294, 0, 0, 0, 0, 0, 0, 0,
1296, 2804, 228, 0, 1223, 669, 0, 1224, 1225, 1226,
729, 1227, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 1228, 0, 0,
240, 241, 0, 242, 243, 244, 245, 246, 247, 248,
249, 1229, 251, 1230, 1231, 0, 254, 255, 256, 257,
258, 259, 1232, 1233, 260, 261, 1234, 1235, 264, 0,
265, 266, 267, 268, 1236, 0, 1237, 0, 271, 272,
273, 274, 275, 276, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 286, 287, 288, 289, 1238,
1239, 1240, 1241, 1242, 1243, 1244, 291, 292, 293, 294,
295, 296, 1245, 1246, 299, 1247, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 1078, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 1248,
327, 328, 329, 330, 1249, 1250, 332, 0, 333, 334,
1251, 336, 0, 337, 0, 338, 339, 0, 340, 341,
342, 343, 344, 0, 345, 1252, 0, 1253, 348, 349,
0, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 368, 369, 370, 371, 372, 373, 1254, 1255, 0,
1256, 0, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 0, 0, 387, 1257, 389, 390, 391, 0,
392, 393, 394, 1258, 1259, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 1260, 412, 1261, 414, 415, 416, 417, 418, 419,
420, 421, 1262, 423, 1263, 424, 425, 426, 427, 1264,
1265, 429, 1266, 431, 432, 433, 0, 434, 435, 0,
0, 1267, 437, 438, 0, 0, 439, 440, 441, 442,
443, 444, 1268, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 1269, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 1270, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 492, 493, 494, 495, 496, 497, 1271,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 1272, 513, 514, 515, 516,
517, 518, 519, 520, 1273, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
1274, 537, 0, 538, 539, 0, 540, 541, 542, 543,
544, 545, 546, 0, 547, 1275, 1276, 0, 0, 550,
551, 1277, 553, 1278, 1279, 555, 556, 557, 558, 559,
560, 561, 562, 0, 1280, 563, 564, 565, 566, 567,
1281, 0, 568, 569, 570, 571, 572, 573, 1282, 0,
575, 576, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 1283, 1284,
1285, 1286, 593, 1287, 1288, 1289, 1290, 598, 599, 600,
601, 1291, 0, 0, 0, 0, 0, 1292, 0, 1293,
1294, 0, 0, 0, 0, 0, 0, 0, 1296, 4095,
228, 0, 1223, 669, 0, 1224, 1225, 1226, 729, 1227,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 1228, 0, 0, 240, 241,
0, 242, 243, 244, 245, 246, 247, 248, 249, 1229,
251, 1230, 1231, 0, 254, 255, 256, 257, 258, 259,
1232, 1233, 260, 261, 1234, 1235, 264, 0, 265, 266,
267, 268, 1236, 0, 1237, 0, 271, 272, 273, 274,
275, 276, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 286, 287, 288, 289, 1238, 1239, 1240,
1241, 1242, 1243, 1244, 291, 292, 293, 294, 295, 296,
1245, 1246, 299, 1247, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 1078, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 1248, 327, 328,
329, 330, 1249, 1250, 332, 0, 333, 334, 1251, 336,
0, 337, 0, 338, 339, 0, 340, 341, 342, 343,
344, 0, 345, 1252, 0, 1253, 348, 349, 0, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 1254, 1255, 0, 1256, 0,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
0, 0, 387, 1257, 389, 390, 391, 0, 392, 393,
394, 1258, 1259, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 1260,
412, 1261, 414, 415, 416, 417, 418, 419, 420, 421,
1262, 423, 1263, 424, 425, 426, 427, 1264, 1265, 429,
1266, 431, 432, 433, 0, 434, 435, 0, 0, 1267,
437, 438, 0, 0, 439, 440, 441, 442, 443, 444,
1268, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 1269, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1270, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 492, 493, 494, 495, 496, 497, 1271, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 1272, 513, 514, 515, 516, 517, 518,
519, 520, 1273, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 1274, 537,
0, 538, 539, 0, 540, 541, 542, 543, 544, 545,
546, 0, 547, 1275, 1276, 0, 0, 550, 551, 1277,
553, 1278, 1279, 555, 556, 557, 558, 559, 560, 561,
562, 0, 1280, 563, 564, 565, 566, 567, 1281, 0,
568, 569, 570, 571, 572, 573, 1282, 0, 575, 576,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 1283, 1284, 1285, 1286,
593, 1287, 1288, 1289, 1290, 598, 599, 600, 601, 1291,
609, 0, 0, 0, 0, 1292, 0, 1293, 1294, 0,
0, 0, 0, 0, 0, 0, 1296, 4171, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 0, 4189, 0, 240, 241,
0, 242, 243, 244, 0, 246, 247, 248, 249, 250,
0, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 262, 263, 264, 0, 265, 266,
267, 268, 269, 0, 0, 0, 271, 272, 273, 274,
275, 0, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, -1803, 287, 288, 289, 0, 0, 0,
0, 0, 0, 0, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 0, 333, 334, 335, 336,
0, 337, 0, 338, 0, 0, -1803, 341, 342, 343,
344, 0, 345, 346, 0, 347, 348, 349, 0, 350,
351, 352, 353, 354, 0, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, -1803,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 0, 0, 380, -1803, 382, 383, 384, 385, 386,
0, 0, 387, 388, -1803, 390, 0, 0, 392, 393,
394, 0, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
-1803, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 0, 424, 425, 0, 427, 0, 428, 429,
430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 0, 443, 0,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, -1803, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 515, 516, 517, 0,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 0, 540, 0, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 552,
553, 554, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 0,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 601, 1070,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1376, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 245, 246, 247, 248, 0, 1071, 251,
1072, 1073, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 1074, 1075, 264, 0, 265, 266, 267,
268, 0, 0, 270, 0, 271, 272, 273, 274, 275,
276, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 286, 287, 288, 289, 0, 0, 0, 290,
0, 0, 0, 291, 292, 293, 294, 295, 296, 1076,
1077, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
1078, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 0, 327, 328, 329,
330, 0, 0, 332, 0, 333, 334, 1079, 336, 0,
337, 0, 338, 339, 0, 340, 341, 342, 343, 344,
0, 345, 0, 0, 0, 348, 349, 0, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 2191, 360,
361, 362, 363, 364, 365, 366, 0, 367, 368, 2192,
370, 371, 372, 373, 1081, 1082, 0, 1083, 0, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 0,
0, 387, 0, 389, 390, 391, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 1084, 412,
1085, 414, 415, 416, 417, 418, 419, 420, 0, 0,
423, 0, 424, 425, 426, 427, 0, 0, 429, 1086,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 2194, 442, 443, 444, 0,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 0, 458, 0, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 1087,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
492, 493, 494, 495, 496, 497, 0, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 2195, 516, 517, 518, 519,
520, 1089, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 0, 537, 0,
538, 539, 0, 540, 541, 542, 543, 544, 545, 546,
0, 547, 1090, 1091, 0, 0, 550, 551, 0, 553,
0, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 0, 1092, 2196, 575, 576, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 1070, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 599, 600, 601, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 2304, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 0, 1071, 251, 1072, 1073, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 1074, 1075,
264, 0, 265, 266, 267, 268, 0, 0, 270, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
289, 0, 0, 0, 290, 0, 0, 0, 291, 292,
293, 294, 295, 296, 1076, 1077, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 1078, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 0, 327, 328, 329, 330, 0, 0, 332, 0,
333, 334, 1079, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 0, 0, 0,
348, 349, 0, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 2191, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 2192, 370, 371, 372, 373, 1081,
1082, 0, 1083, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 0, 389, 390,
391, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 1084, 412, 1085, 414, 415, 416, 417,
418, 419, 420, 0, 0, 423, 0, 424, 425, 426,
427, 0, 0, 429, 1086, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
2194, 442, 443, 444, 0, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 0, 458, 0,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 1087, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 0, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
2195, 516, 517, 518, 519, 520, 1089, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 0, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 1090, 1091, 0,
0, 550, 551, 0, 553, 0, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 0,
1092, 2196, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 228,
0, 1223, 669, 0, 1224, 1225, 1226, 729, 1227, 0,
599, 600, 601, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 3392, 0, 0, 1228, 0, 0, 240, 241, 0,
242, 243, 244, 245, 246, 247, 248, 249, 1229, 251,
1230, 1231, 0, 254, 255, 256, 257, 258, 259, 1232,
1233, 260, 261, 1234, 1235, 264, 0, 265, 266, 267,
268, 1236, 0, 1237, 0, 271, 272, 273, 274, 275,
276, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 286, 287, 288, 289, 1238, 1239, 1240, 1241,
1242, 1243, 1244, 291, 292, 293, 294, 295, 296, 1245,
1246, 299, 1247, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
1078, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 1248, 327, 328, 329,
330, 1249, 1250, 332, 0, 333, 334, 1251, 336, 0,
337, 0, 338, 339, 0, 340, 341, 342, 343, 344,
0, 345, 1252, 0, 1253, 348, 349, 0, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 368, 369,
370, 371, 372, 373, 1254, 1255, 0, 1256, 0, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 0,
0, 387, 1257, 389, 390, 391, 0, 392, 393, 394,
1258, 1259, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 1260, 412,
1261, 414, 415, 416, 417, 418, 419, 420, 421, 1262,
423, 1263, 424, 425, 426, 427, 1264, 1265, 429, 1266,
431, 432, 433, 0, 434, 435, 0, 0, 1267, 437,
438, 0, 0, 439, 440, 441, 442, 443, 444, 1268,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 1269, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 1270,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
492, 493, 494, 495, 496, 497, 1271, 499, 500, 501,
502, 503, 504, 505, 506, 507, 40, 508, 509, 510,
511, 512, 1272, 513, 514, 515, 516, 517, 518, 519,
520, 1273, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 1274, 537, 0,
538, 539, 44, 540, 541, 542, 543, 544, 545, 546,
0, 547, 1275, 1276, 0, 0, 550, 551, 1277, 553,
1278, 1279, 555, 556, 557, 558, 559, 560, 561, 562,
0, 1280, 563, 564, 565, 566, 567, 1281, 0, 568,
569, 570, 571, 572, 1157, 1282, 0, 575, 576, 577,
578, 579, 580, 0, 0, 581, 0, 49, 582, 583,
584, 585, 586, 587, 588, 1283, 1284, 1285, 1286, 593,
1287, 1288, 1289, 1290, 598, 599, 600, 601, 1291, 0,
50, 0, 0, 0, 1292, 0, 1293, 1294, 0, 0,
0, 228, 0, 1223, 669, 1296, 1224, 1225, 1226, 729,
1227, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 1228, 0, 0, 240,
241, 0, 242, 243, 244, 245, 246, 247, 248, 249,
1229, 251, 1230, 1231, 2810, 254, 255, 256, 257, 258,
259, 1232, 1233, 260, 261, 1234, 1235, 264, 0, 265,
266, 267, 268, 1236, 0, 1237, 0, 271, 272, 273,
274, 275, 276, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 286, 287, 288, 289, 1238, 1239,
1240, 1241, 1242, 1243, 1244, 291, 292, 293, 294, 295,
296, 1245, 1246, 299, 1247, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 1078, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 1248, 327,
328, 329, 330, 1249, 1250, 332, 0, 333, 334, 1251,
336, 0, 337, 0, 338, 339, 2811, 340, 341, 342,
343, 344, 0, 345, 1252, 0, 1253, 348, 349, 0,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 1254, 1255, 0, 1256,
0, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 0, 2812, 387, 1257, 389, 390, 391, 0, 392,
393, 394, 1258, 1259, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
1260, 412, 1261, 414, 415, 416, 417, 418, 419, 420,
421, 1262, 423, 1263, 424, 425, 426, 427, 1264, 1265,
429, 1266, 431, 432, 433, 0, 434, 435, 0, 0,
1267, 437, 438, 0, 0, 439, 440, 441, 442, 443,
444, 1268, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 1269, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 1270, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 492, 493, 494, 495, 496, 497, 1271, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 1272, 513, 514, 515, 516, 517,
518, 519, 520, 1273, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 1274,
537, 0, 538, 539, 0, 540, 541, 542, 543, 544,
545, 546, 0, 547, 1275, 1276, 0, 2813, 550, 551,
1277, 553, 1278, 1279, 555, 556, 557, 558, 559, 560,
561, 562, 0, 1280, 563, 564, 565, 566, 567, 1281,
0, 568, 569, 570, 571, 572, 573, 1282, 0, 575,
576, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 1283, 1284, 1285,
1286, 593, 1287, 1288, 1289, 1290, 598, 599, 600, 601,
1291, 0, 0, 0, 0, 0, 1292, 0, 1293, 1294,
0, 0, 0, 228, 0, 1223, 669, 1296, 1224, 1225,
1226, 729, 1227, 0, 0, 0, 0, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
0, 237, 238, 239, 0, 0, 0, 0, 1228, 0,
0, 240, 241, 0, 242, 243, 244, 245, 246, 247,
248, 249, 1229, 251, 1230, 1231, 0, 254, 255, 256,
257, 258, 259, 1232, 1233, 260, 261, 1234, 1235, 264,
0, 265, 266, 267, 268, 1236, 0, 1237, 0, 271,
272, 273, 274, 275, 276, 277, 278, 279, 0, 280,
281, 282, 283, 284, 285, 0, 286, 287, 288, 289,
1238, 1239, 1240, 1241, 1242, 1243, 1244, 291, 292, 293,
294, 295, 296, 1245, 1246, 299, 1247, 300, 0, 301,
302, 303, 304, 305, 306, 0, 307, 308, 309, 310,
0, 0, 311, 312, 1078, 314, 315, 0, 316, 317,
318, 0, 319, 320, 321, 0, 322, 323, 324, 325,
1248, 327, 328, 329, 330, 1249, 1250, 332, 0, 333,
334, 1251, 336, 0, 337, 0, 338, 339, 0, 340,
341, 342, 343, 344, 0, 345, 1252, 0, 1253, 348,
349, 0, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 0, 360, 361, 362, 363, 364, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 1254, 1255,
0, 1256, 0, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 0, 0, 387, 1257, 389, 390, 391,
0, 392, 393, 394, 1258, 1259, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 1260, 412, 1261, 414, 415, 416, 417, 418,
419, 420, 421, 1262, 423, 1263, 424, 425, 426, 427,
1264, 1265, 429, 1266, 431, 432, 433, 0, 434, 435,
0, 0, 1267, 437, 438, 0, 0, 439, 440, 441,
442, 443, 444, 1268, 446, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 1269, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 1270, 474, 475, 476, 477, 0, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 0, 490, 491, 492, 493, 494, 495, 496, 497,
1271, 499, 500, 501, 502, 503, 504, 505, 506, 507,
0, 508, 509, 510, 511, 512, 1272, 513, 514, 515,
516, 517, 518, 519, 520, 1273, 522, 0, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 1274, 537, 0, 538, 539, 0, 540, 541, 542,
543, 544, 545, 546, 0, 547, 1275, 1276, 0, 0,
550, 551, 1277, 553, 1278, 1279, 555, 556, 557, 558,
559, 560, 561, 562, 0, 1280, 563, 564, 565, 566,
567, 1281, 0, 568, 569, 570, 571, 572, 573, 1282,
0, 575, 576, 577, 578, 579, 580, 0, 0, 581,
0, 0, 582, 583, 584, 585, 586, 587, 588, 1283,
1284, 1285, 1286, 593, 1287, 1288, 1289, 1290, 598, 599,
600, 601, 1291, 0, 0, 0, 0, 0, 1292, 0,
1293, 1294, 0, 0, 0, 0, 0, 1998, 2762, 1296,
228, 0, 1223, 669, 0, 1224, 1225, 1226, 729, 1227,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 1228, 0, 0, 240, 241,
0, 242, 243, 244, 245, 246, 247, 248, 249, 1229,
251, 1230, 1231, 0, 254, 255, 256, 257, 258, 259,
1232, 1233, 260, 261, 1234, 1235, 264, 0, 265, 266,
267, 268, 1236, 0, 1237, 0, 271, 272, 273, 274,
275, 276, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 286, 287, 288, 289, 1238, 1239, 1240,
1241, 1242, 1243, 1244, 291, 292, 293, 294, 295, 296,
1245, 1246, 299, 1247, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 1078, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 1248, 327, 328,
329, 330, 1249, 1250, 332, 0, 333, 334, 1251, 336,
0, 337, 0, 338, 339, 0, 340, 341, 342, 343,
344, 0, 345, 1252, 0, 1253, 348, 349, 0, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 1254, 1255, 0, 1256, 0,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
0, 0, 387, 1257, 389, 390, 391, 0, 392, 393,
394, 1258, 1259, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 1260,
412, 1261, 414, 415, 416, 417, 418, 419, 420, 421,
1262, 423, 1263, 424, 425, 426, 427, 1264, 1265, 429,
1266, 431, 432, 433, 0, 434, 435, 0, 0, 1267,
437, 438, 0, 0, 439, 440, 441, 442, 443, 444,
1268, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 1269, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1270, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 492, 493, 494, 495, 496, 497, 1271, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 1272, 513, 514, 515, 516, 517, 518,
519, 520, 1273, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 1274, 537,
0, 538, 539, 0, 540, 541, 542, 543, 544, 545,
546, 0, 547, 1275, 1276, 0, 0, 550, 551, 1277,
553, 1278, 1279, 555, 556, 557, 558, 559, 560, 561,
562, 0, 1280, 563, 564, 565, 566, 567, 1281, 0,
568, 569, 570, 571, 572, 573, 1282, 0, 575, 576,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 1283, 1284, 1285, 1286,
593, 1287, 1288, 1289, 1290, 598, 599, 600, 601, 1291,
0, 0, 0, 0, 0, 1292, 0, 1293, 1294, 1295,
0, 0, 228, 0, 1223, 669, 1296, 1224, 1225, 1226,
729, 1227, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 2159,
237, 238, 239, 0, 0, 0, 0, 1228, 0, 0,
240, 241, 0, 242, 243, 244, 245, 246, 247, 248,
249, 1229, 251, 1230, 1231, 0, 254, 255, 256, 257,
258, 259, 1232, 1233, 260, 261, 1234, 1235, 264, 0,
265, 266, 267, 268, 1236, 0, 1237, 0, 271, 272,
273, 274, 275, 276, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 286, 287, 288, 289, 1238,
1239, 1240, 1241, 1242, 1243, 1244, 291, 292, 293, 294,
295, 296, 1245, 1246, 299, 1247, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 1078, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 1248,
327, 328, 329, 330, 1249, 1250, 332, 0, 333, 334,
1251, 336, 0, 337, 0, 338, 339, 0, 340, 341,
342, 343, 344, 0, 345, 1252, 0, 1253, 348, 349,
0, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 368, 369, 370, 371, 372, 373, 1254, 1255, 0,
1256, 0, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 0, 0, 387, 1257, 389, 390, 391, 0,
392, 393, 394, 1258, 1259, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 1260, 412, 1261, 414, 415, 416, 417, 418, 419,
420, 421, 1262, 423, 1263, 424, 425, 426, 427, 1264,
1265, 429, 1266, 431, 432, 433, 0, 434, 435, 0,
0, 1267, 437, 438, 0, 0, 439, 440, 441, 442,
443, 444, 1268, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 1269, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 1270, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 492, 493, 494, 495, 496, 497, 1271,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 1272, 513, 514, 515, 516,
517, 518, 519, 520, 1273, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
1274, 537, 0, 538, 539, 0, 540, 541, 542, 543,
544, 545, 546, 0, 547, 1275, 1276, 0, 0, 550,
551, 1277, 553, 1278, 1279, 555, 556, 557, 558, 559,
560, 561, 562, 0, 1280, 563, 564, 565, 566, 567,
1281, 0, 568, 569, 570, 571, 572, 573, 1282, 0,
575, 576, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 1283, 1284,
1285, 1286, 593, 1287, 1288, 1289, 1290, 598, 599, 600,
601, 1291, 0, 0, 0, 0, 0, 1292, 0, 1293,
1294, 0, 0, 0, 228, 0, 1223, 669, 1296, 1224,
1225, 1226, 729, 1227, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 1228,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 249, 1229, 251, 1230, 1231, 0, 254, 255,
256, 257, 258, 259, 1232, 1233, 260, 261, 1234, 1235,
264, 0, 265, 266, 267, 268, 1236, 0, 1237, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
289, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 291, 292,
293, 294, 295, 296, 1245, 1246, 299, 1247, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 1078, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 1248, 327, 328, 329, 330, 1249, 1250, 332, 0,
333, 334, 1251, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 1252, 0, 1253,
348, 349, 0, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 369, 370, 371, 372, 373, 1254,
1255, 0, 1256, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 1257, 389, 390,
391, 0, 392, 393, 394, 1258, 1259, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 1260, 412, 1261, 414, 415, 416, 417,
418, 419, 420, 421, 1262, 423, 1263, 424, 425, 426,
427, 1264, 1265, 429, 1266, 431, 432, 433, 0, 434,
435, 0, 0, 1267, 437, 438, 0, 0, 439, 440,
441, 442, 443, 444, 1268, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 1269, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 1270, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 1271, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 1272, 513, 514,
515, 516, 517, 518, 519, 520, 1273, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 1274, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 1275, 1276, 0,
0, 550, 551, 1277, 553, 1278, 1279, 555, 556, 557,
558, 559, 560, 561, 562, 0, 1280, 563, 564, 565,
566, 567, 1281, 0, 568, 569, 570, 571, 572, 573,
1282, 3271, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
1283, 1284, 1285, 1286, 593, 1287, 1288, 1289, 1290, 598,
599, 600, 601, 1291, 0, 0, 0, 0, 0, 1292,
0, 1293, 1294, 0, 0, 0, 228, 0, 1223, 669,
1296, 1224, 1225, 1226, 729, 1227, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 1228, 0, 0, 240, 241, 0, 242, 243, 244,
245, 246, 247, 248, 249, 1229, 251, 1230, 1231, 0,
254, 255, 256, 257, 258, 259, 1232, 1233, 260, 261,
1234, 1235, 264, 0, 265, 266, 267, 268, 1236, 0,
1237, 0, 271, 272, 273, 274, 275, 276, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 286,
287, 288, 289, 1238, 1239, 1240, 1241, 1242, 1243, 1244,
291, 292, 293, 294, 295, 296, 1245, 1246, 299, 1247,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 1078, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 1248, 327, 328, 329, 330, 1249, 1250,
332, 0, 333, 334, 1251, 336, 0, 337, 0, 338,
339, 2811, 340, 341, 342, 343, 344, 0, 345, 1252,
0, 1253, 348, 349, 0, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 368, 369, 370, 371, 372,
373, 1254, 1255, 0, 1256, 0, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 0, 0, 387, 1257,
389, 390, 391, 0, 392, 393, 394, 1258, 1259, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 1260, 412, 1261, 414, 415,
416, 417, 418, 419, 420, 421, 1262, 423, 1263, 424,
425, 426, 427, 1264, 1265, 429, 1266, 431, 432, 433,
0, 434, 435, 0, 0, 1267, 437, 438, 0, 0,
439, 440, 441, 442, 443, 444, 1268, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 1269,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 1270, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 492, 493, 494,
495, 496, 497, 1271, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 1272,
513, 514, 515, 516, 517, 518, 519, 520, 1273, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 1274, 537, 0, 538, 539, 0,
540, 541, 542, 543, 544, 545, 546, 0, 547, 1275,
1276, 0, 0, 550, 551, 1277, 553, 1278, 1279, 555,
556, 557, 558, 559, 560, 561, 562, 0, 1280, 563,
564, 565, 566, 567, 1281, 0, 568, 569, 570, 571,
572, 573, 1282, 0, 575, 576, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 1283, 1284, 1285, 1286, 593, 1287, 1288, 1289,
1290, 598, 599, 600, 601, 1291, 0, 0, 0, 0,
0, 1292, 0, 1293, 1294, 0, 0, 0, 228, 0,
1223, 669, 1296, 1224, 1225, 1226, 729, 1227, 0, 0,
0, 0, 0, 0, 0, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 0, 237, 238, 239, 0,
0, 0, 0, 1228, 0, 0, 240, 241, 0, 242,
243, 244, 245, 246, 247, 248, 249, 1229, 251, 1230,
1231, 0, 254, 255, 256, 257, 258, 259, 1232, 1233,
260, 261, 1234, 1235, 264, 0, 265, 266, 267, 268,
1236, 0, 1237, 0, 271, 272, 273, 274, 275, 276,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 286, 287, 288, 289, 1238, 1239, 1240, 1241, 1242,
1243, 1244, 291, 292, 293, 294, 295, 296, 1245, 1246,
299, 1247, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 1078,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 1248, 327, 328, 329, 330,
1249, 1250, 332, 0, 333, 334, 1251, 336, 0, 337,
0, 338, 339, 0, 340, 341, 342, 343, 344, 0,
345, 1252, 0, 1253, 348, 349, 0, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 368, 369, 370,
371, 372, 373, 1254, 1255, 0, 1256, 0, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 0, 0,
387, 1257, 389, 390, 391, 0, 392, 393, 394, 1258,
1259, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 1260, 412, 1261,
414, 415, 416, 417, 418, 419, 420, 421, 1262, 423,
1263, 424, 425, 426, 427, 1264, 1265, 429, 1266, 431,
432, 433, 0, 434, 435, 0, 0, 1267, 437, 438,
0, 0, 439, 440, 441, 442, 443, 444, 1268, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 1269, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 1270, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 492,
493, 494, 495, 496, 497, 1271, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 1272, 513, 514, 515, 516, 517, 518, 519, 520,
1273, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 1274, 537, 0, 538,
539, 0, 540, 541, 542, 543, 544, 545, 546, 0,
547, 1275, 1276, 0, 0, 550, 551, 1277, 553, 1278,
1279, 555, 556, 557, 558, 559, 560, 561, 562, 0,
1280, 563, 564, 565, 566, 567, 1281, 0, 568, 569,
570, 571, 572, 573, 1282, 0, 575, 576, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 1283, 1284, 1285, 1286, 593, 1287,
1288, 1289, 1290, 598, 599, 600, 601, 1291, 0, 0,
0, 0, 0, 1292, 0, 1293, 1294, 0, 0, 0,
228, 0, 1223, 669, 1296, 1224, 1225, 1226, 729, 1227,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 1228, 0, 0, 240, 241,
0, 242, 243, 244, 245, 246, 247, 248, 249, 1229,
251, 1230, 1231, 0, 254, 255, 256, 257, 258, 259,
1232, 1233, 260, 261, 1234, 1235, 264, 0, 265, 266,
267, 268, 1236, 0, 1237, 0, 271, 272, 273, 274,
275, 276, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 286, 287, 288, 289, 1238, 1239, 1240,
1241, 1242, 1243, 1244, 291, 292, 293, 294, 295, 296,
1245, 1246, 299, 1247, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 1078, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 1248, 327, 328,
329, 330, 1249, 1250, 332, 0, 333, 334, 1251, 336,
0, 337, 0, 338, 339, 0, 340, 341, 342, 343,
344, 0, 345, 1252, 0, 1253, 348, 349, 0, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 1254, 1255, 0, 1256, 0,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
0, 0, 387, 1257, 389, 390, 391, 0, 392, 393,
394, 1258, 1259, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 1260,
412, 1261, 414, 415, 416, 417, 418, 419, 420, 421,
1262, 423, 1263, 424, 425, 426, 427, 1264, 1265, 429,
1266, 431, 432, 433, 0, 434, 435, 0, 0, 1267,
437, 438, 0, 0, 439, 440, 441, 442, 443, 444,
1268, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 1269, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1270, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 492, 493, 494, 495, 496, 497, 1271, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 1272, 513, 514, 515, 516, 517, 518,
519, 520, 1273, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 1274, 537,
0, 538, 539, 0, 540, 541, 542, 543, 544, 545,
546, 0, 547, 1275, 1276, 0, 0, 550, 551, 1277,
553, 1278, 1279, 555, 556, 557, 558, 559, 560, 561,
562, 0, 1280, 563, 564, 565, 566, 567, 1281, 0,
568, 569, 570, 571, 572, 573, 1282, 0, 575, 576,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 1283, 1284, 1285, 1286,
593, 1287, 1288, 1289, 1290, 598, 599, 600, 601, 1291,
0, 0, 0, 0, 0, 1292, 0, 2162, 2163, 0,
0, 0, 228, 0, 2940, 669, 1296, 1224, 1225, 1226,
729, 1227, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 1228, 0, 0,
240, 241, 0, 242, 243, 244, 245, 246, 247, 248,
249, 1229, 251, 1230, 1231, 0, 254, 255, 256, 257,
258, 259, 1232, 1233, 260, 261, 1234, 1235, 264, 0,
265, 266, 267, 268, 1236, 0, 1237, 0, 271, 272,
273, 274, 275, 276, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 286, 287, 288, 289, 1238,
1239, 1240, 1241, 1242, 1243, 1244, 291, 292, 293, 294,
295, 296, 1245, 1246, 299, 1247, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 1078, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 1248,
327, 328, 329, 330, 1249, 1250, 332, 0, 333, 334,
1251, 336, 0, 337, 0, 338, 339, 0, 340, 341,
342, 343, 344, 0, 345, 1252, 0, 1253, 348, 349,
0, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 368, 369, 370, 371, 372, 373, 1254, 1255, 0,
1256, 0, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 0, 0, 387, 1257, 389, 390, 391, 0,
392, 393, 394, 1258, 1259, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 1260, 412, 1261, 414, 415, 416, 417, 418, 419,
420, 421, 1262, 423, 1263, 424, 425, 426, 427, 1264,
1265, 429, 1266, 431, 432, 433, 0, 434, 435, 0,
0, 1267, 437, 438, 0, 0, 439, 440, 441, 442,
443, 444, 1268, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 1269, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 1270, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 492, 493, 494, 495, 496, 497, 1271,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 1272, 513, 514, 515, 516,
517, 518, 519, 520, 1273, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
1274, 537, 0, 538, 539, 0, 540, 541, 542, 543,
544, 545, 546, 0, 547, 1275, 1276, 0, 0, 550,
551, 1277, 553, 1278, 1279, 555, 556, 557, 558, 559,
560, 561, 562, 0, 1280, 563, 564, 565, 566, 567,
1281, 0, 568, 569, 570, 571, 572, 573, 1282, 0,
575, 576, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 1283, 1284,
1285, 1286, 593, 1287, 1288, 1289, 1290, 598, 599, 600,
601, 1291, 0, 0, 0, 0, 0, 1292, 0, 1293,
1294, 0, 0, 0, 228, 0, 1223, 669, 1296, 1224,
1225, 1226, 729, 1227, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 1228,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 249, 1229, 251, 1230, 1231, 0, 254, 255,
256, 257, 258, 259, 1232, 1233, 260, 261, 1234, 1235,
264, 0, 265, 266, 267, 268, 1236, 0, 1237, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
4225, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 291, 292,
293, 294, 295, 296, 1245, 1246, 299, 1247, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 1078, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 1248, 327, 328, 329, 330, 1249, 1250, 332, 0,
333, 334, 1251, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 1252, 0, 1253,
348, 349, 0, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 369, 370, 371, 372, 373, 1254,
1255, 0, 1256, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 1257, 389, 390,
391, 0, 392, 393, 394, 1258, 1259, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 1260, 412, 1261, 414, 415, 416, 417,
418, 419, 420, 421, 1262, 423, 1263, 424, 425, 426,
427, 1264, 1265, 429, 1266, 431, 432, 433, 0, 434,
435, 0, 0, 1267, 437, 438, 0, 0, 439, 440,
441, 442, 443, 444, 1268, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 1269, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 1270, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 1271, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 1272, 513, 514,
515, 516, 517, 518, 519, 520, 1273, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 1274, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 1275, 1276, 0,
0, 550, 551, 1277, 553, 1278, 1279, 555, 556, 557,
558, 559, 560, 561, 562, 0, 1280, 563, 564, 565,
566, 567, 1281, 0, 568, 569, 570, 571, 572, 573,
1282, 0, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
1283, 1284, 1285, 1286, 593, 1287, 1288, 1289, 1290, 598,
599, 600, 601, 1291, 0, 0, 0, 0, 0, 1292,
0, 1293, 1294, 0, 0, 0, 228, 0, 1223, 669,
1296, 1224, 1225, 1226, 729, 1227, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 1228, 0, 0, 240, 241, 0, 242, 243, 244,
245, 246, 247, 248, 249, 1229, 251, 1230, 1231, 0,
254, 255, 256, 257, 258, 259, 1232, 1233, 260, 261,
1234, 1235, 264, 0, 265, 266, 267, 268, 1236, 0,
1237, 0, 271, 272, 273, 274, 275, 276, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 286,
287, 288, 289, 1238, 1239, 1240, 1241, 1242, 1243, 1244,
291, 292, 293, 294, 295, 296, 1245, 1246, 299, 1247,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 1078, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 1248, 327, 328, 329, 330, 1249, 1250,
332, 0, 333, 334, 1251, 336, 0, 337, 0, 338,
339, 0, 340, 341, 342, 343, 344, 0, 345, 1252,
0, 1253, 348, 349, 0, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 368, 369, 370, 371, 372,
373, 1254, 1255, 0, 1256, 0, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 0, 0, 387, 1257,
389, 390, 391, 0, 392, 393, 394, 1258, 1259, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 1260, 412, 1261, 414, 415,
416, 417, 418, 419, 420, 421, 1262, 423, 1263, 424,
425, 426, 427, 1264, 1265, 429, 1266, 431, 432, 433,
0, 434, 435, 0, 0, 1267, 437, 438, 0, 0,
439, 440, 441, 442, 443, 444, 1268, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 1269,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 1270, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 492, 493, 494,
495, 496, 497, 1271, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 1272,
513, 514, 515, 516, 517, 518, 519, 520, 1273, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 1274, 537, 0, 538, 539, 0,
540, 541, 542, 543, 544, 545, 546, 0, 547, 1275,
1276, 0, 0, 550, 551, 1277, 553, 1278, 1279, 555,
556, 557, 558, 559, 560, 561, 562, 0, 1280, 563,
564, 565, 566, 567, 1281, 0, 568, 569, 570, 571,
572, 573, 1282, 0, 575, 576, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 4578, 1283, 1284, 1285, 1286, 593, 1287, 1288, 1289,
1290, 598, 599, 600, 601, 1291, 0, 0, 0, 0,
0, 1292, 0, 1293, 1294, 0, 0, 0, 228, 0,
1223, 669, 1296, 1224, 1225, 1226, 729, 1227, 0, 0,
0, 0, 0, 0, 0, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 0, 237, 238, 239, 0,
0, 0, 0, 1228, 0, 0, 240, 241, 0, 242,
243, 244, 245, 246, 247, 248, 249, 1229, 251, 1230,
1231, 0, 254, 255, 256, 257, 258, 259, 1232, 1233,
260, 261, 1234, 1235, 264, 0, 265, 266, 267, 268,
1236, 0, 1237, 0, 271, 272, 273, 274, 275, 276,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 286, 287, 288, 289, 1238, 1239, 1240, 1241, 1242,
1243, 1244, 291, 292, 293, 294, 295, 296, 1245, 1246,
299, 1247, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 1078,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 1248, 327, 328, 329, 330,
1249, 1250, 332, 0, 333, 334, 1251, 336, 0, 337,
0, 338, 339, 0, 340, 341, 342, 343, 344, 0,
345, 1252, 0, 1253, 348, 349, 0, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 368, 369, 370,
371, 372, 373, 1254, 1255, 0, 1256, 0, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 0, 0,
387, 1257, 389, 390, 391, 0, 392, 393, 394, 1258,
1259, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 1260, 412, 1261,
414, 415, 416, 417, 418, 419, 4590, 421, 1262, 423,
1263, 424, 425, 426, 427, 1264, 1265, 429, 1266, 431,
432, 433, 0, 434, 435, 0, 0, 1267, 437, 438,
0, 0, 439, 440, 441, 442, 443, 444, 1268, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 1269, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 1270, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 492,
493, 494, 495, 496, 497, 1271, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 1272, 513, 514, 515, 516, 517, 518, 519, 520,
1273, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 1274, 537, 0, 538,
539, 0, 540, 541, 542, 543, 544, 545, 546, 0,
547, 1275, 1276, 0, 0, 550, 551, 1277, 553, 1278,
1279, 555, 556, 557, 558, 559, 560, 561, 562, 0,
1280, 563, 564, 565, 566, 567, 1281, 0, 568, 569,
570, 571, 572, 573, 1282, 0, 575, 576, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 1283, 1284, 1285, 1286, 593, 1287,
1288, 1289, 1290, 598, 599, 600, 601, 1291, 0, 0,
0, 0, 0, 1292, 0, 1293, 1294, 0, 0, 0,
228, 0, 1223, 669, 1296, 1224, 1225, 1226, 729, 1227,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 1228, 0, 0, 240, 241,
0, 242, 243, 244, 245, 246, 247, 248, 249, 1229,
251, 1230, 1231, 0, 254, 255, 256, 257, 258, 259,
1232, 1233, 260, 261, 1234, 1235, 264, 0, 265, 266,
267, 268, 1236, 0, 1237, 0, 271, 272, 273, 274,
275, 276, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 286, 287, 4905, 289, 1238, 1239, 1240,
1241, 1242, 1243, 1244, 291, 292, 293, 294, 295, 296,
1245, 1246, 299, 1247, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 1078, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 1248, 327, 328,
329, 330, 1249, 1250, 332, 0, 333, 334, 1251, 336,
0, 337, 0, 338, 339, 0, 340, 341, 342, 343,
344, 0, 345, 1252, 0, 4906, 348, 349, 0, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 1254, 1255, 0, 1256, 0,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
0, 0, 387, 1257, 389, 390, 391, 0, 392, 393,
394, 1258, 1259, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 1260,
412, 1261, 414, 415, 416, 417, 418, 419, 420, 421,
1262, 423, 1263, 424, 425, 426, 427, 1264, 1265, 429,
1266, 431, 432, 433, 0, 434, 435, 0, 0, 1267,
437, 438, 0, 0, 439, 440, 441, 442, 443, 444,
1268, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 1269, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1270, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 492, 493, 494, 4907, 496, 497, 1271, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 1272, 513, 514, 515, 516, 517, 518,
519, 520, 1273, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 1274, 537,
0, 538, 539, 0, 540, 541, 542, 543, 544, 545,
546, 0, 547, 1275, 1276, 0, 0, 550, 551, 1277,
553, 1278, 1279, 555, 556, 557, 558, 559, 560, 561,
562, 0, 1280, 563, 564, 565, 566, 567, 1281, 0,
568, 569, 570, 571, 572, 573, 1282, 0, 575, 576,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 1283, 1284, 1285, 1286,
593, 1287, 1288, 1289, 1290, 598, 599, 600, 601, 1291,
0, 0, 0, 0, 0, 1292, 0, 1293, 1294, 0,
0, 0, 228, 0, 1223, 669, 4908, 1224, 1225, 1226,
729, 1227, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 1228, 0, 0,
240, 241, 0, 242, 243, 244, 245, 246, 247, 248,
5378, 1229, 251, 1230, 1231, 0, 254, 255, 256, 257,
258, 259, 1232, 1233, 260, 261, 1234, 1235, 264, 0,
265, 266, 267, 268, 1236, 0, 1237, 0, 271, 272,
273, 274, 275, 276, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 286, 287, 288, 5379, 1238,
1239, 1240, 1241, 1242, 1243, 1244, 291, 292, 293, 294,
295, 296, 1245, 1246, 299, 1247, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 1078, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 1248,
327, 328, 329, 330, 1249, 1250, 332, 0, 333, 334,
1251, 336, 0, 337, 0, 338, 339, 0, 340, 341,
342, 343, 344, 0, 345, 1252, 0, 1253, 348, 349,
0, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 368, 369, 370, 371, 372, 373, 1254, 1255, 0,
1256, 0, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 0, 0, 387, 1257, 389, 390, 391, 0,
392, 393, 394, 1258, 1259, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 1260, 412, 1261, 414, 415, 416, 417, 418, 419,
420, 421, 1262, 423, 1263, 424, 425, 426, 427, 1264,
1265, 429, 1266, 431, 432, 433, 0, 434, 435, 0,
0, 1267, 437, 438, 0, 0, 439, 440, 441, 442,
443, 444, 1268, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 1269, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 1270, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 492, 493, 494, 495, 496, 497, 1271,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 1272, 513, 514, 515, 516,
517, 518, 519, 520, 1273, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
1274, 537, 0, 538, 539, 0, 540, 541, 542, 543,
544, 545, 546, 0, 547, 1275, 1276, 0, 0, 550,
551, 1277, 553, 1278, 1279, 555, 556, 557, 558, 559,
5380, 561, 562, 0, 1280, 563, 564, 565, 566, 567,
1281, 0, 568, 569, 570, 571, 572, 573, 1282, 0,
575, 576, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 1283, 1284,
1285, 1286, 593, 1287, 1288, 1289, 1290, 598, 599, 600,
601, 1291, 0, 0, 0, 0, 0, 1292, 0, 1293,
1294, 0, 0, 0, 228, 0, 1223, 669, 1296, 1224,
1225, 1226, 729, 1227, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 1228,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 249, 1229, 251, 1230, 1231, 0, 254, 255,
256, 257, 258, 259, 1232, 1233, 260, 261, 1234, 1235,
264, 0, 265, 266, 267, 268, 1236, 0, 1237, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
5379, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 291, 292,
293, 294, 295, 296, 1245, 1246, 299, 1247, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 1078, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 1248, 327, 328, 329, 330, 1249, 1250, 332, 0,
333, 334, 1251, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 1252, 0, 1253,
348, 349, 0, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 369, 370, 371, 372, 373, 1254,
1255, 0, 1256, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 1257, 389, 390,
391, 0, 392, 393, 394, 1258, 1259, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 1260, 412, 1261, 414, 415, 416, 417,
418, 419, 420, 421, 1262, 423, 1263, 424, 425, 426,
427, 1264, 1265, 429, 1266, 431, 432, 433, 0, 434,
435, 0, 0, 1267, 437, 438, 0, 0, 439, 440,
441, 442, 443, 444, 1268, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 1269, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 1270, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 1271, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 1272, 513, 514,
515, 516, 517, 518, 519, 520, 1273, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 1274, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 1275, 1276, 0,
0, 550, 551, 1277, 553, 1278, 1279, 555, 556, 557,
558, 559, 5380, 561, 562, 0, 1280, 563, 564, 565,
566, 567, 1281, 0, 568, 569, 570, 571, 572, 573,
1282, 0, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
1283, 1284, 1285, 1286, 593, 1287, 1288, 1289, 1290, 598,
599, 600, 601, 1291, 0, 0, 0, 0, 0, 1292,
0, 1293, 1294, 0, 0, 0, 228, 0, 1223, 669,
1296, 1224, 1225, 1226, 729, 1227, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 1228, 0, 0, 240, 241, 0, 242, 243, 244,
245, 246, 247, 248, 249, 1229, 251, 1230, 1231, 0,
254, 255, 256, 257, 258, 259, 1232, 1233, 260, 261,
1234, 1235, 264, 0, 265, 266, 267, 268, 1236, 0,
1237, 0, 271, 272, 273, 274, 275, 276, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 286,
287, 288, 289, 1238, 1239, 1240, 1241, 1242, 1243, 1244,
291, 292, 293, 294, 295, 296, 1245, 1246, 299, 5103,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 1078, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 1248, 327, 328, 329, 330, 1249, 1250,
332, 0, 333, 334, 1251, 336, 0, 337, 0, 338,
339, 0, 340, 341, 342, 343, 344, 0, 345, 1252,
0, 1253, 348, 349, 0, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 368, 369, 370, 371, 372,
373, 1254, 1255, 0, 1256, 0, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 0, 0, 387, 1257,
389, 390, 391, 0, 392, 393, 394, 1258, 1259, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 1260, 412, 1261, 414, 415,
416, 417, 418, 419, 420, 421, 1262, 423, 0, 424,
425, 426, 427, 1264, 1265, 429, 1266, 431, 432, 433,
0, 434, 435, 0, 0, 1267, 437, 438, 0, 0,
439, 440, 441, 442, 443, 444, 1268, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 1269,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 1270, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 492, 493, 494,
495, 496, 497, 2796, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 1272,
513, 514, 515, 516, 517, 518, 519, 520, 1273, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 1274, 537, 0, 538, 539, 0,
540, 541, 542, 543, 544, 545, 546, 0, 547, 1275,
1276, 0, 0, 550, 551, 1277, 553, 1278, 1279, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 1281, 0, 568, 569, 570, 571,
572, 573, 1282, 0, 575, 576, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 1283, 1284, 1285, 1286, 593, 1287, 1288, 1289,
1290, 598, 599, 600, 601, 0, 0, 0, 0, 0,
0, 1292, 0, 2797, 2798, 0, 0, 0, 228, 0,
1223, 669, 2799, 1224, 1225, 1226, 729, 1227, 0, 0,
0, 0, 0, 0, 0, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 0, 237, 238, 239, 0,
0, 0, 0, 1228, 0, 0, 240, 241, 0, 242,
243, 244, 245, 246, 247, 248, -2695, 1229, 251, 1230,
1231, 0, 254, 255, 256, 257, 258, 259, 1232, 1233,
260, 261, 1234, 1235, 264, 0, 265, 266, 267, 268,
1236, 0, 1237, 0, 271, 272, 273, 274, 275, 276,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 286, 287, 288, 5379, 1238, 1239, 1240, 1241, 1242,
1243, 1244, 291, 292, 293, 294, 295, 296, 1245, 1246,
299, 1247, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 1078,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 1248, 327, 328, 329, 330,
1249, 1250, 332, 0, 333, 334, 1251, 336, 0, 337,
0, 338, 339, 0, 340, 341, 342, 343, 344, 0,
345, 1252, 0, 1253, 348, 349, 0, 350, 351, 352,
353, 354, -2695, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 368, 369, 370,
371, 372, 373, 1254, 1255, 0, 1256, 0, 377, 0,
0, 380, 381, 382, 383, 384, 385, 386, 0, 0,
387, 1257, 389, 390, -2695, 0, 392, 393, 394, 1258,
1259, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 1260, 412, 1261,
414, 415, 416, 417, 418, 419, 420, 421, 1262, 423,
1263, 424, 425, 0, 427, 1264, 1265, 429, 1266, 431,
432, 433, 0, 434, 435, 0, 0, 1267, 437, 438,
0, 0, 439, 440, 441, 442, 443, 444, 1268, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 1269, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 1270, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 492,
493, 494, 495, 496, 497, 1271, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 1272, 513, 514, 515, 516, 517, -2695, 519, 520,
1273, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 1274, 537, 0, 538,
539, 0, 540, 541, 542, 543, 544, 545, 546, 0,
547, 1275, 1276, 0, 0, 550, 551, 1277, 553, 1278,
1279, 555, 556, 557, 558, 559, 5380, 561, 562, 0,
1280, 563, 564, 565, 566, 567, 1281, 0, 568, 569,
570, 571, 572, 573, 1282, 0, 575, 576, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 1283, 1284, 1285, 1286, 593, 1287,
1288, 1289, 1290, 598, 599, 600, 601, -2695, 0, 0,
0, 0, 0, 1292, 0, 1293, 1294, 0, 0, 0,
228, 0, 1223, 669, 1296, 1224, 1225, 1226, 729, 1227,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 1228, 0, 0, 240, 241,
0, 242, 243, 244, 245, 246, 247, 248, 249, 1229,
251, 1230, 1231, 0, 254, 255, 256, 257, 258, 259,
1232, 1233, 260, 261, 1234, 1235, 264, 0, 265, 266,
267, 268, 1236, 0, 1237, 0, 271, 272, 273, 274,
275, 276, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 286, 287, 288, 289, 1238, 1239, 1240,
1241, 1242, 1243, 1244, 291, 292, 293, 294, 295, 296,
1245, 1246, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 1078, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 1248, 327, 328,
329, 330, 1249, 1250, 332, 0, 333, 334, 1251, 336,
0, 337, 0, 338, 339, 0, 340, 341, 342, 343,
344, 0, 345, 1252, 0, 1253, 348, 349, 0, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 1254, 1255, 0, 1256, 0,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
0, 0, 387, 1257, 389, 390, 391, 0, 392, 393,
394, 1258, 1259, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 1260,
412, 1261, 414, 415, 416, 417, 418, 419, 420, 421,
1262, 423, 0, 424, 425, 426, 427, 1264, 1265, 429,
1266, 431, 432, 433, 0, 434, 435, 0, 0, 1267,
437, 438, 0, 0, 439, 440, 441, 442, 443, 444,
1268, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 1269, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1270, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 492, 493, 494, 495, 496, 497, 2796, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 1272, 513, 514, 515, 516, 517, 518,
519, 520, 1273, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 1274, 537,
0, 538, 539, 0, 540, 541, 542, 543, 544, 545,
546, 0, 547, 1275, 1276, 0, 0, 550, 551, 1277,
553, 1278, 1279, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 1281, 0,
568, 569, 570, 571, 572, 573, 1282, 0, 575, 576,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 1283, 1284, 1285, 1286,
593, 1287, 1288, 1289, 1290, 598, 599, 600, 601, 0,
0, 0, 0, 0, 0, 1292, 0, 2797, 2798, 228,
0, 1223, 669, 0, 1224, 1225, 2799, 729, 1227, 0,
0, 0, 0, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 1228, 0, 0, 240, 241, 0,
242, 243, 244, 245, 246, 247, 248, 249, 1229, 251,
1230, 1231, 0, 254, 255, 256, 257, 258, 259, 1232,
1233, 260, 261, 1234, 1235, 264, 0, 265, 266, 267,
268, 1236, 0, 1237, 0, 271, 272, 273, 274, 275,
276, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 286, 287, 288, 289, 1238, 1239, 1240, 1241,
1242, 1243, 1244, 291, 292, 293, 294, 295, 296, 1245,
1246, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
1078, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 1248, 327, 328, 329,
330, 1249, 1250, 332, 0, 333, 334, 1251, 336, 0,
337, 0, 338, 339, 0, 340, 341, 342, 343, 344,
0, 345, 1252, 0, 1253, 348, 349, 0, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 368, 369,
370, 371, 372, 373, 1254, 1255, 0, 1256, 0, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 0,
0, 387, 1257, 389, 390, 391, 0, 392, 393, 394,
1258, 1259, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 1260, 412,
1261, 414, 415, 416, 417, 418, 419, 420, 421, 1262,
423, 0, 424, 425, 426, 427, 1264, 1265, 429, 1266,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 442, 443, 444, 1268,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 1269, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 1270,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
492, 493, 494, 495, 496, 497, 2929, 2930, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 1272, 513, 514, 515, 516, 517, 518, 519,
520, 1273, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 1274, 537, 0,
538, 539, 0, 540, 541, 542, 543, 544, 545, 546,
0, 547, 1275, 1276, 0, 0, 550, 551, 1277, 553,
1278, 1279, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 1281, 0, 568,
569, 570, 571, 572, 573, 1282, 0, 575, 576, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 1283, 1284, 1285, 1286, 593,
1287, 1288, 1289, 1290, 598, 599, 600, 601, 0, 0,
0, 0, 0, 0, 1292, 0, 2931, 2932, 0, 0,
0, 228, 0, 1223, 669, 2799, 1224, 1225, 1226, 729,
1227, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 1228, 0, 0, 240,
241, 0, 242, 243, 244, 245, 246, 247, 248, 249,
1229, 251, 1230, 1231, 0, 254, 255, 256, 257, 258,
259, 1232, 1233, 260, 261, 1234, 1235, 264, 0, 265,
266, 267, 268, 1236, 0, 1237, 0, 271, 272, 273,
274, 275, 276, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 286, 287, 288, 289, 1238, 1239,
1240, 1241, 1242, 1243, 1244, 291, 292, 293, 294, 295,
296, 1245, 1246, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 1078, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 1248, 327,
328, 329, 330, 1249, 1250, 332, 0, 333, 334, 1251,
336, 0, 337, 0, 338, 339, 0, 340, 341, 342,
343, 344, 0, 345, 1252, 0, 1253, 348, 349, 0,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 1254, 1255, 0, 1256,
0, 377, 0, 379, 380, 381, 382, 383, 384, 385,
386, 0, 0, 387, 1257, 389, 390, 391, 0, 392,
393, 394, 1258, 1259, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
1260, 412, 1261, 414, 415, 416, 417, 418, 419, 420,
421, 1262, 423, 0, 424, 425, 426, 427, 1264, 1265,
429, 1266, 431, 432, 433, 0, 434, 435, 0, 0,
1267, 437, 438, 0, 0, 439, 440, 441, 442, 443,
444, 1268, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 1269, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 1270, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 492, 493, 494, 495, 496, 497, 2796, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 1272, 513, 514, 515, 516, 517,
518, 519, 520, 1273, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 1274,
537, 0, 538, 539, 0, 540, 541, 542, 543, 544,
545, 546, 0, 547, 1275, 1276, 0, 0, 550, 551,
1277, 553, 1278, 1279, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 1281,
0, 568, 569, 570, 571, 572, 573, 1282, 0, 575,
576, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 1283, 1284, 1285,
1286, 593, 1287, 1288, 1289, 1290, 598, 599, 600, 601,
0, 0, 0, 0, 0, 0, 0, 0, 2797, 2798,
228, 0, 1223, 669, 0, 1224, 1225, 2799, 729, 1227,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 1228, 0, 0, 240, 241,
0, 242, 243, 244, 245, 246, 247, 248, 249, 1229,
251, 1230, 1231, 0, 254, 255, 256, 257, 258, 259,
1232, 1233, 260, 261, 1234, 1235, 264, 0, 265, 266,
267, 268, 1236, 0, 1237, 0, 271, 272, 273, 274,
275, 276, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 286, 287, 288, 289, 1238, 1239, 1240,
1241, 1242, 1243, 1244, 291, 292, 293, 294, 295, 296,
1245, 1246, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 1078, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 1248, 327, 328,
329, 330, 1249, 1250, 332, 0, 333, 334, 1251, 336,
0, 337, 0, 338, 339, 0, 340, 341, 342, 343,
344, 0, 345, 1252, 0, 1253, 348, 349, 0, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 1254, 1255, 0, 1256, 0,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
0, 0, 387, 1257, 389, 390, 391, 0, 392, 393,
394, 1258, 1259, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 1260,
412, 1261, 414, 415, 416, 417, 418, 419, 420, 421,
1262, 423, 0, 424, 425, 426, 427, 1264, 1265, 429,
1266, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 442, 443, 444,
1268, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 1269, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1270, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 492, 493, 494, 495, 496, 497, 2796, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 1272, 513, 514, 515, 516, 517, 518,
519, 520, 1273, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 1274, 537,
0, 538, 539, 0, 540, 541, 542, 543, 544, 545,
546, 0, 547, 1275, 1276, 0, 0, 550, 551, 1277,
553, 1278, 1279, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 1281, 0,
568, 569, 570, 571, 572, 573, 1282, 0, 575, 576,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 1283, 1284, 1285, 1286,
593, 1287, 1288, 1289, 1290, 598, 599, 600, 601, 0,
0, 228, 0, 1223, 669, 1292, 1224, 1225, 1226, 729,
1227, 0, 0, 0, 0, 0, 2799, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, -2191, 237,
238, 239, 0, 0, 0, -2191, 1228, 0, 0, 240,
241, 0, 242, 243, 244, 245, 246, 247, 248, 0,
1229, 251, 1230, 1231, 0, 254, 255, 256, 257, 258,
259, 1232, 1233, 260, 261, 1234, 1235, 264, 0, 265,
266, 267, 268, 1236, 0, 1237, 0, 271, 272, 273,
274, 275, 276, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 286, 287, 288, 289, 1238, 1239,
1240, 1241, 1242, 1243, 1244, 291, 292, 293, 294, 295,
296, 1245, 1246, 299, 1247, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 1078, 314, 315, 0, 316, 317, 318, 0,
319, 0, 321, 0, 322, 323, 324, 325, 1248, 327,
328, 329, 330, 1249, 1250, 332, 0, 333, 334, 1251,
336, 0, 337, 0, 338, 339, 0, 340, 341, 342,
343, 344, 0, 345, 1252, 0, 1253, 348, 349, 0,
350, 351, 352, 353, 354, 0, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 1254, 1255, 0, 1256,
0, 377, 0, 0, 380, 381, 382, 383, 384, 385,
386, 0, 0, 387, 1257, 389, 390, 0, 0, 392,
393, 394, 1258, 1259, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
1260, 412, 1261, 414, 415, 416, 417, 418, 419, 420,
421, 1262, 423, 1263, 424, 425, 0, 427, 1264, 1265,
429, 1266, 431, 432, 433, 0, 434, 435, 0, 0,
1267, 437, 438, 0, 0, 439, 440, 441, 442, 443,
444, 1268, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 1269, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 1270, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 492, 493, 494, 495, 496, 497, 1271, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 1272, 513, 514, 515, 516, 517,
0, 519, 520, 1273, 522, -2191, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 1274,
537, 0, 538, 539, 0, 540, 541, 542, 543, 544,
545, 546, 0, 547, 1275, 1276, 0, 0, 550, 551,
1277, 553, 1278, 1279, 555, 556, 557, 558, 559, 560,
561, 562, 0, 1280, 563, 564, 565, 566, 567, 1281,
0, 568, 569, 570, 571, 572, 573, 1282, 0, 575,
576, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 1283, 1284, 1285,
1286, 593, 1287, 1288, 1289, 1290, 598, 599, 600, 601,
0, 0, 0, 0, 0, 0, 0, 0, 1293, 1294,
228, 0, 1223, 669, 0, 1224, 1225, 1296, 729, 1227,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 1228, 0, 0, 240, 241,
0, 242, 243, 244, 245, 246, 247, 248, 249, 1229,
251, 1230, 1231, 0, 4129, 255, 256, 257, 258, 259,
1232, 1233, 260, 261, 1234, 1235, 264, 0, 265, 266,
267, 268, 1236, 0, 1237, 0, 271, 272, 273, 274,
275, 276, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 286, 287, 288, 289, 1238, 1239, 1240,
1241, 1242, 1243, 1244, 291, 292, 293, 294, 295, 296,
1245, 1246, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 1078, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 1248, 327, 328,
329, 330, 1249, 1250, 332, 0, 333, 334, 1251, 336,
0, 337, 0, 338, 339, 0, 340, 341, 342, 343,
344, 0, 345, 1252, 0, 1253, 348, 349, 0, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 1254, 1255, 0, 1256, 0,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
0, 0, 387, 1257, 389, 390, 391, 0, 392, 393,
394, 1258, 1259, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 1260,
412, 1261, 414, 415, 416, 417, 418, 419, 420, 421,
1262, 423, 0, 424, 425, 426, 427, 1264, 1265, 429,
1266, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 442, 443, 444,
1268, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 1269, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1270, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 492, 493, 494, 495, 496, 497, 2796, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 1272, 513, 514, 515, 516, 517, 518,
519, 520, 1273, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 1274, 537,
0, 538, 539, 0, 540, 541, 542, 543, 544, 545,
546, 0, 547, 1275, 1276, 0, 0, 550, 551, 1277,
553, 1278, 1279, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 1281, 0,
568, 569, 570, 571, 572, 573, 1282, 0, 575, 576,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 1283, 1284, 1285, 1286,
593, 1287, 1288, 1289, 1290, 598, 599, 600, 601, 0,
0, 228, 0, 1223, 669, 1292, 1224, 1225, 0, 729,
1227, 0, 0, 0, 0, 0, 2799, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 1228, 0, 0, 240,
241, 0, 242, 243, 244, 245, 246, 247, 248, 249,
1229, 251, 1230, 1231, 0, 254, 255, 256, 257, 258,
259, 1232, 1233, 260, 261, 1234, 1235, 264, 0, 265,
266, 267, 268, 1236, 0, 1237, 0, 271, 272, 273,
274, 275, 276, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 286, 287, 288, 289, 1238, 1239,
1240, 1241, 1242, 1243, 1244, 291, 292, 293, 294, 295,
296, 1245, 1246, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 1078, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 1248, 327,
328, 329, 330, 1249, 1250, 332, 0, 333, 334, 1251,
336, 0, 337, 0, 338, 339, 0, 340, 341, 342,
343, 344, 0, 345, 1252, 0, 1253, 348, 349, 0,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 1254, 1255, 0, 1256,
0, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 0, 0, 387, 1257, 389, 390, 391, 0, 392,
393, 394, 1258, 1259, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
1260, 412, 1261, 414, 415, 416, 417, 418, 419, 420,
421, 1262, 423, 0, 424, 425, 426, 427, 1264, 1265,
429, 1266, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 0, 439, 440, 441, 442, 443,
444, 1268, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 1269, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 1270, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 492, 493, 494, 495, 496, 497, 2796, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 1272, 513, 514, 515, 516, 517,
518, 519, 520, 1273, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 1274,
537, 0, 538, 539, 0, 540, 541, 542, 543, 544,
545, 546, 0, 547, 1275, 1276, 0, 0, 550, 551,
1277, 553, 1278, 1279, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 1281,
0, 568, 569, 570, 571, 572, 573, 1282, 0, 575,
576, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 1283, 1284, 1285,
1286, 4621, 1287, 1288, 1289, 1290, 598, 599, 600, 601,
0, 0, 228, 0, 1223, 669, 1292, 1224, 1225, 1226,
729, 1227, 0, 0, 0, 0, 0, 2799, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 1228, 0, 0,
240, 241, 0, 242, 243, 244, 245, 246, 247, 248,
0, 1229, 251, 1230, 1231, 0, 254, 255, 256, 257,
258, 259, 1232, 1233, 260, 261, 1234, 1235, 264, 0,
265, 266, 267, 268, 1236, 0, 1237, 0, 271, 272,
273, 274, 275, 276, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 286, 287, 288, 289, 1238,
1239, 1240, 1241, 1242, 1243, 1244, 291, 292, 293, 294,
295, 296, 1245, 1246, 299, 1247, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 1078, 314, 315, 0, 316, 317, 318,
0, 319, 0, 321, 0, 322, 323, 324, 325, 1248,
327, 328, 329, 330, 1249, 1250, 332, 0, 333, 334,
1251, 336, 0, 337, 0, 338, 339, 0, 340, 341,
342, 343, 344, 0, 345, 1252, 0, 1253, 348, 349,
0, 350, 351, 352, 353, 354, 0, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 368, 369, 370, 371, 372, 373, 1254, 1255, 0,
1256, 0, 377, 0, 0, 380, 381, 382, 383, 384,
385, 386, 0, 0, 387, 1257, 389, 390, 0, 0,
392, 393, 394, 1258, 1259, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 1260, 412, 1261, 414, 415, 416, 417, 418, 419,
420, 421, 1262, 423, 1263, 424, 425, 0, 427, 1264,
1265, 429, 1266, 431, 432, 433, 0, 434, 435, 0,
0, 1267, 437, 438, 0, 0, 439, 440, 441, 442,
443, 444, 1268, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 1269, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 1270, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 492, 493, 494, 495, 496, 497, 1271,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 1272, 513, 514, 515, 516,
517, 0, 519, 520, 1273, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
1274, 537, 0, 538, 539, 0, 540, 541, 542, 543,
544, 545, 546, 0, 547, 1275, 1276, 0, 0, 550,
551, 1277, 553, 1278, 1279, 555, 556, 557, 558, 559,
560, 561, 562, 0, 1280, 563, 564, 565, 566, 567,
1281, 0, 568, 569, 570, 571, 572, 573, 1282, 0,
575, 576, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 1283, 1284,
1285, 1286, 593, 1287, 1288, 1289, 1290, 598, 599, 600,
601, 228, 0, 0, 0, 0, 0, 0, 0, 1293,
1294, 0, 0, 0, 0, 0, 0, 0, 1296, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 1233, 260, 261, 262, 263, 264, 0, 265,
266, 267, 268, 1236, 0, 1237, 0, 271, 272, 273,
274, 275, 276, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 286, 287, 288, 289, 1238, 1239,
1240, 1241, 1242, 1243, 1244, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
328, 329, 330, 1249, 0, 332, 0, 333, 334, 335,
336, 0, 337, 0, 338, 339, 0, 340, 341, 342,
343, 344, 0, 345, 1252, 0, 347, 348, 349, 0,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 3632, 0, 387, 1257, 389, 390, 391, 0, 392,
393, 394, 1258, 1259, 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, 1262, 423, 0, 424, 425, 426, 427, 0, 1265,
429, 430, 431, 432, 433, 0, 434, 435, 0, 818,
436, 437, 438, 0, 0, 439, 440, 441, 442, 443,
444, 1268, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 1269, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 492, 493, 494, 495, 496, 497, 498, 3633,
500, 501, 502, 503, 504, 505, 506, 507, 40, 508,
509, 510, 511, 512, 1272, 513, 514, 515, 516, 517,
518, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 1274,
537, 0, 538, 539, 44, 540, 541, 542, 543, 544,
545, 546, 0, 547, 548, 549, 0, 0, 550, 551,
1277, 553, 1278, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 1281,
0, 568, 569, 570, 571, 572, 1157, 574, 0, 575,
576, 577, 578, 579, 580, 0, 0, 581, 0, 49,
582, 583, 584, 585, 586, 587, 588, 1283, 1284, 1285,
1286, 593, 1287, 1288, 1289, 1290, 3634, 599, 600, 601,
228, 0, 50, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3635, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 1233, 260, 261, 262, 263, 264, 0, 265, 266,
267, 268, 1236, 0, 1237, 0, 271, 272, 273, 274,
275, 276, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 286, 287, 288, 289, 1238, 1239, 1240,
1241, 1242, 1243, 1244, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 326, 327, 328,
329, 330, 1249, 0, 332, 0, 333, 334, 335, 336,
0, 337, 0, 338, 339, 0, 340, 341, 342, 343,
344, 0, 345, 1252, 0, 347, 348, 349, 0, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
3632, 0, 387, 1257, 389, 390, 391, 0, 392, 393,
394, 1258, 1259, 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,
1262, 423, 0, 424, 425, 426, 427, 0, 1265, 429,
430, 431, 432, 433, 0, 434, 435, 0, 818, 436,
437, 438, 0, 0, 439, 440, 441, 442, 443, 444,
1268, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 1269, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 492, 493, 494, 495, 496, 497, 498, 3633, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 1272, 513, 514, 515, 516, 517, 518,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 1274, 537,
0, 538, 539, 0, 540, 541, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 1277,
553, 1278, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 1281, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 576,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 1283, 1284, 1285, 1286,
593, 1287, 1288, 1289, 1290, 3634, 599, 600, 601, 228,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 3635, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, 0, 254, 255, 256, 257, 258, 259, 0,
1233, 260, 261, 262, 263, 264, 0, 265, 266, 267,
268, 1236, 0, 1237, 0, 271, 272, 273, 274, 275,
276, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 286, 287, 288, 289, 1238, 1239, 1240, 1241,
1242, 1243, 1244, 291, 292, 293, 294, 295, 296, 297,
298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
330, 1249, 0, 332, 0, 333, 334, 335, 336, 0,
337, 0, 338, 339, 0, 340, 341, 342, 343, 344,
0, 345, 1252, 0, 347, 348, 349, 0, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 368, 369,
370, 371, 372, 373, 374, 375, 0, 376, 0, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 0,
0, 387, 1257, 389, 390, 391, 0, 392, 393, 394,
1258, 1259, 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, 1262,
423, 0, 424, 425, 426, 427, 0, 1265, 429, 430,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 442, 443, 444, 1268,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 1269, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
492, 493, 494, 495, 496, 497, 498, 3633, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 1272, 513, 514, 515, 516, 517, 518, 519,
520, 521, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 1274, 537, 0,
538, 539, 0, 540, 541, 542, 543, 544, 545, 546,
0, 547, 548, 549, 0, 0, 550, 551, 1277, 553,
1278, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 1281, 0, 568,
569, 570, 571, 572, 573, 574, 0, 575, 576, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 1283, 1284, 1285, 1286, 593,
1287, 1288, 1289, 1290, 3634, 599, 600, 601, 228, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 51, 0, 229, 230, 231,
232, 233, 234, 235, 236, 0, 237, 238, 239, 0,
0, 0, 0, 0, 0, 0, 240, 241, 0, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 0, 254, 255, 256, 257, 258, 259, 0, 1233,
260, 261, 262, 263, 264, 0, 265, 266, 267, 268,
1236, 0, 1237, 0, 271, 272, 273, 274, 275, 276,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 286, 287, 288, 289, 1238, 1239, 1240, 1241, 1242,
1243, 1244, 291, 292, 293, 294, 295, 296, 297, 298,
299, 0, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 313,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
1249, 0, 332, 0, 333, 334, 335, 336, 0, 337,
0, 338, 339, 0, 340, 341, 342, 343, 344, 0,
345, 1252, 0, 347, 348, 349, 0, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 368, 369, 370,
371, 372, 373, 374, 375, 0, 376, 0, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 0, 0,
387, 1257, 389, 390, 391, 0, 392, 393, 394, 1258,
1259, 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, 1262, 423,
0, 424, 425, 426, 427, 0, 1265, 429, 430, 431,
432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
0, 0, 439, 440, 441, 442, 443, 444, 1268, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 1269, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 492,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 1272, 513, 514, 515, 516, 517, 518, 519, 520,
521, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 1274, 537, 0, 538,
539, 0, 540, 541, 542, 543, 544, 545, 546, 0,
547, 548, 549, 0, 0, 550, 551, 1277, 553, 1278,
0, 555, 556, 557, 558, 559, 560, 561, 562, 0,
0, 563, 564, 565, 566, 567, 1281, 0, 568, 569,
570, 571, 572, 573, 574, 0, 575, 576, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 1283, 1284, 1285, 1286, 593, 1287,
1288, 1289, 1290, 598, 599, 600, 601, 228, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 4254, 0, 229, 230, 231, 232,
233, 234, 235, 236, 0, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 1233, 260,
261, 262, 263, 264, 0, 265, 266, 267, 268, 1236,
0, 1237, 0, 271, 272, 273, 274, 275, 276, 277,
278, 279, 0, 280, 281, 282, 283, 284, 285, 0,
286, 287, 288, 289, 1238, 1239, 1240, 1241, 1242, 1243,
1244, 291, 292, 293, 294, 295, 296, 297, 298, 299,
0, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
322, 323, 324, 325, 326, 327, 328, 329, 330, 1249,
0, 332, 0, 333, 334, 335, 336, 0, 337, 0,
338, 339, 0, 340, 341, 342, 343, 344, 0, 345,
1252, 0, 347, 348, 349, 0, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 0, 360, 361, 362,
363, 364, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 378, 379,
380, 381, 382, 383, 384, 385, 386, 0, 0, 387,
1257, 389, 390, 391, 0, 392, 393, 394, 1258, 1259,
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, 1262, 423, 0,
424, 425, 426, 427, 0, 1265, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 442, 443, 444, 1268, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
1269, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 492, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 512,
1272, 513, 514, 515, 516, 517, 518, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 1274, 537, 0, 538, 539,
0, 540, 541, 542, 543, 544, 545, 546, 0, 547,
548, 549, 0, 0, 550, 551, 1277, 553, 1278, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 0,
563, 564, 565, 566, 567, 1281, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 576, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 587, 588, 1283, 1284, 1285, 1286, 593, 1287, 1288,
1289, 1290, 598, 599, 600, 601, 873, 0, 1511, 669,
0, 0, 0, 0, 729, 0, 0, 0, 0, 0,
0, 0, 0, 5360, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 0, 0, 0, 240, 241, 0, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
270, 0, 271, 272, 273, 274, 275, 276, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 286,
287, 288, 289, 0, 0, 0, 290, 0, 0, 0,
291, 292, 293, 294, 295, 296, 297, 298, 299, 0,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 1927,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
339, 0, 340, 341, 342, 343, 344, 0, 345, 346,
0, 347, 348, 349, 0, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 368, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 0, 0, 387, 388,
389, 390, 391, 0, 392, 393, 394, 0, 0, 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, 0, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 1928, 0, 436, 437, 438, 0, 0,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 0,
513, 514, 515, 516, 517, 518, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 541, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 1929, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 576, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 873, 0, 0, 0, 0,
0, 0, 0, 1512, 1513, 5174, 0, 0, 0, 0,
0, 0, 5175, 0, 229, 230, 231, 232, 233, 234,
235, 236, 0, 237, 238, 239, 3, 4, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 270,
0, 271, 272, 273, 274, 275, 276, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 286, 287,
288, 289, 0, 0, 0, 290, 0, 0, 0, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
0, 333, 334, 335, 336, 0, 337, 0, 338, 339,
0, 340, 341, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 368, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 0, 0, 387, 388, 389,
390, 391, 0, 392, 393, 394, 0, 0, 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, 0, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 492, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 40, 508, 509, 510, 511, 512, 0, 513,
514, 515, 516, 517, 518, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 44, 540,
541, 542, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
1157, 574, 0, 575, 576, 577, 578, 579, 580, 0,
0, 581, 0, 49, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 228, 0, 50, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 51, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 262, 263,
264, 0, 265, 266, 267, 268, 269, 0, 270, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
289, 0, 0, 0, 290, 0, 0, 0, 291, 292,
293, 294, 295, 296, 297, 298, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 313, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 0,
333, 334, 335, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 346, 0, 347,
348, 349, 0, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 369, 370, 371, 372, 373, 374,
375, 0, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 388, 389, 390,
391, 0, 392, 393, 394, 0, 0, 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, 0, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
515, 516, 517, 518, 519, 520, 521, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 548, 549, 0,
0, 550, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 573,
574, 0, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 609, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4957, 0, 229, 230, 231, 232, 233, 234, 235, 236,
0, 237, 238, 239, 0, 0, 0, 0, 0, 0,
0, 240, 241, 0, 242, 243, 244, 0, 246, 247,
248, 249, 250, 0, 252, 253, 0, 254, 255, 256,
257, 258, 259, 0, 0, 260, 261, 262, 263, 264,
0, 265, 266, 267, 268, 269, 0, 0, 0, 271,
272, 273, 274, 275, 0, 277, 278, 279, 0, 280,
281, 282, 283, 284, 285, 0, 0, 287, 288, 289,
0, 0, 0, 0, 0, 0, 0, 291, 292, 293,
294, 295, 296, 297, 298, 299, 0, 300, 0, 301,
302, 303, 304, 305, 306, 0, 307, 308, 309, 310,
0, 0, 311, 312, 313, 314, 315, 0, 316, 317,
318, 0, 319, 320, 321, 0, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 0, 332, 0, 333,
334, 335, 336, 0, 337, 0, 338, 0, 0, 0,
341, 342, 343, 344, 0, 345, 346, 0, 347, 348,
349, 0, 350, 351, 352, 353, 354, 0, 356, 357,
358, 359, 0, 360, 361, 362, 363, 364, 365, 366,
0, 367, 0, 369, 370, 371, 372, 373, 374, 375,
0, 376, 0, 377, 0, 0, 380, 0, 382, 383,
384, 385, 386, 0, 0, 387, 388, 0, 390, 0,
0, 392, 393, 394, 0, 0, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 0, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 0, 424, 425, 0, 427,
0, 428, 429, 430, 431, 432, 433, 0, 434, 435,
0, 0, 436, 437, 438, 0, 0, 439, 440, 441,
0, 443, 0, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 0, 490, 491, 0, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
40, 508, 509, 510, 511, 512, 0, 513, 514, 515,
516, 517, 0, 519, 520, 521, 522, 0, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 44, 540, 0, 542,
543, 544, 545, 546, 0, 547, 548, 549, 0, 0,
550, 551, 552, 553, 554, 0, 555, 556, 557, 558,
559, 560, 561, 562, 0, 0, 563, 564, 565, 566,
567, 0, 0, 568, 569, 570, 571, 572, 1157, 574,
0, 575, 0, 577, 578, 579, 580, 0, 0, 581,
0, 49, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 609, 0, 50, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
240, 241, 0, 242, 243, 244, 0, 246, 247, 248,
249, 250, 0, 252, 253, 0, 254, 255, 256, 257,
258, 259, 0, 0, 260, 261, 262, 263, 264, 0,
265, 266, 267, 268, 269, 0, 0, 0, 271, 272,
273, 274, 275, 0, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 0, 287, 288, 289, 0,
0, 0, 0, 0, 0, 0, 291, 292, 293, 294,
295, 296, 297, 298, 299, 0, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 313, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 0, 333, 334,
335, 336, 0, 337, 0, 338, 0, 0, 0, 341,
342, 343, 344, 0, 345, 346, 0, 347, 348, 349,
0, 350, 351, 352, 353, 354, 0, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 0, 369, 370, 371, 372, 373, 374, 375, 0,
376, 0, 377, 0, 0, 380, 0, 382, 383, 384,
385, 386, 0, 0, 387, 388, 0, 390, 0, 0,
392, 393, 394, 0, 0, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 0, 424, 425, 0, 427, 0,
428, 429, 430, 431, 432, 433, 0, 434, 435, 0,
0, 436, 437, 438, 0, 0, 439, 440, 441, 0,
443, 0, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 0, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 0, 513, 514, 515, 516,
517, 0, 519, 520, 521, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 0, 540, 0, 542, 543,
544, 545, 546, 0, 547, 548, 549, 0, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
560, 561, 562, 0, 0, 563, 564, 565, 566, 567,
0, 0, 568, 569, 570, 571, 572, 573, 574, 0,
575, 0, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 609, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1358, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 0, 246, 247, 248, 249,
250, 0, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 0, 260, 261, 262, 263, 264, 0, 265,
266, 267, 268, 269, 0, 0, 0, 271, 272, 273,
274, 275, 0, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 0, 287, 288, 289, 0, 0,
0, 0, 0, 0, 0, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 0, 332, 0, 333, 334, 335,
336, 0, 337, 0, 338, 0, 0, 0, 341, 342,
343, 344, 0, 345, 346, 0, 347, 348, 349, 0,
350, 351, 352, 353, 354, 0, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
0, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 0, 0, 380, 0, 382, 383, 384, 385,
386, 0, 0, 387, 388, 0, 390, 0, 0, 392,
393, 394, 0, 0, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 0, 424, 425, 0, 427, 0, 428,
429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 0, 439, 440, 441, 0, 443,
0, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 0, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 0, 513, 514, 515, 516, 517,
0, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 0, 540, 0, 542, 543, 544,
545, 546, 0, 547, 548, 549, 0, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 0,
0, 568, 569, 570, 571, 572, 573, 574, 0, 575,
0, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 601,
609, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 2962, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 0, 246, 247, 248, 249, 250,
0, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 262, 263, 264, 0, 265, 266,
267, 268, 269, 0, 0, 0, 271, 272, 273, 274,
275, 0, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 0, 287, 288, 289, 0, 0, 0,
0, 0, 0, 0, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 0, 333, 334, 335, 336,
0, 337, 0, 338, 0, 0, 0, 341, 342, 343,
344, 0, 345, 346, 0, 347, 348, 349, 0, 350,
351, 352, 353, 354, 0, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 0,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 0, 0, 380, 0, 382, 383, 384, 385, 386,
0, 0, 387, 388, 0, 390, 0, 0, 392, 393,
394, 0, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 0, 424, 425, 0, 427, 0, 428, 429,
430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 0, 443, 0,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 515, 516, 517, 0,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 0, 540, 0, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 552,
553, 554, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 0,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 601, 609,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 4168, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 0, 246, 247, 248, 249, 250, 0,
252, 253, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 262, 263, 264, 0, 265, 266, 267,
268, 269, 0, 0, 0, 271, 272, 273, 274, 275,
0, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 0, 287, 288, 289, 0, 0, 0, 0,
0, 0, 0, 291, 292, 293, 294, 295, 296, 297,
298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 0, 332, 0, 333, 334, 335, 336, 0,
337, 0, 338, 0, 0, 0, 341, 342, 343, 344,
0, 345, 346, 0, 347, 348, 349, 0, 350, 351,
352, 353, 354, 0, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 0, 369,
370, 371, 372, 373, 374, 375, 0, 376, 0, 377,
0, 0, 380, 0, 382, 383, 384, 385, 386, 0,
0, 387, 388, 0, 390, 0, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 0,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, 0, 424, 425, 0, 427, 0, 428, 429, 430,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 0, 443, 0, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 515, 516, 517, 0, 519,
520, 521, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 0, 540, 0, 542, 543, 544, 545, 546,
0, 547, 548, 549, 0, 0, 550, 551, 552, 553,
554, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 573, 574, 0, 575, 0, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 601, 1070, 0,
1511, 669, 0, 0, 0, 887, 729, 0, 0, 0,
0, 0, 888, 889, 890, 4638, 0, 229, 230, 231,
232, 233, 234, 235, 236, 1644, 237, 238, 239, 1645,
1646, 1647, 1648, 1649, 1650, 1651, 240, 241, 1652, 242,
243, 244, 245, 246, 247, 248, 0, 1071, 251, 1072,
1073, 1653, 254, 255, 256, 257, 258, 259, 1654, 1655,
260, 261, 1074, 1075, 264, 1656, 265, 266, 267, 268,
0, 1657, 270, 1658, 271, 272, 273, 274, 275, 276,
277, 278, 279, 1659, 280, 281, 282, 283, 284, 285,
1660, 286, 287, 288, 289, 1661, 1662, 1663, 290, 1664,
1665, 1666, 291, 292, 293, 294, 295, 296, 1076, 1077,
299, 1667, 300, 1668, 301, 302, 303, 304, 305, 306,
1669, 307, 308, 309, 310, 1670, 1671, 311, 312, 1078,
314, 315, 1672, 316, 317, 318, 1673, 319, 320, 321,
1674, 322, 323, 324, 325, 0, 327, 328, 329, 330,
0, 1675, 332, 1676, 333, 334, 1079, 336, 1677, 337,
1678, 338, 339, 1679, 340, 341, 342, 343, 344, 1680,
345, 0, 1681, 0, 348, 349, 1682, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 1683, 360, 361,
362, 363, 364, 365, 366, 1684, 367, 368, 0, 370,
371, 372, 373, 1081, 1082, 1685, 1083, 1686, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 1687, 1688,
387, 0, 389, 390, 391, 1689, 392, 393, 394, 1690,
1691, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 1084, 412, 1085,
414, 415, 416, 417, 418, 419, 420, 3912, 0, 423,
1692, 424, 425, 426, 427, 1693, 0, 429, 1086, 431,
432, 433, 1694, 434, 435, 1695, 1696, 3913, 437, 438,
1697, 1698, 439, 440, 0, 442, 443, 444, 0, 446,
447, 448, 449, 450, 451, 452, 453, 454, 1699, 455,
456, 0, 458, 0, 460, 461, 462, 1700, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 1087, 474,
475, 476, 477, 1701, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 1702, 490, 491, 492,
493, 494, 495, 496, 497, 0, 499, 500, 501, 502,
503, 504, 505, 506, 507, 1703, 508, 509, 510, 511,
512, 1704, 513, 514, 2195, 516, 517, 518, 519, 520,
1089, 522, 1705, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 0, 537, 1706, 538,
539, 1707, 540, 541, 542, 543, 544, 545, 546, 1708,
547, 1090, 1091, 1709, 1710, 550, 551, 0, 553, 0,
1711, 555, 556, 557, 558, 559, 560, 561, 562, 1712,
1713, 563, 564, 565, 566, 567, 1714, 1715, 568, 569,
570, 571, 572, 0, 1092, 1716, 575, 576, 577, 578,
579, 580, 1717, 1718, 581, 1719, 1720, 582, 583, 584,
585, 586, 587, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 599, 600, 601, 0, 0, 0,
893, 894, 895, 896, 0, 3914, 3915, 899, 900, 901,
902, 1070, 0, 1511, 669, 0, 0, 0, 887, 729,
0, 0, 0, 0, 0, 888, 889, 890, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 1644, 237,
238, 239, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 240,
241, 1652, 242, 243, 244, 245, 246, 247, 248, 0,
1071, 251, 1072, 1073, 1653, 254, 255, 256, 257, 258,
259, 1654, 1655, 260, 261, 1074, 1075, 264, 1656, 265,
266, 267, 268, 0, 1657, 270, 1658, 271, 272, 273,
274, 275, 276, 277, 278, 279, 1659, 280, 281, 282,
283, 284, 285, 1660, 286, 287, 288, 289, 1661, 1662,
1663, 290, 1664, 1665, 1666, 291, 292, 293, 294, 295,
296, 1076, 1077, 299, 1667, 300, 1668, 301, 302, 303,
304, 305, 306, 1669, 307, 308, 309, 310, 1670, 1671,
311, 312, 1078, 314, 315, 1672, 316, 317, 318, 1673,
319, 320, 321, 1674, 322, 323, 324, 325, 0, 327,
328, 329, 330, 0, 1675, 332, 1676, 333, 334, 1079,
336, 1677, 337, 1678, 338, 339, 1679, 340, 341, 342,
343, 344, 1680, 345, 0, 1681, 0, 348, 349, 1682,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
1683, 360, 361, 362, 363, 364, 365, 366, 1684, 367,
368, 0, 370, 371, 372, 373, 1081, 1082, 1685, 1083,
1686, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 1687, 1688, 387, 0, 389, 390, 391, 1689, 392,
393, 394, 1690, 1691, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
1084, 412, 1085, 414, 415, 416, 417, 418, 419, 420,
4349, 0, 423, 1692, 424, 425, 426, 427, 1693, 0,
429, 1086, 431, 432, 433, 1694, 434, 435, 1695, 1696,
3913, 437, 438, 1697, 1698, 439, 440, 0, 442, 443,
444, 0, 446, 447, 448, 449, 450, 451, 452, 453,
454, 1699, 455, 456, 0, 458, 0, 460, 461, 462,
1700, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 1087, 474, 475, 476, 477, 1701, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 1702,
490, 491, 492, 493, 494, 495, 496, 497, 0, 499,
500, 501, 502, 503, 504, 505, 506, 507, 1703, 508,
509, 510, 511, 512, 1704, 513, 514, 2195, 516, 517,
518, 519, 520, 1089, 522, 1705, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 0,
537, 1706, 538, 539, 1707, 540, 541, 542, 543, 544,
545, 546, 1708, 547, 1090, 1091, 1709, 1710, 550, 551,
0, 553, 0, 1711, 555, 556, 557, 558, 559, 560,
561, 562, 1712, 1713, 563, 564, 565, 566, 567, 1714,
1715, 568, 569, 570, 571, 572, 0, 1092, 1716, 575,
576, 577, 578, 579, 580, 1717, 1718, 581, 1719, 1720,
582, 583, 584, 585, 586, 587, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 599, 600, 601,
609, 0, 0, 893, 894, 895, 896, 887, 3914, 3915,
899, 900, 901, 902, 888, 889, 890, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 0, 246, 247, 248, 249, 250,
0, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 262, 263, 264, 0, 265, 891,
267, 268, 269, 0, 0, 0, 271, 272, 273, 274,
275, 0, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 0, 287, 288, 289, 0, 0, 0,
0, 0, 0, 0, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 0, 892, 0, 333, 334, 335, 336,
0, 337, 0, 338, 0, 0, 0, 341, 342, 343,
344, 0, 345, 346, 0, 347, 348, 349, 0, 350,
351, 352, 353, 354, 0, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 0,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 0, 0, 380, 0, 382, 383, 384, 385, 386,
0, 0, 387, 388, 0, 390, 0, 0, 392, 393,
394, 0, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 0, 424, 425, 0, 427, 0, 428, 429,
430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 0, 443, 0,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 515, 516, 517, 0,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 0, 540, 0, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 552,
553, 554, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 0,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 601, 609,
0, 0, 893, 894, 895, 896, 887, 897, 898, 899,
900, 901, 902, 888, 889, 890, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 0, 246, 247, 248, 249, 250, 0,
252, 253, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 262, 263, 264, 0, 265, 1020, 267,
268, 269, 0, 0, 0, 271, 272, 273, 274, 275,
0, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 0, 287, 288, 289, 0, 0, 0, 0,
0, 0, 0, 291, 292, 293, 294, 295, 296, 297,
298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 0, 1021, 0, 333, 334, 335, 336, 0,
337, 0, 338, 0, 0, 0, 341, 342, 343, 344,
0, 345, 346, 0, 347, 348, 349, 0, 350, 351,
352, 353, 354, 0, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 0, 369,
370, 371, 372, 373, 374, 375, 0, 376, 0, 377,
0, 0, 380, 0, 382, 383, 384, 385, 386, 0,
0, 387, 388, 0, 390, 0, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 0,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, 0, 424, 425, 0, 427, 0, 428, 429, 430,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 0, 443, 0, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 515, 516, 517, 0, 519,
520, 521, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 0, 540, 0, 542, 543, 544, 545, 546,
0, 547, 548, 549, 0, 0, 550, 551, 552, 553,
554, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 573, 574, 0, 575, 0, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 601, 609, 0,
0, 893, 894, 895, 896, 887, 897, 898, 899, 900,
901, 902, 888, 889, 890, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 0, 237, 238, 239, 0,
0, 0, 0, 0, 0, 0, 240, 241, 0, 242,
243, 244, 0, 246, 247, 248, 249, 250, 0, 252,
253, 0, 254, 255, 256, 257, 258, 259, 0, 0,
260, 261, 262, 263, 264, 0, 265, 1120, 267, 268,
269, 0, 0, 0, 271, 272, 273, 274, 275, 0,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 0, 287, 288, 289, 0, 0, 0, 0, 0,
0, 0, 291, 292, 293, 294, 295, 296, 297, 298,
299, 0, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 313,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 0, 1121, 0, 333, 334, 335, 336, 0, 337,
0, 338, 0, 0, 0, 341, 342, 343, 344, 0,
345, 346, 0, 347, 348, 349, 0, 350, 351, 352,
353, 1122, 0, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 0, 369, 370,
371, 372, 373, 374, 375, 0, 376, 0, 377, 0,
0, 380, 0, 382, 383, 384, 385, 386, 0, 0,
387, 388, 0, 390, 0, 0, 392, 393, 394, 0,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
0, 424, 425, 0, 427, 0, 428, 429, 430, 431,
432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
0, 0, 439, 440, 441, 0, 443, 0, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 0,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 0, 513, 514, 515, 516, 517, 0, 519, 520,
521, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 0, 540, 0, 542, 543, 544, 545, 546, 0,
547, 548, 549, 0, 0, 550, 551, 552, 553, 554,
0, 555, 556, 557, 558, 559, 560, 561, 562, 0,
0, 563, 564, 565, 566, 567, 0, 0, 568, 569,
570, 571, 572, 573, 574, 0, 575, 0, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 609, 0, 0,
893, 894, 895, 896, 887, 897, 898, 899, 900, 901,
902, 888, 889, 890, 0, 0, 229, 230, 231, 232,
233, 234, 235, 236, 0, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 0, 246, 247, 248, 249, 250, 0, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 0, 260,
261, 262, 263, 264, 0, 265, 1743, 267, 268, 269,
0, 0, 0, 271, 272, 273, 274, 275, 0, 277,
278, 279, 0, 280, 281, 282, 283, 284, 285, 0,
0, 287, 288, 289, 0, 0, 0, 0, 0, 0,
0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
0, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
0, 1744, 0, 333, 334, 335, 336, 0, 337, 0,
338, 0, 0, 0, 341, 342, 343, 344, 0, 345,
346, 0, 347, 348, 349, 0, 350, 351, 352, 353,
354, 0, 356, 357, 358, 359, 0, 360, 361, 362,
363, 364, 365, 366, 0, 367, 0, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 0, 0,
380, 0, 382, 383, 384, 385, 386, 0, 0, 387,
388, 0, 390, 0, 0, 392, 393, 394, 0, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 0, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 0,
424, 425, 0, 427, 0, 428, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 0, 443, 0, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 0, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 512,
0, 513, 514, 515, 516, 517, 0, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
0, 540, 0, 542, 543, 544, 545, 546, 0, 547,
548, 549, 0, 0, 550, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 0,
563, 564, 565, 566, 567, 0, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 0, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 601, 609, 0, 0, 893,
894, 895, 896, 887, 897, 898, 899, 900, 901, 902,
888, 889, 890, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 0, 0, 0, 240, 241, 0, 242, 243, 244,
0, 246, 247, 248, 249, 250, 0, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
0, 0, 271, 272, 273, 274, 275, 0, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 0,
287, 288, 289, 0, 0, 0, 0, 0, 0, 0,
291, 292, 293, 294, 295, 296, 297, 298, 299, 0,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
0, 0, 0, 341, 342, 343, 344, 0, 345, 346,
0, 347, 348, 349, 0, 350, 351, 352, 353, 354,
0, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 0, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 0, 0, 380,
0, 382, 383, 384, 385, 386, 0, 0, 387, 388,
0, 390, 0, 0, 392, 393, 394, 0, 0, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 0, 424,
425, 0, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 0, 0, 436, 437, 438, 0, 0,
439, 440, 441, 0, 443, 0, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 0, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 0,
513, 514, 515, 516, 517, 0, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 0, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 0, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 609, 0, 0, 893, 894,
895, 896, 887, 897, 898, 899, 900, 901, 902, 888,
889, 890, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 0, 237, 238, 239, 0, 0, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 0,
246, 247, 248, 249, 250, 0, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 3040, 267, 268, 269, 0, 0,
0, 271, 272, 273, 274, 275, 0, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 0, 287,
288, 289, 0, 0, 0, 0, 0, 0, 0, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 3041,
0, 333, 334, 335, 336, 0, 337, 0, 338, 0,
0, 0, 341, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 354, 0,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 0, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 0, 0, 380, 0,
382, 383, 384, 385, 386, 0, 0, 387, 388, 0,
390, 0, 0, 392, 393, 394, 0, 0, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 0, 424, 425,
0, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 0, 443, 0, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 0, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 0, 508, 509, 510, 511, 512, 0, 513,
514, 515, 516, 517, 0, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 0, 540,
0, 542, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 0, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 609, 0, 0, 893, 894, 895,
896, 887, 897, 898, 899, 900, 901, 902, 888, 889,
890, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 0, 246,
247, 248, 249, 250, 0, 252, 253, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 262, 263,
264, 0, 265, 266, 267, 268, 269, 0, 0, 0,
271, 272, 273, 274, 275, 0, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 0, 287, 288,
289, 0, 0, 0, 0, 0, 0, 0, 291, 292,
293, 294, 295, 296, 297, 298, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 313, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 0,
333, 334, 335, 336, 0, 337, 0, 338, 0, 0,
0, 341, 342, 343, 344, 0, 345, 346, 0, 347,
348, 349, 0, 350, 351, 352, 353, 354, 0, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 0, 369, 370, 371, 372, 373, 374,
375, 0, 376, 0, 377, 0, 0, 380, 0, 382,
383, 384, 385, 386, 0, 0, 387, 388, 0, 390,
0, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 0, 424, 425, 0,
427, 0, 428, 429, 430, 431, 432, 433, 0, 434,
435, 0, 0, 4934, 437, 438, 0, 0, 439, 440,
441, 0, 443, 0, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 0, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
515, 516, 517, 0, 519, 520, 521, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 0, 540, 0,
542, 543, 544, 545, 546, 0, 547, 548, 549, 0,
0, 550, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 573,
574, 0, 575, 0, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 1643, 0, 0, 893, 894, 895, 896,
0, 897, 898, 899, 900, 901, 902, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
1644, 237, 238, 239, 1645, 1646, 1647, 1648, 1649, 1650,
1651, 240, 241, 1652, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 1653, 254, 255, 256,
257, 258, 259, 1654, 1655, 260, 261, 262, 263, 264,
1656, 265, 266, 267, 268, 269, 1657, 270, 1658, 271,
272, 273, 274, 275, 276, 277, 278, 279, 1659, 280,
281, 282, 283, 284, 285, 1660, 286, 287, 288, 289,
1661, 1662, 1663, 290, 1664, 1665, 1666, 291, 292, 293,
294, 295, 296, 297, 298, 299, 1667, 300, 1668, 301,
302, 303, 304, 305, 306, 1669, 307, 308, 309, 310,
1670, 1671, 311, 312, 313, 314, 315, 1672, 316, 317,
318, 1673, 319, 320, 321, 1674, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 1675, 332, 1676, 333,
334, 335, 336, 1677, 337, 1678, 338, 339, 1679, 340,
341, 342, 343, 344, 1680, 345, 346, 1681, 347, 348,
349, 1682, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 1683, 360, 361, 362, 363, 364, 365, 366,
1684, 367, 368, 369, 370, 371, 372, 373, 374, 375,
1685, 376, 1686, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 1687, 1688, 387, 388, 389, 390, 391,
1689, 392, 393, 394, 1690, 1691, 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, 1692, 424, 425, 426, 427,
1693, 428, 429, 430, 431, 432, 433, 1694, 434, 435,
1695, 1696, 436, 437, 438, 1697, 1698, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 1699, 455, 456, 457, 458, 459, 460,
461, 462, 1700, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 1701, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 1702, 490, 491, 492, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
1703, 508, 509, 510, 511, 512, 1704, 513, 514, 515,
516, 517, 518, 519, 520, 521, 522, 1705, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 1706, 538, 539, 1707, 540, 541, 542,
543, 544, 545, 546, 1708, 547, 548, 549, 1709, 1710,
550, 551, 552, 553, 554, 1711, 555, 556, 557, 558,
559, 560, 561, 562, 1712, 1713, 563, 564, 565, 566,
567, 1714, 1715, 568, 569, 570, 571, 572, 573, 574,
1716, 575, 576, 577, 578, 579, 580, 1717, 1718, 581,
1719, 1720, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 609, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1721, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
240, 241, 0, 242, 243, 244, 0, 246, 247, 248,
249, 250, 0, 252, 253, 0, 254, 255, 256, 257,
258, 259, 0, 0, 260, 261, 262, 263, 264, 0,
265, 266, 267, 268, 269, 0, 0, 0, 271, 272,
273, 274, 275, 0, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 0, 287, 288, 289, 0,
0, 0, 0, 0, 0, 0, 291, 292, 293, 294,
295, 296, 297, 298, 299, 0, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 313, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 0, 333, 334,
335, 336, 0, 337, 0, 338, 0, 0, 0, 341,
342, 343, 344, 0, 345, 346, 0, 347, 348, 349,
0, 350, 351, 352, 353, 354, 0, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 0, 369, 370, 371, 372, 373, 374, 375, 0,
376, 0, 377, 0, 0, 380, 0, 382, 383, 384,
385, 386, 0, 0, 387, 388, 0, 390, 0, 0,
392, 393, 394, 0, 0, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 0, 424, 425, 0, 427, 0,
428, 429, 430, 431, 432, 433, 0, 434, 435, 0,
0, 436, 437, 438, 0, 0, 439, 440, 441, 0,
443, 0, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 0, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 0, 513, 514, 515, 516,
517, 0, 519, 520, 521, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 0, 540, 0, 542, 543,
544, 545, 546, 0, 547, 548, 549, 0, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
560, 561, 562, 0, 0, 563, 564, 565, 566, 567,
0, 0, 568, 569, 570, 571, 572, 573, 574, 0,
575, 0, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 609, 0, 0, 0, 0, 0, 0, 0, 0,
0, 823, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 0, 246, 247, 248, 249,
250, 0, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 0, 260, 261, 262, 263, 264, 0, 265,
266, 267, 268, 269, 0, 0, 0, 271, 272, 273,
274, 275, 0, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 0, 287, 288, 289, 0, 0,
0, 0, 0, 0, 0, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 0, 332, 0, 333, 334, 335,
336, 0, 337, 0, 338, 0, 0, 0, 341, 342,
343, 344, 0, 345, 346, 0, 347, 348, 349, 0,
350, 351, 352, 353, 354, 0, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
0, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 0, 0, 380, 0, 382, 383, 384, 385,
386, 0, 0, 387, 388, 0, 390, 0, 0, 392,
393, 394, 0, 0, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 0, 424, 425, 0, 427, 0, 428,
429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 0, 439, 440, 441, 0, 443,
0, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 0, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 0, 513, 514, 515, 516, 517,
0, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 0, 540, 0, 542, 543, 544,
545, 546, 0, 547, 548, 549, 0, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 0,
0, 568, 569, 570, 571, 572, 573, 574, 0, 575,
0, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 601,
1070, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5325, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 245, 246, 247, 248, 0, 1071,
251, 1072, 1073, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 1074, 1075, 264, 0, 265, 266,
267, 268, 0, 0, 270, 0, 271, 272, 273, 274,
275, 276, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 286, 287, 288, 289, 0, 0, 0,
290, 0, 0, 0, 291, 292, 293, 294, 295, 296,
1076, 1077, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 1078, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 0, 327, 328,
329, 330, 0, 0, 332, 0, 333, 334, 1079, 336,
0, 337, 0, 338, 339, 0, 340, 341, 342, 343,
344, 0, 345, 0, 0, 0, 348, 349, 0, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 2191,
360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
2192, 370, 371, 372, 373, 1081, 1082, 0, 1083, 0,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
0, 0, 387, 0, 389, 390, 391, 0, 392, 393,
394, 0, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 1084,
412, 1085, 414, 415, 416, 417, 418, 419, 420, 0,
0, 423, 0, 424, 425, 426, 427, 0, 0, 429,
1086, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 2193, 439, 440, 2194, 442, 443, 444,
0, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 0, 458, 0, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1087, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 492, 493, 494, 495, 496, 497, 0, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 2195, 516, 517, 518,
519, 520, 1089, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 0, 537,
0, 538, 539, 0, 540, 541, 542, 543, 544, 545,
546, 0, 547, 1090, 1091, 0, 0, 550, 551, 0,
553, 0, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 0, 1092, 2196, 575, 576,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 0, 0, 0, 0, 0,
0, 3388, 0, 0, 0, 0, 599, 600, 601, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2197,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 245, 246, 247, 248, 0,
1071, 251, 1072, 1073, 0, 254, 255, 256, 257, 258,
259, 0, 0, 260, 261, 1074, 1075, 264, 0, 265,
266, 267, 268, 0, 0, 270, 0, 271, 272, 273,
274, 275, 276, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 286, 287, 288, 289, 0, 0,
0, 290, 0, 0, 0, 291, 292, 293, 294, 295,
296, 1076, 1077, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 1078, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 0, 327,
328, 329, 330, 0, 0, 332, 0, 333, 334, 1079,
336, 0, 337, 0, 338, 339, 0, 340, 341, 342,
343, 344, 0, 345, 0, 0, 0, 348, 349, 0,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
2191, 360, 361, 362, 363, 364, 365, 366, 0, 367,
368, 2192, 370, 371, 372, 373, 1081, 1082, 0, 1083,
0, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 0, 0, 387, 0, 389, 390, 391, 0, 392,
393, 394, 0, 0, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
1084, 412, 1085, 414, 415, 416, 417, 418, 419, 420,
0, 0, 423, 0, 424, 425, 426, 427, 0, 0,
429, 1086, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 2193, 439, 440, 2194, 442, 443,
444, 0, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 0, 458, 0, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 1087, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 492, 493, 494, 495, 496, 497, 0, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 0, 513, 514, 2195, 516, 517,
518, 519, 520, 1089, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 0,
537, 0, 538, 539, 0, 540, 541, 542, 543, 544,
545, 546, 0, 547, 1090, 1091, 0, 0, 550, 551,
0, 553, 0, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 0,
0, 568, 569, 570, 571, 572, 0, 1092, 2196, 575,
576, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 0, 0, 0, 0,
0, 0, 873, 0, 1511, 669, 0, 599, 600, 601,
729, 2117, 0, 0, 0, 0, 0, 0, 0, 0,
2197, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
240, 241, 0, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 0, 254, 255, 256, 257,
258, 259, 0, 0, 260, 261, 262, 263, 264, 0,
265, 266, 267, 268, 269, 0, 270, 0, 271, 272,
273, 274, 275, 276, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 286, 287, 288, 289, 0,
0, 0, 290, 0, 0, 0, 291, 292, 293, 294,
295, 296, 297, 298, 299, 2118, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 313, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 1927, 332, 0, 333, 334,
335, 336, 0, 337, 0, 338, 339, 0, 340, 341,
342, 343, 344, 0, 345, 346, 0, 347, 348, 349,
0, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 368, 369, 370, 371, 372, 373, 374, 375, 0,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 0, 0, 387, 388, 389, 390, 391, 0,
392, 393, 394, 0, 0, 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, 0, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 0, 434, 435, 1928,
0, 436, 437, 438, 0, 0, 439, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 492, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 0, 513, 514, 515, 516,
517, 518, 519, 520, 521, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 0, 540, 541, 542, 543,
544, 545, 546, 0, 547, 548, 549, 0, 0, 550,
551, 552, 553, 554, 1929, 555, 556, 557, 558, 559,
560, 561, 562, 0, 0, 563, 564, 565, 566, 567,
0, 0, 568, 569, 570, 571, 572, 573, 574, 0,
575, 576, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 0, 0, 873, 0, 1511, 669, 2119, 0, 1512,
1513, 729, 2117, 0, 0, 0, 0, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
0, 237, 238, 239, 0, 0, 0, 0, 0, 0,
0, 240, 241, 0, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 0, 254, 255, 256,
257, 258, 259, 0, 0, 260, 261, 262, 263, 264,
0, 265, 266, 267, 268, 269, 0, 270, 0, 271,
272, 273, 274, 275, 276, 277, 278, 279, 0, 280,
281, 282, 283, 284, 285, 0, 286, 287, 288, 289,
0, 0, 0, 290, 0, 0, 0, 291, 292, 293,
294, 295, 296, 297, 298, 299, 2124, 300, 0, 301,
302, 303, 304, 305, 306, 0, 307, 308, 309, 310,
0, 0, 311, 312, 313, 314, 315, 0, 316, 317,
318, 0, 319, 320, 321, 0, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 1927, 332, 0, 333,
334, 335, 336, 0, 337, 0, 338, 339, 0, 340,
341, 342, 343, 344, 0, 345, 346, 0, 347, 348,
349, 0, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 0, 360, 361, 362, 363, 364, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 374, 375,
0, 376, 0, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 0, 0, 387, 388, 389, 390, 391,
0, 392, 393, 394, 0, 0, 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, 0, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 0, 434, 435,
1928, 0, 436, 437, 438, 0, 0, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 0, 490, 491, 492, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
0, 508, 509, 510, 511, 512, 0, 513, 514, 515,
516, 517, 518, 519, 520, 521, 522, 0, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 0, 540, 541, 542,
543, 544, 545, 546, 0, 547, 548, 549, 0, 0,
550, 551, 552, 553, 554, 1929, 555, 556, 557, 558,
559, 560, 561, 562, 0, 0, 563, 564, 565, 566,
567, 0, 0, 568, 569, 570, 571, 572, 573, 574,
0, 575, 576, 577, 578, 579, 580, 0, 0, 581,
0, 0, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 0, 0, 873, 0, 1511, 669, 2119, 0,
1512, 1513, 729, 2117, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 262, 263,
264, 0, 265, 266, 267, 268, 269, 0, 270, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
289, 0, 0, 0, 290, 0, 0, 0, 291, 292,
293, 294, 295, 296, 297, 298, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 313, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 1927, 332, 0,
333, 334, 335, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 346, 0, 347,
348, 349, 0, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 369, 370, 371, 372, 373, 374,
375, 0, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 388, 389, 390,
391, 0, 392, 393, 394, 0, 0, 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, 0, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 0, 434,
435, 1928, 0, 436, 437, 438, 0, 0, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
515, 516, 517, 518, 519, 520, 521, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 548, 549, 0,
0, 550, 551, 552, 553, 554, 1929, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 573,
574, 0, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 0, 0, 873, 0, 1511, 669, 2119,
0, 1512, 1513, 729, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 0, 237, 238, 239, 0, 0, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 270,
0, 271, 272, 273, 274, 275, 276, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 286, 287,
288, 289, 0, 0, 0, 290, 0, 0, 0, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 1927, 332,
0, 333, 334, 335, 336, 0, 337, 0, 338, 339,
0, 340, 341, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 368, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 0, 0, 387, 388, 389,
390, 391, 0, 392, 393, 394, 0, 0, 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, 0, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 1928, 0, 436, 437, 438, 0, 0, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 492, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 0, 508, 509, 510, 511, 512, 0, 513,
514, 515, 516, 517, 518, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 0, 540,
541, 542, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 1929, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 576, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 0, 0, 873, 0, 0, 669,
0, 0, 1512, 1513, 729, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 0, 0, 0, 240, 241, 0, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
270, 0, 271, 272, 273, 274, 275, 276, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 286,
287, 288, 289, 0, 0, 0, 290, 0, 0, 0,
291, 292, 293, 294, 295, 296, 297, 298, 299, 2994,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 1927,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
339, 0, 340, 341, 342, 343, 344, 0, 345, 346,
0, 347, 348, 349, 0, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 368, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 0, 0, 387, 388,
389, 390, 391, 0, 392, 393, 394, 0, 0, 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, 0, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 1928, 0, 436, 437, 438, 0, 0,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 0,
513, 514, 515, 516, 517, 518, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 541, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 1929, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 576, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 0, 0, 609, 0, 0,
0, 0, 0, 741, 742, 729, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 229, 730, 231, 232,
233, 234, 235, 236, 731, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 0, 732, 247, 248, 249, 250, 0, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 0, 260,
261, 262, 263, 264, 0, 265, 266, 267, 268, 269,
0, 0, 0, 271, 272, 273, 274, 275, 0, 277,
278, 279, 0, 280, 281, 282, 283, 284, 285, 0,
0, 287, 288, 289, 0, 0, 0, 0, 0, 0,
0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
0, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
0, 332, 0, 333, 733, 335, 336, 0, 337, 0,
734, 0, 735, 0, 341, 342, 343, 344, 0, 345,
346, 0, 347, 348, 349, 0, 350, 351, 352, 353,
354, 0, 356, 357, 358, 359, 736, 360, 361, 362,
363, 364, 365, 366, 0, 367, 0, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 0, 0,
380, 0, 382, 383, 384, 385, 737, 0, 0, 387,
388, 0, 390, 0, 0, 392, 393, 394, 0, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 0, 413, 414,
738, 416, 417, 418, 419, 420, 421, 422, 423, 0,
424, 425, 0, 427, 0, 428, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 0, 443, 0, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 0, 739, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 740, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 0, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 512,
0, 513, 514, 515, 516, 517, 0, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
0, 540, 0, 542, 543, 544, 545, 546, 0, 547,
548, 549, 0, 0, 550, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 0,
563, 564, 565, 566, 567, 0, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 0, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 601, 0, 873, 0, 0,
669, 0, 0, 0, 741, 742, 2098, 0, 0, 0,
0, 0, 0, 0, 0, 0, 229, 230, 231, 232,
233, 234, 235, 236, 0, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 0, 260,
261, 262, 263, 264, 0, 265, 266, 267, 268, 269,
0, 270, 0, 271, 272, 273, 274, 275, 276, 277,
278, 279, 0, 280, 281, 282, 283, 284, 285, 0,
286, 287, 288, 289, 0, 0, 0, 290, 0, 0,
0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
2099, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
0, 332, 0, 333, 334, 335, 336, 0, 337, 0,
338, 339, 0, 340, 341, 342, 343, 344, 0, 345,
346, 0, 347, 348, 349, 0, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 0, 360, 361, 362,
363, 364, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 378, 379,
380, 381, 382, 383, 384, 385, 386, 0, 0, 387,
388, 389, 390, 391, 0, 392, 393, 394, 0, 0,
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, 0,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 492, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 512,
0, 513, 514, 515, 516, 517, 518, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
0, 540, 541, 542, 543, 544, 545, 546, 0, 547,
548, 549, 0, 0, 550, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 0,
563, 564, 565, 566, 567, 0, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 576, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 601, 873, 0, 0, 669,
0, 0, 2100, 0, 0, 1338, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 0, 0, 0, 240, 241, 0, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
270, 0, 271, 272, 273, 274, 275, 276, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 286,
287, 288, 289, 0, 0, 0, 290, 0, 0, 0,
291, 292, 293, 294, 295, 296, 297, 298, 299, 0,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
339, 0, 340, 341, 342, 343, 344, 0, 345, 346,
0, 347, 348, 349, 0, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 368, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 0, 0, 387, 388,
389, 390, 391, 0, 392, 393, 394, 0, 0, 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, 0, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 0, 0, 436, 437, 438, 0, 0,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 0,
513, 514, 515, 516, 517, 518, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 541, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 576, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 609, 0, 0, 669, 0,
0, 1339, 0, 0, 1341, 0, 0, 0, 0, 0,
0, 0, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 0, 237, 238, 239, 0, 0, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 0,
246, 247, 248, 249, 250, 0, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 0,
0, 271, 272, 273, 274, 275, 0, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 0, 287,
288, 289, 0, 0, 0, 0, 0, 0, 0, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
0, 333, 334, 335, 336, 0, 337, 0, 338, 0,
0, 0, 341, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 354, 0,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 0, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 0, 0, 380, 0,
382, 383, 384, 385, 386, 0, 0, 387, 388, 0,
390, 0, 0, 392, 393, 394, 0, 0, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 0, 424, 425,
0, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 0, 443, 0, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 0, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 0, 508, 509, 510, 511, 512, 0, 513,
514, 515, 516, 517, 0, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 0, 540,
0, 542, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 0, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 1643, 0, 5539, 669, 0, 0,
1342, 0, 729, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 1644, 237, 238, 239, 1645, 1646, 1647, 1648, 1649,
1650, 1651, 240, 241, 1652, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 1653, 254, 255,
256, 257, 258, 259, 1654, 1655, 260, 261, 262, 263,
264, 1656, 265, 266, 267, 268, 269, 1657, 270, 1658,
271, 272, 273, 274, 275, 276, 277, 278, 279, 1659,
280, 281, 282, 283, 284, 285, 1660, 286, 287, 288,
289, 1661, 1662, 1663, 290, 1664, 1665, 1666, 291, 292,
293, 294, 295, 296, 297, 298, 299, 1667, 300, 1668,
301, 302, 303, 304, 305, 306, 1669, 307, 308, 309,
310, 1670, 1671, 311, 312, 313, 314, 315, 1672, 316,
317, 318, 1673, 319, 320, 321, 1674, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 1675, 332, 1676,
333, 334, 335, 336, 1677, 337, 1678, 338, 339, 1679,
340, 341, 342, 343, 344, 1680, 345, 346, 1681, 347,
348, 349, 1682, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 1683, 360, 361, 362, 363, 364, 365,
366, 1684, 367, 368, 369, 370, 371, 372, 373, 374,
375, 1685, 376, 1686, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 1687, 1688, 387, 388, 389, 390,
391, 1689, 392, 393, 394, 1690, 1691, 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, 1692, 424, 425, 426,
427, 1693, 428, 429, 430, 431, 432, 433, 1694, 434,
435, 1695, 1696, 436, 437, 438, 1697, 1698, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 1699, 455, 456, 457, 458, 459,
460, 461, 462, 1700, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 1701,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 1702, 490, 491, 492, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 1703, 508, 509, 510, 511, 512, 1704, 513, 514,
515, 516, 517, 518, 519, 520, 521, 522, 1705, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 1706, 538, 539, 1707, 540, 541,
542, 543, 544, 545, 546, 1708, 547, 548, 549, 1709,
1710, 550, 551, 552, 553, 554, 1711, 555, 556, 557,
558, 559, 560, 561, 562, 1712, 1713, 563, 564, 565,
566, 567, 1714, 1715, 568, 569, 570, 571, 572, 573,
574, 1716, 575, 576, 577, 578, 579, 580, 1717, 1718,
581, 1719, 1720, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 1643, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
1644, 237, 238, 239, 1645, 1646, 1647, 1648, 1649, 1650,
1651, 240, 241, 1652, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 1653, 254, 255, 256,
257, 258, 259, 1654, 1655, 260, 261, 262, 263, 264,
1656, 265, 266, 267, 268, 269, 1657, 270, 1658, 271,
272, 273, 274, 275, 276, 277, 278, 279, 1659, 280,
281, 282, 283, 284, 285, 1660, 286, 287, 288, 289,
1661, 1662, 1663, 290, 1664, 1665, 1666, 291, 292, 293,
294, 295, 296, 297, 298, 299, 1667, 300, 1668, 301,
302, 303, 304, 305, 306, 1669, 307, 308, 309, 310,
1670, 1671, 311, 312, 313, 314, 315, 1672, 316, 317,
318, 1673, 319, 320, 321, 1674, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 1675, 332, 1676, 333,
334, 335, 336, 1677, 337, 1678, 338, 339, 1679, 340,
341, 342, 343, 344, 1680, 345, 346, 1681, 347, 348,
349, 1682, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 1683, 360, 361, 362, 363, 364, 365, 366,
1684, 367, 368, 369, 370, 371, 372, 373, 374, 375,
1685, 376, 1686, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 1687, 1688, 387, 388, 389, 390, 391,
1689, 392, 393, 394, 1690, 1691, 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, 1692, 424, 425, 426, 427,
1693, 428, 429, 430, 431, 432, 433, 1694, 434, 435,
1695, 1696, 436, 437, 438, 1697, 1698, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 1699, 455, 456, 457, 458, 459, 460,
461, 462, 1700, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 1701, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 1702, 490, 491, 492, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
1703, 508, 509, 510, 511, 512, 1704, 513, 514, 515,
516, 517, 518, 519, 520, 521, 522, 1705, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 1706, 538, 539, 1707, 540, 541, 542,
543, 544, 545, 546, 1708, 547, 548, 549, 1709, 1710,
550, 551, 552, 553, 554, 1711, 555, 556, 557, 558,
559, 560, 561, 562, 1712, 1713, 563, 564, 565, 566,
567, 1714, 1715, 568, 569, 570, 571, 572, 573, 574,
1716, 575, 576, 577, 578, 579, 580, 1717, 1718, 581,
1719, 1720, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 1643, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 3111, 234, 235, 236, 1644,
237, 238, 239, 1645, 1646, 1647, 1648, 1649, 1650, 1651,
240, 241, 1652, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 1653, 254, 255, 256, 257,
258, 259, 1654, 1655, 260, 261, 262, 263, 264, 1656,
265, 266, 267, 268, 269, 1657, 270, 1658, 271, 272,
273, 274, 275, 276, 277, 278, 279, 1659, 280, 281,
282, 283, 284, 285, 1660, 286, 287, 288, 289, 1661,
1662, 1663, 290, 1664, 1665, 1666, 291, 292, 293, 294,
295, 296, 297, 298, 299, 1667, 300, 1668, 301, 302,
303, 304, 305, 306, 1669, 307, 308, 309, 310, 1670,
1671, 311, 312, 313, 3112, 315, 1672, 316, 317, 318,
1673, 319, 320, 321, 1674, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 1675, 332, 1676, 333, 334,
335, 336, 1677, 337, 1678, 338, 339, 1679, 340, 341,
342, 343, 344, 1680, 345, 346, 1681, 347, 348, 349,
1682, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 1683, 360, 361, 362, 363, 364, 365, 366, 1684,
367, 368, 369, 370, 371, 372, 373, 374, 375, 1685,
376, 1686, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 1687, 1688, 387, 388, 389, 390, 391, 1689,
392, 393, 394, 1690, 1691, 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, 1692, 424, 425, 426, 427, 1693,
428, 429, 430, 431, 432, 433, 1694, 434, 435, 1695,
1696, 436, 437, 438, 1697, 1698, 439, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 1699, 455, 456, 457, 458, 459, 460, 461,
462, 1700, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 1701, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
1702, 490, 491, 492, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 1703,
508, 509, 510, 511, 512, 1704, 3113, 514, 515, 516,
517, 518, 519, 520, 521, 522, 1705, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 1706, 538, 539, 1707, 540, 541, 542, 543,
544, 545, 546, 1708, 547, 548, 549, 1709, 1710, 550,
551, 552, 553, 554, 1711, 555, 556, 557, 558, 559,
560, 561, 562, 1712, 1713, 563, 564, 565, 566, 567,
1714, 1715, 568, 569, 570, 571, 572, 573, 574, 1716,
575, 576, 577, 578, 579, 580, 1717, 1718, 581, 1719,
1720, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 228, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 1233, 260, 261, 262, 263, 264, 0, 265,
266, 267, 268, 1236, 0, 1237, 0, 271, 272, 273,
274, 275, 276, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 286, 287, 288, 289, 1238, 1239,
1240, 1241, 1242, 1243, 1244, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
328, 329, 330, 1249, 0, 332, 0, 333, 334, 335,
336, 0, 337, 0, 338, 339, 0, 340, 341, 342,
343, 344, 0, 345, 1252, 0, 347, 348, 349, 0,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 0, 0, 387, 1257, 389, 390, 391, 0, 392,
393, 394, 1258, 1259, 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, 1262, 423, 0, 424, 425, 426, 427, 0, 1265,
429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 0, 439, 440, 441, 442, 443,
444, 1268, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 1269, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 1272, 513, 514, 515, 516, 517,
518, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 1274,
537, 0, 538, 539, 0, 540, 541, 542, 543, 544,
545, 546, 0, 547, 548, 549, 0, 0, 550, 551,
1277, 553, 1278, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 1281,
0, 568, 569, 570, 571, 572, 573, 574, 0, 575,
576, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 1283, 1284, 1285,
1286, 593, 1287, 1288, 1289, 1290, 598, 599, 600, 601,
873, 0, 0, 669, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 262, 263, 264, 0, 265, 266,
267, 268, 269, 0, 270, 0, 271, 272, 273, 274,
275, 276, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 286, 287, 288, 289, 0, 0, 0,
290, 0, 0, 0, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 1927, 332, 0, 333, 334, 335, 336,
0, 337, 0, 338, 339, 0, 340, 341, 342, 343,
344, 0, 345, 346, 0, 347, 348, 349, 0, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
0, 0, 387, 388, 389, 390, 391, 0, 392, 393,
394, 0, 0, 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, 0, 424, 425, 426, 427, 0, 428, 429,
430, 431, 432, 433, 0, 434, 435, 1928, 0, 436,
437, 438, 0, 0, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 515, 516, 517, 518,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 0, 540, 541, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 552,
553, 554, 1929, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 576,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 601, 873,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 912, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 262, 263, 264, 0, 265, 266, 267,
268, 269, 0, 270, 0, 271, 272, 273, 274, 275,
276, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 286, 287, 288, 289, 0, 0, 0, 290,
0, 0, 874, 291, 292, 293, 294, 295, 296, 297,
298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 0, 332, 0, 333, 334, 335, 336, 0,
337, 0, 338, 339, 0, 340, 341, 342, 343, 344,
0, 345, 346, 0, 347, 348, 349, 0, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 368, 369,
370, 371, 372, 373, 374, 375, 0, 376, 0, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 0,
0, 387, 388, 389, 390, 391, 0, 392, 393, 394,
0, 0, 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, 0, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
492, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 875, 513, 514, 515, 516, 517, 518, 519,
520, 521, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 0, 540, 541, 542, 543, 544, 545, 546,
0, 547, 548, 549, 0, 0, 550, 551, 552, 553,
554, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 573, 574, 0, 575, 576, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 601, 873, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 933, 237, 238, 239, 0,
0, 0, 0, 0, 0, 0, 240, 241, 0, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 0, 254, 255, 256, 257, 258, 259, 0, 0,
260, 261, 262, 263, 264, 0, 265, 266, 267, 268,
269, 0, 270, 0, 271, 272, 273, 274, 275, 276,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 286, 287, 288, 289, 0, 0, 0, 290, 0,
0, 874, 291, 292, 293, 294, 295, 296, 297, 298,
299, 0, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 313,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 0, 333, 334, 335, 336, 0, 337,
0, 338, 339, 0, 340, 341, 342, 343, 344, 0,
345, 346, 0, 347, 348, 349, 0, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 368, 369, 370,
371, 372, 373, 374, 375, 0, 376, 0, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 0, 0,
387, 388, 389, 390, 391, 0, 392, 393, 394, 0,
0, 395, 396, 397, 398, 934, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 412, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
0, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
0, 0, 439, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 492,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 875, 513, 514, 515, 516, 517, 518, 519, 520,
521, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 0, 540, 541, 542, 543, 544, 545, 546, 0,
547, 548, 549, 0, 0, 550, 551, 552, 553, 554,
0, 555, 556, 557, 558, 559, 560, 561, 562, 0,
0, 563, 564, 565, 566, 567, 0, 0, 568, 569,
570, 571, 572, 573, 574, 0, 575, 576, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 873, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 229, 230, 231, 232,
233, 234, 235, 236, 0, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 0, 260,
261, 262, 263, 264, 0, 265, 266, 267, 268, 269,
0, 270, 0, 271, 272, 273, 274, 275, 276, 277,
278, 279, 0, 280, 281, 282, 283, 284, 285, 0,
286, 287, 288, 289, 0, 0, 0, 290, 0, 0,
874, 291, 292, 293, 294, 295, 296, 297, 298, 299,
0, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
0, 332, 0, 333, 334, 335, 336, 0, 337, 0,
338, 339, 0, 340, 341, 342, 343, 344, 0, 345,
346, 0, 347, 348, 349, 0, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 0, 360, 361, 362,
363, 364, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 378, 379,
380, 381, 382, 383, 384, 385, 386, 0, 0, 387,
388, 389, 390, 391, 0, 392, 393, 394, 0, 0,
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, 0,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 492, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 512,
875, 513, 514, 515, 516, 517, 518, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
0, 540, 541, 542, 543, 544, 545, 546, 0, 547,
548, 549, 0, 0, 550, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 0,
563, 564, 565, 566, 567, 2459, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 576, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 601, 873, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 0, 0, 0, 240, 241, 0, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
270, 0, 271, 272, 273, 274, 275, 276, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 286,
287, 288, 289, 0, 0, 0, 290, 0, 0, 874,
291, 292, 293, 294, 295, 296, 297, 298, 299, 0,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
339, 0, 340, 341, 342, 343, 344, 0, 345, 346,
3470, 347, 348, 349, 0, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 368, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 0, 0, 387, 388,
389, 390, 391, 0, 392, 393, 394, 0, 0, 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, 0, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 0, 0, 436, 437, 438, 0, 0,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 875,
513, 514, 515, 516, 517, 518, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 541, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 576, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 873, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 0, 237, 238, 239, 0, 0, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 270,
0, 271, 272, 273, 274, 275, 276, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 286, 287,
288, 289, 0, 0, 0, 290, 0, 0, 874, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
0, 333, 334, 335, 336, 0, 337, 0, 338, 339,
0, 340, 341, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 368, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 0, 0, 387, 388, 389,
390, 391, 0, 392, 393, 394, 0, 0, 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, 0, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 492, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 0, 508, 509, 510, 511, 512, 875, 513,
514, 515, 516, 517, 518, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 0, 540,
541, 542, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 576, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 873, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 262, 263,
264, 0, 265, 266, 267, 268, 269, 0, 270, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
289, 0, 0, 0, 290, 0, 0, 874, 291, 292,
293, 294, 295, 296, 297, 298, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 313, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 0,
333, 334, 335, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 346, 0, 347,
348, 349, 0, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 369, 370, 371, 372, 373, 374,
375, 0, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 388, 389, 390,
391, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 1039, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 412, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 0, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 875, 513, 514,
515, 516, 517, 518, 519, 520, 521, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 548, 549, 0,
0, 550, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 573,
574, 0, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 873, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
0, 237, 238, 239, 0, 0, 0, 0, 0, 0,
0, 240, 241, 0, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 0, 254, 255, 256,
257, 258, 259, 0, 0, 260, 261, 262, 263, 264,
0, 265, 266, 267, 268, 269, 0, 270, 0, 271,
272, 273, 274, 275, 276, 277, 278, 279, 0, 280,
281, 282, 283, 284, 285, 0, 286, 287, 288, 289,
0, 0, 0, 290, 0, 0, 874, 291, 292, 293,
294, 295, 296, 297, 298, 299, 0, 300, 0, 301,
302, 303, 304, 305, 306, 0, 307, 308, 309, 310,
0, 0, 311, 312, 313, 314, 315, 0, 316, 317,
318, 0, 319, 320, 321, 0, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 0, 332, 0, 333,
334, 335, 336, 0, 337, 0, 338, 339, 0, 340,
341, 342, 343, 344, 0, 345, 346, 0, 347, 348,
349, 0, 350, 351, 352, 353, 1115, 355, 356, 357,
358, 359, 0, 360, 361, 362, 363, 364, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 374, 375,
0, 376, 0, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 0, 0, 387, 388, 389, 390, 391,
0, 392, 393, 394, 0, 0, 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, 0, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 0, 434, 435,
0, 0, 436, 437, 438, 0, 0, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 0, 490, 491, 492, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
0, 508, 509, 510, 511, 512, 875, 513, 514, 515,
516, 517, 518, 519, 520, 521, 522, 0, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 0, 540, 541, 542,
543, 544, 545, 546, 0, 547, 548, 549, 0, 0,
550, 551, 552, 553, 554, 0, 555, 556, 557, 558,
559, 560, 561, 562, 0, 0, 563, 564, 565, 566,
567, 0, 0, 568, 569, 570, 571, 572, 573, 574,
0, 575, 576, 577, 578, 579, 580, 0, 0, 581,
0, 0, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 873, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
240, 241, 0, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 0, 254, 255, 256, 257,
258, 259, 0, 0, 260, 261, 262, 263, 264, 0,
265, 266, 267, 268, 269, 0, 270, 0, 271, 272,
273, 274, 275, 276, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 286, 287, 288, 289, 0,
0, 0, 290, 0, 0, 874, 291, 292, 293, 294,
295, 296, 297, 298, 299, 0, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 313, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 0, 333, 334,
335, 336, 0, 337, 0, 338, 339, 0, 340, 341,
342, 343, 344, 0, 345, 346, 0, 347, 348, 349,
0, 350, 351, 352, 353, 1128, 355, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 368, 369, 370, 371, 372, 373, 374, 375, 0,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 0, 0, 387, 388, 389, 390, 391, 0,
392, 393, 394, 0, 0, 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, 0, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 0, 434, 435, 0,
0, 436, 437, 438, 0, 0, 439, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 492, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 875, 513, 514, 515, 516,
517, 518, 519, 520, 521, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 0, 540, 541, 542, 543,
544, 545, 546, 0, 547, 548, 549, 0, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
560, 561, 562, 0, 0, 563, 564, 565, 566, 567,
0, 0, 568, 569, 570, 571, 572, 573, 574, 0,
575, 576, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 873, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 0, 260, 261, 262, 263, 264, 0, 265,
266, 267, 268, 269, 0, 270, 0, 271, 272, 273,
274, 275, 276, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 286, 287, 288, 289, 0, 0,
0, 290, 0, 0, 874, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 0, 332, 0, 333, 334, 335,
336, 0, 337, 0, 338, 339, 0, 340, 341, 342,
343, 344, 0, 345, 346, 0, 347, 348, 349, 0,
350, 351, 352, 353, 1140, 355, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
368, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 378, 379, 380, 381, 382, 383, 384, 385,
386, 0, 0, 387, 388, 389, 390, 391, 0, 392,
393, 394, 0, 0, 395, 396, 397, 398, 1141, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 0, 424, 425, 426, 427, 0, 428,
429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 0, 439, 440, 441, 442, 443,
444, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 492, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 875, 513, 514, 515, 516, 517,
518, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 0, 540, 541, 542, 543, 544,
545, 546, 0, 547, 548, 549, 0, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 0,
0, 568, 569, 570, 571, 572, 573, 574, 0, 575,
576, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 601,
873, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 3, 4, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 262, 263, 264, 0, 265, 266,
267, 268, 269, 0, 270, 0, 271, 272, 273, 274,
275, 276, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 286, 287, 288, 289, 0, 0, 0,
290, 0, 0, 0, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 0, 333, 334, 335, 336,
0, 337, 0, 338, 339, 0, 340, 341, 342, 343,
344, 0, 345, 346, 0, 347, 348, 349, 0, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
0, 0, 387, 388, 389, 390, 391, 0, 392, 393,
394, 0, 0, 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, 0, 424, 425, 426, 427, 0, 428, 429,
430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 515, 516, 517, 518,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 0, 540, 541, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 552,
553, 554, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 576,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 601, 873,
0, 0, 669, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 262, 263, 264, 0, 265, 266, 267,
268, 269, 0, 270, 0, 271, 272, 273, 274, 275,
276, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 286, 287, 288, 289, 0, 0, 0, 290,
0, 0, 0, 291, 292, 293, 294, 295, 296, 297,
298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 0, 332, 0, 333, 334, 335, 336, 0,
337, 0, 338, 339, 0, 340, 341, 342, 343, 344,
0, 345, 346, 0, 347, 348, 349, 0, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 368, 369,
370, 371, 372, 373, 374, 375, 0, 376, 0, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 0,
0, 387, 388, 389, 390, 391, 0, 392, 393, 394,
0, 0, 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, 0, 424, 425, 426, 427, 0, 428, 429, 430,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 442, 443, 444, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
492, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 515, 516, 517, 518, 519,
520, 521, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 0, 540, 541, 542, 543, 544, 545, 546,
0, 547, 548, 549, 0, 0, 550, 551, 552, 553,
554, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 573, 574, 0, 575, 576, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 601, 873, 0,
0, 669, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 0, 237, 238, 239, 0,
0, 0, 0, 0, 0, 0, 240, 241, 0, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 0, 254, 255, 256, 257, 258, 259, 0, 0,
260, 261, 262, 263, 264, 0, 265, 266, 267, 268,
269, 0, 270, 0, 271, 272, 273, 274, 275, 276,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 286, 287, 288, 289, 0, 0, 0, 290, 0,
0, 0, 291, 292, 293, 294, 295, 296, 297, 298,
299, 0, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 313,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 0, 333, 334, 335, 336, 0, 337,
0, 338, 339, 0, 340, 341, 342, 343, 344, 0,
345, 346, 0, 347, 348, 349, 0, 350, 351, 352,
353, 1913, 355, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 368, 369, 370,
371, 372, 373, 374, 375, 0, 376, 0, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 0, 0,
387, 388, 389, 390, 391, 0, 392, 393, 394, 0,
0, 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,
0, 424, 425, 426, 427, 0, 428, 429, 430, 431,
432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
0, 0, 439, 440, 441, 442, 443, 444, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 492,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 0, 513, 514, 515, 516, 517, 518, 519, 520,
521, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 0, 540, 541, 542, 543, 544, 545, 546, 0,
547, 548, 549, 0, 0, 550, 551, 552, 553, 554,
0, 555, 556, 557, 558, 559, 560, 561, 562, 0,
0, 563, 564, 565, 566, 567, 0, 0, 568, 569,
570, 571, 572, 573, 574, 0, 575, 576, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 228, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 229, 230, 231, 232,
233, 234, 235, 236, 0, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 0, 260,
261, 262, 263, 264, 0, 265, 266, 267, 268, 269,
0, 270, 0, 271, 272, 273, 274, 275, 276, 277,
278, 279, 0, 280, 281, 282, 283, 284, 285, 0,
286, 287, 288, 289, 0, 0, 0, 290, 0, 0,
0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
0, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
0, 332, 0, 333, 334, 335, 336, 0, 337, 0,
338, 339, 0, 340, 341, 342, 343, 344, 0, 345,
346, 0, 347, 348, 349, 0, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 0, 360, 361, 362,
363, 364, 365, 366, 0, 367, 368, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 378, 379,
380, 381, 382, 383, 384, 385, 386, 0, 0, 387,
388, 389, 390, 391, 0, 392, 393, 394, 0, 0,
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, 0,
424, 425, 426, 427, 0, 428, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 442, 443, 444, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 492, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 512,
0, 513, 514, 515, 516, 517, 518, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
0, 540, 541, 542, 543, 544, 545, 546, 0, 547,
548, 549, 0, 0, 550, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 0,
563, 564, 565, 566, 567, 0, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 576, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 601, 228, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 0, 0, 0, 240, 241, 0, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
270, 0, 271, 272, 273, 274, 275, 276, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 286,
287, 288, 289, 0, 0, 0, 290, 0, 0, 0,
291, 292, 293, 294, 295, 296, 297, 298, 299, 0,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
339, 0, 340, 341, 342, 343, 344, 0, 345, 346,
0, 347, 348, 349, 0, 350, 351, 352, 353, 1063,
355, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 368, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 0, 0, 387, 388,
389, 390, 391, 0, 392, 393, 394, 0, 0, 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, 0, 424,
425, 426, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 0, 0, 436, 437, 438, 0, 0,
439, 440, 441, 442, 443, 444, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 492, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 0,
513, 514, 515, 516, 517, 518, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 541, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 576, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 228, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 0, 237, 238, 239, 0, 0, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 270,
0, 271, 272, 273, 274, 275, 276, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 286, 287,
288, 289, 0, 0, 0, 290, 0, 0, 0, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
0, 333, 334, 335, 336, 0, 337, 0, 338, 339,
0, 340, 341, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 1112, 355,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 368, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 0, 0, 387, 388, 389,
390, 391, 0, 392, 393, 394, 0, 0, 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, 0, 424, 425,
426, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 492, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 0, 508, 509, 510, 511, 512, 0, 513,
514, 515, 516, 517, 518, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 0, 540,
541, 542, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 576, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 228, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 262, 263,
264, 0, 265, 266, 267, 268, 269, 0, 270, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
289, 0, 0, 0, 290, 0, 0, 0, 291, 292,
293, 294, 295, 296, 297, 298, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 313, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 0,
333, 334, 335, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 346, 0, 347,
348, 349, 0, 350, 351, 352, 353, 1126, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 369, 370, 371, 372, 373, 374,
375, 0, 376, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 388, 389, 390,
391, 0, 392, 393, 394, 0, 0, 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, 0, 424, 425, 426,
427, 0, 428, 429, 430, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
441, 442, 443, 444, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
515, 516, 517, 518, 519, 520, 521, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 548, 549, 0,
0, 550, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 573,
574, 0, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 228, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
0, 237, 238, 239, 0, 0, 0, 0, 0, 0,
0, 240, 241, 0, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, 253, 0, 254, 255, 256,
257, 258, 259, 0, 0, 260, 261, 262, 263, 264,
0, 265, 266, 267, 268, 269, 0, 270, 0, 271,
272, 273, 274, 275, 276, 277, 278, 279, 0, 280,
281, 282, 283, 284, 285, 0, 286, 287, 288, 289,
0, 0, 0, 290, 0, 0, 0, 291, 292, 293,
294, 295, 296, 297, 298, 299, 0, 300, 0, 301,
302, 303, 304, 305, 306, 0, 307, 308, 309, 310,
0, 0, 311, 312, 313, 314, 315, 0, 316, 317,
318, 0, 319, 320, 321, 0, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 0, 332, 0, 333,
334, 335, 336, 0, 337, 0, 338, 339, 0, 340,
341, 342, 343, 344, 0, 345, 346, 0, 347, 348,
349, 0, 350, 351, 352, 353, 1130, 355, 356, 357,
358, 359, 0, 360, 361, 362, 363, 364, 365, 366,
0, 367, 368, 369, 370, 371, 372, 373, 374, 375,
0, 376, 0, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 0, 0, 387, 388, 389, 390, 391,
0, 392, 393, 394, 0, 0, 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, 0, 424, 425, 426, 427,
0, 428, 429, 430, 431, 432, 433, 0, 434, 435,
0, 0, 436, 437, 438, 0, 0, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 0, 490, 491, 492, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
0, 508, 509, 510, 511, 512, 0, 513, 514, 515,
516, 517, 518, 519, 520, 521, 522, 0, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 0, 540, 541, 542,
543, 544, 545, 546, 0, 547, 548, 549, 0, 0,
550, 551, 552, 553, 554, 0, 555, 556, 557, 558,
559, 560, 561, 562, 0, 0, 563, 564, 565, 566,
567, 0, 0, 568, 569, 570, 571, 572, 573, 574,
0, 575, 576, 577, 578, 579, 580, 0, 0, 581,
0, 0, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 873, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
240, 241, 0, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 0, 254, 255, 256, 257,
258, 259, 0, 0, 260, 261, 262, 263, 264, 0,
265, 266, 267, 268, 269, 0, 270, 0, 271, 272,
273, 274, 275, 276, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 286, 287, 288, 289, 0,
0, 0, 290, 0, 0, 0, 291, 292, 293, 294,
295, 296, 297, 298, 299, 0, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 313, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 0, 333, 334,
335, 336, 0, 337, 0, 338, 339, 0, 340, 341,
342, 343, 344, 0, 345, 346, 0, 347, 348, 349,
0, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 368, 369, 370, 371, 372, 373, 374, 375, 0,
376, 0, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 0, 0, 387, 388, 389, 390, 391, 0,
392, 393, 394, 0, 0, 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, 0, 424, 425, 426, 427, 0,
428, 429, 430, 431, 432, 433, 0, 434, 435, 0,
0, 436, 437, 438, 0, 0, 439, 440, 441, 442,
443, 444, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 492, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 0, 513, 514, 515, 516,
517, 518, 519, 520, 521, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 0, 540, 541, 542, 543,
544, 545, 546, 0, 547, 548, 549, 0, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
560, 561, 562, 0, 0, 563, 564, 565, 566, 567,
0, 0, 568, 569, 570, 571, 572, 573, 574, 0,
575, 576, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 609, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 0, 246, 247, 248, 249,
250, 0, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 0, 260, 261, 262, 263, 264, 2231, 265,
266, 267, 268, 269, 0, 0, 2311, 271, 272, 273,
274, 275, 0, 277, 278, 279, 2232, 280, 281, 282,
283, 284, 285, 0, 0, 287, 288, 289, 0, 0,
0, 0, 0, 0, 0, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 2312, 323, 324, 325, 326, 327,
328, 329, 330, 331, 0, 332, 0, 333, 334, 335,
336, 0, 337, 2234, 338, 0, 0, 0, 341, 342,
343, 344, 0, 345, 346, 0, 347, 348, 349, 0,
350, 351, 352, 353, 2313, 0, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
0, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 0, 0, 380, 0, 382, 383, 384, 385,
386, 0, 0, 387, 388, 0, 390, 0, 0, 392,
393, 394, 0, 0, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 0, 424, 425, 0, 427, 0, 428,
429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 0, 439, 440, 441, 0, 443,
0, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
2235, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 0, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 0, 513, 514, 515, 516, 517,
0, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 0, 540, 0, 542, 543, 544,
545, 546, 0, 547, 548, 549, 0, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 2236, 563, 564, 565, 566, 567, 0,
0, 568, 569, 570, 571, 572, 573, 574, 0, 575,
0, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 601,
609, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 0, 246, 247, 248, 249, 250,
0, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 262, 263, 264, 2231, 265, 266,
267, 268, 269, 0, 0, 0, 271, 272, 273, 274,
275, 0, 277, 278, 279, 2232, 280, 281, 282, 283,
284, 285, 0, 0, 287, 288, 289, 0, 0, 0,
0, 0, 0, 0, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 2312, 323, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 0, 333, 334, 335, 336,
0, 337, 2234, 338, 0, 0, 0, 341, 342, 343,
344, 0, 345, 346, 0, 347, 348, 349, 0, 350,
351, 352, 353, 354, 0, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 0,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 0, 0, 380, 0, 382, 383, 384, 385, 386,
0, 0, 387, 388, 0, 390, 3322, 0, 392, 393,
394, 0, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 0, 424, 425, 0, 427, 0, 428, 429,
430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 0, 443, 0,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 2235,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 515, 516, 517, 0,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 0, 540, 0, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 552,
553, 554, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 2236, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 0,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 601, 609,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 786, 235, 236, 748, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 0, 246, 247, 248, 249, 250, 0,
252, 253, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 262, 263, 264, 0, 265, 266, 267,
268, 269, 0, 0, 0, 271, 272, 273, 274, 275,
0, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 749, 0, 287, 288, 289, 0, 0, 0, 0,
0, 0, 0, 291, 292, 293, 294, 295, 296, 297,
298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 0, 332, 0, 333, 334, 335, 336, 0,
337, 0, 338, 0, 0, 0, 341, 342, 343, 344,
787, 345, 346, 0, 347, 348, 349, 0, 350, 351,
352, 353, 354, 0, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 0, 369,
370, 371, 372, 373, 374, 375, 0, 376, 0, 377,
0, 0, 380, 0, 382, 383, 384, 385, 386, 0,
0, 387, 388, 0, 390, 0, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 0,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, 0, 424, 425, 0, 427, 0, 428, 429, 430,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 0, 443, 0, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 750, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 751, 508, 509, 510,
511, 512, 0, 513, 514, 515, 516, 517, 0, 519,
520, 521, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 0, 540, 0, 542, 543, 544, 545, 546,
0, 547, 548, 549, 0, 0, 550, 551, 552, 553,
554, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 573, 574, 0, 575, 0, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 601, 609, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 748, 237, 238, 239, 0,
0, 0, 0, 0, 0, 0, 240, 241, 0, 242,
243, 244, 0, 246, 247, 248, 249, 250, 0, 252,
253, 0, 254, 255, 256, 257, 258, 259, 0, 0,
260, 261, 262, 263, 264, 0, 265, 266, 267, 268,
269, 0, 0, 0, 271, 272, 273, 274, 275, 0,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
749, 0, 287, 288, 289, 0, 0, 0, 0, 0,
0, 0, 291, 292, 293, 294, 295, 296, 297, 298,
299, 0, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 313,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 0, 333, 334, 335, 336, 0, 337,
0, 338, 0, 0, 0, 341, 342, 343, 344, 3001,
345, 346, 0, 347, 348, 349, 0, 350, 351, 352,
353, 354, 0, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 0, 369, 370,
371, 372, 373, 374, 375, 0, 376, 0, 377, 0,
0, 380, 0, 382, 383, 384, 385, 386, 0, 0,
387, 388, 0, 390, 0, 0, 392, 393, 394, 0,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
0, 424, 425, 0, 427, 0, 428, 429, 430, 431,
432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
0, 0, 439, 440, 441, 0, 443, 0, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 750, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 0,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 751, 508, 509, 510, 511,
512, 0, 513, 514, 515, 516, 517, 0, 519, 520,
521, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 0, 540, 0, 542, 543, 544, 545, 546, 0,
547, 548, 549, 0, 0, 550, 551, 552, 553, 554,
0, 555, 556, 557, 558, 559, 560, 561, 562, 0,
0, 563, 564, 565, 566, 567, 0, 0, 568, 569,
570, 571, 572, 573, 574, 0, 575, 0, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 609, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 229, 230, 231, 232,
233, 234, 235, 236, 0, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 0, 246, 247, 248, 249, 250, 0, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 0, 260,
261, 262, 263, 264, 2231, 265, 266, 267, 268, 269,
0, 0, 0, 271, 272, 273, 274, 275, 0, 277,
278, 279, 2232, 280, 281, 282, 283, 284, 285, 0,
0, 287, 288, 289, 0, 0, 0, 0, 0, 0,
0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
0, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
2312, 323, 324, 325, 326, 327, 328, 329, 330, 331,
0, 332, 0, 333, 334, 335, 336, 0, 337, 2234,
338, 0, 0, 0, 341, 342, 343, 344, 0, 345,
346, 0, 347, 348, 349, 0, 350, 351, 352, 353,
354, 0, 356, 357, 358, 359, 0, 360, 361, 362,
363, 364, 365, 366, 0, 367, 0, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 0, 0,
380, 0, 382, 383, 384, 385, 386, 0, 0, 387,
388, 0, 390, 0, 0, 392, 393, 394, 0, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 0, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 0,
424, 425, 0, 427, 0, 428, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 0, 443, 0, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 2235, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 0, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 512,
0, 513, 514, 515, 516, 517, 0, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
0, 540, 0, 542, 543, 544, 545, 546, 0, 547,
548, 549, 0, 0, 550, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 2236,
563, 564, 565, 566, 567, 0, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 0, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 601, 609, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 748, 237, 238, 239, 0, 0, 0,
0, 0, 0, 0, 240, 241, 0, 242, 243, 244,
0, 246, 247, 248, 249, 250, 0, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
0, 0, 271, 272, 273, 274, 275, 0, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 749, 0,
287, 288, 289, 0, 0, 0, 0, 0, 0, 0,
291, 292, 293, 294, 295, 296, 297, 298, 299, 0,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
0, 0, 0, 341, 342, 343, 344, 0, 345, 346,
0, 347, 348, 349, 0, 350, 351, 352, 353, 354,
0, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 0, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 0, 0, 380,
0, 382, 383, 384, 385, 386, 0, 0, 387, 388,
0, 390, 0, 0, 392, 393, 394, 0, 0, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 0, 424,
425, 0, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 0, 0, 436, 437, 438, 0, 0,
439, 440, 441, 0, 443, 0, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 750, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 0, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 751, 508, 509, 510, 511, 512, 0,
513, 514, 515, 516, 517, 0, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 0, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 0, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 609, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 1954, 237, 238, 239, 0, 0, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 0,
246, 247, 248, 249, 250, 0, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 0,
0, 271, 272, 273, 274, 275, 0, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 0, 287,
288, 289, 0, 0, 0, 0, 0, 0, 0, 291,
292, 293, 1955, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 1956, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
0, 333, 334, 335, 336, 0, 337, 1957, 338, 0,
0, 0, 1958, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 354, 0,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 0, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 0, 0, 380, 0,
382, 383, 1959, 1960, 386, 0, 0, 387, 388, 0,
390, 0, 0, 392, 393, 394, 0, 0, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 0, 424, 425,
0, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 0, 443, 0, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 1961, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 0, 493, 494, 495,
1962, 497, 498, 499, 500, 501, 1963, 503, 504, 505,
506, 507, 0, 1964, 509, 510, 511, 512, 0, 513,
514, 515, 516, 517, 0, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 1965, 540,
0, 1966, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 0, 555, 556,
1967, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 0, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 609, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 0, 246,
247, 248, 249, 250, 0, 252, 253, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 262, 263,
264, 0, 265, 266, 267, 268, 269, 0, 0, 0,
271, 272, 273, 274, 275, 0, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 749, 0, 287, 288,
289, 0, 0, 0, 0, 0, 0, 0, 291, 292,
293, 294, 295, 296, 297, 298, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 313, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 0,
333, 334, 335, 336, 0, 337, 0, 338, 0, 0,
0, 341, 342, 343, 344, 0, 345, 346, 0, 347,
348, 349, 0, 350, 351, 352, 353, 354, 0, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 0, 369, 370, 371, 372, 373, 374,
375, 0, 376, 0, 377, 0, 0, 380, 0, 382,
383, 384, 385, 386, 0, 0, 387, 388, 0, 390,
0, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 0, 424, 425, 0,
427, 0, 428, 429, 430, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
441, 0, 443, 0, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 750,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 0, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 751, 508, 509, 510, 511, 512, 0, 513, 514,
515, 516, 517, 0, 519, 520, 521, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 0, 540, 0,
542, 543, 544, 545, 546, 0, 547, 548, 549, 0,
0, 550, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 573,
574, 0, 575, 0, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 609, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
926, 237, 238, 239, 0, 0, 0, 0, 0, 0,
0, 240, 241, 0, 242, 243, 244, 0, 246, 247,
248, 249, 250, 0, 252, 253, 0, 254, 255, 256,
257, 258, 259, 0, 0, 260, 261, 262, 263, 264,
0, 265, 266, 267, 268, 269, 0, 0, 0, 271,
272, 273, 274, 275, 0, 277, 278, 279, 0, 280,
281, 282, 283, 284, 285, 0, 0, 287, 288, 289,
0, 0, 0, 0, 0, 0, 0, 291, 292, 293,
294, 295, 296, 297, 298, 299, 0, 300, 0, 301,
302, 303, 304, 305, 306, 0, 307, 308, 309, 310,
0, 0, 311, 312, 313, 314, 315, 0, 316, 317,
318, 0, 319, 320, 321, 0, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 0, 332, 0, 333,
334, 335, 336, 0, 337, 0, 338, 0, 0, 0,
341, 342, 343, 344, 0, 345, 346, 0, 347, 348,
349, 0, 350, 351, 352, 353, 927, 0, 356, 357,
358, 359, 0, 360, 361, 362, 363, 364, 365, 366,
0, 367, 0, 369, 370, 371, 372, 373, 374, 375,
0, 376, 0, 377, 0, 0, 380, 0, 382, 383,
384, 385, 386, 0, 0, 387, 388, 0, 390, 0,
0, 392, 393, 394, 0, 0, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 0, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 0, 424, 425, 0, 427,
0, 428, 429, 430, 431, 432, 433, 0, 434, 435,
0, 818, 436, 437, 438, 0, 0, 439, 440, 441,
0, 443, 0, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 0, 490, 491, 0, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
0, 508, 509, 510, 511, 512, 0, 513, 514, 515,
516, 517, 0, 519, 520, 521, 522, 0, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 0, 540, 0, 542,
543, 544, 545, 546, 0, 547, 548, 549, 0, 0,
550, 551, 552, 553, 554, 0, 555, 556, 557, 558,
559, 560, 561, 562, 0, 0, 563, 564, 565, 566,
567, 0, 0, 568, 569, 570, 571, 572, 573, 574,
0, 575, 0, 577, 578, 579, 580, 0, 0, 581,
0, 0, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 609, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 3092,
237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
240, 241, 0, 242, 243, 244, 0, 246, 247, 248,
249, 250, 0, 252, 253, 0, 254, 255, 256, 257,
258, 259, 0, 0, 260, 261, 262, 263, 264, 0,
265, 266, 267, 268, 269, 0, 0, 0, 271, 272,
273, 274, 275, 0, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 0, 287, 288, 289, 0,
0, 0, 0, 0, 0, 0, 291, 292, 293, 294,
295, 296, 297, 298, 299, 0, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 313, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 0, 333, 334,
335, 336, 0, 337, 0, 338, 0, 0, 0, 341,
342, 343, 344, 0, 345, 346, 0, 347, 348, 349,
0, 350, 351, 352, 353, 354, 0, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 0, 369, 370, 371, 372, 373, 374, 375, 0,
376, 0, 377, 0, 0, 380, 0, 382, 383, 384,
385, 386, 0, 0, 387, 388, 0, 390, 0, 0,
392, 393, 394, 0, 0, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 0, 424, 425, 0, 427, 0,
428, 429, 430, 431, 432, 433, 0, 434, 435, 0,
0, 436, 437, 438, 0, 0, 439, 440, 441, 0,
443, 0, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 0, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 0, 513, 514, 515, 516,
517, 0, 519, 520, 521, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 0, 540, 0, 542, 543,
544, 545, 546, 0, 547, 548, 549, 0, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
560, 561, 562, 0, 0, 563, 564, 565, 566, 567,
3093, 0, 568, 569, 570, 571, 572, 573, 574, 0,
575, 0, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 609, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 3105, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 0, 246, 247, 248, 249,
250, 0, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 0, 260, 261, 262, 263, 264, 0, 265,
266, 267, 268, 269, 0, 0, 0, 271, 272, 273,
274, 275, 0, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 0, 287, 288, 289, 0, 0,
0, 0, 0, 0, 0, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 0, 332, 0, 333, 334, 335,
336, 0, 337, 0, 338, 0, 0, 0, 341, 342,
343, 344, 0, 345, 346, 0, 347, 348, 349, 0,
350, 351, 352, 353, 354, 0, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
0, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 0, 0, 380, 0, 382, 383, 384, 385,
386, 0, 0, 387, 388, 0, 390, 0, 0, 392,
393, 394, 0, 0, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 0, 424, 425, 0, 427, 0, 428,
429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 0, 439, 440, 441, 0, 443,
0, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 0, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 0, 513, 514, 515, 516, 517,
0, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 0, 540, 0, 542, 543, 544,
545, 546, 0, 547, 548, 549, 0, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 3106,
0, 568, 569, 570, 571, 572, 573, 574, 0, 575,
0, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 601,
609, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 610, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 0, 246, 247, 248, 249, 250,
0, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 262, 263, 264, 0, 265, 266,
267, 268, 269, 0, 0, 0, 271, 272, 273, 274,
275, 0, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 0, 287, 288, 289, 0, 0, 0,
0, 0, 0, 0, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 0, 333, 334, 335, 336,
0, 337, 0, 338, 0, 0, 0, 341, 342, 343,
344, 0, 345, 346, 0, 347, 348, 349, 0, 350,
351, 352, 353, 354, 0, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 0,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 0, 0, 380, 0, 382, 383, 384, 385, 386,
0, 0, 387, 388, 0, 390, 0, 0, 392, 393,
394, 0, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 0, 424, 425, 0, 427, 0, 428, 429,
430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 0, 443, 0,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 515, 516, 517, 0,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 0, 540, 0, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 552,
553, 554, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 0,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 601, 609,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 660, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 0, 246, 247, 248, 249, 250, 0,
252, 253, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 262, 263, 264, 0, 265, 266, 267,
268, 269, 0, 0, 0, 271, 272, 273, 274, 275,
0, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 0, 287, 288, 289, 0, 0, 0, 0,
0, 0, 0, 291, 292, 293, 294, 295, 296, 297,
298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 0, 332, 0, 333, 334, 335, 336, 0,
337, 0, 338, 0, 0, 0, 341, 342, 343, 344,
0, 345, 346, 0, 347, 348, 349, 0, 350, 351,
352, 353, 354, 0, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 0, 369,
370, 371, 372, 373, 374, 375, 0, 376, 0, 377,
0, 0, 380, 0, 382, 383, 384, 385, 386, 0,
0, 387, 388, 0, 390, 0, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 0,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, 0, 424, 425, 0, 427, 0, 428, 429, 430,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 0, 443, 0, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 661, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 515, 516, 517, 0, 519,
520, 521, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 0, 540, 0, 542, 543, 544, 545, 546,
0, 547, 548, 549, 0, 0, 550, 551, 552, 553,
554, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 573, 574, 0, 575, 0, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 601, 609, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 778, 237, 238, 239, 0,
0, 0, 0, 0, 0, 0, 240, 241, 0, 242,
243, 244, 0, 246, 247, 248, 249, 250, 0, 252,
253, 0, 254, 255, 256, 257, 258, 259, 0, 0,
260, 261, 262, 263, 264, 0, 265, 266, 267, 268,
269, 0, 0, 0, 271, 272, 273, 274, 275, 0,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 0, 287, 288, 289, 0, 0, 0, 0, 0,
0, 0, 291, 292, 293, 294, 295, 296, 297, 298,
299, 0, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 313,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 0, 333, 334, 335, 336, 0, 337,
0, 338, 0, 0, 0, 341, 342, 343, 344, 0,
345, 346, 0, 347, 348, 349, 0, 350, 351, 352,
353, 354, 0, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 0, 369, 370,
371, 372, 373, 374, 375, 0, 376, 0, 377, 0,
0, 380, 0, 382, 383, 384, 385, 386, 0, 0,
387, 388, 0, 390, 0, 0, 392, 393, 394, 0,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
0, 424, 425, 0, 427, 0, 428, 429, 430, 431,
432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
0, 0, 439, 440, 441, 0, 443, 0, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 0,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
779, 0, 513, 514, 515, 516, 517, 0, 519, 520,
521, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 0, 540, 0, 542, 543, 544, 545, 546, 0,
547, 780, 549, 0, 0, 781, 551, 552, 553, 554,
0, 555, 556, 557, 558, 559, 560, 561, 562, 0,
0, 563, 564, 565, 566, 567, 0, 0, 568, 569,
570, 571, 572, 573, 574, 0, 575, 0, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 609, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 229, 230, 231, 232,
233, 234, 235, 236, 812, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 0, 246, 247, 248, 249, 250, 0, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 0, 260,
261, 262, 263, 264, 0, 265, 266, 267, 268, 269,
0, 0, 0, 271, 272, 273, 274, 275, 0, 277,
278, 279, 0, 280, 281, 282, 283, 284, 285, 0,
0, 287, 288, 289, 0, 0, 0, 0, 0, 0,
0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
0, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
0, 332, 0, 333, 334, 335, 336, 0, 337, 0,
338, 0, 0, 0, 341, 342, 343, 344, 0, 345,
346, 0, 347, 348, 349, 0, 350, 351, 352, 353,
354, 0, 356, 357, 358, 359, 0, 360, 361, 362,
363, 364, 365, 366, 0, 367, 0, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 0, 0,
380, 0, 382, 383, 384, 385, 386, 0, 0, 387,
388, 0, 390, 0, 0, 392, 393, 394, 0, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 0, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 0,
424, 425, 0, 427, 0, 428, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 0, 443, 0, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 0, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 813,
0, 513, 514, 515, 516, 517, 0, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
0, 540, 0, 542, 543, 544, 545, 546, 0, 547,
814, 549, 0, 0, 815, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 0,
563, 564, 565, 566, 567, 0, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 0, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 601, 609, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 0, 0, 0, 240, 241, 0, 242, 243, 244,
0, 246, 247, 248, 249, 250, 0, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
0, 0, 271, 272, 273, 274, 275, 0, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 0,
287, 288, 289, 0, 0, 0, 0, 0, 0, 0,
291, 292, 293, 294, 295, 296, 297, 298, 299, 0,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
0, 0, 0, 341, 342, 343, 344, 0, 345, 346,
0, 347, 348, 349, 0, 350, 351, 352, 353, 354,
0, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 0, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 0, 0, 380,
0, 382, 383, 384, 385, 386, 0, 0, 387, 388,
0, 390, 0, 0, 392, 393, 394, 0, 0, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 0, 424,
425, 0, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 0, 818, 436, 437, 438, 0, 0,
439, 440, 441, 0, 443, 0, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 0, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 0,
513, 514, 515, 516, 517, 0, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 0, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 0, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 609, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 882, 237, 238, 239, 0, 0, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 0,
246, 247, 248, 249, 250, 0, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 0,
0, 271, 272, 273, 274, 275, 0, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 0, 287,
288, 289, 0, 0, 0, 0, 0, 0, 0, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
0, 333, 334, 335, 336, 0, 337, 0, 338, 0,
0, 0, 341, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 883, 0,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 0, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 0, 0, 380, 0,
382, 383, 384, 385, 386, 0, 0, 387, 388, 0,
390, 0, 0, 392, 393, 394, 0, 0, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 0, 424, 425,
0, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 0, 443, 0, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 0, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 0, 508, 509, 510, 511, 512, 0, 513,
514, 515, 516, 517, 0, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 0, 540,
0, 542, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 0, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 609, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 1055, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 0, 246,
247, 248, 249, 250, 0, 252, 253, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 262, 263,
264, 0, 265, 266, 267, 268, 269, 0, 0, 0,
271, 272, 273, 274, 275, 0, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 0, 287, 288,
289, 0, 0, 0, 0, 0, 0, 0, 291, 292,
293, 294, 295, 296, 297, 298, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 313, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 0,
333, 334, 335, 336, 0, 337, 0, 338, 0, 0,
0, 341, 342, 343, 344, 0, 345, 346, 0, 347,
348, 349, 0, 350, 351, 352, 353, 354, 0, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 0, 369, 370, 371, 372, 373, 374,
375, 0, 376, 0, 377, 0, 0, 380, 0, 382,
383, 384, 385, 386, 0, 0, 387, 388, 0, 390,
0, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 0, 424, 425, 0,
427, 0, 428, 429, 430, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
441, 0, 443, 0, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 0, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
515, 516, 517, 0, 519, 520, 521, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 0, 540, 0,
542, 543, 544, 545, 546, 0, 547, 548, 549, 0,
0, 550, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 573,
574, 0, 575, 0, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 609, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
1329, 237, 238, 239, 0, 0, 0, 0, 0, 0,
0, 240, 241, 0, 242, 243, 244, 0, 246, 247,
248, 249, 250, 0, 252, 253, 0, 254, 255, 256,
257, 258, 259, 0, 0, 260, 261, 262, 263, 264,
0, 265, 266, 267, 268, 269, 0, 0, 0, 271,
272, 273, 274, 275, 0, 277, 278, 279, 0, 280,
281, 282, 283, 284, 285, 0, 0, 287, 288, 289,
0, 0, 0, 0, 0, 0, 0, 291, 292, 293,
294, 295, 296, 297, 298, 299, 0, 300, 0, 301,
302, 303, 304, 305, 306, 0, 307, 308, 309, 310,
0, 0, 311, 312, 313, 314, 315, 0, 316, 317,
318, 0, 319, 320, 321, 0, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 0, 332, 0, 333,
334, 335, 336, 0, 337, 0, 338, 0, 0, 0,
341, 342, 343, 344, 0, 345, 346, 0, 347, 348,
349, 0, 350, 351, 352, 353, 354, 0, 356, 357,
358, 359, 0, 360, 361, 362, 363, 364, 365, 366,
0, 367, 0, 369, 370, 371, 372, 373, 374, 375,
0, 376, 0, 377, 0, 0, 380, 0, 382, 383,
384, 385, 386, 0, 0, 387, 388, 0, 390, 0,
0, 392, 393, 394, 0, 0, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 0, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 0, 424, 425, 0, 427,
0, 428, 429, 430, 431, 432, 433, 0, 434, 435,
0, 0, 436, 437, 438, 0, 0, 439, 440, 441,
0, 443, 0, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 0, 490, 491, 0, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
0, 508, 509, 510, 511, 512, 0, 513, 514, 515,
516, 517, 0, 519, 520, 521, 522, 0, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 0, 540, 0, 542,
543, 544, 545, 546, 0, 547, 548, 549, 0, 0,
550, 551, 552, 553, 554, 0, 555, 556, 557, 558,
559, 560, 561, 562, 0, 0, 563, 564, 565, 566,
567, 0, 0, 568, 569, 570, 571, 572, 573, 574,
0, 575, 0, 577, 578, 579, 580, 0, 0, 581,
0, 0, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 609, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
240, 241, 0, 242, 243, 244, 1344, 246, 247, 248,
249, 250, 0, 252, 253, 0, 254, 255, 256, 257,
258, 259, 0, 0, 798, 261, 262, 263, 1345, 0,
265, 266, 267, 268, 269, 0, 0, 0, 271, 272,
273, 274, 275, 0, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 0, 287, 288, 289, 0,
0, 0, 0, 0, 0, 0, 291, 292, 293, 294,
295, 296, 297, 298, 299, 0, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 313, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 0, 333, 334,
335, 336, 0, 337, 0, 338, 0, 0, 0, 341,
342, 343, 344, 0, 345, 346, 0, 347, 348, 349,
0, 350, 351, 352, 353, 354, 0, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 0, 369, 370, 371, 372, 373, 374, 375, 0,
376, 0, 377, 0, 0, 380, 0, 382, 383, 384,
385, 386, 0, 0, 387, 388, 0, 390, 0, 0,
392, 393, 394, 0, 0, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
801, 411, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 0, 424, 425, 0, 427, 0,
428, 429, 430, 431, 432, 433, 0, 434, 435, 0,
0, 436, 437, 438, 0, 0, 439, 440, 441, 0,
443, 0, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 0, 802, 494, 495, 496, 497, 498,
499, 500, 501, 803, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 1333, 0, 513, 514, 515, 516,
517, 0, 519, 520, 521, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 0, 540, 0, 542, 543,
544, 545, 546, 0, 547, 805, 549, 0, 0, 806,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
560, 561, 562, 0, 0, 563, 564, 565, 566, 567,
0, 0, 568, 569, 570, 571, 572, 573, 574, 0,
575, 0, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 807, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 609, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 0, 246, 247, 248, 249,
250, 0, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 0, 260, 261, 262, 263, 264, 0, 265,
266, 267, 268, 269, 0, 0, 0, 271, 272, 273,
274, 275, 0, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 0, 287, 288, 289, 0, 0,
0, 0, 0, 0, 0, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 0, 332, 0, 333, 334, 335,
336, 0, 337, 0, 338, 0, 0, 0, 341, 342,
343, 344, 0, 345, 346, 0, 347, 348, 349, 0,
350, 351, 352, 353, 1455, 0, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
0, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 0, 0, 380, 0, 382, 383, 384, 385,
386, 0, 0, 387, 388, 0, 390, 0, 0, 392,
393, 394, 0, 0, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 0, 424, 425, 0, 427, 0, 428,
429, 430, 431, 432, 433, 0, 434, 435, 0, 818,
436, 437, 438, 0, 0, 439, 440, 441, 0, 443,
0, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 0, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 0, 513, 514, 515, 516, 517,
0, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 0, 540, 0, 542, 543, 544,
545, 546, 0, 547, 548, 549, 0, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 0,
0, 568, 569, 570, 571, 572, 573, 574, 0, 575,
0, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 601,
609, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 1516, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 0, 246, 247, 248, 249, 250,
0, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 262, 263, 264, 0, 265, 266,
267, 268, 269, 0, 0, 0, 271, 272, 273, 274,
275, 0, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 0, 287, 288, 289, 0, 0, 0,
0, 0, 0, 0, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 0, 333, 334, 335, 336,
0, 337, 0, 338, 0, 0, 0, 341, 342, 343,
344, 0, 345, 346, 0, 347, 348, 349, 0, 350,
351, 352, 353, 1517, 0, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 0,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 0, 0, 380, 0, 382, 383, 384, 385, 386,
0, 0, 387, 388, 0, 390, 0, 0, 392, 393,
394, 0, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 0, 424, 425, 0, 427, 0, 428, 429,
430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 0, 443, 0,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 515, 516, 517, 0,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 0, 540, 0, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 552,
553, 554, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 0,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 601, 609,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 778, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 0, 246, 247, 248, 249, 250, 0,
252, 253, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 262, 263, 264, 0, 265, 266, 267,
268, 269, 0, 0, 0, 271, 272, 273, 274, 275,
0, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 0, 287, 288, 289, 0, 0, 0, 0,
0, 0, 0, 291, 292, 293, 294, 295, 296, 297,
298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 0, 332, 0, 333, 334, 335, 336, 0,
337, 0, 338, 0, 0, 0, 341, 342, 343, 344,
0, 345, 346, 0, 347, 348, 349, 0, 350, 351,
352, 353, 354, 0, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 0, 369,
370, 371, 372, 373, 374, 375, 0, 376, 0, 377,
0, 0, 380, 0, 382, 383, 384, 385, 386, 0,
0, 387, 388, 0, 390, 0, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 0,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, 0, 424, 425, 0, 427, 0, 428, 429, 430,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 0, 443, 0, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 515, 516, 517, 0, 519,
520, 521, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 0, 540, 0, 542, 543, 544, 545, 546,
0, 547, 548, 549, 0, 0, 550, 551, 552, 553,
554, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 573, 574, 0, 575, 0, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 601, 609, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 0, 237, 238, 239, 0,
0, 0, 0, 0, 0, 0, 240, 241, 0, 242,
243, 244, 0, 246, 247, 248, 249, 250, 0, 252,
253, 0, 254, 255, 256, 257, 258, 259, 0, 0,
260, 261, 262, 263, 264, 0, 265, 266, 267, 268,
269, 0, 0, 0, 271, 272, 273, 274, 275, 0,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 0, 287, 288, 289, 0, 0, 0, 0, 0,
0, 0, 291, 292, 293, 294, 295, 296, 297, 298,
299, 0, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 313,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 0, 333, 334, 335, 336, 0, 337,
0, 338, 0, 0, 0, 341, 342, 343, 2891, 0,
345, 346, 0, 347, 348, 349, 0, 350, 351, 352,
353, 354, 0, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 0, 369, 370,
371, 372, 373, 374, 375, 0, 376, 0, 377, 0,
0, 380, 0, 382, 383, 384, 385, 386, 0, 0,
387, 388, 0, 390, 0, 0, 392, 393, 2892, 0,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
0, 424, 425, 0, 427, 0, 428, 429, 430, 431,
432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
0, 0, 439, 440, 441, 0, 443, 0, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 0,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 0, 513, 514, 515, 516, 517, 0, 519, 520,
521, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 2893, 540, 0, 542, 2894, 544, 2895, 546, 0,
547, 548, 549, 0, 0, 550, 551, 552, 553, 554,
0, 555, 556, 557, 558, 559, 560, 561, 562, 0,
0, 563, 564, 2896, 566, 567, 0, 0, 568, 569,
570, 571, 572, 573, 574, 0, 575, 0, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 609, 0, 0,
0, 0, 0, 0, 0, 729, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 229, 230, 231, 232,
233, 234, 235, 236, 0, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 0, 246, 247, 248, 249, 250, 0, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 0, 260,
261, 262, 263, 264, 0, 265, 266, 267, 268, 269,
0, 0, 0, 271, 272, 273, 274, 275, 0, 277,
278, 279, 0, 280, 281, 282, 283, 284, 285, 0,
0, 287, 288, 289, 0, 0, 0, 0, 0, 0,
0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
0, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
0, 332, 0, 333, 334, 335, 336, 0, 337, 0,
338, 0, 0, 0, 341, 342, 343, 344, 0, 345,
346, 0, 347, 348, 349, 0, 350, 351, 352, 353,
354, 0, 356, 357, 358, 359, 0, 360, 361, 362,
363, 364, 365, 366, 0, 367, 0, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 0, 0,
380, 0, 382, 383, 384, 385, 386, 0, 0, 387,
388, 0, 390, 0, 0, 392, 393, 394, 0, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 0, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 0,
424, 425, 0, 427, 0, 428, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 0, 443, 0, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 0, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 512,
0, 513, 514, 515, 516, 517, 0, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
0, 540, 0, 542, 543, 544, 545, 546, 0, 547,
548, 549, 0, 0, 550, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 0,
563, 564, 565, 566, 567, 0, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 0, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 601, 609, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 0, 4189, 0, 240, 241, 0, 242, 243, 244,
0, 246, 247, 248, 249, 250, 0, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
0, 0, 271, 272, 273, 274, 275, 0, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 0,
287, 288, 289, 0, 0, 0, 0, 0, 0, 0,
291, 292, 293, 294, 295, 296, 297, 298, 299, 0,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
0, 0, 0, 341, 342, 343, 344, 0, 345, 346,
0, 347, 348, 349, 0, 350, 351, 352, 353, 354,
0, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 0, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 0, 0, 380,
0, 382, 383, 384, 385, 386, 0, 0, 387, 388,
0, 390, 0, 0, 392, 393, 394, 0, 0, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 0, 424,
425, 0, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 0, 0, 436, 437, 438, 0, 0,
439, 440, 441, 0, 443, 0, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 0, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 0,
513, 514, 515, 516, 517, 0, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 0, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 0, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 609, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 0, 237, 238, 239, 0, 0, 0, 0,
0, 4203, 0, 240, 241, 0, 242, 243, 244, 0,
246, 247, 248, 249, 250, 0, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 0,
0, 271, 272, 273, 274, 275, 0, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 0, 287,
288, 289, 0, 0, 0, 0, 0, 0, 0, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
0, 333, 334, 335, 336, 0, 337, 0, 338, 0,
0, 0, 341, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 354, 0,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 0, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 0, 0, 380, 0,
382, 383, 384, 385, 386, 0, 0, 387, 388, 0,
390, 0, 0, 392, 393, 394, 0, 0, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 0, 424, 425,
0, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 0, 443, 0, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 0, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 0, 508, 509, 510, 511, 512, 0, 513,
514, 515, 516, 517, 0, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 0, 540,
0, 542, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 0, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 609, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 0, 246,
247, 248, 249, 250, 0, 252, 253, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 262, 263,
264, 0, 265, 266, 267, 268, 269, 0, 0, 0,
271, 272, 273, 274, 275, 0, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 0, 287, 288,
289, 0, 0, 0, 0, 0, 0, 0, 291, 292,
293, 294, 295, 296, 297, 298, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 313, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 0,
333, 334, 335, 336, 0, 337, 0, 338, 0, 0,
0, 341, 342, 343, 344, 0, 345, 346, 0, 347,
348, 349, 0, 350, 351, 352, 353, 354, 0, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 0, 369, 370, 371, 372, 373, 374,
375, 0, 376, 0, 377, 0, 0, 380, 0, 382,
383, 384, 385, 386, 0, 0, 387, 388, 0, 390,
0, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 0, 424, 425, 0,
427, 0, 428, 429, 430, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
441, 0, 443, 0, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 0, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
515, 516, 517, 0, 519, 520, 521, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 0, 540, 0,
542, 543, 544, 545, 546, 0, 547, 548, 549, 0,
0, 550, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 573,
574, 0, 575, 0, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 609, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
0, 237, 238, 239, 0, 0, 0, 0, 0, 0,
0, 240, 241, 0, 242, 243, 244, 0, 246, 247,
248, 249, 250, 0, 252, 253, 0, 254, 255, 256,
257, 258, 259, 0, 0, 260, 261, 262, 263, 264,
0, 265, 266, 267, 268, 269, 0, 0, 0, 271,
272, 273, 274, 275, 0, 277, 278, 279, 0, 280,
281, 282, 283, 284, 285, 0, 0, 287, 288, 289,
0, 0, 0, 0, 0, 0, 0, 291, 292, 293,
294, 295, 296, 297, 298, 299, 0, 300, 0, 301,
302, 303, 304, 305, 306, 0, 307, 308, 309, 310,
0, 0, 311, 312, 313, 314, 315, 0, 316, 317,
318, 0, 319, 320, 321, 0, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 0, 332, 0, 333,
334, 335, 336, 0, 337, 0, 338, 0, 0, 0,
341, 342, 343, 344, 0, 345, 346, 0, 347, 348,
349, 0, 350, 351, 352, 353, 354, 0, 356, 357,
358, 359, 0, 360, 361, 362, 363, 364, 365, 366,
0, 367, 0, 369, 370, 371, 372, 373, 374, 375,
0, 376, 0, 377, 0, 0, 380, 0, 382, 383,
384, 385, 386, 0, 0, 387, 388, 0, 390, 0,
0, 392, 393, 394, 0, 0, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 0, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 0, 424, 425, 0, 427,
0, 428, 429, 430, 431, 432, 433, 0, 434, 435,
0, 0, 436, 437, 438, 0, 0, 439, 440, 441,
0, 443, 0, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 0, 490, 491, 0, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
0, 508, 509, 510, 511, 512, 0, 513, 514, 515,
516, 517, 0, 519, 520, 521, 522, 0, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 0, 540, 0, 542,
543, 544, 545, 546, 0, 547, 548, 549, 0, 0,
764, 551, 552, 553, 554, 0, 555, 556, 557, 558,
559, 560, 561, 562, 0, 0, 563, 564, 565, 566,
567, 0, 0, 568, 569, 570, 571, 572, 573, 574,
0, 575, 0, 577, 578, 579, 580, 0, 0, 581,
0, 0, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 609, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
240, 241, 0, 242, 243, 244, 0, 246, 247, 248,
249, 250, 0, 252, 253, 0, 254, 255, 256, 257,
258, 259, 0, 0, 260, 261, 262, 263, 264, 0,
265, 266, 267, 268, 269, 0, 0, 0, 271, 272,
273, 274, 275, 0, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 0, 287, 288, 289, 0,
0, 0, 0, 0, 0, 0, 291, 292, 293, 294,
295, 296, 297, 298, 299, 0, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 313, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 0, 333, 334,
335, 336, 0, 337, 0, 338, 0, 0, 0, 341,
342, 343, 344, 0, 345, 346, 0, 347, 348, 349,
0, 350, 351, 352, 353, 354, 0, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 0, 369, 370, 371, 372, 373, 374, 375, 0,
376, 0, 377, 0, 0, 380, 0, 382, 383, 384,
385, 386, 0, 0, 387, 388, 0, 390, 0, 0,
392, 393, 394, 0, 0, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 0, 424, 425, 0, 427, 0,
428, 429, 430, 431, 432, 433, 0, 434, 435, 0,
0, 436, 437, 438, 0, 0, 439, 440, 441, 0,
443, 0, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 0, 493, 494, 495, 496, 497, 498,
499, 500, 776, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 0, 513, 514, 515, 516,
517, 0, 519, 520, 521, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 0, 540, 0, 542, 543,
544, 545, 546, 0, 547, 548, 549, 0, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
560, 561, 562, 0, 0, 563, 564, 565, 566, 567,
0, 0, 568, 569, 570, 571, 572, 573, 574, 0,
575, 0, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 609, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 0, 246, 247, 248, 249,
250, 0, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 0, 798, 261, 262, 263, 264, 0, 265,
266, 267, 268, 269, 0, 0, 0, 271, 272, 273,
274, 275, 0, 277, 278, 279, 0, 799, 281, 282,
283, 284, 285, 0, 0, 287, 288, 289, 0, 0,
0, 0, 0, 0, 0, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 0, 332, 0, 333, 334, 335,
336, 0, 337, 0, 338, 0, 0, 0, 341, 342,
343, 344, 0, 345, 346, 0, 347, 348, 349, 0,
350, 351, 352, 353, 354, 0, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
0, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 0, 0, 380, 0, 382, 383, 384, 385,
386, 0, 0, 387, 388, 0, 390, 0, 0, 392,
393, 800, 0, 0, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 801,
411, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 0, 424, 425, 0, 427, 0, 428,
429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 0, 439, 440, 441, 0, 443,
0, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 0, 802, 494, 495, 496, 497, 498, 499,
500, 501, 803, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 804, 0, 513, 514, 515, 516, 517,
0, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 0, 540, 0, 542, 543, 544,
545, 546, 0, 547, 805, 549, 0, 0, 806, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 0,
0, 568, 569, 570, 571, 572, 573, 574, 0, 575,
0, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 807, 588, 589, 590, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 601,
609, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 0, 246, 247, 248, 249, 250,
0, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 262, 263, 264, 0, 265, 266,
267, 268, 269, 0, 0, 0, 271, 272, 273, 274,
275, 0, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 0, 287, 288, 289, 0, 0, 0,
0, 0, 0, 0, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 0, 333, 334, 335, 336,
0, 337, 0, 338, 0, 0, 0, 341, 342, 343,
344, 0, 345, 346, 0, 347, 348, 349, 0, 350,
351, 352, 353, 354, 0, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 0,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 0, 0, 380, 0, 382, 383, 384, 385, 386,
0, 0, 387, 388, 0, 390, 0, 0, 392, 393,
394, 0, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 0, 424, 425, 0, 427, 0, 428, 429,
430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 0, 443, 0,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 829, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 515, 516, 517, 0,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 0, 540, 0, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 552,
553, 554, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 0,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 601, 609,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 0, 246, 247, 248, 249, 250, 0,
252, 253, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 262, 263, 264, 0, 265, 266, 267,
268, 269, 0, 0, 0, 271, 272, 273, 274, 275,
0, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 0, 287, 288, 289, 0, 0, 0, 0,
0, 0, 0, 291, 292, 293, 294, 295, 296, 297,
298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 0, 332, 0, 333, 334, 335, 336, 0,
337, 0, 338, 0, 0, 0, 341, 342, 343, 344,
0, 345, 346, 0, 347, 348, 349, 0, 350, 351,
352, 353, 908, 0, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 0, 369,
370, 371, 372, 373, 374, 375, 0, 376, 0, 377,
0, 0, 380, 0, 382, 383, 384, 385, 386, 0,
0, 387, 388, 0, 390, 0, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 0,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, 0, 424, 425, 0, 427, 0, 428, 429, 430,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 0, 443, 0, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 515, 516, 517, 0, 519,
520, 521, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 0, 540, 0, 542, 543, 544, 545, 546,
0, 547, 548, 549, 0, 0, 550, 551, 552, 553,
554, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 573, 574, 0, 575, 0, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 601, 609, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 0, 237, 238, 239, 0,
0, 0, 0, 0, 0, 0, 240, 241, 0, 242,
243, 244, 0, 246, 247, 248, 249, 250, 0, 252,
253, 0, 254, 255, 256, 257, 258, 259, 0, 0,
260, 261, 262, 263, 264, 0, 265, 266, 267, 268,
269, 0, 0, 0, 271, 272, 273, 274, 275, 0,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 0, 287, 288, 289, 0, 0, 0, 0, 0,
0, 0, 291, 292, 293, 294, 295, 296, 297, 298,
299, 0, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 313,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 0, 333, 334, 335, 336, 0, 337,
0, 338, 0, 0, 0, 341, 342, 343, 344, 0,
345, 346, 0, 347, 348, 349, 0, 350, 351, 352,
353, 918, 0, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 0, 369, 370,
371, 372, 373, 374, 375, 0, 376, 0, 377, 0,
0, 380, 0, 382, 383, 384, 385, 386, 0, 0,
387, 388, 0, 390, 0, 0, 392, 393, 394, 0,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
0, 424, 425, 0, 427, 0, 428, 429, 430, 431,
432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
0, 0, 439, 440, 441, 0, 443, 0, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 0,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 0, 513, 514, 515, 516, 517, 0, 519, 520,
521, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 0, 540, 0, 542, 543, 544, 545, 546, 0,
547, 548, 549, 0, 0, 550, 551, 552, 553, 554,
0, 555, 556, 557, 558, 559, 560, 561, 562, 0,
0, 563, 564, 565, 566, 567, 0, 0, 568, 569,
570, 571, 572, 573, 574, 0, 575, 0, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 609, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 229, 230, 231, 232,
233, 234, 235, 236, 0, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 0, 246, 247, 248, 249, 250, 0, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 0, 260,
261, 262, 263, 264, 0, 265, 266, 267, 268, 269,
0, 0, 0, 271, 272, 273, 274, 275, 0, 277,
278, 279, 0, 280, 281, 282, 283, 284, 285, 0,
0, 287, 288, 289, 0, 0, 0, 0, 0, 0,
0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
0, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
0, 332, 0, 333, 334, 335, 336, 0, 337, 0,
338, 0, 0, 0, 341, 342, 343, 344, 0, 345,
346, 0, 347, 348, 349, 0, 350, 351, 352, 353,
921, 0, 356, 357, 358, 359, 0, 360, 361, 362,
363, 364, 365, 366, 0, 367, 0, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 0, 0,
380, 0, 382, 383, 384, 385, 386, 0, 0, 387,
388, 0, 390, 0, 0, 392, 393, 394, 0, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 0, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 0,
424, 425, 0, 427, 0, 428, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 0, 443, 0, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 0, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 512,
0, 513, 514, 515, 516, 517, 0, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
0, 540, 0, 542, 543, 544, 545, 546, 0, 547,
548, 549, 0, 0, 550, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 0,
563, 564, 565, 566, 567, 0, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 0, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 601, 609, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 0, 0, 0, 240, 241, 0, 242, 243, 244,
0, 246, 247, 248, 249, 250, 0, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
0, 0, 271, 272, 273, 274, 275, 0, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 0,
287, 288, 289, 0, 0, 0, 0, 0, 0, 0,
291, 292, 293, 294, 295, 296, 297, 298, 299, 0,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
0, 0, 0, 341, 342, 343, 344, 0, 345, 346,
0, 347, 348, 349, 0, 350, 351, 352, 353, 937,
0, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 0, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 0, 0, 380,
0, 382, 383, 384, 385, 386, 0, 0, 387, 388,
0, 390, 0, 0, 392, 393, 394, 0, 0, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 0, 424,
425, 0, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 0, 0, 436, 437, 438, 0, 0,
439, 440, 441, 0, 443, 0, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 0, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 0,
513, 514, 515, 516, 517, 0, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 0, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 0, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 609, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 0, 237, 238, 239, 0, 0, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 0,
246, 247, 248, 249, 250, 0, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 0,
0, 271, 272, 273, 274, 275, 0, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 0, 287,
288, 289, 0, 0, 0, 0, 0, 0, 0, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
0, 333, 334, 335, 336, 0, 337, 0, 338, 0,
0, 0, 341, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 1004, 0,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 0, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 0, 0, 380, 0,
382, 383, 384, 385, 386, 0, 0, 387, 388, 0,
390, 0, 0, 392, 393, 394, 0, 0, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 0, 424, 425,
0, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 0, 443, 0, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 0, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 0, 508, 509, 510, 511, 512, 0, 513,
514, 515, 516, 517, 0, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 0, 540,
0, 542, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 0, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 609, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 0, 246,
247, 248, 249, 250, 0, 252, 253, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 262, 263,
264, 0, 265, 266, 267, 268, 269, 0, 0, 0,
271, 272, 273, 274, 275, 0, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 0, 287, 288,
289, 0, 0, 0, 0, 0, 0, 0, 291, 292,
293, 294, 295, 296, 297, 298, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 313, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 0,
333, 334, 335, 336, 0, 337, 0, 338, 0, 0,
0, 341, 342, 343, 344, 0, 345, 346, 0, 347,
348, 349, 0, 350, 351, 352, 353, 1010, 0, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 0, 369, 370, 371, 372, 373, 374,
375, 0, 376, 0, 377, 0, 0, 380, 0, 382,
383, 384, 385, 386, 0, 0, 387, 388, 0, 390,
0, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 0, 424, 425, 0,
427, 0, 428, 429, 430, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
441, 0, 443, 0, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 0, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
515, 516, 517, 0, 519, 520, 521, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 0, 540, 0,
542, 543, 544, 545, 546, 0, 547, 548, 549, 0,
0, 550, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 573,
574, 0, 575, 0, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 609, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
0, 237, 238, 239, 0, 0, 0, 0, 0, 0,
0, 240, 241, 0, 242, 243, 244, 0, 246, 247,
248, 249, 250, 0, 252, 253, 0, 254, 255, 256,
257, 258, 259, 0, 0, 260, 261, 262, 263, 264,
0, 265, 266, 267, 268, 269, 0, 0, 0, 271,
272, 273, 274, 275, 0, 277, 278, 279, 0, 280,
281, 282, 283, 284, 285, 0, 0, 287, 288, 289,
0, 0, 0, 0, 0, 0, 0, 291, 292, 293,
294, 295, 296, 297, 298, 299, 0, 300, 0, 301,
302, 303, 304, 305, 306, 0, 307, 308, 309, 310,
0, 0, 311, 312, 313, 314, 315, 0, 316, 317,
318, 0, 319, 320, 321, 0, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 0, 332, 0, 333,
334, 335, 336, 0, 337, 0, 338, 0, 0, 0,
341, 342, 343, 344, 0, 345, 346, 0, 347, 348,
349, 0, 350, 351, 352, 353, 1027, 0, 356, 357,
358, 359, 0, 360, 361, 362, 363, 364, 365, 366,
0, 367, 0, 369, 370, 371, 372, 373, 374, 375,
0, 376, 0, 377, 0, 0, 380, 0, 382, 383,
384, 385, 386, 0, 0, 387, 388, 0, 390, 0,
0, 392, 393, 394, 0, 0, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 0, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 0, 424, 425, 0, 427,
0, 428, 429, 430, 431, 432, 433, 0, 434, 435,
0, 0, 436, 437, 438, 0, 0, 439, 440, 441,
0, 443, 0, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 0, 490, 491, 0, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
0, 508, 509, 510, 511, 512, 0, 513, 514, 515,
516, 517, 0, 519, 520, 521, 522, 0, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 0, 540, 0, 542,
543, 544, 545, 546, 0, 547, 548, 549, 0, 0,
550, 551, 552, 553, 554, 0, 555, 556, 557, 558,
559, 560, 561, 562, 0, 0, 563, 564, 565, 566,
567, 0, 0, 568, 569, 570, 571, 572, 573, 574,
0, 575, 0, 577, 578, 579, 580, 0, 0, 581,
0, 0, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 609, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
240, 241, 0, 242, 243, 244, 0, 246, 247, 248,
249, 250, 0, 252, 253, 0, 254, 255, 256, 257,
258, 259, 0, 0, 260, 261, 262, 263, 264, 0,
265, 266, 267, 268, 269, 0, 0, 0, 271, 272,
273, 274, 275, 0, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 0, 287, 288, 289, 0,
0, 0, 0, 0, 0, 0, 291, 292, 293, 294,
295, 296, 297, 298, 299, 0, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 313, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 0, 333, 334,
335, 336, 0, 337, 0, 338, 0, 0, 0, 341,
342, 343, 344, 0, 345, 346, 0, 347, 348, 349,
0, 350, 351, 352, 353, 1030, 0, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 0, 369, 370, 371, 372, 373, 374, 375, 0,
376, 0, 377, 0, 0, 380, 0, 382, 383, 384,
385, 386, 0, 0, 387, 388, 0, 390, 0, 0,
392, 393, 394, 0, 0, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 0, 424, 425, 0, 427, 0,
428, 429, 430, 431, 432, 433, 0, 434, 435, 0,
0, 436, 437, 438, 0, 0, 439, 440, 441, 0,
443, 0, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 0, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 0, 513, 514, 515, 516,
517, 0, 519, 520, 521, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 0, 540, 0, 542, 543,
544, 545, 546, 0, 547, 548, 549, 0, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
560, 561, 562, 0, 0, 563, 564, 565, 566, 567,
0, 0, 568, 569, 570, 571, 572, 573, 574, 0,
575, 0, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 609, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 0, 246, 247, 248, 249,
250, 0, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 0, 260, 261, 262, 263, 264, 0, 265,
266, 267, 268, 269, 0, 0, 0, 271, 272, 273,
274, 275, 0, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 0, 287, 288, 289, 0, 0,
0, 0, 0, 0, 0, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 0, 332, 0, 333, 334, 335,
336, 0, 337, 0, 338, 0, 0, 0, 341, 342,
343, 344, 0, 345, 346, 0, 347, 348, 349, 0,
350, 351, 352, 353, 1032, 0, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
0, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 0, 0, 380, 0, 382, 383, 384, 385,
386, 0, 0, 387, 388, 0, 390, 0, 0, 392,
393, 394, 0, 0, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 0, 424, 425, 0, 427, 0, 428,
429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 0, 439, 440, 441, 0, 443,
0, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 0, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 0, 513, 514, 515, 516, 517,
0, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 0, 540, 0, 542, 543, 544,
545, 546, 0, 547, 548, 549, 0, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 0,
0, 568, 569, 570, 571, 572, 573, 574, 0, 575,
0, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 601,
609, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 0, 246, 247, 248, 249, 250,
0, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 262, 263, 264, 0, 265, 266,
267, 268, 269, 0, 0, 0, 271, 272, 273, 274,
275, 0, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 0, 287, 288, 289, 0, 0, 0,
0, 0, 0, 0, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 0, 333, 334, 335, 336,
0, 337, 0, 338, 0, 0, 0, 341, 342, 343,
344, 0, 345, 346, 0, 347, 348, 349, 0, 350,
351, 352, 353, 1068, 0, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 0,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 0, 0, 380, 0, 382, 383, 384, 385, 386,
0, 0, 387, 388, 0, 390, 0, 0, 392, 393,
394, 0, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 0, 424, 425, 0, 427, 0, 428, 429,
430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 0, 443, 0,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 515, 516, 517, 0,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 0, 540, 0, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 552,
553, 554, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 0,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 601, 609,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 0, 246, 247, 248, 249, 250, 0,
252, 253, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 262, 263, 264, 0, 265, 266, 267,
268, 269, 0, 0, 0, 271, 272, 273, 274, 275,
0, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 0, 287, 288, 289, 0, 0, 0, 0,
0, 0, 0, 291, 292, 293, 294, 295, 296, 297,
298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 0, 332, 0, 333, 334, 335, 336, 0,
337, 0, 338, 0, 0, 0, 341, 342, 343, 344,
0, 345, 346, 0, 347, 348, 349, 0, 350, 351,
352, 353, 1132, 0, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 0, 369,
370, 371, 372, 373, 374, 375, 0, 376, 0, 377,
0, 0, 380, 0, 382, 383, 384, 385, 386, 0,
0, 387, 388, 0, 390, 0, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 0,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, 0, 424, 425, 0, 427, 0, 428, 429, 430,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 0, 443, 0, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 515, 516, 517, 0, 519,
520, 521, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 0, 540, 0, 542, 543, 544, 545, 546,
0, 547, 548, 549, 0, 0, 550, 551, 552, 553,
554, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 573, 574, 0, 575, 0, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 601, 609, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 0, 237, 238, 239, 0,
0, 0, 0, 0, 0, 0, 240, 241, 0, 242,
243, 244, 0, 246, 247, 248, 249, 250, 0, 252,
253, 0, 254, 255, 256, 257, 258, 259, 0, 0,
260, 261, 262, 263, 264, 0, 265, 266, 267, 268,
269, 0, 0, 0, 271, 272, 273, 274, 275, 0,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 0, 287, 288, 289, 0, 0, 0, 0, 0,
0, 0, 291, 292, 293, 294, 295, 296, 297, 298,
299, 0, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 313,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 0, 333, 334, 335, 336, 0, 337,
0, 338, 0, 0, 0, 341, 342, 343, 344, 0,
345, 346, 0, 347, 348, 349, 0, 350, 351, 352,
353, 1134, 0, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 0, 369, 370,
371, 372, 373, 374, 375, 0, 376, 0, 377, 0,
0, 380, 0, 382, 383, 384, 385, 386, 0, 0,
387, 388, 0, 390, 0, 0, 392, 393, 394, 0,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
0, 424, 425, 0, 427, 0, 428, 429, 430, 431,
432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
0, 0, 439, 440, 441, 0, 443, 0, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 0,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 0, 513, 514, 515, 516, 517, 0, 519, 520,
521, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 0, 540, 0, 542, 543, 544, 545, 546, 0,
547, 548, 549, 0, 0, 550, 551, 552, 553, 554,
0, 555, 556, 557, 558, 559, 560, 561, 562, 0,
0, 563, 564, 565, 566, 567, 0, 0, 568, 569,
570, 571, 572, 573, 574, 0, 575, 0, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 609, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 229, 230, 231, 232,
233, 234, 235, 236, 0, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 0, 246, 247, 248, 249, 250, 0, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 0, 260,
261, 262, 263, 264, 0, 265, 266, 267, 268, 269,
0, 0, 0, 271, 272, 273, 274, 275, 0, 277,
278, 279, 0, 280, 281, 282, 283, 284, 285, 0,
0, 287, 288, 289, 0, 0, 0, 0, 0, 0,
0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
0, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
0, 332, 0, 333, 334, 335, 336, 0, 337, 0,
338, 0, 0, 0, 341, 342, 343, 344, 0, 345,
346, 0, 347, 348, 349, 0, 350, 351, 352, 353,
1144, 0, 356, 357, 358, 359, 0, 360, 361, 362,
363, 364, 365, 366, 0, 367, 0, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 0, 0,
380, 0, 382, 383, 384, 385, 386, 0, 0, 387,
388, 0, 390, 0, 0, 392, 393, 394, 0, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 0, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 0,
424, 425, 0, 427, 0, 428, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 0, 443, 0, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 0, 493,
494, 495, 496, 497, 498, 499, 500, 501, 502, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 512,
0, 513, 514, 515, 516, 517, 0, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
0, 540, 0, 542, 543, 544, 545, 546, 0, 547,
548, 549, 0, 0, 550, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 0,
563, 564, 565, 566, 567, 0, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 0, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 601, 609, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 0, 0, 0, 240, 241, 0, 242, 243, 244,
0, 246, 247, 248, 249, 250, 0, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
0, 0, 271, 272, 273, 274, 275, 0, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 0,
287, 288, 289, 0, 0, 0, 0, 0, 0, 0,
291, 292, 293, 294, 295, 296, 297, 298, 299, 0,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
0, 0, 0, 341, 342, 343, 344, 0, 345, 346,
0, 347, 348, 349, 0, 350, 351, 352, 353, 1147,
0, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 0, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 0, 0, 380,
0, 382, 383, 384, 385, 386, 0, 0, 387, 388,
0, 390, 0, 0, 392, 393, 394, 0, 0, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 0, 424,
425, 0, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 0, 0, 436, 437, 438, 0, 0,
439, 440, 441, 0, 443, 0, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 0, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 0,
513, 514, 515, 516, 517, 0, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 0, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 0, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 609, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 0, 237, 238, 239, 0, 0, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 0,
246, 247, 248, 249, 250, 0, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 0,
0, 271, 272, 273, 274, 275, 0, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 0, 287,
288, 289, 0, 0, 0, 0, 0, 0, 0, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
0, 333, 334, 335, 336, 0, 337, 0, 338, 0,
0, 0, 341, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 1150, 0,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 0, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 0, 0, 380, 0,
382, 383, 384, 385, 386, 0, 0, 387, 388, 0,
390, 0, 0, 392, 393, 394, 0, 0, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 0, 424, 425,
0, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 0, 443, 0, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 0, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 0, 508, 509, 510, 511, 512, 0, 513,
514, 515, 516, 517, 0, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 0, 540,
0, 542, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 0, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 609, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 0, 246,
247, 248, 249, 250, 0, 252, 253, 0, 254, 255,
256, 257, 258, 259, 0, 0, 798, 261, 262, 263,
264, 0, 265, 266, 267, 268, 269, 0, 0, 0,
271, 272, 273, 274, 275, 0, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 0, 287, 288,
289, 0, 0, 0, 0, 0, 0, 0, 291, 292,
293, 294, 295, 296, 297, 298, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 313, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 0,
333, 334, 335, 336, 0, 337, 0, 338, 0, 0,
0, 341, 342, 343, 344, 0, 345, 346, 0, 347,
348, 349, 0, 350, 351, 352, 353, 354, 0, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 0, 369, 370, 371, 372, 373, 374,
375, 0, 376, 0, 377, 0, 0, 380, 0, 382,
383, 384, 385, 386, 0, 0, 387, 388, 0, 390,
0, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 801, 411, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 0, 424, 425, 0,
427, 0, 428, 429, 430, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
441, 0, 443, 0, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 0, 802, 494, 495, 496,
497, 498, 499, 500, 501, 803, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 1333, 0, 513, 514,
515, 516, 517, 0, 519, 520, 521, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 0, 540, 0,
542, 543, 544, 545, 546, 0, 547, 805, 549, 0,
0, 806, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 573,
574, 0, 575, 0, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 807, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 609, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
0, 237, 238, 239, 0, 0, 0, 0, 0, 0,
0, 240, 241, 0, 242, 243, 244, 0, 246, 247,
248, 249, 250, 0, 252, 253, 0, 254, 255, 256,
257, 258, 259, 0, 0, 260, 261, 262, 263, 264,
0, 265, 266, 267, 268, 269, 0, 0, 0, 271,
272, 273, 274, 275, 0, 277, 278, 279, 0, 280,
281, 282, 283, 284, 285, 0, 0, 287, 288, 289,
0, 0, 0, 0, 0, 0, 0, 291, 292, 293,
294, 295, 296, 297, 298, 299, 0, 300, 0, 301,
302, 303, 304, 305, 306, 0, 307, 308, 309, 310,
0, 0, 311, 312, 313, 314, 315, 0, 316, 317,
318, 0, 319, 320, 321, 0, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 0, 332, 0, 333,
334, 335, 336, 0, 337, 0, 338, 0, 0, 0,
341, 342, 343, 344, 0, 345, 346, 0, 347, 348,
349, 0, 350, 351, 352, 353, 1774, 0, 356, 357,
358, 359, 0, 360, 361, 362, 363, 364, 365, 366,
0, 367, 0, 369, 370, 371, 372, 373, 374, 375,
0, 376, 0, 377, 0, 0, 380, 0, 382, 383,
384, 385, 386, 0, 0, 387, 388, 0, 390, 0,
0, 392, 393, 394, 0, 0, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 0, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 0, 424, 425, 0, 427,
0, 428, 429, 430, 431, 432, 433, 0, 434, 435,
0, 0, 436, 437, 438, 0, 0, 439, 440, 441,
0, 443, 0, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 0, 490, 491, 0, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
0, 508, 509, 510, 511, 512, 0, 513, 514, 515,
516, 517, 0, 519, 520, 521, 522, 0, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 0, 540, 0, 542,
543, 544, 545, 546, 0, 547, 548, 549, 0, 0,
550, 551, 552, 553, 554, 0, 555, 556, 557, 558,
559, 560, 561, 562, 0, 0, 563, 564, 565, 566,
567, 0, 0, 568, 569, 570, 571, 572, 573, 574,
0, 575, 0, 577, 578, 579, 580, 0, 0, 581,
0, 0, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 609, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
240, 241, 0, 242, 243, 244, 0, 246, 247, 248,
249, 250, 0, 252, 253, 0, 254, 255, 256, 257,
258, 259, 0, 0, 260, 261, 262, 263, 264, 0,
265, 266, 267, 268, 269, 0, 0, 0, 271, 272,
273, 274, 275, 0, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 0, 287, 288, 289, 0,
0, 0, 0, 0, 0, 0, 291, 292, 293, 294,
295, 296, 297, 298, 299, 0, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 313, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 0, 333, 334,
335, 336, 0, 337, 0, 338, 0, 0, 0, 341,
342, 343, 344, 0, 345, 346, 0, 347, 348, 349,
0, 350, 351, 352, 353, 1812, 0, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 0, 369, 370, 371, 372, 373, 374, 375, 0,
376, 0, 377, 0, 0, 380, 0, 382, 383, 384,
385, 386, 0, 0, 387, 388, 0, 390, 0, 0,
392, 393, 394, 0, 0, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 0, 424, 425, 0, 427, 0,
428, 429, 430, 431, 432, 433, 0, 434, 435, 0,
0, 436, 437, 438, 0, 0, 439, 440, 441, 0,
443, 0, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 0, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 0, 513, 514, 515, 516,
517, 0, 519, 520, 521, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 0, 540, 0, 542, 543,
544, 545, 546, 0, 547, 548, 549, 0, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
560, 561, 562, 0, 0, 563, 564, 565, 566, 567,
0, 0, 568, 569, 570, 571, 572, 573, 574, 0,
575, 0, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 609, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 0, 246, 247, 248, 249,
250, 0, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 0, 260, 261, 262, 263, 264, 0, 265,
266, 267, 268, 269, 0, 0, 0, 271, 272, 273,
274, 275, 0, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 0, 287, 288, 289, 0, 0,
0, 0, 0, 0, 0, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 0, 332, 0, 333, 334, 335,
336, 0, 337, 0, 338, 0, 0, 0, 341, 342,
343, 344, 0, 345, 346, 0, 347, 348, 349, 0,
350, 351, 352, 353, 1814, 0, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
0, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 0, 0, 380, 0, 382, 383, 384, 385,
386, 0, 0, 387, 388, 0, 390, 0, 0, 392,
393, 394, 0, 0, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 0, 424, 425, 0, 427, 0, 428,
429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 0, 439, 440, 441, 0, 443,
0, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 0, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 0, 513, 514, 515, 516, 517,
0, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 0, 540, 0, 542, 543, 544,
545, 546, 0, 547, 548, 549, 0, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 0,
0, 568, 569, 570, 571, 572, 573, 574, 0, 575,
0, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 601,
609, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 0, 246, 247, 248, 249, 250,
0, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 262, 263, 264, 0, 265, 266,
267, 268, 269, 0, 0, 0, 271, 272, 273, 274,
275, 0, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 0, 287, 288, 289, 0, 0, 0,
0, 0, 0, 0, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 0, 333, 334, 335, 336,
0, 337, 0, 338, 0, 0, 0, 341, 342, 343,
344, 0, 345, 346, 0, 347, 348, 349, 0, 350,
351, 352, 353, 1885, 0, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 0,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 0, 0, 380, 0, 382, 383, 384, 385, 386,
0, 0, 387, 388, 0, 390, 0, 0, 392, 393,
394, 0, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 0, 424, 425, 0, 427, 0, 428, 429,
430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 0, 443, 0,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 515, 516, 517, 0,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 0, 540, 0, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 552,
553, 554, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 0,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 601, 609,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 0, 246, 247, 248, 249, 250, 0,
252, 253, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 262, 263, 264, 0, 265, 266, 267,
268, 269, 0, 0, 0, 271, 272, 273, 274, 275,
0, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 0, 287, 288, 289, 0, 0, 0, 0,
0, 0, 0, 291, 292, 293, 294, 295, 296, 297,
298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 0, 332, 0, 333, 334, 335, 336, 0,
337, 0, 338, 0, 0, 0, 341, 342, 343, 344,
0, 345, 346, 0, 347, 348, 349, 0, 350, 351,
352, 353, 1887, 0, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 0, 369,
370, 371, 372, 373, 374, 375, 0, 376, 0, 377,
0, 0, 380, 0, 382, 383, 384, 385, 386, 0,
0, 387, 388, 0, 390, 0, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 0,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, 0, 424, 425, 0, 427, 0, 428, 429, 430,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 0, 443, 0, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 515, 516, 517, 0, 519,
520, 521, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 0, 540, 0, 542, 543, 544, 545, 546,
0, 547, 548, 549, 0, 0, 550, 551, 552, 553,
554, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 573, 574, 0, 575, 0, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 601, 609, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 0, 237, 238, 239, 0,
0, 0, 0, 0, 0, 0, 240, 241, 0, 242,
243, 244, 0, 246, 247, 248, 249, 250, 0, 252,
253, 0, 254, 255, 256, 257, 258, 259, 0, 0,
260, 261, 262, 263, 264, 0, 265, 266, 267, 268,
269, 0, 0, 0, 271, 272, 273, 274, 275, 0,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 0, 287, 288, 289, 0, 0, 0, 0, 0,
0, 0, 291, 292, 293, 294, 295, 296, 297, 298,
299, 0, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 313,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 0, 333, 334, 335, 336, 0, 337,
0, 338, 0, 0, 0, 341, 342, 343, 344, 0,
345, 346, 0, 347, 348, 349, 0, 350, 351, 352,
353, 1889, 0, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 0, 369, 370,
371, 372, 373, 374, 375, 0, 376, 0, 377, 0,
0, 380, 0, 382, 383, 384, 385, 386, 0, 0,
387, 388, 0, 390, 0, 0, 392, 393, 394, 0,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
0, 424, 425, 0, 427, 0, 428, 429, 430, 431,
432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
0, 0, 439, 440, 441, 0, 443, 0, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 0,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 0, 513, 514, 515, 516, 517, 0, 519, 520,
521, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 0, 540, 0, 542, 543, 544, 545, 546, 0,
547, 548, 549, 0, 0, 550, 551, 552, 553, 554,
0, 555, 556, 557, 558, 559, 560, 561, 562, 0,
0, 563, 564, 565, 566, 567, 0, 0, 568, 569,
570, 571, 572, 573, 574, 0, 575, 0, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 609, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 229, 230, 231, 232,
233, 234, 235, 236, 0, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 0, 246, 247, 248, 249, 250, 0, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 0, 260,
261, 262, 263, 264, 0, 265, 266, 267, 268, 269,
0, 0, 0, 271, 272, 273, 274, 275, 0, 277,
278, 279, 0, 280, 281, 282, 283, 284, 285, 0,
0, 287, 288, 289, 0, 0, 0, 0, 0, 0,
0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
0, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
0, 332, 0, 333, 334, 335, 336, 0, 337, 0,
338, 0, 0, 0, 341, 342, 343, 344, 0, 345,
346, 0, 347, 348, 349, 0, 350, 351, 352, 353,
354, 0, 356, 357, 358, 359, 0, 360, 361, 362,
363, 364, 365, 366, 0, 367, 0, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 0, 0,
380, 0, 382, 383, 384, 385, 386, 0, 0, 387,
388, 0, 390, 0, 0, 392, 393, 394, 0, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, 0, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 0,
424, 425, 0, 427, 0, 428, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 0, 443, 0, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 0, 493,
494, 495, 496, 497, 498, 499, 500, 1992, 502, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 512,
0, 513, 514, 515, 516, 517, 0, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
0, 540, 0, 542, 543, 544, 545, 546, 0, 547,
548, 549, 0, 0, 550, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 0,
563, 564, 565, 566, 567, 0, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 0, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 587, 588, 589, 590, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 601, 609, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 0, 2183, 0, 240, 241, 0, 242, 243, 244,
0, 246, 247, 248, 249, 250, 0, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
0, 0, 271, 272, 273, 274, 275, 0, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 0,
287, 288, 289, 0, 0, 0, 0, 0, 0, 0,
291, 292, 293, 294, 295, 296, 297, 298, 299, 0,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
0, 0, 0, 341, 342, 343, 344, 0, 345, 346,
0, 347, 348, 349, 0, 350, 351, 352, 353, 354,
0, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 0, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 0, 0, 380,
0, 382, 383, 384, 385, 386, 0, 0, 387, 388,
0, 390, 0, 0, 392, 393, 394, 0, 0, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 0, 424,
425, 0, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 0, 0, 436, 437, 438, 0, 0,
439, 440, 441, 0, 443, 0, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 0, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 0,
0, 514, 515, 516, 517, 0, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 0, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 0, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 609, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 0, 237, 238, 239, 0, 0, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 0,
246, 247, 248, 249, 250, 0, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 798, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 0,
0, 271, 272, 273, 274, 275, 0, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 0, 287,
288, 289, 0, 0, 0, 0, 0, 0, 0, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
0, 333, 334, 335, 336, 0, 337, 0, 338, 0,
0, 0, 341, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 354, 0,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 0, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 0, 0, 380, 0,
382, 383, 384, 385, 386, 0, 0, 387, 388, 0,
390, 0, 0, 392, 393, 394, 0, 0, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 801, 411, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 0, 424, 425,
0, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 0, 443, 0, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 0, 802, 494, 495,
496, 497, 498, 499, 500, 501, 803, 503, 504, 505,
506, 507, 0, 508, 509, 510, 511, 1333, 0, 513,
514, 515, 516, 517, 0, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 0, 540,
0, 2218, 543, 544, 545, 546, 0, 547, 805, 549,
0, 0, 806, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 0, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 807,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 609, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 0, 246,
247, 248, 249, 250, 0, 252, 253, 0, 254, 255,
256, 257, 258, 259, 0, 0, 798, 261, 262, 263,
264, 0, 265, 266, 267, 268, 269, 0, 0, 0,
271, 272, 273, 274, 275, 0, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 0, 287, 288,
289, 0, 0, 0, 0, 0, 0, 0, 291, 292,
293, 294, 295, 296, 297, 298, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 313, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 0,
333, 334, 335, 336, 0, 337, 0, 338, 0, 0,
0, 341, 342, 343, 344, 0, 345, 346, 0, 347,
348, 349, 0, 350, 351, 352, 353, 354, 0, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 0, 369, 370, 371, 372, 373, 374,
375, 0, 376, 0, 377, 0, 0, 380, 0, 382,
383, 384, 385, 386, 0, 0, 387, 388, 0, 390,
0, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 801, 411, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 0, 424, 425, 0,
427, 0, 428, 429, 430, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
441, 0, 443, 0, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 0, 802, 494, 495, 496,
497, 498, 499, 500, 501, 2294, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 2295, 0, 513, 514,
515, 516, 517, 0, 519, 520, 521, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 0, 540, 0,
542, 543, 544, 545, 546, 0, 547, 805, 549, 0,
0, 2296, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 573,
574, 0, 575, 0, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 807, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 609, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
0, 237, 238, 239, 0, 0, 0, 0, 0, 0,
0, 240, 241, 0, 242, 243, 244, 0, 246, 247,
248, 249, 250, 0, 252, 253, 0, 254, 255, 256,
257, 258, 259, 0, 0, 798, 261, 262, 263, 264,
0, 265, 266, 267, 268, 269, 0, 0, 0, 271,
272, 273, 274, 275, 0, 277, 278, 279, 0, 280,
281, 282, 283, 284, 285, 0, 0, 287, 288, 289,
0, 0, 0, 0, 0, 0, 0, 291, 292, 293,
294, 295, 296, 297, 298, 299, 0, 300, 0, 301,
302, 303, 304, 305, 306, 0, 307, 308, 309, 310,
0, 0, 311, 312, 313, 314, 315, 0, 316, 317,
318, 0, 319, 320, 321, 0, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 0, 332, 0, 333,
334, 335, 336, 0, 337, 0, 338, 0, 0, 0,
341, 342, 343, 344, 0, 345, 346, 0, 347, 348,
349, 0, 350, 351, 352, 353, 354, 0, 356, 357,
358, 359, 0, 360, 361, 362, 363, 364, 365, 366,
0, 367, 0, 369, 370, 371, 372, 373, 374, 375,
0, 376, 0, 377, 0, 0, 380, 0, 382, 383,
384, 385, 386, 0, 0, 387, 388, 0, 390, 0,
0, 392, 393, 394, 0, 0, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 801, 411, 0, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 0, 424, 425, 0, 427,
0, 428, 429, 430, 431, 432, 433, 0, 434, 435,
0, 0, 436, 437, 438, 0, 0, 439, 440, 441,
0, 443, 0, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 0, 490, 491, 0, 802, 494, 495, 496, 497,
498, 499, 500, 501, 2373, 503, 504, 505, 506, 507,
0, 508, 509, 510, 511, 2295, 0, 513, 514, 515,
516, 517, 0, 519, 520, 521, 522, 0, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 0, 540, 0, 542,
543, 544, 545, 546, 0, 547, 805, 549, 0, 0,
2296, 551, 552, 553, 554, 0, 555, 556, 557, 558,
559, 560, 561, 562, 0, 0, 563, 564, 565, 566,
567, 0, 0, 568, 569, 570, 571, 572, 573, 574,
0, 575, 0, 577, 578, 579, 580, 0, 0, 581,
0, 0, 582, 583, 584, 585, 586, 807, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 609, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
240, 241, 0, 242, 243, 244, 0, 246, 247, 248,
249, 250, 0, 252, 253, 0, 254, 255, 256, 257,
258, 259, 0, 0, 798, 261, 262, 263, 264, 0,
265, 266, 267, 268, 269, 0, 0, 0, 271, 272,
273, 274, 275, 0, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 0, 287, 288, 289, 0,
0, 0, 0, 0, 0, 0, 291, 292, 293, 294,
295, 296, 297, 298, 299, 0, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 312, 313, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 0, 333, 334,
335, 336, 0, 337, 0, 338, 0, 0, 0, 341,
342, 343, 344, 0, 345, 346, 0, 347, 348, 349,
0, 350, 351, 352, 353, 354, 0, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 0, 369, 370, 371, 372, 373, 374, 375, 0,
376, 0, 377, 0, 0, 380, 0, 382, 383, 384,
385, 386, 0, 0, 387, 388, 0, 390, 0, 0,
392, 393, 394, 0, 0, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
801, 411, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 0, 424, 425, 0, 427, 0,
428, 429, 430, 431, 432, 433, 0, 434, 435, 0,
0, 436, 437, 438, 0, 0, 439, 440, 441, 0,
443, 0, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 0, 802, 494, 495, 496, 497, 498,
499, 500, 501, 2390, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 2295, 0, 513, 514, 515, 516,
517, 0, 519, 520, 521, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 0, 540, 0, 542, 543,
544, 545, 546, 0, 547, 805, 549, 0, 0, 2296,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
560, 561, 562, 0, 0, 563, 564, 565, 566, 567,
0, 0, 568, 569, 570, 571, 572, 573, 574, 0,
575, 0, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 807, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 609, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 0, 246, 247, 248, 249,
250, 0, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 0, 260, 261, 262, 263, 264, 0, 265,
266, 267, 268, 269, 0, 0, 0, 271, 272, 273,
274, 275, 0, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 0, 287, 288, 289, 0, 0,
0, 0, 0, 0, 0, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 0, 332, 0, 333, 334, 335,
336, 0, 337, 0, 338, 0, 0, 0, 341, 342,
343, 344, 0, 345, 346, 0, 347, 348, 349, 0,
350, 351, 352, 353, 2594, 0, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
0, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 0, 0, 380, 0, 382, 383, 384, 385,
386, 0, 0, 387, 388, 0, 390, 0, 0, 392,
393, 394, 0, 0, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 0, 424, 425, 0, 427, 0, 428,
429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 0, 439, 440, 441, 0, 443,
0, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 0, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 0, 513, 514, 515, 516, 517,
0, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 0, 540, 0, 542, 543, 544,
545, 546, 0, 547, 548, 549, 0, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 0,
0, 568, 569, 570, 571, 572, 573, 574, 0, 575,
0, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 601,
609, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 0, 246, 247, 248, 249, 250,
0, 252, 253, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 262, 263, 264, 0, 265, 266,
267, 268, 269, 0, 0, 0, 271, 272, 273, 274,
275, 0, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 0, 287, 288, 289, 0, 0, 0,
0, 0, 0, 0, 291, 292, 293, 294, 295, 296,
297, 298, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 313, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 326, 327, 328,
329, 330, 331, 0, 332, 0, 333, 334, 335, 336,
0, 337, 0, 338, 0, 0, 0, 341, 342, 343,
344, 0, 345, 346, 0, 347, 348, 349, 0, 350,
351, 352, 353, 2598, 0, 356, 357, 358, 359, 0,
360, 361, 362, 363, 364, 365, 366, 0, 367, 0,
369, 370, 371, 372, 373, 374, 375, 0, 376, 0,
377, 0, 0, 380, 0, 382, 383, 384, 385, 386,
0, 0, 387, 388, 0, 390, 0, 0, 392, 393,
394, 0, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
0, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, 0, 424, 425, 0, 427, 0, 428, 429,
430, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 441, 0, 443, 0,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 457, 458, 459, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
473, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 0, 493, 494, 495, 496, 497, 498, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 515, 516, 517, 0,
519, 520, 521, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
0, 538, 539, 0, 540, 0, 542, 543, 544, 545,
546, 0, 547, 548, 549, 0, 0, 550, 551, 552,
553, 554, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 573, 574, 0, 575, 0,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 588, 589, 590, 591, 592,
593, 594, 595, 596, 597, 598, 599, 600, 601, 609,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 0, 246, 247, 248, 249, 250, 0,
252, 253, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 262, 263, 264, 0, 265, 266, 267,
268, 269, 0, 0, 0, 271, 272, 273, 274, 275,
0, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 0, 287, 288, 289, 0, 0, 0, 0,
0, 0, 0, 291, 292, 293, 294, 295, 296, 297,
298, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 326, 327, 328, 329,
330, 331, 0, 332, 0, 333, 334, 335, 336, 0,
337, 0, 338, 0, 0, 0, 341, 342, 343, 344,
0, 345, 346, 0, 347, 348, 349, 0, 350, 351,
352, 353, 2674, 0, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 0, 369,
370, 371, 372, 373, 374, 375, 0, 376, 0, 377,
0, 0, 380, 0, 382, 383, 384, 385, 386, 0,
0, 387, 388, 0, 390, 0, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 411, 0,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, 0, 424, 425, 0, 427, 0, 428, 429, 430,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 441, 0, 443, 0, 445,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 457, 458, 459, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 473,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
0, 493, 494, 495, 496, 497, 498, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 515, 516, 517, 0, 519,
520, 521, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 536, 537, 0,
538, 539, 0, 540, 0, 542, 543, 544, 545, 546,
0, 547, 548, 549, 0, 0, 550, 551, 552, 553,
554, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 573, 574, 0, 575, 0, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 588, 589, 590, 591, 592, 593,
594, 595, 596, 597, 598, 599, 600, 601, 609, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 229, 230, 231,
232, 233, 234, 235, 236, 0, 237, 238, 239, 0,
0, 0, 0, 0, 0, 0, 240, 241, 0, 242,
243, 244, 0, 246, 247, 248, 249, 250, 0, 252,
253, 0, 254, 255, 256, 257, 258, 259, 0, 0,
260, 261, 262, 263, 264, 0, 265, 266, 267, 268,
269, 0, 0, 0, 271, 272, 273, 274, 275, 0,
277, 278, 279, 0, 280, 281, 282, 283, 284, 285,
0, 0, 287, 288, 289, 0, 0, 0, 0, 0,
0, 0, 291, 292, 293, 294, 295, 296, 297, 298,
299, 0, 300, 0, 301, 302, 303, 304, 305, 306,
0, 307, 308, 309, 310, 0, 0, 311, 312, 313,
314, 315, 0, 316, 317, 318, 0, 319, 320, 321,
0, 322, 323, 324, 325, 326, 327, 328, 329, 330,
331, 0, 332, 0, 333, 334, 335, 336, 0, 337,
0, 338, 0, 0, 0, 341, 342, 343, 344, 0,
345, 346, 0, 347, 348, 349, 0, 350, 351, 352,
353, 3012, 0, 356, 357, 358, 359, 0, 360, 361,
362, 363, 364, 365, 366, 0, 367, 0, 369, 370,
371, 372, 373, 374, 375, 0, 376, 0, 377, 0,
0, 380, 0, 382, 383, 384, 385, 386, 0, 0,
387, 388, 0, 390, 0, 0, 392, 393, 394, 0,
0, 395, 396, 397, 398, 399, 400, 401, 402, 403,
404, 405, 406, 407, 408, 409, 410, 411, 0, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
0, 424, 425, 0, 427, 0, 428, 429, 430, 431,
432, 433, 0, 434, 435, 0, 0, 436, 437, 438,
0, 0, 439, 440, 441, 0, 443, 0, 445, 446,
447, 448, 449, 450, 451, 452, 453, 454, 0, 455,
456, 457, 458, 459, 460, 461, 462, 0, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
475, 476, 477, 0, 478, 479, 480, 481, 482, 483,
484, 485, 486, 487, 488, 489, 0, 490, 491, 0,
493, 494, 495, 496, 497, 498, 499, 500, 501, 502,
503, 504, 505, 506, 507, 0, 508, 509, 510, 511,
512, 0, 513, 514, 515, 516, 517, 0, 519, 520,
521, 522, 0, 523, 524, 525, 526, 527, 528, 529,
530, 531, 532, 533, 534, 535, 536, 537, 0, 538,
539, 0, 540, 0, 542, 543, 544, 545, 546, 0,
547, 548, 549, 0, 0, 550, 551, 552, 553, 554,
0, 555, 556, 557, 558, 559, 560, 561, 562, 0,
0, 563, 564, 565, 566, 567, 0, 0, 568, 569,
570, 571, 572, 573, 574, 0, 575, 0, 577, 578,
579, 580, 0, 0, 581, 0, 0, 582, 583, 584,
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
595, 596, 597, 598, 599, 600, 601, 609, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 229, 230, 231, 232,
233, 234, 235, 236, 0, 237, 238, 239, 0, 0,
0, 0, 0, 0, 0, 240, 241, 0, 242, 243,
244, 0, 246, 247, 248, 249, 250, 0, 252, 253,
0, 254, 255, 256, 257, 258, 259, 0, 0, 798,
261, 262, 263, 264, 0, 265, 266, 267, 268, 269,
0, 0, 0, 271, 272, 273, 274, 275, 0, 277,
278, 279, 0, 280, 281, 282, 283, 284, 285, 0,
0, 287, 288, 289, 0, 0, 0, 0, 0, 0,
0, 291, 292, 293, 294, 295, 296, 297, 298, 299,
0, 300, 0, 301, 302, 303, 304, 305, 306, 0,
307, 308, 309, 310, 0, 0, 311, 312, 313, 314,
315, 0, 316, 317, 318, 0, 319, 320, 321, 0,
322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
0, 332, 0, 333, 334, 335, 336, 0, 337, 0,
338, 0, 0, 0, 341, 342, 343, 344, 0, 345,
346, 0, 347, 348, 349, 0, 350, 351, 352, 353,
354, 0, 356, 357, 358, 359, 0, 360, 361, 362,
363, 364, 365, 366, 0, 367, 0, 369, 370, 371,
372, 373, 374, 375, 0, 376, 0, 377, 0, 0,
380, 0, 382, 383, 384, 385, 386, 0, 0, 387,
388, 0, 390, 0, 0, 392, 393, 394, 0, 0,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 801, 411, 0, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, 0,
424, 425, 0, 427, 0, 428, 429, 430, 431, 432,
433, 0, 434, 435, 0, 0, 436, 437, 438, 0,
0, 439, 440, 441, 0, 443, 0, 445, 446, 447,
448, 449, 450, 451, 452, 453, 454, 0, 455, 456,
457, 458, 459, 460, 461, 462, 0, 463, 464, 465,
466, 467, 468, 469, 470, 471, 472, 473, 474, 475,
476, 477, 0, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 0, 490, 491, 0, 802,
494, 495, 496, 497, 498, 499, 500, 501, 803, 503,
504, 505, 506, 507, 0, 508, 509, 510, 511, 2295,
0, 513, 514, 515, 516, 517, 0, 519, 520, 521,
522, 0, 523, 524, 525, 526, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 0, 538, 539,
0, 540, 0, 542, 543, 544, 545, 546, 0, 547,
805, 549, 0, 0, 2296, 551, 552, 553, 554, 0,
555, 556, 557, 558, 559, 560, 561, 562, 0, 0,
563, 564, 565, 566, 567, 0, 0, 568, 569, 570,
571, 572, 573, 574, 0, 575, 0, 577, 578, 579,
580, 0, 0, 581, 0, 0, 582, 583, 584, 585,
586, 807, 588, 589, 590, 591, 592, 593, 594, 595,
596, 597, 598, 599, 600, 601, 609, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 229, 230, 231, 232, 233,
234, 235, 236, 0, 237, 238, 239, 0, 0, 0,
0, 0, 0, 0, 240, 241, 0, 242, 243, 244,
0, 246, 247, 248, 249, 250, 0, 252, 253, 0,
254, 255, 256, 257, 258, 259, 0, 0, 260, 261,
262, 263, 264, 0, 265, 266, 267, 268, 269, 0,
0, 0, 271, 272, 273, 274, 275, 0, 277, 278,
279, 0, 280, 281, 282, 283, 284, 285, 0, 0,
287, 288, 289, 0, 0, 0, 0, 0, 0, 0,
291, 292, 293, 294, 295, 296, 297, 298, 299, 0,
300, 0, 301, 302, 303, 304, 305, 306, 0, 307,
308, 309, 310, 0, 0, 311, 312, 313, 314, 315,
0, 316, 317, 318, 0, 319, 320, 321, 0, 322,
323, 324, 325, 326, 327, 328, 329, 330, 331, 0,
332, 0, 333, 334, 335, 336, 0, 337, 0, 338,
0, 0, 0, 341, 342, 343, 344, 0, 345, 346,
0, 347, 348, 349, 0, 350, 351, 352, 353, 3081,
0, 356, 357, 358, 359, 0, 360, 361, 362, 363,
364, 365, 366, 0, 367, 0, 369, 370, 371, 372,
373, 374, 375, 0, 376, 0, 377, 0, 0, 380,
0, 382, 383, 384, 385, 386, 0, 0, 387, 388,
0, 390, 0, 0, 392, 393, 394, 0, 0, 395,
396, 397, 398, 399, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 0, 413, 414, 415,
416, 417, 418, 419, 420, 421, 422, 423, 0, 424,
425, 0, 427, 0, 428, 429, 430, 431, 432, 433,
0, 434, 435, 0, 0, 436, 437, 438, 0, 0,
439, 440, 441, 0, 443, 0, 445, 446, 447, 448,
449, 450, 451, 452, 453, 454, 0, 455, 456, 457,
458, 459, 460, 461, 462, 0, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, 473, 474, 475, 476,
477, 0, 478, 479, 480, 481, 482, 483, 484, 485,
486, 487, 488, 489, 0, 490, 491, 0, 493, 494,
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
505, 506, 507, 0, 508, 509, 510, 511, 512, 0,
513, 514, 515, 516, 517, 0, 519, 520, 521, 522,
0, 523, 524, 525, 526, 527, 528, 529, 530, 531,
532, 533, 534, 535, 536, 537, 0, 538, 539, 0,
540, 0, 542, 543, 544, 545, 546, 0, 547, 548,
549, 0, 0, 550, 551, 552, 553, 554, 0, 555,
556, 557, 558, 559, 560, 561, 562, 0, 0, 563,
564, 565, 566, 567, 0, 0, 568, 569, 570, 571,
572, 573, 574, 0, 575, 0, 577, 578, 579, 580,
0, 0, 581, 0, 0, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 598, 599, 600, 601, 609, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 0, 237, 238, 239, 0, 0, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 0,
246, 247, 248, 249, 250, 0, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 0,
0, 271, 272, 273, 274, 275, 0, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 0, 287,
288, 289, 0, 0, 0, 0, 0, 0, 0, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
0, 333, 334, 335, 336, 0, 337, 0, 338, 0,
0, 0, 341, 342, 343, 344, 0, 345, 346, 0,
347, 348, 349, 0, 350, 351, 352, 353, 3095, 0,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 0, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 0, 0, 380, 0,
382, 383, 384, 385, 386, 0, 0, 387, 388, 0,
390, 0, 0, 392, 393, 394, 0, 0, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 0, 424, 425,
0, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 0, 443, 0, 445, 446, 447, 448, 449,
450, 451, 452, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 0, 493, 494, 495,
496, 497, 498, 499, 500, 501, 502, 503, 504, 505,
506, 507, 0, 508, 509, 510, 511, 512, 0, 513,
514, 515, 516, 517, 0, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 0, 540,
0, 542, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 0, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 609, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 0, 246,
247, 248, 249, 250, 0, 252, 253, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 262, 263,
264, 0, 265, 266, 267, 268, 269, 0, 0, 0,
271, 272, 273, 274, 275, 0, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 0, 287, 288,
289, 0, 0, 0, 0, 0, 0, 0, 291, 292,
293, 294, 295, 296, 297, 298, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 313, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 326, 327, 328, 329, 330, 331, 0, 332, 0,
333, 334, 335, 336, 0, 337, 0, 338, 0, 0,
0, 341, 342, 343, 344, 0, 345, 346, 0, 347,
348, 349, 0, 350, 351, 352, 353, 3097, 0, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 0, 369, 370, 371, 372, 373, 374,
375, 0, 376, 0, 377, 0, 0, 380, 0, 382,
383, 384, 385, 386, 0, 0, 387, 388, 0, 390,
0, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 411, 0, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, 0, 424, 425, 0,
427, 0, 428, 429, 430, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
441, 0, 443, 0, 445, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 457, 458, 459,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 473, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 0, 493, 494, 495, 496,
497, 498, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
515, 516, 517, 0, 519, 520, 521, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 536, 537, 0, 538, 539, 0, 540, 0,
542, 543, 544, 545, 546, 0, 547, 548, 549, 0,
0, 550, 551, 552, 553, 554, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 573,
574, 0, 575, 0, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 588,
589, 590, 591, 592, 593, 594, 595, 596, 597, 598,
599, 600, 601, 609, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 229, 230, 231, 232, 233, 234, 235, 236,
0, 237, 238, 239, 0, 0, 0, 0, 0, 0,
0, 240, 241, 0, 242, 243, 244, 0, 246, 247,
248, 249, 250, 0, 252, 253, 0, 254, 255, 256,
257, 258, 259, 0, 0, 260, 261, 262, 263, 264,
0, 265, 266, 267, 268, 269, 0, 0, 0, 271,
272, 273, 274, 275, 0, 277, 278, 279, 0, 280,
281, 282, 283, 284, 285, 0, 0, 287, 288, 289,
0, 0, 0, 0, 0, 0, 0, 291, 292, 293,
294, 295, 296, 297, 298, 299, 0, 300, 0, 301,
302, 303, 304, 305, 306, 0, 307, 308, 309, 310,
0, 0, 311, 312, 313, 314, 315, 0, 316, 317,
318, 0, 319, 320, 321, 0, 322, 323, 324, 325,
326, 327, 328, 329, 330, 331, 0, 332, 0, 333,
334, 335, 336, 0, 337, 0, 338, 0, 0, 0,
341, 342, 343, 344, 0, 345, 346, 0, 347, 348,
349, 0, 350, 351, 352, 353, 3242, 0, 356, 357,
358, 359, 0, 360, 361, 362, 363, 364, 365, 366,
0, 367, 0, 369, 370, 371, 372, 373, 374, 375,
0, 376, 0, 377, 0, 0, 380, 0, 382, 383,
384, 385, 386, 0, 0, 387, 388, 0, 390, 0,
0, 392, 393, 394, 0, 0, 395, 396, 397, 398,
399, 400, 401, 402, 403, 404, 405, 406, 407, 408,
409, 410, 411, 0, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, 0, 424, 425, 0, 427,
0, 428, 429, 430, 431, 432, 433, 0, 434, 435,
0, 0, 436, 437, 438, 0, 0, 439, 440, 441,
0, 443, 0, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 0, 455, 456, 457, 458, 459, 460,
461, 462, 0, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, 473, 474, 475, 476, 477, 0, 478,
479, 480, 481, 482, 483, 484, 485, 486, 487, 488,
489, 0, 490, 491, 0, 493, 494, 495, 496, 497,
498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
0, 508, 509, 510, 511, 512, 0, 513, 514, 515,
516, 517, 0, 519, 520, 521, 522, 0, 523, 524,
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
535, 536, 537, 0, 538, 539, 0, 540, 0, 542,
543, 544, 545, 546, 0, 547, 548, 549, 0, 0,
550, 551, 552, 553, 554, 0, 555, 556, 557, 558,
559, 560, 561, 562, 0, 0, 563, 564, 565, 566,
567, 0, 0, 568, 569, 570, 571, 572, 573, 574,
0, 575, 0, 577, 578, 579, 580, 0, 0, 581,
0, 0, 582, 583, 584, 585, 586, 587, 588, 589,
590, 591, 592, 593, 594, 595, 596, 597, 598, 599,
600, 601, 609, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 229, 230, 231, 232, 233, 234, 235, 236, 0,
237, 238, 239, 0, 0, 0, 0, 0, 0, 0,
240, 241, 0, 242, 243, 244, 0, 246, 247, 248,
249, 250, 0, 252, 253, 0, 254, 255, 256, 257,
258, 259, 0, 0, 260, 261, 262, 263, 264, 0,
265, 266, 267, 268, 269, 0, 0, 0, 271, 272,
273, 274, 275, 0, 277, 278, 279, 0, 280, 281,
282, 283, 284, 285, 0, 0, 287, 288, 289, 0,
0, 0, 0, 0, 0, 0, 291, 292, 293, 294,
295, 296, 297, 298, 299, 0, 300, 0, 301, 302,
303, 304, 305, 306, 0, 307, 308, 309, 310, 0,
0, 311, 3280, 313, 314, 315, 0, 316, 317, 318,
0, 319, 320, 321, 0, 322, 323, 324, 325, 326,
327, 328, 329, 330, 331, 0, 332, 0, 333, 334,
335, 336, 0, 337, 0, 338, 0, 0, 0, 341,
342, 343, 344, 0, 345, 346, 0, 347, 348, 349,
0, 350, 351, 352, 353, 354, 0, 356, 357, 358,
359, 0, 360, 361, 362, 363, 364, 365, 366, 0,
367, 0, 369, 370, 371, 372, 373, 374, 375, 0,
376, 0, 377, 0, 0, 380, 0, 382, 383, 384,
385, 386, 0, 0, 387, 388, 0, 390, 0, 0,
392, 393, 394, 0, 0, 395, 396, 397, 398, 399,
400, 401, 402, 403, 404, 405, 406, 407, 408, 409,
410, 411, 0, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, 0, 424, 425, 0, 427, 0,
428, 429, 430, 431, 432, 433, 0, 434, 435, 0,
0, 436, 437, 438, 0, 0, 439, 440, 441, 0,
443, 0, 445, 446, 447, 448, 449, 450, 451, 452,
453, 454, 0, 455, 456, 457, 458, 459, 460, 461,
462, 0, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, 473, 474, 475, 476, 477, 0, 478, 479,
480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
0, 490, 491, 0, 493, 494, 495, 496, 497, 498,
499, 500, 501, 502, 503, 504, 505, 506, 507, 0,
508, 509, 510, 511, 512, 0, 513, 514, 515, 516,
517, 0, 519, 520, 521, 522, 0, 523, 524, 525,
526, 527, 528, 529, 530, 531, 532, 533, 534, 535,
536, 537, 0, 538, 539, 0, 540, 0, 542, 543,
544, 545, 546, 0, 547, 548, 549, 0, 0, 550,
551, 552, 553, 554, 0, 555, 556, 557, 558, 559,
560, 561, 562, 0, 0, 563, 564, 565, 566, 567,
0, 0, 568, 569, 570, 571, 572, 573, 574, 0,
575, 0, 577, 578, 579, 580, 0, 0, 581, 0,
0, 582, 583, 584, 585, 586, 587, 588, 589, 590,
591, 592, 593, 594, 595, 596, 597, 598, 599, 600,
601, 609, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
229, 230, 231, 232, 233, 234, 235, 236, 0, 237,
238, 239, 0, 0, 0, 0, 0, 0, 0, 240,
241, 0, 242, 243, 244, 0, 246, 247, 248, 249,
250, 0, 252, 253, 0, 254, 255, 256, 257, 258,
259, 0, 0, 260, 261, 262, 263, 264, 0, 265,
266, 267, 268, 269, 0, 0, 0, 271, 272, 273,
274, 275, 0, 277, 278, 279, 0, 280, 281, 282,
283, 284, 285, 0, 0, 287, 288, 289, 0, 0,
0, 0, 0, 0, 0, 291, 292, 293, 294, 295,
296, 297, 298, 299, 0, 300, 0, 301, 302, 303,
304, 305, 306, 0, 307, 308, 309, 310, 0, 0,
311, 312, 313, 314, 315, 0, 316, 317, 318, 0,
319, 320, 321, 0, 322, 323, 324, 325, 326, 327,
328, 329, 330, 331, 0, 332, 0, 333, 334, 335,
336, 0, 337, 0, 338, 0, 0, 0, 341, 342,
343, 344, 0, 345, 346, 0, 347, 348, 349, 0,
350, 351, 352, 353, 4476, 0, 356, 357, 358, 359,
0, 360, 361, 362, 363, 364, 365, 366, 0, 367,
0, 369, 370, 371, 372, 373, 374, 375, 0, 376,
0, 377, 0, 0, 380, 0, 382, 383, 384, 385,
386, 0, 0, 387, 388, 0, 390, 0, 0, 392,
393, 394, 0, 0, 395, 396, 397, 398, 399, 400,
401, 402, 403, 404, 405, 406, 407, 408, 409, 410,
411, 0, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, 0, 424, 425, 0, 427, 0, 428,
429, 430, 431, 432, 433, 0, 434, 435, 0, 0,
436, 437, 438, 0, 0, 439, 440, 441, 0, 443,
0, 445, 446, 447, 448, 449, 450, 451, 452, 453,
454, 0, 455, 456, 457, 458, 459, 460, 461, 462,
0, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, 473, 474, 475, 476, 477, 0, 478, 479, 480,
481, 482, 483, 484, 485, 486, 487, 488, 489, 0,
490, 491, 0, 493, 494, 495, 496, 497, 498, 499,
500, 501, 502, 503, 504, 505, 506, 507, 0, 508,
509, 510, 511, 512, 0, 513, 514, 515, 516, 517,
0, 519, 520, 521, 522, 0, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
537, 0, 538, 539, 0, 540, 0, 542, 543, 544,
545, 546, 0, 547, 548, 549, 0, 0, 550, 551,
552, 553, 554, 0, 555, 556, 557, 558, 559, 560,
561, 562, 0, 0, 563, 564, 565, 566, 567, 0,
0, 568, 569, 570, 571, 572, 573, 574, 0, 575,
0, 577, 578, 579, 580, 0, 0, 581, 0, 0,
582, 583, 584, 585, 586, 587, 588, 589, 590, 591,
592, 593, 594, 595, 596, 597, 598, 599, 600, 601,
1070, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 229,
230, 231, 232, 233, 234, 235, 236, 0, 237, 238,
239, 0, 0, 0, 0, 0, 0, 0, 240, 241,
0, 242, 243, 244, 245, 246, 247, 248, 0, 1071,
251, 1072, 1073, 0, 254, 255, 256, 257, 258, 259,
0, 0, 260, 261, 1074, 1075, 264, 0, 265, 266,
267, 268, 0, 0, 270, 0, 271, 272, 273, 274,
275, 276, 277, 278, 279, 0, 280, 281, 282, 283,
284, 285, 0, 286, 287, 288, 289, 0, 0, 0,
290, 0, 0, 0, 291, 292, 293, 294, 295, 296,
1076, 1077, 299, 0, 300, 0, 301, 302, 303, 304,
305, 306, 0, 307, 308, 309, 310, 0, 0, 311,
312, 1078, 314, 315, 0, 316, 317, 318, 0, 319,
320, 321, 0, 322, 323, 324, 325, 0, 327, 328,
329, 330, 0, 0, 332, 0, 333, 334, 1079, 336,
0, 337, 0, 338, 339, 0, 340, 341, 342, 343,
344, 0, 345, 0, 0, 0, 348, 349, 0, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, 2191,
360, 361, 362, 363, 364, 365, 366, 0, 367, 368,
2192, 370, 371, 372, 373, 1081, 1082, 0, 1083, 0,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
0, 0, 387, 0, 389, 390, 391, 0, 392, 393,
394, 0, 0, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 1084,
412, 1085, 414, 415, 416, 417, 418, 419, 420, 0,
0, 423, 0, 424, 425, 426, 427, 0, 0, 429,
1086, 431, 432, 433, 0, 434, 435, 0, 0, 436,
437, 438, 0, 0, 439, 440, 2194, 442, 443, 444,
0, 446, 447, 448, 449, 450, 451, 452, 453, 454,
0, 455, 456, 0, 458, 0, 460, 461, 462, 0,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
1087, 474, 475, 476, 477, 0, 478, 479, 480, 481,
482, 483, 484, 485, 486, 487, 488, 489, 0, 490,
491, 492, 493, 494, 495, 496, 497, 0, 499, 500,
501, 502, 503, 504, 505, 506, 507, 0, 508, 509,
510, 511, 512, 0, 513, 514, 2195, 516, 517, 518,
519, 520, 1089, 522, 0, 523, 524, 525, 526, 527,
528, 529, 530, 531, 532, 533, 534, 535, 0, 537,
0, 538, 539, 0, 540, 541, 542, 543, 544, 545,
546, 0, 547, 1090, 1091, 0, 0, 550, 551, 0,
553, 0, 0, 555, 556, 557, 558, 559, 560, 561,
562, 0, 0, 563, 564, 565, 566, 567, 0, 0,
568, 569, 570, 571, 572, 0, 1092, 2196, 575, 576,
577, 578, 579, 580, 0, 0, 581, 0, 0, 582,
583, 584, 585, 586, 587, 609, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 599, 600, 601, 0,
0, 0, 0, 0, 229, 230, 231, 232, 233, 234,
235, 236, 0, 237, 238, 239, 0, 0, 0, 0,
0, 0, 0, 240, 241, 0, 242, 243, 244, 0,
246, 247, 248, 249, 250, 0, 252, 253, 0, 254,
255, 256, 257, 258, 259, 0, 0, 260, 261, 262,
263, 264, 0, 265, 266, 267, 268, 269, 0, 0,
0, 271, 272, 273, 274, 275, 0, 277, 278, 279,
0, 280, 281, 282, 283, 284, 285, 0, 0, 287,
288, 289, 0, 0, 0, 0, 0, 0, 0, 291,
292, 293, 294, 295, 296, 297, 298, 299, 0, 300,
0, 301, 302, 303, 304, 305, 306, 0, 307, 308,
309, 310, 0, 0, 311, 312, 313, 314, 315, 0,
316, 317, 318, 0, 319, 320, 321, 0, 322, 323,
324, 325, 326, 327, 328, 329, 330, 331, 0, 332,
0, 333, 334, 335, 336, 0, 337, 0, 338, 0,
0, 0, 341, 342, 343, 344, 0, 345, 346, 0,
347, 0, 349, 0, 350, 351, 352, 353, 354, 0,
356, 357, 358, 359, 0, 360, 361, 362, 363, 364,
365, 366, 0, 367, 0, 369, 370, 371, 372, 373,
374, 375, 0, 376, 0, 377, 0, 0, 380, 0,
382, 383, 384, 385, 386, 0, 0, 387, 388, 0,
390, 0, 0, 392, 393, 394, 0, 0, 395, 396,
397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 0, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, 0, 424, 425,
0, 427, 0, 428, 429, 430, 431, 432, 433, 0,
434, 435, 0, 0, 436, 437, 438, 0, 0, 439,
440, 441, 0, 443, 0, 445, 446, 447, 448, 449,
450, 451, 0, 453, 454, 0, 455, 456, 457, 458,
459, 460, 461, 462, 0, 463, 464, 465, 466, 467,
468, 469, 470, 0, 472, 473, 474, 475, 476, 477,
0, 478, 479, 480, 481, 482, 483, 484, 485, 486,
487, 488, 489, 0, 490, 491, 0, 493, 494, 495,
496, 497, 498, 0, 500, 501, 502, 503, 504, 505,
506, 507, 0, 508, 509, 510, 511, 512, 0, 513,
514, 515, 516, 517, 0, 519, 520, 521, 522, 0,
523, 524, 525, 526, 527, 528, 529, 530, 531, 532,
533, 534, 535, 536, 537, 0, 538, 539, 0, 540,
0, 542, 543, 544, 545, 546, 0, 547, 548, 549,
0, 0, 550, 551, 552, 553, 554, 0, 555, 556,
557, 558, 559, 560, 561, 562, 0, 0, 563, 564,
565, 566, 567, 0, 0, 568, 569, 570, 571, 572,
573, 574, 0, 575, 0, 577, 578, 579, 580, 0,
0, 581, 0, 0, 582, 583, 584, 585, 586, 587,
588, 589, 590, 591, 592, 593, 594, 595, 596, 597,
598, 599, 600, 601, 1070, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 0, 1071, 251, 1072, 1073, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 1074, 1075,
264, 0, 265, 266, 267, 268, 0, 0, 270, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
289, 0, 0, 0, 290, 0, 0, 0, 291, 292,
293, 294, 295, 296, 1076, 1077, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 1078, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 0, 327, 328, 329, 330, 0, 0, 332, 0,
333, 334, 1079, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 0, 0, 0,
348, 349, 0, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 0, 370, 371, 372, 373, 1081,
1082, 0, 1083, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 0, 389, 390,
391, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 1084, 412, 1085, 414, 415, 416, 417,
418, 419, 420, 0, 0, 423, 0, 424, 425, 426,
427, 2290, 0, 429, 1086, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
0, 442, 443, 444, 0, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 0, 458, 0,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 1087, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 0, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
2195, 516, 517, 518, 519, 520, 1089, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 0, 537, 0, 538, 539, 4013, 540, 541,
542, 543, 544, 545, 546, 0, 547, 1090, 1091, 0,
0, 550, 551, 0, 553, 0, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 0,
1092, 0, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 1070,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
599, 600, 601, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 245, 246, 247, 248, 0, 1071, 251,
1072, 1073, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 1074, 1075, 264, 0, 265, 266, 267,
268, 0, 0, 270, 0, 271, 272, 273, 274, 275,
276, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 286, 287, 288, 289, 0, 0, 0, 290,
0, 0, 0, 291, 292, 293, 294, 295, 296, 1076,
1077, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
1078, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 0, 327, 328, 329,
330, 0, 0, 332, 0, 333, 334, 1079, 336, 0,
337, 0, 338, 339, 0, 340, 341, 342, 343, 344,
0, 345, 0, 0, 0, 348, 349, 0, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 368, 0,
370, 371, 372, 373, 1081, 1082, 0, 1083, 0, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 0,
0, 387, 0, 389, 390, 391, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 1084, 412,
1085, 414, 415, 416, 417, 418, 419, 420, 2363, 0,
423, 0, 424, 425, 426, 427, 0, 0, 429, 1086,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 0, 442, 443, 444, 0,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 0, 458, 0, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 1087,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
492, 493, 494, 495, 496, 497, 0, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 1088, 516, 517, 518, 519,
520, 1089, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 0, 537, 0,
538, 539, 0, 540, 541, 542, 543, 544, 545, 546,
0, 547, 1090, 1091, 0, 0, 550, 551, 0, 553,
0, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 0, 1092, 0, 575, 576, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 1070, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 599, 600, 601, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 0, 1071, 251, 1072, 1073, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 1074, 1075,
264, 0, 265, 266, 267, 268, 0, 0, 270, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
289, 0, 0, 0, 290, 0, 0, 0, 291, 292,
293, 294, 295, 296, 1076, 1077, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 1078, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 0, 327, 328, 329, 330, 0, 0, 332, 0,
333, 334, 1079, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 0, 0, 0,
348, 349, 0, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 0, 370, 371, 372, 373, 1081,
1082, 0, 1083, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 0, 389, 390,
391, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 1084, 412, 1085, 414, 415, 416, 417,
418, 419, 420, 3815, 0, 423, 0, 424, 425, 426,
427, 0, 0, 429, 1086, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
0, 442, 443, 444, 0, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 0, 458, 0,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 1087, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 0, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
1088, 516, 517, 518, 519, 520, 1089, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 0, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 1090, 1091, 0,
0, 550, 551, 0, 553, 0, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 0,
1092, 0, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 1070,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
599, 600, 601, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 245, 246, 247, 248, 0, 1071, 251,
1072, 1073, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 1074, 1075, 264, 0, 265, 266, 267,
268, 0, 0, 270, 0, 271, 272, 273, 274, 275,
276, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 286, 287, 288, 289, 0, 0, 0, 290,
0, 0, 0, 291, 292, 293, 294, 295, 296, 1076,
1077, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
1078, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 0, 327, 328, 329,
330, 0, 0, 332, 0, 333, 334, 1079, 336, 5393,
337, 0, 338, 339, 0, 340, 341, 342, 343, 344,
0, 345, 0, 0, 0, 348, 349, 0, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 368, 0,
370, 371, 372, 373, 1081, 1082, 0, 1083, 0, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 0,
0, 387, 0, 389, 390, 391, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 1084, 412,
1085, 414, 415, 416, 417, 418, 419, 420, 0, 0,
423, 0, 424, 425, 426, 427, 0, 0, 429, 1086,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 0, 442, 443, 444, 0,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 0, 458, 0, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 1087,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
492, 493, 494, 495, 496, 497, 0, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 1088, 516, 517, 518, 519,
520, 1089, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 0, 537, 0,
538, 539, 0, 540, 541, 542, 543, 544, 545, 546,
0, 547, 1090, 1091, 0, 0, 550, 551, 0, 553,
0, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 0, 1092, 0, 575, 576, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 1070, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 599, 600, 601, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 0, 1071, 251, 1072, 1073, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 1074, 1075,
264, 0, 265, 266, 267, 268, 0, 0, 270, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
289, 0, 0, 0, 290, 0, 0, 0, 291, 292,
293, 294, 295, 296, 1076, 1077, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 1078, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 0, 327, 328, 329, 330, 0, 0, 332, 0,
333, 334, 1079, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 0, 0, 0,
348, 349, 0, 350, 351, 352, 353, 1080, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 0, 370, 371, 372, 373, 1081,
1082, 0, 1083, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 0, 389, 390,
391, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 1084, 412, 1085, 414, 415, 416, 417,
418, 419, 420, 0, 0, 423, 0, 424, 425, 426,
427, 0, 0, 429, 1086, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
0, 442, 443, 444, 0, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 0, 458, 0,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 1087, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 0, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
1088, 516, 517, 518, 519, 520, 1089, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 0, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 1090, 1091, 0,
0, 550, 551, 0, 553, 0, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 0,
1092, 0, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 1070,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
599, 600, 601, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 245, 246, 247, 248, 0, 1071, 251,
1072, 1073, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 1074, 1075, 264, 0, 265, 266, 267,
268, 0, 0, 270, 0, 271, 272, 273, 274, 275,
276, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 286, 287, 288, 289, 0, 0, 0, 290,
0, 0, 0, 291, 292, 293, 294, 295, 296, 1076,
1077, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
1078, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 0, 327, 328, 329,
330, 0, 0, 332, 0, 333, 334, 1079, 336, 0,
337, 0, 338, 339, 0, 340, 341, 342, 343, 344,
0, 345, 0, 0, 0, 348, 349, 0, 350, 351,
352, 353, 1138, 355, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 368, 0,
370, 371, 372, 373, 1081, 1082, 0, 1083, 0, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 0,
0, 387, 0, 389, 390, 391, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 1084, 412,
1085, 414, 415, 416, 417, 418, 419, 420, 0, 0,
423, 0, 424, 425, 426, 427, 0, 0, 429, 1086,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 0, 442, 443, 444, 0,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 0, 458, 0, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 1087,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
492, 493, 494, 495, 496, 497, 0, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 1088, 516, 517, 518, 519,
520, 1089, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 0, 537, 0,
538, 539, 0, 540, 541, 542, 543, 544, 545, 546,
0, 547, 1090, 1091, 0, 0, 550, 551, 0, 553,
0, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 0, 1092, 0, 575, 576, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 1070, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 599, 600, 601, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 0, 1071, 251, 1072, 1073, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 1074, 1075,
264, 0, 265, 266, 267, 268, 0, 0, 270, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
289, 0, 0, 0, 290, 0, 0, 0, 291, 292,
293, 294, 295, 296, 1076, 1077, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 1078, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 0, 327, 328, 329, 330, 0, 0, 332, 0,
333, 334, 1079, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 0, 0, 0,
348, 349, 0, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 0, 370, 371, 372, 373, 1081,
1082, 0, 1083, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 0, 389, 390,
391, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 1084, 412, 1085, 414, 415, 416, 417,
418, 419, 420, 0, 0, 423, 0, 424, 425, 426,
427, 0, 0, 429, 1086, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
0, 442, 443, 444, 0, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 0, 458, 0,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 1087, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 0, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
1088, 516, 517, 518, 519, 520, 1089, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 0, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 1090, 1091, 0,
0, 550, 551, 0, 553, 0, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 0,
1092, 0, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 1070,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
599, 600, 601, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 245, 246, 247, 248, 0, 1071, 251,
1072, 1073, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 1074, 1075, 264, 0, 265, 266, 267,
268, 0, 0, 270, 0, 271, 272, 273, 274, 275,
276, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 286, 287, 288, 289, 0, 0, 0, 290,
0, 0, 0, 291, 292, 293, 294, 295, 296, 1076,
1077, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
1078, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 0, 327, 328, 329,
330, 0, 0, 332, 0, 333, 334, 1079, 336, 0,
337, 0, 338, 339, 0, 340, 341, 342, 343, 344,
0, 345, 0, 0, 0, 348, 349, 0, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 368, 0,
370, 371, 372, 373, 1081, 1082, 0, 1083, 0, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 0,
0, 387, 0, 389, 390, 391, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 1084, 412,
1085, 414, 415, 416, 417, 418, 419, 420, 0, 0,
423, 0, 424, 425, 426, 427, 0, 0, 429, 1086,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 0, 442, 443, 444, 0,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 0, 458, 0, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 1087,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
492, 493, 494, 495, 496, 497, 0, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 2195, 516, 517, 518, 519,
520, 1089, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 0, 537, 0,
538, 539, 0, 540, 541, 542, 543, 544, 545, 546,
0, 547, 1090, 1091, 0, 0, 550, 551, 0, 553,
0, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 0, 1092, 0, 575, 576, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 1070, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 599, 600, 601, 0, 0,
0, 0, 0, 229, 230, 231, 232, 233, 234, 235,
236, 0, 237, 238, 239, 0, 0, 0, 0, 0,
0, 0, 240, 241, 0, 242, 243, 244, 245, 246,
247, 248, 0, 1071, 251, 1072, 1073, 0, 254, 255,
256, 257, 258, 259, 0, 0, 260, 261, 1074, 1075,
264, 0, 265, 266, 267, 268, 0, 0, 270, 0,
271, 272, 273, 274, 275, 276, 277, 278, 279, 0,
280, 281, 282, 283, 284, 285, 0, 286, 287, 288,
289, 0, 0, 0, 290, 0, 0, 0, 291, 292,
293, 294, 295, 296, 1076, 1077, 299, 0, 300, 0,
301, 302, 303, 304, 305, 306, 0, 307, 308, 309,
310, 0, 0, 311, 312, 1078, 314, 315, 0, 316,
317, 318, 0, 319, 320, 321, 0, 322, 323, 324,
325, 0, 327, 328, 329, 330, 0, 0, 332, 0,
333, 334, 1079, 336, 0, 337, 0, 338, 339, 0,
340, 341, 342, 343, 344, 0, 345, 0, 0, 0,
348, 349, 0, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 0, 360, 361, 362, 363, 364, 365,
366, 0, 367, 368, 0, 370, 371, 372, 373, 1081,
1082, 0, 1083, 0, 377, 378, 379, 380, 381, 382,
383, 384, 385, 386, 0, 0, 387, 0, 389, 390,
391, 0, 392, 393, 394, 0, 0, 395, 396, 397,
398, 399, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 410, 1084, 412, 1085, 414, 415, 416, 417,
418, 419, 420, 0, 0, 423, 0, 424, 425, 426,
427, 0, 0, 429, 1086, 431, 432, 433, 0, 434,
435, 0, 0, 436, 437, 438, 0, 0, 439, 440,
0, 442, 443, 444, 0, 446, 447, 448, 449, 450,
451, 452, 453, 454, 0, 455, 456, 0, 458, 0,
460, 461, 462, 0, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, 1087, 474, 475, 476, 477, 0,
478, 479, 480, 481, 482, 483, 484, 485, 486, 487,
488, 489, 0, 490, 491, 492, 493, 494, 495, 496,
497, 0, 499, 500, 501, 502, 503, 504, 505, 506,
507, 0, 508, 509, 510, 511, 512, 0, 513, 514,
0, 516, 517, 518, 519, 520, 1089, 522, 0, 523,
524, 525, 526, 527, 528, 529, 530, 531, 532, 533,
534, 535, 0, 537, 0, 538, 539, 0, 540, 541,
542, 543, 544, 545, 546, 0, 547, 1090, 1091, 0,
0, 550, 551, 0, 553, 0, 0, 555, 556, 557,
558, 559, 560, 561, 562, 0, 0, 563, 564, 565,
566, 567, 0, 0, 568, 569, 570, 571, 572, 0,
1092, 0, 575, 576, 577, 578, 579, 580, 0, 0,
581, 0, 0, 582, 583, 584, 585, 586, 587, 1070,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
599, 600, 601, 0, 0, 0, 0, 0, 229, 230,
231, 232, 233, 234, 235, 236, 0, 237, 238, 239,
0, 0, 0, 0, 0, 0, 0, 240, 241, 0,
242, 243, 244, 245, 246, 247, 248, 0, 0, 251,
0, 0, 0, 254, 255, 256, 257, 258, 259, 0,
0, 260, 261, 0, 0, 264, 0, 265, 266, 267,
268, 0, 0, 270, 0, 271, 272, 273, 274, 275,
276, 277, 278, 279, 0, 280, 281, 282, 283, 284,
285, 0, 286, 287, 288, 289, 0, 0, 0, 290,
0, 0, 0, 291, 292, 293, 294, 295, 296, 0,
0, 299, 0, 300, 0, 301, 302, 303, 304, 305,
306, 0, 307, 308, 309, 310, 0, 0, 311, 312,
313, 314, 315, 0, 316, 317, 318, 0, 319, 320,
321, 0, 322, 323, 324, 325, 0, 327, 328, 329,
330, 0, 0, 332, 0, 333, 334, 0, 336, 0,
337, 0, 338, 339, 0, 340, 341, 342, 343, 344,
0, 345, 0, 0, 0, 348, 349, 0, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, 0, 360,
361, 362, 363, 364, 365, 366, 0, 367, 368, 0,
370, 371, 372, 373, 0, 0, 0, 0, 0, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 0,
0, 387, 0, 389, 390, 391, 0, 392, 393, 394,
0, 0, 395, 396, 397, 398, 399, 400, 401, 402,
403, 404, 405, 406, 407, 408, 409, 410, 0, 412,
0, 414, 415, 416, 417, 418, 419, 420, 0, 0,
423, 0, 424, 425, 426, 427, 0, 0, 429, 0,
431, 432, 433, 0, 434, 435, 0, 0, 436, 437,
438, 0, 0, 439, 440, 0, 442, 443, 444, 0,
446, 447, 448, 449, 450, 451, 452, 453, 454, 0,
455, 456, 0, 458, 0, 460, 461, 462, 0, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, 0,
474, 475, 476, 477, 0, 478, 479, 480, 481, 482,
483, 484, 485, 486, 487, 488, 489, 0, 490, 491,
492, 493, 494, 495, 496, 497, 0, 499, 500, 501,
502, 503, 504, 505, 506, 507, 0, 508, 509, 510,
511, 512, 0, 513, 514, 0, 516, 517, 518, 519,
520, 0, 522, 0, 523, 524, 525, 526, 527, 528,
529, 530, 531, 532, 533, 534, 535, 0, 537, 0,
538, 539, 0, 540, 541, 542, 543, 544, 545, 546,
0, 547, 0, 0, 0, 0, 550, 551, 0, 553,
0, 0, 555, 556, 557, 558, 559, 560, 561, 562,
0, 0, 563, 564, 565, 566, 567, 0, 0, 568,
569, 570, 571, 572, 0, 0, 0, 575, 576, 577,
578, 579, 580, 0, 0, 581, 0, 0, 582, 583,
584, 585, 586, 587, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 599, 600, 601
};
static const yytype_int16 yycheck[] =
{
6, 919, 0, 44, 637, 0, 0, 8, 51, 0,
183, 205, 0, 1161, 15, 1441, 947, 23, 711, 25,
1183, 1568, 936, 29, 36, 797, 21, 848, 34, 35,
36, 205, 38, 200, 1118, 41, 42, 799, 44, 1088,
46, 208, 1487, 945, 211, 1503, 22, 951, 859, 749,
750, 751, 28, 2903, 949, 755, 920, 822, 45, 13,
821, 1487, 2606, 1076, 1077, 191, 1480, 2534, 1292, 1033,
806, 1729, 1091, 1086, 1215, 210, 2953, 693, 3058, 2447,
3354, 2362, 3085, 1979, 628, 0, 2733, 2199, 2200, 224,
23, 707, 670, 1007, 1633, 1808, 2547, 1011, 670, 18,
3707, 3661, 1016, 36, 1998, 775, 3308, 1492, 2709, 2426,
871, 3384, 1026, 3373, 2962, 3401, 0, 3111, 3404, 3113,
3707, 3703, 716, 4002, 706, 884, 1040, 6, 3635, 919,
3605, 3759, 185, 691, 3990, 679, 694, 21, 928, 717,
170, 185, 1600, 1601, 3794, 3985, 3946, 2092, 938, 1022,
4506, 910, 3641, 0, 2927, 1069, 915, 4622, 2044, 35,
2046, 0, 1820, 0, 1419, 1038, 42, 1470, 0, 50,
0, 2163, 0, 0, 0, 0, 2972, 2165, 219, 2855,
4785, 0, 0, 4457, 0, 191, 192, 193, 194, 3989,
196, 3371, 2131, 954, 200, 4259, 202, 845, 1911, 205,
41, 845, 208, 2142, 4826, 211, 3566, 4697, 214, 1594,
216, 1074, 1075, 219, 3683, 4838, 0, 223, 1366, 225,
6, 4638, 1085, 4640, 802, 0, 0, 1530, 5061, 869,
802, 4505, 1245, 1246, 0, 3640, 1621, 3642, 0, 11,
4130, 53, 39, 5037, 1547, 11, 116, 61, 826, 4739,
13, 91, 0, 1266, 6, 61, 2537, 1276, 78, 30,
12, 839, 6, 11, 30, 6, 30, 36, 12, 76,
910, 15, 16, 5, 4514, 915, 4746, 4747, 43, 11,
4074, 4075, 30, 4077, 4078, 4079, 4080, 4081, 6, 163,
33, 61, 169, 30, 12, 175, 1107, 15, 16, 6,
1000, 13, 1631, 1632, 30, 12, 1433, 116, 2493, 109,
2495, 37, 6, 6, 2499, 46, 2501, 2502, 12, 12,
78, 15, 16, 51, 3060, 2510, 2511, 2512, 116, 180,
6, 6, 44, 6, 123, 6, 12, 12, 6, 12,
148, 12, 6, 6, 12, 118, 43, 168, 12, 12,
121, 168, 280, 4003, 168, 61, 6, 148, 168, 192,
5, 885, 12, 6, 76, 66, 11, 33, 2649, 168,
2651, 1234, 1235, 6, 170, 116, 6, 1047, 3, 12,
5, 6, 12, 61, 168, 31, 11, 12, 168, 13,
5378, 196, 280, 168, 168, 286, 286, 3319, 1261, 6,
83, 28, 168, 163, 5237, 12, 168, 116, 192, 88,
261, 78, 3, 70, 311, 6, 78, 192, 192, 1383,
168, 12, 49, 218, 294, 319, 192, 168, 11, 367,
192, 13, 142, 284, 5228, 206, 170, 36, 30, 10,
269, 5063, 13, 152, 192, 37, 396, 1349, 5445, 5446,
120, 120, 61, 149, 296, 2386, 160, 1361, 350, 187,
345, 61, 44, 637, 192, 4955, 261, 334, 408, 338,
442, 4827, 78, 61, 78, 147, 185, 265, 448, 46,
3537, 116, 88, 828, 61, 4902, 282, 339, 330, 146,
360, 116, 334, 477, 76, 451, 6, 4298, 367, 339,
635, 229, 78, 410, 4305, 1554, 641, 491, 165, 1125,
3567, 13, 88, 410, 688, 367, 168, 489, 474, 654,
111, 78, 194, 493, 1419, 367, 396, 168, 163, 168,
30, 1201, 2463, 5366, 340, 5523, 1297, 37, 430, 489,
354, 408, 44, 213, 213, 374, 431, 454, 282, 26,
149, 5548, 256, 493, 168, 493, 265, 454, 118, 487,
261, 207, 370, 491, 1325, 1143, 354, 304, 438, 1163,
340, 1143, 121, 1189, 76, 370, 336, 220, 1482, 370,
207, 451, 3318, 1161, 1200, 436, 211, 408, 408, 360,
386, 396, 3794, 184, 337, 489, 396, 270, 408, 13,
1216, 489, 493, 493, 474, 137, 5439, 350, 233, 352,
616, 321, 489, 493, 5236, 489, 622, 3819, 624, 489,
626, 5226, 628, 621, 630, 362, 621, 621, 393, 443,
621, 637, 396, 621, 340, 430, 642, 1161, 644, 408,
1767, 5435, 1220, 432, 372, 651, 61, 212, 1220, 1563,
408, 377, 1566, 493, 245, 312, 216, 248, 135, 430,
493, 434, 340, 400, 1537, 402, 1456, 408, 477, 675,
413, 337, 5505, 679, 717, 848, 493, 489, 684, 4154,
487, 1374, 688, 3957, 491, 691, 4193, 493, 694, 441,
4197, 721, 489, 4182, 493, 4585, 393, 5167, 617, 5055,
1631, 1632, 1633, 489, 710, 265, 437, 3710, 492, 489,
1574, 282, 1585, 5546, 480, 481, 488, 492, 492, 451,
761, 716, 485, 493, 3005, 3999, 492, 1629, 1518, 408,
492, 340, 480, 481, 4094, 5357, 477, 489, 3998, 422,
340, 408, 474, 744, 492, 489, 408, 5370, 480, 481,
491, 447, 340, 1401, 730, 761, 732, 1401, 734, 1518,
2089, 715, 322, 340, 740, 4559, 1344, 358, 425, 4238,
776, 489, 1344, 485, 1352, 1353, 4181, 971, 4183, 489,
487, 822, 489, 836, 491, 377, 1949, 493, 1366, 453,
796, 797, 836, 799, 800, 489, 489, 971, 804, 4779,
967, 4003, 408, 453, 408, 478, 973, 5297, 1153, 976,
474, 852, 818, 489, 489, 493, 822, 1638, 489, 5441,
5310, 489, 828, 1347, 474, 489, 489, 868, 1352, 1353,
956, 1915, 408, 717, 840, 480, 481, 489, 1478, 489,
838, 408, 1366, 838, 838, 478, 852, 838, 478, 5266,
838, 408, 493, 478, 493, 480, 481, 3533, 482, 483,
484, 485, 868, 2975, 1877, 2977, 2311, 4931, 4048, 1764,
437, 478, 1956, 4501, 384, 385, 5232, 377, 469, 493,
886, 430, 5504, 1967, 493, 891, 892, 478, 3205, 3,
367, 1531, 1525, 493, 3345, 2280, 168, 480, 481, 3695,
482, 483, 484, 485, 3907, 493, 24, 109, 1548, 480,
481, 482, 483, 484, 485, 447, 493, 185, 924, 925,
192, 5411, 38, 838, 275, 340, 3906, 109, 493, 4771,
261, 116, 5537, 493, 1458, 5209, 29, 109, 177, 2900,
2932, 947, 948, 2482, 1468, 2933, 861, 300, 829, 300,
956, 1296, 26, 430, 838, 314, 2211, 5231, 32, 800,
326, 967, 4942, 804, 26, 971, 121, 973, 109, 6,
976, 3, 2357, 87, 26, 168, 4938, 2916, 480, 481,
482, 483, 484, 485, 169, 991, 62, 109, 286, 1852,
1853, 838, 2953, 110, 70, 5235, 3, 2300, 162, 838,
116, 838, 5358, 367, 3285, 3286, 838, 1013, 838, 5474,
838, 838, 838, 838, 1020, 1021, 74, 4817, 2963, 838,
838, 2907, 838, 261, 10, 95, 140, 13, 487, 70,
148, 1555, 491, 4620, 1558, 1559, 1042, 1043, 1044, 2586,
1046, 121, 1048, 1049, 1050, 4025, 3819, 88, 924, 925,
6, 206, 180, 245, 119, 87, 180, 3979, 44, 300,
42, 135, 1407, 26, 4714, 4672, 480, 481, 482, 483,
484, 485, 4659, 135, 6, 266, 2224, 170, 444, 196,
87, 266, 395, 135, 198, 4672, 275, 350, 26, 368,
76, 3968, 116, 1997, 32, 281, 334, 3378, 90, 3284,
85, 4576, 118, 170, 174, 146, 345, 139, 111, 26,
85, 300, 1118, 121, 1120, 1121, 281, 1817, 431, 382,
4627, 99, 26, 188, 165, 4632, 206, 5367, 4635, 493,
489, 2035, 139, 261, 4623, 1054, 489, 2041, 489, 470,
132, 85, 127, 307, 85, 109, 2195, 1153, 732, 733,
734, 53, 127, 737, 738, 739, 5136, 233, 2089, 2054,
5002, 5141, 364, 747, 5020, 1166, 358, 1168, 1163, 1170,
286, 1172, 135, 1174, 1175, 1176, 5138, 1183, 1184, 451,
1181, 184, 1188, 127, 1190, 22, 127, 2091, 302, 261,
2604, 28, 490, 85, 5073, 493, 3308, 135, 206, 177,
1206, 5057, 1964, 1965, 236, 107, 1212, 5447, 190, 1215,
489, 5451, 1218, 5053, 396, 408, 4490, 1741, 135, 5019,
278, 489, 296, 316, 396, 1918, 1232, 149, 149, 236,
4503, 135, 350, 270, 296, 127, 4496, 354, 281, 430,
4526, 281, 245, 6, 296, 248, 270, 432, 489, 316,
4253, 4838, 370, 1296, 270, 396, 5056, 1263, 61, 352,
334, 416, 1955, 5503, 296, 451, 1959, 1883, 2199, 1851,
1963, 312, 334, 1966, 396, 430, 111, 2038, 395, 396,
360, 1897, 334, 261, 477, 1291, 3398, 1293, 1294, 296,
1296, 456, 110, 367, 1910, 1839, 282, 261, 491, 184,
489, 4295, 334, 205, 118, 367, 338, 5547, 436, 423,
1316, 145, 436, 298, 270, 367, 2211, 431, 411, 3,
434, 275, 1880, 298, 417, 2030, 1908, 5567, 2033, 10,
5570, 1925, 13, 1386, 1387, 367, 1389, 1895, 270, 1369,
1898, 169, 1386, 1387, 350, 1389, 300, 4929, 1926, 184,
430, 1525, 1358, 367, 298, 358, 281, 298, 296, 261,
245, 477, 1403, 44, 436, 173, 108, 399, 275, 401,
51, 487, 489, 489, 490, 491, 210, 493, 196, 296,
284, 88, 1388, 435, 425, 2018, 1392, 1393, 4236, 173,
4865, 4898, 399, 300, 401, 76, 334, 1403, 1404, 1405,
1958, 1407, 216, 1961, 1962, 130, 298, 132, 451, 116,
245, 451, 295, 248, 2176, 453, 401, 334, 327, 451,
5363, 5364, 430, 451, 1430, 233, 401, 405, 191, 367,
354, 5059, 116, 179, 338, 339, 474, 200, 360, 360,
442, 354, 121, 30, 350, 208, 489, 2342, 211, 233,
367, 265, 286, 145, 356, 158, 135, 401, 261, 1465,
401, 311, 143, 367, 1470, 493, 469, 1473, 4069, 296,
4014, 299, 2367, 358, 396, 396, 118, 334, 2396, 493,
1486, 1487, 4957, 489, 367, 95, 489, 4962, 4963, 1495,
396, 180, 1498, 192, 480, 481, 482, 483, 484, 485,
1845, 243, 296, 408, 246, 115, 187, 334, 322, 401,
367, 192, 4714, 5100, 619, 128, 438, 438, 326, 1525,
2310, 1527, 5129, 358, 1530, 138, 451, 230, 437, 451,
451, 30, 280, 2428, 1453, 489, 354, 340, 230, 149,
367, 1547, 5129, 130, 1550, 373, 165, 1553, 229, 1590,
275, 2482, 474, 474, 2132, 4828, 4816, 40, 265, 218,
410, 2456, 2646, 5506, 367, 489, 295, 489, 489, 1575,
2443, 2020, 261, 367, 216, 321, 489, 395, 396, 5139,
1164, 265, 489, 1167, 1590, 1169, 270, 1171, 493, 1173,
424, 336, 400, 1177, 402, 239, 1602, 1603, 1604, 1605,
1606, 282, 261, 2827, 454, 351, 2396, 296, 713, 119,
3978, 2376, 2377, 168, 1620, 2380, 400, 3934, 402, 3513,
428, 169, 296, 265, 1539, 1631, 1632, 1633, 239, 1544,
309, 130, 171, 2528, 469, 334, 444, 192, 367, 338,
3187, 2431, 125, 6, 428, 334, 2224, 5234, 239, 12,
6, 1996, 3969, 1998, 202, 2476, 2477, 2478, 26, 2004,
334, 3075, 489, 322, 32, 2010, 2011, 2012, 367, 217,
2543, 3632, 118, 2217, 3635, 2465, 2021, 2022, 188, 227,
322, 2026, 3794, 296, 145, 30, 791, 2446, 286, 15,
16, 372, 2308, 2566, 2567, 2568, 2569, 158, 1892, 239,
1615, 158, 163, 2617, 1619, 2578, 451, 3819, 3893, 1835,
354, 370, 3897, 3898, 1881, 3900, 338, 1891, 1892, 1393,
330, 334, 163, 1729, 13, 1731, 3265, 296, 160, 474,
2603, 5291, 3271, 174, 376, 158, 81, 1743, 1744, 3452,
163, 295, 2966, 354, 89, 367, 3707, 436, 493, 210,
360, 192, 451, 408, 200, 399, 284, 1763, 4039, 357,
4041, 3657, 5036, 354, 432, 334, 4671, 135, 296, 230,
4773, 430, 117, 230, 4679, 474, 1782, 2542, 317, 130,
1539, 132, 88, 5370, 428, 1544, 396, 76, 399, 5062,
222, 472, 1798, 1799, 1800, 1801, 344, 478, 367, 480,
481, 482, 483, 484, 485, 1811, 334, 230, 399, 453,
349, 5071, 1818, 367, 1820, 261, 277, 428, 396, 265,
277, 489, 477, 362, 3209, 286, 1832, 172, 438, 1835,
296, 87, 164, 1839, 242, 145, 491, 428, 2382, 1845,
185, 451, 453, 5450, 2018, 489, 295, 3010, 158, 33,
119, 432, 197, 163, 277, 47, 1615, 5444, 397, 399,
1619, 296, 453, 5450, 474, 6, 198, 173, 334, 3254,
4850, 12, 128, 57, 1880, 1881, 2400, 69, 489, 489,
352, 4803, 138, 451, 2408, 1891, 1892, 2411, 428, 1895,
196, 4003, 1898, 730, 432, 732, 2596, 734, 489, 334,
210, 367, 343, 740, 741, 742, 4553, 296, 489, 1915,
1916, 0, 675, 453, 265, 443, 1922, 13, 1924, 188,
230, 684, 3380, 2818, 275, 493, 171, 233, 691, 2824,
1925, 694, 367, 1974, 1935, 239, 1937, 350, 1939, 352,
1941, 413, 1943, 1949, 5551, 334, 1947, 255, 44, 489,
1956, 489, 1958, 451, 4948, 1961, 1962, 5230, 1964, 1965,
5246, 1967, 219, 424, 5551, 410, 170, 277, 1974, 5229,
2983, 279, 296, 326, 352, 1981, 286, 1989, 367, 285,
76, 1979, 1988, 1989, 1979, 1979, 1992, 4711, 1979, 4456,
1996, 1979, 1998, 4274, 4275, 493, 4846, 2003, 2004, 203,
413, 67, 68, 2696, 2010, 2011, 2012, 3968, 361, 2015,
334, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 4666,
2026, 4668, 2028, 2029, 4475, 360, 2032, 158, 4495, 489,
4754, 2609, 163, 108, 267, 413, 322, 2609, 383, 453,
296, 386, 1926, 396, 2050, 2051, 2052, 2053, 885, 335,
354, 2057, 2058, 3711, 492, 1988, 2062, 2727, 2728, 2065,
474, 396, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075,
2076, 2077, 2266, 2079, 330, 489, 1995, 363, 334, 2085,
2086, 2902, 173, 2089, 70, 326, 5359, 2665, 493, 164,
2096, 444, 2266, 2665, 400, 399, 402, 2264, 5372, 230,
2267, 2268, 334, 438, 349, 5085, 400, 413, 402, 239,
355, 367, 5034, 28, 424, 36, 451, 362, 451, 425,
361, 451, 428, 198, 428, 2131, 314, 360, 4445, 5051,
116, 2257, 2138, 118, 49, 367, 2142, 2143, 296, 474,
5143, 474, 233, 265, 474, 413, 277, 2153, 270, 453,
5000, 242, 397, 354, 489, 396, 2162, 2163, 274, 489,
493, 444, 2973, 396, 163, 5042, 5088, 5440, 243, 2905,
2176, 246, 2307, 914, 419, 2699, 334, 2183, 163, 2185,
338, 10, 383, 2181, 13, 489, 172, 186, 17, 18,
19, 453, 933, 956, 6, 936, 3359, 3061, 320, 220,
12, 239, 163, 444, 967, 438, 3369, 242, 489, 367,
973, 2217, 474, 976, 2226, 200, 2228, 2562, 451, 3766,
2226, 357, 2228, 3087, 354, 186, 0, 489, 1531, 2862,
265, 4416, 4193, 4418, 4419, 10, 4197, 4422, 2279, 2245,
6, 474, 17, 18, 19, 1548, 12, 21, 2224, 5,
2385, 2257, 2136, 2259, 2260, 11, 489, 490, 2264, 492,
2266, 2267, 2268, 19, 2270, 163, 2272, 3980, 1786, 399,
2276, 239, 3062, 2279, 2619, 5549, 261, 51, 5128, 265,
265, 37, 244, 78, 270, 1048, 1049, 1050, 186, 5211,
78, 5294, 1810, 88, 2300, 130, 451, 132, 428, 280,
88, 2635, 2636, 2637, 285, 2311, 3764, 3000, 3766, 400,
484, 402, 3757, 2319, 2320, 489, 354, 491, 489, 474,
2326, 156, 6, 453, 1161, 6, 312, 2462, 12, 2335,
2908, 12, 6, 413, 3265, 2376, 2377, 428, 12, 2380,
3271, 490, 328, 4001, 493, 5, 2020, 3137, 2797, 2798,
2356, 11, 3493, 2802, 2028, 2361, 2362, 413, 3743, 489,
360, 399, 70, 192, 4681, 336, 5, 5, 76, 92,
2376, 2377, 11, 11, 2380, 239, 2382, 2383, 15, 16,
88, 2997, 2998, 6, 2908, 214, 354, 3351, 488, 12,
428, 2840, 2841, 493, 484, 400, 396, 402, 3312, 489,
2406, 491, 5405, 2409, 488, 3424, 3425, 22, 116, 493,
118, 185, 3307, 28, 3799, 453, 357, 2810, 10, 2812,
2813, 13, 257, 258, 259, 260, 2432, 2433, 5350, 264,
265, 399, 3305, 490, 242, 270, 493, 280, 438, 425,
275, 2447, 285, 2449, 2450, 910, 489, 2423, 491, 3027,
915, 489, 44, 282, 2799, 3027, 242, 3681, 3353, 51,
428, 34, 35, 4991, 172, 4993, 2811, 196, 490, 4997,
4998, 493, 350, 351, 2480, 2481, 2482, 186, 490, 2153,
2486, 493, 350, 351, 76, 453, 2492, 5490, 490, 489,
354, 493, 200, 96, 2500, 244, 487, 2503, 489, 2844,
491, 2542, 490, 2509, 413, 493, 490, 282, 84, 493,
1347, 5433, 2518, 4794, 2520, 1352, 1353, 490, 5046, 57,
493, 489, 257, 258, 259, 260, 357, 490, 2534, 1366,
493, 2537, 5076, 2539, 3992, 399, 2542, 444, 490, 3155,
2546, 493, 489, 2549, 2889, 3708, 3709, 490, 350, 351,
493, 143, 5402, 220, 145, 2561, 2562, 265, 3174, 350,
351, 3987, 270, 96, 428, 490, 169, 158, 493, 487,
11, 489, 163, 2579, 4759, 489, 2743, 5499, 490, 2746,
415, 493, 2749, 2589, 490, 2591, 451, 493, 453, 453,
2588, 426, 280, 4007, 2548, 187, 5261, 5262, 490, 202,
192, 493, 4714, 354, 312, 266, 267, 490, 493, 490,
493, 2737, 493, 2619, 217, 4932, 489, 489, 491, 210,
328, 1458, 57, 4940, 227, 489, 451, 490, 453, 490,
493, 1468, 493, 400, 444, 402, 169, 229, 3338, 230,
2646, 5288, 2648, 2649, 2650, 2651, 475, 476, 477, 478,
253, 480, 481, 482, 483, 484, 485, 490, 490, 4620,
493, 493, 5384, 5385, 490, 5515, 4627, 493, 84, 202,
490, 4632, 442, 493, 4635, 1512, 1513, 280, 47, 3692,
2686, 471, 239, 3587, 217, 3580, 277, 216, 2862, 490,
282, 491, 493, 490, 227, 286, 493, 283, 4659, 360,
475, 476, 477, 478, 283, 480, 481, 482, 483, 484,
485, 4672, 3477, 3329, 280, 3331, 10, 425, 1555, 13,
253, 1558, 1559, 17, 18, 19, 490, 163, 4840, 493,
5580, 2737, 400, 280, 402, 396, 3314, 2743, 3316, 47,
2746, 344, 3314, 2749, 3316, 39, 471, 490, 490, 3651,
493, 493, 2758, 2927, 471, 283, 2799, 39, 490, 239,
2766, 493, 482, 490, 4311, 2771, 493, 216, 490, 490,
39, 493, 493, 3466, 167, 10, 58, 438, 13, 490,
372, 492, 17, 18, 19, 490, 3690, 493, 493, 58,
451, 2797, 2798, 2799, 490, 490, 2802, 354, 493, 490,
490, 2844, 493, 493, 2810, 2811, 2812, 2813, 451, 44,
453, 344, 490, 474, 489, 493, 51, 2823, 490, 3397,
2826, 493, 2828, 57, 490, 3397, 108, 493, 489, 432,
4198, 490, 4200, 424, 2840, 2841, 168, 490, 2844, 108,
493, 76, 399, 490, 212, 489, 493, 621, 4293, 490,
490, 3765, 493, 493, 490, 489, 2862, 493, 2864, 491,
2866, 294, 2868, 490, 490, 490, 493, 493, 493, 490,
490, 428, 493, 493, 354, 455, 3492, 4838, 490, 489,
472, 493, 5349, 2889, 489, 3646, 478, 2893, 480, 481,
482, 483, 484, 485, 2900, 490, 453, 492, 3793, 192,
3795, 150, 490, 490, 1741, 493, 493, 2894, 2895, 2896,
2916, 334, 489, 195, 2957, 130, 491, 132, 2924, 399,
214, 150, 145, 3818, 3735, 490, 195, 360, 493, 280,
192, 490, 489, 2939, 493, 158, 490, 4898, 334, 493,
163, 156, 716, 717, 150, 3840, 490, 2953, 428, 493,
490, 2957, 187, 493, 2960, 490, 2962, 192, 493, 10,
280, 243, 13, 396, 246, 150, 17, 18, 19, 490,
192, 150, 493, 453, 243, 280, 163, 246, 3502, 261,
490, 490, 334, 493, 493, 36, 150, 210, 282, 3903,
228, 118, 261, 44, 229, 490, 280, 3003, 493, 3005,
51, 432, 244, 490, 3010, 438, 493, 230, 490, 489,
489, 493, 1849, 295, 490, 3879, 490, 493, 451, 493,
490, 2900, 1859, 493, 1861, 76, 295, 413, 274, 490,
1867, 3037, 493, 3039, 3040, 3041, 490, 1874, 842, 493,
844, 474, 257, 258, 259, 260, 444, 282, 490, 264,
490, 493, 163, 493, 277, 270, 489, 339, 490, 357,
275, 493, 836, 286, 838, 220, 490, 70, 3889, 1832,
339, 265, 1835, 490, 2953, 490, 493, 490, 493, 361,
493, 5042, 490, 490, 490, 493, 493, 493, 490, 39,
265, 493, 361, 4142, 455, 3544, 3545, 3546, 3547, 381,
489, 3550, 3551, 3552, 3553, 3554, 3555, 3556, 3557, 3558,
3559, 3560, 381, 490, 280, 163, 493, 1880, 1881, 490,
265, 47, 493, 2797, 2798, 47, 490, 490, 2802, 493,
493, 265, 1895, 418, 3308, 1898, 187, 372, 87, 5100,
490, 192, 490, 493, 265, 493, 490, 3153, 490, 493,
490, 493, 490, 493, 490, 493, 490, 493, 296, 493,
150, 3610, 3611, 214, 215, 444, 2840, 2841, 5129, 2006,
2007, 490, 490, 444, 493, 493, 2013, 2014, 229, 163,
315, 475, 476, 477, 478, 150, 480, 481, 482, 483,
484, 485, 150, 490, 3539, 1958, 493, 489, 1961, 1962,
415, 424, 680, 489, 441, 308, 489, 150, 2045, 38,
455, 426, 489, 150, 150, 493, 150, 268, 150, 150,
150, 490, 150, 150, 163, 150, 150, 150, 706, 3574,
150, 282, 150, 280, 285, 396, 489, 472, 39, 228,
475, 476, 477, 478, 163, 480, 481, 482, 483, 484,
485, 163, 280, 489, 163, 292, 489, 3, 489, 3265,
212, 489, 489, 10, 487, 3271, 13, 490, 491, 489,
17, 18, 19, 5234, 3280, 489, 489, 3622, 489, 3285,
3286, 27, 489, 452, 489, 489, 489, 489, 489, 36,
489, 489, 489, 489, 489, 3819, 489, 489, 489, 489,
489, 489, 4465, 489, 39, 489, 4210, 489, 99, 39,
493, 228, 493, 493, 3320, 3321, 3322, 163, 277, 163,
275, 372, 367, 66, 408, 2162, 2163, 408, 4232, 354,
408, 3337, 408, 443, 354, 3951, 3952, 491, 408, 408,
354, 87, 230, 408, 408, 477, 3387, 408, 88, 354,
150, 280, 359, 3359, 3360, 225, 4049, 4050, 4051, 4052,
4053, 124, 408, 3369, 3370, 3371, 408, 270, 408, 3375,
399, 10, 3378, 431, 13, 280, 350, 275, 17, 18,
19, 3387, 489, 185, 300, 3383, 408, 2224, 489, 1163,
408, 88, 124, 493, 140, 296, 4822, 36, 192, 39,
150, 432, 432, 124, 408, 396, 408, 408, 396, 5370,
408, 408, 3410, 408, 110, 408, 408, 124, 58, 57,
57, 472, 408, 408, 475, 476, 477, 478, 408, 480,
481, 482, 483, 484, 485, 250, 3477, 408, 408, 490,
10, 284, 493, 13, 408, 3618, 192, 17, 18, 19,
3456, 408, 198, 319, 1228, 4227, 46, 408, 399, 300,
408, 300, 408, 408, 46, 214, 36, 214, 108, 493,
408, 3477, 280, 408, 1248, 490, 214, 3926, 494, 4937,
455, 214, 2319, 5444, 3490, 963, 214, 3493, 280, 5450,
214, 214, 280, 280, 2257, 214, 214, 214, 408, 39,
150, 2264, 489, 418, 2267, 2268, 1280, 28, 280, 3515,
988, 265, 4426, 116, 150, 150, 150, 3523, 3524, 432,
3526, 150, 1296, 280, 236, 1003, 265, 275, 3534, 265,
3536, 4055, 172, 3539, 265, 282, 443, 451, 3544, 3545,
3546, 3547, 39, 163, 3550, 3551, 3552, 3553, 3554, 3555,
3556, 3557, 3558, 3559, 3560, 195, 302, 39, 3564, 3565,
220, 356, 38, 2400, 406, 150, 406, 150, 3574, 432,
408, 2408, 3578, 3616, 2411, 214, 3582, 408, 489, 150,
408, 489, 408, 489, 3590, 4218, 2423, 3593, 487, 3595,
5551, 150, 3635, 489, 4525, 487, 489, 432, 150, 345,
274, 3607, 408, 243, 3610, 3611, 246, 269, 168, 3615,
3616, 447, 1386, 1387, 3620, 1389, 3622, 489, 250, 250,
3794, 261, 13, 3629, 3630, 3631, 3632, 406, 493, 3635,
3636, 489, 489, 408, 3640, 3641, 3642, 3624, 3625, 3626,
3627, 3647, 177, 282, 214, 3819, 159, 185, 394, 168,
410, 185, 210, 218, 370, 295, 493, 490, 281, 3657,
39, 493, 3657, 3657, 432, 289, 3657, 3673, 493, 3657,
57, 490, 354, 489, 4290, 218, 432, 423, 270, 218,
244, 3687, 270, 3689, 489, 431, 408, 413, 434, 444,
4383, 4384, 357, 4386, 408, 408, 163, 220, 270, 339,
280, 3707, 3708, 3709, 47, 3711, 39, 376, 265, 350,
228, 280, 282, 228, 228, 408, 399, 280, 124, 493,
1198, 361, 3728, 3729, 3730, 3731, 280, 60, 475, 476,
477, 478, 280, 480, 481, 482, 483, 484, 485, 280,
334, 381, 367, 186, 408, 364, 4446, 408, 322, 286,
39, 3757, 214, 3632, 432, 432, 3635, 220, 4374, 275,
150, 94, 318, 490, 163, 444, 477, 39, 165, 3775,
397, 275, 319, 364, 489, 150, 150, 150, 4941, 4303,
489, 275, 265, 4128, 5331, 432, 39, 265, 451, 280,
280, 220, 163, 39, 183, 2632, 2633, 183, 164, 490,
487, 2638, 490, 471, 471, 490, 490, 358, 248, 490,
220, 364, 163, 265, 280, 192, 192, 26, 493, 27,
192, 154, 192, 32, 192, 455, 175, 493, 3707, 4003,
408, 489, 168, 247, 493, 451, 475, 476, 477, 478,
4988, 480, 481, 482, 483, 484, 485, 280, 493, 274,
3826, 57, 413, 220, 396, 10, 189, 4473, 13, 168,
444, 168, 2699, 3839, 490, 74, 168, 489, 3874, 4764,
3544, 3545, 3546, 3547, 292, 490, 3550, 3551, 3552, 3553,
3554, 3555, 3556, 3557, 3558, 3559, 3560, 220, 490, 44,
490, 490, 225, 4977, 490, 4979, 51, 490, 493, 301,
168, 490, 489, 3909, 3578, 475, 476, 477, 478, 490,
480, 481, 482, 483, 484, 485, 3922, 490, 3924, 128,
3926, 76, 490, 264, 408, 471, 135, 3933, 291, 138,
242, 448, 265, 3939, 489, 430, 3610, 3611, 34, 35,
489, 473, 238, 3949, 489, 489, 448, 477, 280, 438,
57, 280, 283, 489, 280, 164, 489, 196, 3964, 150,
489, 408, 3968, 455, 297, 270, 408, 408, 204, 153,
408, 265, 3978, 150, 2737, 367, 284, 359, 150, 150,
2743, 3987, 196, 2746, 228, 153, 2749, 280, 143, 198,
359, 3997, 477, 408, 359, 4001, 432, 153, 3996, 95,
493, 230, 4008, 4009, 302, 338, 429, 302, 153, 342,
53, 124, 408, 408, 408, 408, 240, 240, 351, 115,
5183, 5184, 383, 240, 408, 408, 359, 5175, 408, 354,
4792, 354, 187, 4039, 367, 4041, 354, 192, 354, 265,
4673, 150, 4048, 1521, 4218, 367, 379, 46, 408, 408,
408, 408, 261, 149, 97, 388, 265, 488, 408, 392,
408, 408, 4883, 490, 490, 214, 275, 214, 490, 2906,
214, 2908, 214, 490, 229, 284, 180, 4083, 411, 122,
493, 490, 3, 418, 163, 47, 336, 296, 109, 3968,
490, 4097, 493, 4726, 2931, 2932, 139, 163, 39, 4715,
143, 489, 150, 150, 408, 490, 163, 180, 489, 150,
488, 432, 432, 446, 354, 477, 354, 450, 283, 354,
354, 164, 4128, 4572, 167, 4131, 490, 282, 337, 338,
148, 364, 488, 4139, 4140, 4480, 354, 2900, 493, 182,
148, 487, 4148, 4149, 214, 214, 5077, 4153, 141, 214,
214, 1925, 214, 4159, 214, 214, 4162, 4163, 367, 214,
5323, 4167, 4168, 168, 13, 493, 292, 4173, 4174, 4175,
4176, 4177, 163, 490, 443, 4181, 4182, 4183, 168, 4185,
4186, 264, 448, 4189, 490, 168, 489, 4193, 474, 490,
2953, 4197, 177, 490, 493, 0, 437, 4203, 4891, 490,
405, 489, 489, 493, 341, 1979, 490, 490, 86, 4902,
163, 418, 4218, 39, 220, 408, 432, 372, 204, 432,
57, 4227, 150, 399, 489, 4231, 435, 270, 172, 383,
4236, 4229, 4230, 418, 330, 359, 153, 354, 408, 4251,
354, 408, 408, 490, 408, 4251, 408, 490, 4254, 334,
451, 57, 3926, 490, 163, 438, 1734, 489, 399, 76,
280, 150, 109, 490, 360, 418, 214, 214, 4274, 4275,
489, 5419, 10, 1751, 214, 13, 5194, 320, 5173, 17,
18, 19, 214, 218, 199, 2059, 489, 4293, 4981, 408,
95, 1769, 455, 280, 493, 329, 490, 493, 36, 39,
396, 278, 4308, 300, 280, 3, 493, 489, 418, 408,
489, 364, 493, 174, 4193, 490, 109, 472, 4197, 488,
168, 4297, 214, 478, 168, 480, 481, 482, 483, 484,
485, 4307, 490, 490, 57, 292, 10, 489, 449, 13,
145, 449, 438, 17, 18, 19, 442, 1825, 217, 217,
490, 490, 4358, 158, 489, 451, 490, 493, 163, 490,
1838, 489, 398, 168, 290, 287, 489, 57, 181, 174,
490, 275, 177, 1851, 405, 5270, 181, 477, 474, 4385,
418, 408, 168, 451, 76, 1863, 193, 198, 186, 186,
270, 270, 57, 489, 4400, 477, 4974, 399, 493, 493,
70, 408, 150, 153, 408, 210, 490, 2181, 408, 489,
4988, 214, 408, 123, 170, 4864, 168, 116, 5111, 39,
432, 192, 275, 432, 39, 230, 489, 364, 4434, 1907,
1908, 265, 165, 163, 364, 275, 451, 82, 57, 399,
5140, 451, 39, 168, 4450, 280, 163, 489, 201, 212,
4456, 283, 168, 437, 489, 380, 489, 4131, 490, 4465,
490, 300, 217, 489, 4988, 489, 489, 88, 450, 131,
280, 3308, 277, 490, 4480, 280, 214, 328, 489, 408,
39, 286, 150, 150, 408, 163, 489, 4493, 489, 4495,
39, 270, 490, 196, 4492, 3332, 241, 489, 364, 4673,
489, 489, 150, 109, 5137, 136, 6, 39, 489, 489,
489, 4185, 490, 10, 447, 490, 13, 284, 418, 378,
17, 18, 19, 4529, 4869, 490, 378, 57, 39, 79,
489, 489, 4726, 489, 489, 437, 341, 399, 489, 36,
4714, 493, 185, 399, 282, 432, 163, 44, 261, 280,
489, 6, 4726, 399, 51, 157, 490, 455, 4725, 149,
351, 351, 489, 4908, 70, 283, 4572, 70, 131, 489,
451, 2049, 10, 436, 451, 13, 489, 437, 489, 76,
39, 493, 367, 168, 3421, 10, 325, 399, 13, 270,
136, 396, 17, 18, 19, 4601, 4602, 5175, 198, 4605,
280, 280, 4769, 489, 364, 39, 44, 5502, 282, 39,
283, 283, 193, 51, 4620, 489, 170, 4623, 170, 424,
490, 4627, 493, 448, 489, 57, 4632, 4972, 4973, 4635,
4636, 408, 4638, 490, 4640, 350, 4642, 4643, 76, 121,
387, 430, 6, 448, 364, 450, 451, 10, 490, 350,
13, 4652, 146, 4659, 5103, 4661, 489, 287, 335, 489,
489, 489, 493, 25, 36, 3502, 4672, 4673, 4674, 493,
4676, 5566, 270, 489, 149, 168, 408, 288, 79, 350,
489, 44, 487, 378, 378, 490, 491, 492, 51, 5584,
187, 191, 451, 451, 170, 192, 170, 1618, 2546, 877,
200, 201, 1353, 925, 924, 143, 838, 2431, 208, 2908,
210, 211, 3087, 76, 3793, 2350, 5314, 214, 215, 4725,
4726, 3768, 2516, 2457, 224, 3299, 5173, 4767, 5419, 3949,
4822, 4436, 229, 4791, 3004, 2686, 5314, 475, 476, 477,
478, 4620, 480, 481, 482, 483, 484, 485, 4627, 187,
5293, 4672, 5097, 4632, 192, 5408, 4635, 5203, 5202, 5334,
5444, 3008, 3997, 4769, 3982, 5147, 4772, 3940, 2531, 5114,
2531, 268, 3112, 5118, 3349, 5120, 3788, 920, 4784, 4474,
4659, 4787, 3965, 2261, 4798, 282, 4792, 2525, 4794, 214,
3361, 229, 4807, 4672, 5421, 4801, 4837, 2275, 4796, 5584,
5566, 475, 476, 477, 478, 4784, 480, 481, 482, 483,
484, 485, 4818, 3307, 2588, 4005, 4822, 5347, 4728, 4825,
4960, 1777, 4731, 5156, 187, 28, 4058, 4928, 2200, 192,
4836, 4837, 4838, 5512, 2982, 5077, 4834, 1190, 2316, 4007,
1823, 5419, 1821, 1982, 282, 1982, 704, 1891, 671, 3241,
1832, 3818, 1983, 3353, 2456, 5375, 3840, 282, 4864, 5554,
1437, 4867, 4028, 4869, 2132, 4908, 229, 817, 4030, 3632,
839, 2143, 3635, 1926, 4655, 372, 4231, 5287, 3687, 2924,
1326, 2939, 4888, 2179, 1396, 1373, 1395, 2153, 4894, 3650,
5279, 5122, 4898, 4215, 4182, 1398, 4902, 2178, 4572, 3635,
4199, 3632, 4908, 4899, 1403, 5100, 5099, 3688, 3632, 5560,
5392, 4917, 5481, 5269, 1856, 4867, 3582, 4647, 5282, 282,
5283, 2083, 2867, 10, 2486, 2767, 13, 2865, 2086, -1,
17, 18, 19, 4939, 372, 4941, -1, -1, -1, -1,
-1, -1, -1, -1, 3707, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3794, -1, 4838,
-1, 4967, -1, 5137, -1, -1, 4972, 4973, -1, -1,
-1, 4977, 4978, 4979, 4980, 472, -1, -1, 475, 476,
477, 478, 3819, 480, 481, 482, 483, 484, 485, 3826,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3839, -1, 5010, -1, -1, -1, -1, 372,
-1, 5017, -1, -1, -1, -1, -1, -1, 39, 4898,
-1, -1, -1, -1, -1, 2799, -1, -1, 5477, 5478,
-1, -1, -1, 5039, 472, -1, 5042, 58, -1, -1,
478, 2519, 480, 481, 482, 483, 484, 485, -1, -1,
475, 476, 477, 478, 5052, 480, 481, 482, 483, 484,
485, -1, -1, -1, 10, -1, -1, 13, -1, -1,
2844, 17, 18, 19, -1, -1, -1, 3914, 3915, -1,
-1, -1, -1, -1, -1, -1, -1, 108, 109, -1,
-1, 5097, -1, 2867, 5100, 116, -1, 5103, 44, -1,
-1, 5107, -1, -1, -1, 51, -1, -1, 5114, 472,
2884, -1, 5118, -1, 5120, 478, 5122, 480, 481, 482,
483, 484, 485, 5129, -1, -1, 2900, 214, 5126, -1,
76, 5137, -1, -1, 5301, 635, -1, -1, -1, -1,
-1, 641, 5148, -1, -1, -1, -1, -1, 5493, -1,
-1, 172, -1, -1, 654, -1, -1, -1, -1, -1,
-1, -1, -1, 5042, -1, -1, 4003, -1, -1, -1,
670, -1, -1, -1, 195, 675, -1, 5183, 5184, 2953,
680, -1, -1, 2957, 684, 685, -1, -1, -1, -1,
4864, 691, -1, 693, 694, 282, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3968, 706, 707, 5214, 5376,
5377, -1, -1, -1, 4888, 5221, -1, 717, 4055, 5225,
-1, 5100, 243, -1, -1, 246, -1, -1, 5234, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
261, 187, -1, -1, 265, 2723, 192, -1, -1, -1,
5129, -1, -1, -1, 5260, 5261, 5262, -1, -1, -1,
5266, -1, 2740, 5269, -1, -1, -1, -1, 214, 215,
-1, -1, -1, 5279, 295, -1, 5282, 2755, -1, -1,
-1, 5287, -1, 229, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5301, 796, 797, -1, -1,
-1, -1, 802, -1, -1, -1, -1, -1, -1, -1,
5316, -1, -1, -1, -1, -1, -1, 5323, 339, -1,
-1, -1, 268, -1, -1, -1, 826, -1, 828, -1,
-1, -1, -1, -1, -1, -1, 282, -1, -1, 839,
361, -1, -1, 5349, -1, -1, -1, 0, 5354, -1,
5348, -1, -1, -1, 5360, 5234, -1, -1, -1, -1,
381, -1, 383, -1, 5370, 386, -1, -1, -1, -1,
5376, 5377, 5378, -1, -1, -1, -1, 5375, -1, -1,
5375, 5375, 5388, -1, 5375, -1, 5392, 5375, 475, 476,
477, 478, -1, 480, 481, 482, 483, 484, 485, -1,
-1, -1, -1, -1, -1, -1, -1, 5413, -1, -1,
5453, -1, -1, -1, -1, -1, -1, -1, -1, 5586,
5587, -1, -1, -1, -1, -1, 372, -1, -1, 5103,
4193, -1, -1, -1, 4197, -1, -1, -1, 5444, 5445,
5446, -1, 95, -1, 5450, -1, -1, 947, 948, 949,
-1, -1, -1, -1, -1, 5453, 956, -1, 5453, 5453,
4297, -1, 5453, 963, -1, 5453, 4303, 967, 489, -1,
4307, 5477, 5478, 973, -1, -1, 976, -1, -1, -1,
-1, -1, 5488, -1, -1, -1, -1, 5493, 988, -1,
-1, 5370, 145, -1, -1, -1, 4333, 4334, -1, -1,
-1, 4338, 4339, 1003, -1, 158, -1, -1, -1, -1,
163, -1, -1, -1, -1, 168, -1, 5523, -1, 26,
-1, 174, -1, -1, 177, 32, 472, 5533, 181, 475,
476, 477, 478, -1, 480, 481, 482, 483, 484, 485,
-1, -1, 5548, -1, -1, 5551, -1, -1, 1048, 1049,
1050, -1, -1, 3031, 5560, -1, 5554, 210, 5564, 5554,
5554, -1, -1, 5554, -1, 5444, 5554, 74, -1, -1,
-1, 5450, 3050, -1, -1, -1, -1, 230, -1, -1,
5586, 5587, -1, -1, -1, -1, -1, -1, 1088, -1,
-1, -1, -1, -1, -1, 5269, 10, -1, -1, 13,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3383,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 128, -1, -1, 277, 1125, -1, 280, 135, -1,
44, 138, -1, 286, -1, -1, 3410, 51, -1, -1,
-1, -1, -1, 1143, -1, -1, -1, -1, -1, -1,
-1, 10, -1, 1153, 13, 0, -1, 164, -1, -1,
-1, 1161, 76, -1, -1, -1, -1, 3145, -1, 3147,
-1, -1, 5551, 26, -1, -1, -1, -1, -1, 32,
-1, -1, -1, -1, -1, 44, -1, 4450, 341, 1189,
-1, 198, 51, -1, -1, -1, 201, -1, 1198, 10,
1200, -1, 13, -1, -1, 210, 17, 18, 19, -1,
-1, -1, -1, -1, 5388, -1, 1216, 76, -1, 224,
1220, 74, -1, -1, -1, 36, -1, -1, -1, 143,
-1, -1, 1232, 44, -1, -1, -1, -1, -1, -1,
51, -1, -1, 396, -1, -1, -1, -1, -1, -1,
95, -1, -1, -1, 261, -1, -1, -1, 265, -1,
3238, -1, -1, 1263, -1, 76, -1, -1, 275, -1,
-1, 424, -1, 187, -1, 128, -1, 284, 192, -1,
-1, -1, 135, -1, 143, 138, -1, -1, -1, 296,
-1, 1291, -1, 1293, 1294, 448, 1296, 450, 451, -1,
145, 3279, -1, 5477, 5478, -1, -1, -1, -1, -1,
-1, 164, -1, 158, -1, 229, 1316, -1, 163, -1,
-1, -1, -1, 168, -1, -1, -1, 334, 187, 174,
337, 338, 177, 192, 487, -1, 181, 490, 491, 492,
-1, -1, 3616, -1, 1344, 198, -1, -1, -1, -1,
-1, -1, 1352, 1353, -1, -1, -1, 4620, 3632, -1,
367, 3635, -1, -1, 4627, 210, 1366, -1, 282, 4632,
229, -1, 4635, 4636, -1, -1, 187, 4714, -1, -1,
-1, 192, -1, 3657, -1, 230, -1, -1, 1388, 29,
-1, -1, 1392, 1393, -1, -1, 4659, -1, -1, 3377,
-1, -1, -1, 214, 215, -1, -1, 1407, 261, 4672,
-1, -1, 265, 1413, -1, -1, -1, -1, 229, 1419,
-1, -1, 275, 282, -1, -1, -1, -1, 435, -1,
-1, 284, 277, -1, 3412, 280, -1, 24, 78, -1,
-1, 286, 29, 296, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 268, 372, -1,
-1, -1, 4725, -1, -1, -1, -1, -1, -1, -1,
110, 282, -1, -1, 285, -1, -1, 64, -1, -1,
1480, 334, -1, -1, 337, 338, -1, -1, -1, -1,
77, -1, -1, 133, -1, -1, 341, -1, -1, -1,
-1, -1, -1, -1, 144, 92, 4769, -1, 10, -1,
-1, 13, -1, 372, 367, 17, 18, 19, -1, -1,
-1, 1521, -1, -1, -1, 165, -1, -1, -1, -1,
170, -1, -1, -1, 36, -1, -1, -1, -1, -1,
3518, -1, 44, -1, -1, -1, 133, -1, -1, 51,
-1, 396, -1, -1, 1554, -1, -1, 144, 472, -1,
-1, 372, -1, -1, 478, 3543, 480, 481, 482, 483,
484, 485, -1, -1, 76, 4838, -1, -1, 165, 424,
-1, 221, 435, 170, -1, -1, -1, -1, -1, -1,
-1, 3569, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 242, 448, -1, 450, 451, -1, -1, -1,
-1, -1, -1, 472, -1, -1, 1616, -1, -1, 478,
-1, 480, 481, 482, 483, 484, 485, 3605, -1, -1,
635, 1631, 1632, 1633, -1, 4898, 641, -1, -1, -1,
-1, -1, 487, -1, -1, 490, 491, 492, -1, 654,
-1, 4988, -1, -1, -1, 242, -1, -1, -1, -1,
-1, 472, -1, -1, 475, 476, 477, 478, -1, 480,
481, 482, 483, 484, 485, 315, 316, -1, -1, 319,
-1, -1, 493, -1, -1, 187, -1, -1, -1, -1,
192, -1, -1, -1, 3968, 282, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 345, -1, -1, 348, -1,
-1, -1, 214, 215, 354, -1, -1, -1, -1, -1,
-1, 361, 3996, -1, -1, -1, -1, 229, 315, 316,
-1, -1, -1, -1, 1734, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
390, 1751, -1, -1, 5017, -1, 396, -1, -1, 399,
-1, 348, -1, -1, 1764, -1, 268, 354, -1, 1769,
-1, -1, -1, -1, 361, -1, -1, 364, 418, 5042,
282, -1, -1, 285, -1, -1, -1, -1, 1788, -1,
-1, -1, -1, -1, -1, -1, 1796, -1, -1, -1,
-1, -1, -1, -1, 444, -1, -1, -1, 1808, 396,
-1, -1, -1, -1, -1, -1, 403, -1, -1, -1,
-1, -1, -1, -1, 411, 1825, -1, -1, 5165, -1,
-1, 418, 1832, -1, -1, 1835, -1, 5100, 1838, -1,
-1, -1, -1, -1, -1, 1845, -1, -1, -1, -1,
-1, 1851, -1, -1, -1, -1, -1, 444, -1, -1,
-1, -1, -1, 1863, -1, -1, 5129, -1, -1, -1,
372, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1880, 1881, -1, 1883, 1884, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1895, -1, 1897, 1898, -1,
-1, -1, -1, -1, 17, -1, -1, 1907, 1908, -1,
1910, 1911, -1, 26, -1, -1, -1, -1, -1, 4193,
-1, -1, -1, 4197, -1, -1, 1926, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4229, 4230, -1, 1958, -1,
-1, 1961, 1962, -1, -1, -1, -1, -1, -1, -1,
472, 5234, -1, 475, 476, 477, 478, 3955, 480, 481,
482, 483, 484, 485, -1, -1, -1, -1, 26, -1,
-1, 493, -1, -1, 32, -1, 1996, -1, 1998, -1,
-1, -1, -1, 2003, 2004, -1, -1, 45, -1, -1,
2010, 2011, 2012, -1, -1, 2015, -1, 2017, -1, 2019,
2020, 2021, 2022, 2023, 2024, -1, 2026, -1, 2028, 2029,
-1, -1, 2032, -1, -1, -1, 74, -1, 5301, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2049,
2050, 2051, 2052, 2053, 2054, -1, -1, -1, 2058, -1,
-1, -1, 2062, 39, -1, 2065, -1, -1, 2068, 2069,
2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, -1, 2079,
-1, -1, -1, -1, 60, -1, 2086, -1, 126, 2089,
128, 5354, -1, -1, 3, -1, -1, 135, -1, -1,
138, 10, -1, -1, 13, -1, -1, 5370, 17, 18,
19, -1, -1, 5376, 5377, -1, -1, -1, 94, -1,
-1, -1, -1, -1, -1, -1, 164, 36, -1, -1,
39, -1, 2132, -1, -1, 44, -1, -1, 2138, -1,
-1, -1, 51, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2153, -1, -1, -1, -1, -1, -1,
198, -1, 2162, 2163, -1, 5502, -1, 76, -1, -1,
-1, -1, -1, -1, -1, -1, 4154, -1, 154, -1,
-1, 5444, -1, -1, -1, -1, -1, 5450, 2188, -1,
-1, -1, -1, -1, -1, 2195, -1, -1, -1, 2199,
2200, -1, -1, -1, -1, -1, 2206, -1, -1, -1,
-1, 2211, 2212, 189, -1, -1, 2216, -1, 4492, -1,
-1, -1, -1, 261, 2224, -1, -1, 265, -1, 5566,
-1, -1, -1, -1, -1, -1, -1, 275, -1, -1,
-1, -1, 2242, -1, 220, 2245, 284, 5584, -1, 225,
-1, -1, -1, -1, -1, -1, -1, 2257, 296, -1,
-1, 2261, -1, -1, 2264, -1, -1, 2267, 2268, -1,
-1, -1, -1, -1, -1, 2275, -1, -1, 187, -1,
-1, -1, -1, 192, -1, -1, -1, 2287, 5551, 265,
-1, -1, -1, -1, 4272, -1, 334, -1, -1, 337,
338, 5564, -1, -1, -1, 214, 215, 2307, 2308, -1,
-1, -1, -1, -1, -1, -1, 2316, -1, -1, -1,
229, 297, -1, 5586, 5587, -1, -1, -1, -1, 367,
-1, -1, -1, -1, -1, 4313, -1, -1, 2338, 2339,
-1, -1, 2342, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4627, -1, -1, -1, 4335, 4632, 268,
-1, 4635, 338, -1, -1, 2365, 342, 2367, -1, -1,
-1, 2371, -1, 282, -1, 351, 285, -1, 2378, -1,
-1, -1, -1, 359, -1, 2385, -1, -1, 2388, -1,
-1, 367, -1, -1, 2394, -1, -1, 435, -1, -1,
-1, -1, -1, 379, -1, -1, -1, -1, -1, -1,
-1, -1, 388, -1, 2414, -1, 392, -1, -1, -1,
2420, -1, -1, -1, -1, 2425, -1, 4405, 2428, -1,
-1, -1, -1, -1, -1, 411, -1, -1, 2438, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2451, -1, -1, -1, -1, 2456, -1, -1, -1,
-1, -1, 2462, 372, -1, -1, -1, -1, -1, -1,
446, -1, -1, -1, 450, -1, 10, -1, -1, 13,
2480, 2481, 2482, 17, 18, 19, 2486, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 36, -1, -1, 618, -1, -1, -1, -1,
44, -1, -1, -1, -1, -1, -1, 51, 2518, 2519,
-1, -1, 4796, -1, -1, -1, -1, -1, 2528, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 76, -1, -1, -1, -1, -1, -1, 4527,
-1, -1, -1, -1, -1, -1, -1, 670, 671, -1,
4834, -1, 2562, 472, -1, -1, 475, 476, 477, 478,
-1, 480, 481, 482, 483, 484, 485, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4576, -1,
-1, 2601, 60, -1, 2604, -1, -1, -1, -1, 2609,
-1, 1616, -1, -1, -1, -1, -1, -1, -1, 2619,
-1, -1, -1, -1, 4898, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4908, -1, 94, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 764, -1, 187, -1, -1, -1, -1, 192, -1,
-1, -1, -1, -1, -1, 2665, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 790, -1, -1,
214, 215, -1, -1, -1, 798, -1, -1, 801, 802,
803, -1, -1, -1, 10, 229, 154, 13, -1, -1,
-1, 17, 18, 19, -1, -1, -1, 2707, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
36, -1, -1, 2723, -1, 2725, -1, -1, 44, -1,
-1, 189, -1, 2733, 268, 51, -1, 2737, -1, -1,
2740, -1, -1, 2743, -1, -1, 2746, -1, 282, 2749,
-1, 285, -1, -1, 10, 2755, -1, 13, -1, -1,
76, 17, 18, 19, -1, -1, 2766, 225, 5042, -1,
-1, 2771, -1, -1, -1, -1, -1, -1, 5052, -1,
36, -1, -1, 1788, 40, -1, -1, -1, 44, -1,
-1, 1796, -1, -1, -1, 51, -1, 2797, 2798, 2799,
-1, -1, 2802, 1808, -1, -1, -1, 265, -1, -1,
2810, 2811, 2812, 2813, -1, -1, -1, -1, 2818, -1,
76, -1, -1, 2823, 2824, -1, 2826, -1, 2828, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 372, 297,
2840, 2841, -1, -1, 2844, -1, -1, -1, -1, -1,
-1, -1, 5126, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2864, -1, 2866, -1, 2868, 125,
-1, 187, -1, -1, -1, -1, 192, -1, -1, 1884,
338, -1, 340, -1, 342, -1, -1, 4865, -1, 2889,
-1, -1, -1, 351, -1, -1, -1, -1, 214, 215,
2900, 359, -1, -1, -1, -1, 1911, -1, 2908, 367,
-1, -1, -1, 229, -1, -1, -1, -1, -1, -1,
-1, 379, -1, -1, 2924, -1, 4904, -1, -1, -1,
388, 187, -1, -1, 392, -1, 192, -1, 472, 2939,
-1, 475, 476, 477, 478, -1, 480, 481, 482, 483,
484, 485, 268, 2953, -1, -1, 490, -1, 214, 215,
-1, -1, -1, -1, -1, -1, 282, -1, -1, 285,
-1, -1, 2972, 229, -1, 2975, -1, 2977, -1, 4957,
-1, -1, 2982, -1, 4962, 4963, -1, -1, 446, -1,
-1, -1, -1, -1, -1, -1, -1, 2997, 2998, -1,
-1, -1, -1, 3003, -1, -1, -1, -1, -1, -1,
-1, -1, 268, -1, -1, 26, -1, -1, -1, -1,
-1, 32, -1, -1, 3024, -1, 282, 3027, -1, 285,
1143, 3031, -1, -1, 45, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1161, -1,
3050, -1, -1, -1, -1, -1, 372, -1, -1, -1,
-1, -1, -1, 74, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5348, 3075, -1, -1, -1, -1,
-1, -1, 1195, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5078, 5375, -1, -1, -1, -1, -1, 1220, -1, -1,
-1, 3111, 3112, 3113, -1, 126, 372, 128, -1, -1,
-1, -1, -1, -1, 135, -1, -1, 138, -1, -1,
-1, -1, -1, -1, -1, 3135, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3145, -1, 3147, -1, -1,
-1, -1, -1, 164, -1, 3155, 472, -1, -1, 475,
476, 477, 478, -1, 480, 481, 482, 483, 484, 485,
-1, -1, 488, -1, 3174, -1, 432, -1, -1, 5453,
-1, -1, -1, 2188, -1, 1298, -1, 198, -1, -1,
-1, -1, -1, -1, 1307, -1, -1, -1, -1, -1,
-1, 2206, -1, -1, -1, -1, -1, 2212, 1321, -1,
-1, 2216, -1, -1, -1, -1, 472, -1, -1, 475,
476, 477, 478, -1, 480, 481, 482, 483, 484, 485,
26, 1344, -1, -1, 1347, 1348, 32, 2242, 3238, 1352,
1353, -1, -1, -1, -1, -1, -1, -1, -1, 45,
261, -1, -1, 1366, 265, -1, -1, -1, -1, 10,
3260, -1, 13, -1, 275, 3265, 17, 18, 19, -1,
-1, 3271, -1, 284, -1, -1, -1, -1, 74, 3279,
5554, -1, 2287, -1, -1, 296, -1, -1, -1, -1,
-1, -1, -1, 44, -1, 5273, -1, -1, -1, -1,
51, -1, 2307, -1, -1, -1, -1, 3307, 3308, -1,
-1, -1, -1, -1, 3314, -1, 3316, -1, -1, -1,
-1, -1, -1, 334, -1, 76, 337, 338, -1, 3329,
-1, 3331, 128, -1, 2339, -1, -1, -1, -1, 135,
-1, -1, 138, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3353, -1, -1, 367, -1, -1, -1,
2365, -1, -1, -1, -1, -1, 2371, -1, 164, -1,
-1, -1, -1, 2378, -1, -1, -1, 3377, -1, -1,
2385, -1, -1, 2388, -1, -1, -1, -1, -1, 2394,
-1, -1, -1, -1, -1, -1, -1, 3397, 3398, -1,
-1, -1, 198, -1, -1, -1, -1, -1, -1, 2414,
-1, -1, 3412, -1, -1, 2420, -1, -1, -1, 10,
2425, -1, 13, -1, 435, -1, 17, 18, 19, -1,
-1, -1, -1, 2438, -1, -1, 187, -1, -1, -1,
-1, 192, -1, -1, -1, 36, 2451, -1, -1, -1,
-1, -1, 3452, 44, -1, -1, -1, 2462, -1, 1572,
51, -1, -1, 214, 215, 261, 1579, -1, -1, 265,
3470, -1, -1, -1, -1, -1, -1, -1, 229, 275,
-1, -1, -1, -1, -1, 76, -1, -1, 284, -1,
-1, -1, 3492, -1, -1, 3495, -1, -1, -1, -1,
296, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3515, -1, 268, 3518, -1,
-1, -1, -1, 3523, 3524, -1, 3526, -1, -1, -1,
-1, 282, -1, -1, 3534, -1, 3536, -1, 334, 3539,
-1, 337, 338, 3543, 3544, 3545, 3546, 3547, -1, -1,
3550, 3551, 3552, 3553, 3554, 3555, 3556, 3557, 3558, 3559,
3560, -1, -1, -1, 3564, 3565, -1, -1, -1, 3569,
-1, 367, -1, -1, 3574, -1, -1, -1, 3578, -1,
3580, -1, 3582, -1, -1, -1, -1, -1, -1, -1,
3590, -1, -1, 3593, -1, 3595, 187, 26, -1, -1,
-1, 192, -1, 32, -1, 3605, -1, 3607, -1, -1,
3610, 3611, -1, -1, -1, 3615, 3616, -1, -1, -1,
-1, 372, 3622, 214, 215, -1, -1, -1, -1, -1,
-1, -1, 3632, -1, -1, 3635, -1, -1, 229, 435,
-1, -1, -1, -1, -1, 74, -1, 3647, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3673, -1, -1, -1, 268, 1791, -1,
-1, -1, 1795, -1, -1, -1, -1, -1, -1, 3689,
-1, 282, -1, -1, 285, 3695, -1, -1, -1, 128,
-1, -1, 2707, -1, -1, -1, 135, 3707, -1, 138,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2725, 472, -1, -1, 475, 476, 477, 478, 2733, 480,
481, 482, 483, 484, 485, 164, -1, -1, 3738, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 198,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 372, -1, -1, -1, -1, -1, -1, 3788, -1,
-1, -1, -1, 3793, 3794, 3795, -1, -1, -1, -1,
-1, -1, 26, -1, -1, -1, -1, -1, 32, -1,
-1, -1, -1, 10, -1, -1, 13, -1, 3818, 3819,
17, 18, 19, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 261, -1, 10, -1, 265, 13, -1, 36,
3840, 17, 18, 19, -1, -1, 275, 44, -1, -1,
74, -1, -1, -1, 51, 284, 3856, -1, -1, 3859,
36, -1, -1, -1, -1, -1, -1, 296, 44, -1,
-1, -1, -1, -1, -1, 51, -1, -1, -1, 76,
-1, 472, -1, -1, 475, 476, 477, 478, -1, 480,
481, 482, 483, 484, 485, -1, 2009, -1, -1, 490,
76, -1, -1, -1, 128, 334, -1, -1, 337, 338,
-1, 135, -1, -1, 138, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3926, -1, -1, -1,
-1, -1, -1, 1093, -1, -1, -1, -1, 367, -1,
164, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3951, 3952, 1113, -1, 3955, -1, -1, -1, -1,
-1, 3961, -1, 1123, -1, -1, -1, 1127, 3968, -1,
-1, 1131, -1, 1133, 198, -1, -1, -1, -1, 1139,
3980, -1, -1, -1, -1, 1145, -1, -1, 1148, -1,
187, -1, -1, -1, -1, 192, -1, 2110, -1, -1,
-1, -1, -1, 4003, -1, -1, 435, 4007, 4008, 4009,
-1, 187, -1, -1, 8, -1, 192, 214, 215, 3024,
14, 15, -1, -1, -1, -1, 20, -1, 22, -1,
-1, -1, 229, -1, 28, -1, 30, 261, 214, 215,
-1, 265, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 275, -1, 229, -1, 49, 50, -1, 4058, -1,
284, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 268, 296, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4083, -1, 282, -1, -1, 285, -1,
-1, -1, 268, -1, -1, -1, -1, 4097, -1, -1,
-1, -1, -1, -1, -1, -1, 282, -1, -1, 285,
334, 2224, -1, 337, 338, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4128, -1,
3135, 4131, -1, -1, -1, -1, -1, -1, -1, 4139,
4140, -1, 4142, 367, -1, -1, -1, -1, 4148, 4149,
-1, -1, -1, 4153, 4154, -1, -1, -1, -1, 4159,
-1, -1, 4162, 4163, -1, -1, -1, 4167, -1, -1,
-1, -1, -1, 4173, -1, 372, -1, -1, -1, -1,
-1, 2294, -1, -1, -1, 4185, -1, -1, -1, -1,
-1, -1, -1, 4193, -1, -1, 372, 4197, -1, -1,
-1, -1, -1, -1, 198, -1, -1, -1, -1, -1,
-1, 435, 206, -1, -1, 209, -1, -1, 212, 213,
-1, 215, -1, 217, -1, -1, 220, 4227, 222, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4254, 3260, -1, -1, -1, -1,
2373, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4272, -1, -1, 472, -1, 2390, 475, 476,
477, 478, -1, 480, 481, 482, 483, 484, 485, -1,
4290, -1, -1, 490, -1, 4295, 472, -1, -1, 475,
476, 477, 478, -1, 480, 481, 482, 483, 484, 485,
-1, -1, -1, 4313, 490, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4330, -1, -1, -1, -1, 4335, -1, -1, -1, -1,
-1, 2454, 4342, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4358, 10,
-1, -1, 13, -1, -1, -1, 17, 18, 19, -1,
-1, -1, -1, -1, 4374, -1, -1, 2490, -1, -1,
2493, -1, 2495, -1, -1, 36, 2499, -1, 2501, 2502,
26, -1, -1, 44, -1, -1, 32, 2510, 2511, 2512,
51, -1, -1, -1, -1, 4405, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 76, -1, -1, -1, -1,
-1, -1, -1, -1, 4434, -1, -1, -1, 74, -1,
-1, -1, -1, -1, -1, -1, -1, 3452, -1, -1,
4450, -1, 2565, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3470, -1, -1, -1, -1,
-1, -1, -1, 4473, -1, -1, -1, -1, -1, -1,
4480, -1, -1, -1, 2597, -1, -1, -1, -1, -1,
3495, -1, 128, -1, -1, -1, 2609, -1, -1, 135,
-1, -1, 138, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4525, -1, 4527, 164, -1,
-1, -1, -1, -1, -1, -1, 187, -1, 26, -1,
-1, 192, -1, -1, 32, -1, -1, -1, -1, -1,
-1, -1, 2665, 4553, -1, -1, -1, -1, -1, -1,
-1, -1, 198, 214, 215, -1, -1, -1, -1, -1,
-1, -1, 4572, -1, -1, -1, 4576, -1, 229, -1,
-1, -1, -1, -1, -1, -1, 74, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4601, 4602, -1, -1, 4605, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 268, -1, -1,
4620, -1, -1, -1, -1, 261, -1, 4627, -1, 265,
-1, 282, 4632, -1, 285, 4635, 4636, -1, 632, 275,
128, -1, 4642, 4643, -1, 639, 640, 135, 284, 643,
138, 645, 646, -1, -1, -1, 650, -1, -1, 4659,
296, 4661, -1, -1, -1, -1, 4666, 661, 4668, -1,
-1, 10, 4672, -1, 13, -1, 164, -1, 17, 18,
19, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 36, 334, -1,
-1, 337, 338, -1, -1, 44, 700, -1, 702, -1,
198, -1, 51, -1, 4714, 4715, -1, -1, 712, -1,
-1, 372, -1, -1, -1, 4725, 1886, -1, -1, -1,
-1, 367, -1, 3738, 1894, -1, -1, 76, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
744, -1, -1, -1, 1914, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4764, -1, -1, -1, -1, 4769,
-1, -1, -1, 261, 192, 193, -1, 265, 196, -1,
-1, -1, -1, -1, -1, -1, -1, 275, -1, -1,
-1, -1, -1, -1, -1, 2908, 284, -1, 216, 435,
-1, -1, -1, -1, -1, 223, -1, -1, 296, -1,
-1, -1, -1, 26, -1, -1, -1, -1, -1, 32,
-1, 472, -1, -1, 475, 476, 477, 478, -1, 480,
481, 482, 483, 484, 485, 829, -1, -1, 4838, 490,
4840, -1, -1, -1, -1, -1, 334, -1, 187, 337,
338, 3856, -1, 192, 3859, -1, -1, -1, -1, -1,
-1, 74, -1, -1, 4864, 4865, -1, 4867, -1, 4869,
-1, 865, -1, -1, -1, 214, 215, -1, -1, 367,
-1, -1, -1, -1, -1, -1, -1, -1, 4888, -1,
229, -1, -1, -1, 4894, -1, -1, -1, 4898, -1,
-1, -1, -1, -1, 4904, -1, -1, -1, 4908, -1,
-1, -1, -1, -1, 3027, 128, -1, -1, -1, -1,
-1, -1, 135, -1, -1, 138, -1, -1, -1, 268,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 282, -1, 939, 285, 435, 4948, -1,
-1, 164, -1, -1, -1, -1, 3961, 4957, -1, -1,
-1, -1, 4962, 4963, -1, -1, 960, 4967, -1, -1,
2130, -1, 4972, 4973, 4974, 3980, -1, -1, 972, -1,
-1, -1, -1, 977, -1, 198, -1, -1, 4988, -1,
-1, -1, -1, 987, -1, -1, -1, -1, 992, -1,
-1, -1, -1, -1, 3117, -1, -1, 1001, -1, -1,
5010, -1, 1006, -1, -1, 1009, -1, 5017, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 372, -1, -1, -1, -1, -1, -1,
-1, -1, 5042, -1, -1, -1, -1, -1, 261, -1,
-1, -1, 265, 4058, -1, -1, -1, 1051, -1, 3172,
-1, -1, 275, -1, -1, -1, -1, -1, -1, -1,
-1, 284, -1, 60, -1, -1, -1, 5077, 5078, -1,
-1, -1, -1, 296, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5097, -1, -1,
5100, -1, -1, 5103, -1, -1, -1, 94, -1, -1,
-1, -1, -1, -1, 5114, -1, -1, -1, 5118, -1,
5120, 334, 5122, -1, 337, 338, -1, 3240, -1, 5129,
-1, -1, -1, 472, -1, -1, 475, 476, 477, 478,
-1, 480, 481, 482, 483, 484, 485, -1, 5148, -1,
-1, 490, -1, -1, 367, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 154, -1, -1,
-1, 3284, 1166, 5173, 1168, 5175, 1170, -1, 1172, -1,
1174, 1175, 1176, -1, -1, 3298, 3299, 1181, -1, -1,
-1, -1, -1, -1, -1, 3308, -1, -1, 1192, -1,
-1, 3314, 189, 3316, -1, -1, 624, -1, 626, -1,
-1, -1, 630, 1207, -1, -1, -1, -1, -1, -1,
-1, -1, 435, -1, -1, 5225, 644, -1, -1, -1,
-1, -1, -1, 651, 5234, -1, -1, -1, 225, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3362,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5260, 5261, 5262, -1, -1, -1, -1, -1, -1, 5269,
5270, -1, -1, 5273, 261, -1, -1, -1, 265, 5279,
-1, -1, -1, 3396, 3397, -1, 10, -1, 5288, 13,
-1, -1, -1, 17, 18, 19, -1, -1, -1, -1,
-1, 5301, -1, -1, -1, -1, -1, -1, -1, 296,
297, -1, 36, -1, 5314, -1, -1, -1, -1, -1,
44, -1, -1, -1, -1, 4330, -1, 51, -1, -1,
-1, -1, -1, 10, -1, -1, 13, 4342, -1, -1,
17, 18, 19, -1, -1, -1, -1, 334, -1, -1,
-1, 338, 76, -1, 5354, 342, -1, -1, -1, 36,
5360, -1, -1, -1, 351, -1, -1, 44, -1, -1,
5370, -1, 359, -1, 51, -1, 5376, 5377, 5378, 1373,
367, -1, -1, -1, -1, -1, -1, -1, 5388, -1,
-1, -1, 379, -1, -1, -1, -1, -1, -1, 76,
-1, 388, -1, -1, -1, 392, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5419,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5444, -1, -1, -1, -1, -1,
5450, -1, -1, -1, 2614, -1, -1, -1, -1, 446,
1454, -1, 2622, 187, -1, -1, -1, -1, 192, -1,
-1, -1, -1, 891, 892, -1, 3589, 5477, 5478, -1,
-1, -1, 2642, -1, -1, -1, -1, -1, 5488, -1,
214, 215, 2652, 5493, -1, 2655, -1, 2657, 2658, -1,
-1, 2661, 5502, -1, -1, 229, -1, 2667, -1, 2669,
187, -1, 2672, -1, -1, 192, -1, -1, -1, 10,
-1, -1, 13, 5523, -1, -1, 17, 18, 19, -1,
-1, -1, 1526, 5533, -1, -1, -1, 214, 215, -1,
-1, -1, -1, -1, 268, 36, -1, -1, 4553, -1,
-1, 5551, 229, 44, -1, -1, -1, -1, 282, -1,
51, 285, -1, -1, 5564, -1, 5566, -1, 200, 201,
-1, -1, -1, 991, -1, 2735, 208, -1, 210, 211,
-1, -1, -1, -1, 5584, 76, 5586, 5587, -1, -1,
-1, 268, 224, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1020, 1021, -1, 282, -1, -1, 285, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1046, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 10, -1, -1, 13, -1, -1, 372, 17,
18, 19, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4666, -1, 4668, -1, -1, -1, -1, 36, -1,
-1, -1, -1, -1, -1, -1, 44, -1, -1, -1,
-1, 3794, -1, 51, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 372, 187, -1, -1, -1,
-1, 192, 1120, 1121, -1, -1, 3819, -1, 76, -1,
-1, -1, -1, -1, 3827, -1, -1, -1, -1, 3832,
-1, 3834, -1, 214, 215, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 229, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 472, -1,
-1, 475, 476, 477, 478, -1, 480, 481, 482, 483,
484, 485, -1, -1, 3877, -1, 490, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 268, -1, 1773,
3893, -1, -1, -1, 3897, 3898, -1, 3900, -1, -1,
-1, 282, -1, -1, 285, 472, -1, -1, 475, 476,
477, 478, -1, 480, 481, 482, 483, 484, 485, -1,
-1, -1, -1, 490, -1, -1, -1, -1, -1, 187,
-1, -1, -1, -1, 192, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 60, 214, 215, -1, -1,
-1, -1, -1, 3013, -1, -1, -1, -1, -1, -1,
-1, 229, -1, -1, -1, -1, -1, -1, -1, 60,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 94,
-1, 372, -1, -1, -1, -1, -1, 4000, -1, -1,
4003, -1, -1, -1, -1, -1, -1, -1, -1, -1,
268, -1, -1, 94, -1, -1, 1900, -1, 1902, -1,
-1, -1, -1, -1, 282, -1, -1, 285, -1, -1,
-1, -1, -1, -1, -1, 1919, -1, 1921, -1, -1,
-1, -1, -1, -1, -1, -1, 3096, -1, 3098, 154,
-1, 1935, -1, 1937, -1, 1939, -1, 1941, -1, 1943,
-1, -1, -1, 1947, -1, -1, -1, -1, -1, -1,
4073, 4074, 4075, 154, 4077, 4078, 4079, 4080, 4081, -1,
-1, -1, -1, -1, 189, -1, -1, -1, -1, -1,
-1, 472, -1, -1, 475, 476, 477, 478, -1, 480,
481, 482, 483, 484, 485, -1, -1, -1, 189, 490,
-1, -1, -1, 635, 372, -1, -1, -1, -1, 641,
225, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 654, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 225, -1, -1, -1, 670, -1,
-1, -1, -1, -1, -1, -1, 261, -1, -1, -1,
265, -1, 684, 685, -1, 1473, -1, -1, -1, 691,
-1, 693, 694, -1, -1, -1, -1, -1, -1, -1,
261, -1, -1, -1, 265, 707, -1, 3237, -1, -1,
1498, 296, 297, 3243, -1, 717, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4214, -1, 4216, 472, 296, 297, 475, 476, 477,
478, -1, 480, 481, 482, 483, 484, 485, -1, 334,
-1, -1, 490, 338, -1, -1, -1, 342, -1, -1,
-1, -1, -1, -1, -1, -1, 351, -1, -1, -1,
-1, -1, -1, 334, 359, -1, -1, 338, -1, -1,
-1, 342, 367, -1, -1, -1, -1, 1575, -1, -1,
351, -1, -1, -1, 379, -1, -1, -1, 359, -1,
802, -1, -1, 388, -1, -1, 367, 392, -1, -1,
-1, -1, -1, -1, 1602, 1603, 1604, 1605, 379, -1,
-1, -1, -1, -1, 826, 2189, 2190, 388, -1, -1,
-1, 392, -1, -1, -1, -1, -1, 839, -1, -1,
-1, -1, -1, -1, 2208, 2209, -1, -1, -1, 2213,
2214, -1, -1, -1, 2218, -1, -1, -1, -1, -1,
-1, 446, -1, 10, -1, -1, 13, -1, 2232, -1,
17, 18, 19, -1, -1, 2239, -1, -1, -1, 2243,
2244, -1, -1, 2247, 2248, 446, -1, -1, -1, 36,
2254, -1, -1, -1, -1, -1, -1, 44, -1, -1,
-1, -1, -1, -1, 51, 2269, -1, 2271, -1, -1,
3440, -1, 3442, 5288, 3444, -1, -1, -1, -1, -1,
4403, 4404, -1, 3453, -1, 2289, -1, -1, -1, 76,
2294, -1, -1, 4416, -1, 4418, 4419, -1, -1, 4422,
-1, -1, -1, -1, -1, 2309, -1, 949, -1, -1,
-1, -1, -1, -1, 2318, 1743, 1744, 2321, -1, 2323,
2324, 2325, -1, -1, 3494, 967, 2330, 2331, -1, -1,
-1, 973, -1, -1, 976, 1763, 2340, -1, -1, -1,
-1, 2345, -1, -1, -1, 2349, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2366, 4486, -1, -1, -1, -1, 2372, 2373,
1798, 1799, 1800, 1801, -1, 2379, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2389, 2390, -1, -1, -1,
-1, 2395, -1, -1, -1, -1, -1, -1, -1, -1,
187, 4524, -1, 2407, -1, 192, 2410, -1, -1, -1,
-1, 2415, -1, -1, -1, -1, -1, 2421, 2422, -1,
-1, -1, -1, 2427, -1, -1, 2430, 214, 215, -1,
2434, 2435, 2436, 2437, -1, 2439, 4559, -1, -1, -1,
-1, -1, 229, -1, -1, -1, -1, -1, 2452, 2453,
10, 2455, -1, 13, -1, -1, -1, 17, 18, 19,
-1, -1, 2466, 2467, 2468, -1, -1, -1, 0, -1,
-1, -1, -1, -1, -1, -1, 36, -1, -1, -1,
-1, 268, -1, 1125, 44, -1, -1, -1, 1916, -1,
22, 51, -1, -1, 1922, 282, -1, -1, 285, -1,
32, 1143, 34, 35, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 76, -1, 50, 1161,
-1, -1, -1, -1, -1, 2529, -1, 59, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 71,
-1, 73, 74, -1, -1, -1, -1, 1189, 80, -1,
82, -1, -1, 2557, -1, -1, -1, -1, 1200, -1,
-1, 93, -1, 95, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1216, -1, -1, -1, 1220, -1,
112, -1, -1, 115, -1, 372, -1, -1, -1, -1,
-1, 4714, -1, -1, -1, -1, -1, 129, -1, 131,
-1, -1, -1, 135, -1, -1, -1, -1, -1, 141,
-1, -1, -1, -1, -1, -1, -1, 149, -1, 151,
-1, -1, -1, -1, -1, -1, 158, 187, -1, 2057,
-1, -1, 192, -1, -1, -1, 4759, -1, -1, -1,
-1, -1, 174, -1, -1, 4768, -1, -1, -1, -1,
-1, -1, -1, -1, 214, 215, -1, -1, -1, 191,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 229,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 472, -1, -1, 475, 476,
477, 478, -1, 480, 481, 482, 483, 484, 485, 231,
232, -1, 1344, 490, -1, 237, -1, -1, 268, -1,
1352, 1353, -1, -1, -1, -1, -1, 249, -1, -1,
-1, -1, 282, -1, 1366, 285, -1, -1, -1, -1,
-1, 10, -1, -1, 13, 267, -1, -1, 17, 18,
19, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2759, -1, 36, -1, -1,
-1, -1, -1, -1, -1, 44, -1, -1, -1, -1,
-1, -1, 51, -1, -1, -1, -1, 1419, 310, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 324, -1, -1, -1, -1, 76, 330, 331,
-1, 333, -1, -1, -1, -1, 338, -1, -1, -1,
-1, 343, 372, -1, 346, -1, -1, -1, -1, -1,
-1, 353, -1, -1, -1, -1, -1, 359, 360, -1,
-1, 2259, 2260, -1, -1, 367, -1, -1, -1, 371,
-1, -1, 2270, -1, 2272, -1, -1, -1, 2276, 381,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 396, 4988, -1, -1, -1, 4992,
-1, -1, -1, 4043, -1, -1, -1, 4047, -1, -1,
-1, -1, -1, -1, 416, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 427, -1, -1, -1, -1,
-1, 433, -1, -1, -1, -1, 438, -1, 187, -1,
-1, -1, 472, 192, -1, 475, 476, 477, 478, 451,
480, 481, 482, 483, 484, 485, -1, -1, -1, -1,
490, -1, -1, -1, -1, 214, 215, -1, -1, -1,
-1, -1, 474, -1, -1, -1, -1, -1, -1, -1,
229, -1, -1, -1, -1, -1, -1, 489, -1, -1,
492, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1616, -1, -1, -1, 2406, -1,
-1, 2409, -1, -1, -1, -1, -1, -1, -1, 268,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 282, -1, -1, 285, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3025, -1, -1, -1, 3029, -1, -1, -1, -1,
-1, 3035, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3053,
3054, -1, 5175, -1, 3058, -1, 5179, -1, 5181, 3063,
3064, 3065, 5185, 5186, 2492, -1, -1, -1, -1, -1,
-1, -1, 2500, -1, -1, 2503, -1, -1, -1, -1,
-1, 2509, 10, -1, -1, 13, -1, -1, -1, 17,
18, 19, 2520, 372, -1, 3099, 3100, 3101, 3102, -1,
4270, -1, -1, -1, -1, -1, -1, -1, 36, -1,
-1, -1, -1, -1, -1, -1, 44, -1, -1, -1,
-1, -1, 1764, 51, -1, -1, -1, -1, -1, -1,
-1, -1, 3136, 2561, 3138, 3139, 3140, -1, -1, -1,
-1, -1, -1, -1, 4314, 4315, 1788, -1, 76, -1,
-1, -1, -1, -1, 1796, -1, -1, -1, -1, -1,
-1, 2589, -1, -1, -1, -1, 1808, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 472, -1, -1, 475, 476, 477, 478,
-1, 480, 481, 482, 483, 484, 485, -1, -1, 10,
-1, 490, 13, -1, -1, -1, 17, 18, 19, -1,
2648, -1, 2650, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 36, 4406, 4407, 1880, 1881,
-1, 1883, 1884, 44, -1, -1, -1, -1, 3252, -1,
51, -1, -1, 1895, -1, 1897, 1898, 3261, -1, 187,
-1, -1, -1, -1, 192, -1, -1, -1, 1910, 1911,
-1, -1, -1, -1, -1, 76, -1, -1, -1, -1,
-1, -1, -1, -1, 1926, -1, 214, 215, 3292, -1,
-1, -1, -1, -1, -1, -1, 5419, -1, -1, -1,
-1, 229, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3315, -1, -1, -1, -1, 1958, -1, -1, 1961,
1962, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2758, -1, -1, -1, -1, -1, -1, -1, -1, -1,
268, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 282, -1, -1, 285, -1, -1,
-1, -1, 4532, 3367, -1, -1, 4536, 4537, 3372, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5502,
-1, -1, 4552, -1, -1, -1, 187, -1, -1, -1,
-1, 192, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3406, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2054, 214, 215, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 229, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5566, 372, 3449, -1, 3451, 201, -1,
-1, -1, -1, -1, -1, -1, -1, 210, -1, -1,
-1, 5584, -1, -1, -1, -1, -1, 268, -1, -1,
-1, 224, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 282, -1, -1, 285, -1, -1, 3491, -1, -1,
2132, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 472, -1, 2188, 475, 476, 477,
478, -1, 480, 481, 482, 483, 484, 485, -1, -1,
-1, -1, 490, -1, 2206, -1, -1, -1, -1, 2211,
2212, 372, -1, -1, 2216, -1, -1, -1, -1, -1,
-1, -1, 2224, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2242, -1, -1, -1, -1, -1, -1, -1, -1, 3037,
-1, 3039, 3040, 3041, -1, -1, -1, -1, -1, -1,
-1, -1, 2264, -1, -1, 2267, 2268, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2287, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2307, 2308, -1, -1, -1,
-1, 472, -1, -1, 475, 476, 477, 478, -1, 480,
481, 482, 483, 484, 485, -1, -1, -1, -1, 490,
4860, -1, -1, -1, -1, -1, 2338, 2339, -1, -1,
2342, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3714, -1, 3716, -1, -1, 202, -1, -1, -1, 3723,
-1, -1, -1, 2365, -1, 2367, -1, 214, -1, 2371,
-1, -1, -1, -1, -1, 3739, 2378, -1, 225, -1,
-1, 10, -1, 2385, 13, -1, 2388, 3751, 17, 18,
19, 3755, 2394, -1, -1, -1, -1, -1, -1, -1,
4930, -1, -1, -1, -1, -1, -1, 36, -1, 3773,
-1, -1, 2414, -1, -1, 44, -1, -1, 2420, -1,
-1, -1, 51, 2425, -1, -1, 2428, 3791, -1, -1,
-1, -1, 3796, -1, -1, -1, 2438, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 76, -1, 2451,
-1, -1, -1, 4983, 2456, -1, -1, 3821, -1, -1,
2462, 3825, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3835, 3836, 3837, 3838, -1, -1, -1, -1, -1,
3844, 3845, 3846, 3847, -1, -1, -1, 3851, 3852, -1,
-1, -1, 3280, 3857, 3858, -1, 3860, 3861, 3862, 3863,
3864, 3865, 3866, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3876, -1, -1, -1, 3880, 3881, 3882, 3883,
-1, -1, 635, -1, -1, -1, 2528, -1, 641, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 654, 3906, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 670, 187, -1,
-1, 3925, -1, 192, -1, -1, -1, -1, -1, -1,
-1, -1, 685, -1, -1, -1, -1, -1, -1, -1,
693, -1, -1, -1, -1, 214, 215, -1, -1, -1,
-1, -1, -1, -1, 707, -1, -1, -1, -1, -1,
229, -1, -1, -1, 717, -1, -1, 2609, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 10, -1, -1, 13,
-1, -1, -1, 17, 18, 19, -1, -1, -1, 268,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 36, 282, -1, -1, 285, -1, -1, -1,
44, 4025, -1, 2665, -1, -1, -1, 51, 3456, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 802,
-1, -1, 76, -1, -1, -1, -1, -1, 4062, -1,
-1, -1, -1, -1, -1, 2707, -1, -1, -1, -1,
-1, -1, -1, 826, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2725, -1, -1, 839, -1, -1, -1,
-1, 2733, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 2743, -1, 372, 2746, -1, -1, 2749, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 616,
-1, -1, -1, -1, -1, 622, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 187, -1, -1, -1, -1, 192, -1,
-1, -1, -1, -1, -1, -1, 2818, -1, -1, -1,
-1, -1, 2824, -1, -1, -1, -1, -1, -1, -1,
214, 215, -1, -1, -1, -1, 949, -1, -1, -1,
-1, -1, -1, 472, -1, 229, 475, 476, 477, 478,
-1, 480, 481, 482, 483, 484, 485, -1, -1, -1,
-1, 490, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5403, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 268, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 282, -1,
-1, 285, -1, -1, -1, -1, 2908, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4280, -1, -1, -1,
4284, 4285, 4286, 4287, -1, -1, -1, 4291, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3728, 3729, 3730, 3731, -1, -1, -1, -1, -1, -1,
-1, -1, 799, -1, -1, -1, -1, -1, -1, -1,
-1, 4325, 4326, 4327, 4328, 4329, 10, 4331, 4332, 13,
-1, 818, -1, 17, 18, 19, -1, -1, -1, 4343,
4344, -1, -1, -1, -1, -1, -1, -1, 372, -1,
-1, -1, 36, 840, -1, 2997, 2998, -1, -1, -1,
44, -1, -1, -1, -1, -1, -1, 51, -1, -1,
-1, 4375, 1125, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3024, -1, -1, 3027, -1, -1, -1, -1,
1143, -1, 76, -1, -1, -1, -1, -1, -1, 886,
-1, -1, -1, -1, -1, -1, -1, -1, 1161, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1189, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 1200, 472, -1,
-1, 475, 476, 477, 478, -1, 480, 481, 482, 483,
484, 485, -1, 1216, -1, -1, 490, 1220, -1, 3111,
3112, 3113, -1, -1, -1, 4479, -1, -1, -1, -1,
-1, 3909, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3135, -1, -1, 3924, -1, -1, -1,
-1, -1, -1, 187, -1, -1, -1, -1, 192, -1,
-1, -1, -1, 3155, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1013, -1, -1, -1,
214, 215, 3174, -1, -1, 4539, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 229, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 1042, 1043, 1044, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 268, -1, -1, -1, -1, -1,
-1, 1344, -1, -1, -1, -1, -1, -1, 282, 1352,
1353, 285, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1366, -1, -1, -1, -1, 3260, -1,
-1, -1, -1, -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, 4652, -1,
17, 18, 19, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3307, 1419, -1, -1, 36,
-1, -1, 3314, -1, 3316, -1, -1, 44, -1, -1,
-1, -1, -1, -1, 51, -1, -1, 3329, 372, 3331,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1188, -1, -1, -1, -1, -1, -1, -1, 76,
-1, 3353, 4716, -1, -1, -1, -1, 10, -1, 1206,
13, -1, -1, -1, 17, 18, 19, -1, 1215, -1,
-1, 4735, -1, -1, -1, -1, 4740, 4741, -1, -1,
-1, -1, -1, 36, -1, -1, 4750, -1, -1, -1,
-1, 44, -1, 4757, -1, 3397, -1, -1, 51, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 76, -1, -1, -1, -1, 472, 4793,
-1, 475, 476, 477, 478, -1, 480, 481, 482, 483,
484, 485, -1, -1, -1, -1, 490, -1, -1, 4813,
3452, 4815, -1, -1, -1, -1, -1, -1, -1, -1,
187, -1, -1, -1, -1, 192, 4830, -1, 3470, -1,
-1, -1, 10, -1, -1, 13, -1, -1, -1, 17,
18, 19, -1, -1, -1, -1, 4850, 214, 215, -1,
3492, -1, -1, 3495, 4858, -1, -1, -1, 36, -1,
-1, -1, 229, 1616, -1, -1, 44, -1, -1, -1,
-1, 1358, -1, 51, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 187, -1, -1, -1, 76, 192,
-1, 268, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 282, -1, 1404, 285, 4923,
-1, 214, 215, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 229, -1, 3580, -1,
4944, -1, -1, -1, -1, -1, 796, 797, -1, -1,
-1, -1, 4956, -1, -1, -1, -1, 4385, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4400, -1, -1, 268, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 163, -1, -1, -1, 282,
168, -1, 285, -1, -1, -1, -1, -1, -1, 1486,
-1, -1, -1, -1, -1, 372, 680, -1, 1495, 187,
-1, 1764, -1, -1, 192, -1, -1, 5021, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 706, -1, -1, 1788, 214, 215, -1, -1,
1527, -1, -1, 1796, -1, -1, -1, -1, -1, -1,
-1, 229, -1, -1, -1, 1808, -1, -1, -1, -1,
-1, -1, -1, 1550, -1, 4493, 1553, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 372,
-1, 5085, -1, -1, -1, -1, -1, -1, -1, -1,
268, -1, -1, -1, -1, -1, 3738, 947, 948, -1,
-1, -1, -1, -1, 282, 472, -1, 285, 475, 476,
477, 478, -1, 480, 481, 482, 483, 484, 485, 1606,
-1, -1, -1, 490, -1, -1, -1, -1, -1, -1,
1883, 1884, -1, 1620, -1, -1, -1, -1, -1, -1,
-1, 5145, -1, -1, 1897, -1, 3788, -1, -1, -1,
-1, 3793, -1, 3795, -1, -1, 5160, 1910, 1911, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1926, -1, -1, 3818, -1, -1, 472,
-1, -1, 475, 476, 477, 478, -1, 480, 481, 482,
483, 484, 485, -1, 372, -1, -1, 490, 3840, -1,
5204, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3856, 5219, -1, 3859, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1731, -1, 4674, -1, 4676, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 947, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 963,
-1, -1, -1, -1, 472, 1782, 5300, 475, 476, 477,
478, 2054, 480, 481, 482, 483, 484, 485, -1, 3951,
3952, -1, -1, -1, 988, -1, -1, -1, -1, 3961,
-1, -1, -1, -1, 1811, 10, -1, -1, 13, 1003,
-1, 1818, 17, 18, 19, -1, -1, -1, 3980, -1,
5344, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 36, -1, -1, -1, -1, -1, -1, -1, 44,
-1, -1, -1, -1, -1, -1, 51, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2132,
-1, -1, 1232, -1, -1, -1, -1, -1, -1, -1,
-1, 76, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4836, -1,
-1, -1, -1, 1263, 1088, -1, 4058, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5432, -1,
-1, -1, -1, -1, -1, 2188, -1, 1924, -1, -1,
-1, 1291, -1, 1293, 1294, -1, 1296, -1, -1, -1,
-1, -1, -1, 2206, -1, -1, -1, -1, 2211, 2212,
-1, -1, -1, 2216, -1, -1, 1316, -1, -1, -1,
-1, 2224, -1, -1, -1, -1, -1, 1964, 1965, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2242,
-1, -1, -1, -1, 1981, -1, -1, -1, -1, -1,
-1, -1, 187, -1, -1, -1, -1, 192, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 1198, -1, -1, -1, -1, 214,
215, -1, -1, -1, 2287, -1, -1, -1, 1388, -1,
-1, -1, 1392, 1393, 229, -1, -1, -1, -1, -1,
4978, -1, 4980, -1, 2307, 2308, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 10, -1, -1, 13, -1,
-1, -1, 17, 18, 19, -1, -1, -1, -1, -1,
-1, -1, -1, 268, -1, 2338, 2339, -1, -1, 2342,
-1, 36, -1, -1, -1, -1, -1, 282, 2085, 44,
285, -1, -1, -1, -1, -1, 51, -1, -1, 2096,
-1, -1, 2365, -1, 2367, -1, -1, -1, 2371, -1,
-1, -1, -1, -1, 309, 2378, -1, -1, -1, -1,
-1, 76, 2385, -1, -1, 2388, -1, -1, -1, -1,
-1, 2394, -1, -1, 2131, -1, -1, -1, 4290, -1,
-1, -1, -1, 4295, -1, 2142, 2143, -1, 680, -1,
-1, 2414, -1, -1, -1, -1, -1, 2420, -1, -1,
-1, -1, 2425, -1, -1, 2428, -1, -1, -1, -1,
-1, -1, -1, -1, 706, 2438, -1, 372, 4330, 2176,
-1, -1, -1, -1, -1, -1, -1, -1, 2451, -1,
4342, -1, -1, 2456, 389, -1, -1, -1, -1, 2462,
-1, -1, -1, -1, -1, -1, -1, 162, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4374, -1, -1, -1, -1, -1, -1, 1413,
-1, -1, 187, -1, -1, -1, -1, 192, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 214,
215, -1, -1, -1, -1, 2528, -1, -1, -1, -1,
-1, 1631, 1632, 1633, 229, -1, 5214, 472, -1, -1,
475, 476, 477, 478, -1, 480, 481, 482, 483, 484,
485, -1, -1, -1, -1, -1, 1480, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 268, -1, -1, -1, -1, -1, -1,
-1, 4473, -1, 2320, -1, -1, -1, 282, -1, -1,
285, -1, -1, -1, -1, -1, -1, 1521, 2335, -1,
-1, -1, -1, -1, -1, -1, 2609, -1, -1, -1,
-1, -1, 307, -1, -1, -1, -1, -1, -1, 2356,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1554, -1, -1, -1, -1, -1, -1, -1, 5316, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4553, 2665, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 372, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 963, -1, -1, -1, 2432, 2433, -1, -1, -1,
-1, -1, -1, -1, 2707, -1, -1, 1631, 1632, 1633,
-1, -1, -1, -1, -1, -1, 988, -1, -1, -1,
-1, -1, 2725, -1, -1, -1, -1, -1, -1, 10,
2733, 1003, 13, -1, -1, 5413, 17, 18, 19, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 36, -1, -1, 39, -1,
-1, -1, -1, 44, -1, -1, -1, 5445, 5446, -1,
51, -1, -1, -1, 4666, -1, 4668, 472, -1, -1,
475, 476, 477, 478, -1, 480, 481, 482, 483, 484,
485, -1, -1, -1, -1, 76, -1, -1, -1, -1,
-1, -1, 2539, -1, -1, -1, -1, -1, -1, -1,
1734, -1, -1, -1, -1, 2818, 1088, -1, -1, -1,
-1, 2824, -1, 4715, -1, -1, -1, 1751, 10, -1,
-1, 13, -1, 4725, -1, 17, 18, 19, -1, -1,
-1, -1, -1, -1, -1, 1769, -1, -1, -1, -1,
-1, -1, -1, -1, 36, -1, -1, -1, -1, -1,
-1, -1, 44, -1, -1, -1, -1, -1, -1, 51,
5548, -1, 4764, -1, -1, -1, -1, 4769, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 76, -1, -1, -1, -1, -1,
-1, 1825, -1, 2003, -1, 2908, 187, -1, -1, -1,
-1, 192, -1, -1, 1838, 2015, -1, 2017, -1, 2019,
-1, -1, 2022, 2023, 2024, -1, 1198, 1851, -1, 2029,
680, -1, 2032, 214, 215, -1, -1, -1, -1, 1863,
-1, -1, -1, -1, -1, -1, -1, -1, 229, -1,
2050, 2051, 2052, 2053, -1, -1, 706, -1, 2058, -1,
-1, -1, 2062, -1, -1, 2065, -1, -1, 2068, 2069,
2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, -1, 2079,
-1, -1, -1, 1907, 1908, -1, 2086, 268, -1, 2089,
-1, -1, -1, -1, 2997, 2998, -1, -1, -1, -1,
-1, 282, -1, -1, 285, 187, -1, -1, -1, -1,
192, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3024, -1, -1, 3027, -1, -1, -1, -1, -1,
-1, -1, 214, 215, -1, -1, -1, -1, 2138, -1,
-1, -1, -1, -1, -1, -1, -1, 229, -1, -1,
-1, -1, -1, -1, -1, -1, 4948, -1, 10, -1,
-1, 13, 2162, 2163, -1, 17, 18, 19, -1, -1,
-1, -1, -1, -1, -1, 1347, -1, -1, -1, -1,
-1, -1, 4974, -1, 36, 680, 268, 39, -1, -1,
-1, 372, 44, -1, -1, -1, 4988, -1, -1, 51,
282, -1, -1, 285, -1, -1, -1, -1, 3111, 3112,
3113, 706, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 303, -1, -1, 76, 2049, -1, -1, -1, -1,
-1, -1, 3135, -1, -1, -1, -1, -1, -1, -1,
-1, 1413, -1, -1, -1, 2245, -1, -1, -1, -1,
-1, -1, 3155, -1, -1, -1, 2893, -1, -1, -1,
-1, -1, -1, -1, -1, 2089, -1, -1, -1, -1,
-1, 3174, -1, -1, -1, -1, -1, -1, -1, 2916,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
372, 472, -1, -1, 475, 476, 477, 478, -1, 480,
481, 482, 483, 484, 485, -1, -1, -1, 1480, -1,
-1, -1, -1, 963, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 187, -1, -1, 988, -1,
192, -1, -1, -1, -1, -1, -1, -1, -1, 1521,
-1, -1, -1, 1003, -1, -1, -1, 3260, -1, -1,
-1, -1, 214, 215, -1, -1, -1, -1, -1, -1,
-1, 2195, -1, -1, -1, 2199, 2200, 229, -1, -1,
-1, 5173, 1554, 5175, -1, -1, -1, -1, -1, -1,
472, -1, -1, 475, 476, 477, 478, -1, 480, 481,
482, 483, 484, 485, 3307, -1, -1, -1, -1, -1,
-1, 3314, -1, 3316, -1, -1, 268, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3329, -1, 3331, -1,
282, -1, -1, 285, -1, -1, -1, 2261, 1088, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3353, 2275, -1, -1, -1, -1, -1, -1, -1, 680,
-1, -1, -1, -1, -1, -1, -1, -1, 963, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5270, -1,
2480, 2481, 2482, -1, -1, 706, 2486, -1, -1, -1,
-1, -1, 2316, 988, 3397, -1, 5288, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1003, 5301,
-1, -1, -1, -1, -1, -1, 3153, -1, 2518, -1,
372, -1, 5314, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1198, 3452,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1734, -1, -1, -1, -1, 3470, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1751,
-1, -1, -1, -1, 5376, 5377, -1, -1, -1, 3492,
-1, -1, 3495, 1088, -1, -1, -1, 1769, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
472, -1, -1, 475, 476, 477, 478, 5419, 480, 481,
482, 483, 484, 485, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1825, -1, -1, -1, -1, 2482, -1,
-1, -1, -1, -1, -1, -1, 1838, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3580, -1, 1851,
-1, -1, -1, 3320, 3321, 3322, -1, -1, -1, -1,
-1, 1863, -1, -1, -1, 2519, -1, -1, -1, -1,
3337, -1, -1, 1198, -1, -1, 10, -1, -1, 13,
5502, -1, -1, 17, 18, 19, -1, -1, -1, -1,
-1, -1, -1, 3360, -1, -1, -1, -1, -1, -1,
-1, -1, 36, 3370, 3371, 1907, 1908, -1, 3375, -1,
44, -1, 963, -1, -1, -1, -1, 51, -1, -1,
10, -1, -1, 13, -1, -1, -1, 17, 18, 19,
-1, -1, -1, 1413, -1, -1, 2766, 988, -1, -1,
-1, 2771, 76, -1, 5566, -1, 36, 2601, -1, -1,
2604, -1, 1003, -1, 44, -1, -1, -1, -1, -1,
-1, 51, 5584, -1, 5586, 5587, -1, -1, -1, 2799,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2810, -1, 2812, 2813, -1, -1, 76, -1, -1, -1,
-1, -1, -1, 2823, -1, -1, 2826, -1, 2828, -1,
1480, -1, -1, -1, -1, 3738, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3490, -1, -1, 3493, -1, -1, -1,
-1, -1, -1, -1, 2864, -1, 2866, 1088, 2868, -1,
-1, 1521, -1, -1, -1, -1, -1, 2049, -1, -1,
-1, -1, -1, 187, -1, 3788, -1, -1, 192, -1,
3793, -1, 3795, -1, -1, -1, -1, -1, -1, 2723,
-1, -1, -1, -1, 1554, -1, -1, -1, 168, -1,
214, 215, -1, -1, -1, 3818, 2740, -1, 1413, -1,
-1, -1, -1, -1, 2924, 229, -1, 187, -1, -1,
-1, 2755, 192, -1, -1, -1, -1, 3840, -1, 2939,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3856, 214, 215, 3859, -1, -1, -1,
-1, -1, -1, -1, 268, -1, -1, -1, -1, 229,
-1, -1, -1, -1, -1, -1, -1, 1198, 282, -1,
-1, 285, -1, -1, -1, 1480, -1, -1, -1, -1,
-1, -1, 3629, 3630, 3631, -1, -1, -1, -1, -1,
-1, -1, -1, 3003, -1, -1, -1, -1, 268, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 282, 2195, -1, 285, 1521, 2199, 2200, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3951, 3952,
-1, -1, -1, -1, -1, -1, -1, -1, 3961, 1554,
-1, -1, -1, -1, -1, -1, -1, -1, 372, -1,
-1, -1, -1, -1, -1, -1, -1, 3980, -1, -1,
-1, -1, -1, -1, 1734, -1, -1, -1, -1, 2261,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
404, 1751, -1, 2275, -1, -1, -1, -1, -1, -1,
-1, -1, 372, -1, -1, -1, -1, -1, -1, 1769,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2316, -1, -1, -1, 2972, -1,
-1, 2975, -1, 2977, -1, 4058, -1, -1, 2982, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 472, -1,
-1, 475, 476, 477, 478, 1825, 480, 481, 482, 483,
484, 485, -1, -1, -1, -1, -1, -1, 1838, -1,
-1, -1, 1413, -1, -1, -1, -1, -1, -1, -1,
-1, 1851, -1, -1, -1, -1, -1, 3031, -1, -1,
-1, -1, 472, 1863, -1, 475, 476, 477, 478, -1,
480, 481, 482, 483, 484, 485, 3050, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1734,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3075, -1, -1, -1, -1, 1751, 1907, 1908, 1480,
10, -1, -1, 13, -1, 3265, -1, 17, 18, 19,
-1, 3271, -1, -1, 1769, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 10, 3922, 36, 13, -1, 39,
-1, 17, 18, 19, 44, -1, 3933, -1, -1, -1,
1521, 51, -1, -1, -1, -1, -1, -1, -1, -1,
36, -1, -1, 39, -1, -1, -1, -1, 44, -1,
-1, 3145, -1, 3147, -1, 51, 76, 3964, -1, -1,
1825, -1, -1, 1554, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1838, -1, -1, -1, 2519, -1, -1,
76, -1, -1, -1, -1, -1, 1851, -1, -1, -1,
3997, -1, -1, -1, -1, -1, -1, -1, 1863, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4290, -1, -1,
-1, -1, 4295, -1, -1, -1, -1, -1, -1, 2049,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4048, 1907, 1908, 3238, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4330, -1, 2601,
-1, -1, 2604, -1, -1, -1, -1, 187, -1, 4342,
-1, 3265, 192, -1, -1, -1, -1, 3271, -1, -1,
-1, -1, -1, -1, -1, 3279, -1, -1, -1, -1,
-1, 187, -1, -1, 214, 215, 192, -1, -1, -1,
-1, 4374, -1, -1, -1, -1, -1, -1, -1, 229,
-1, -1, -1, -1, 3308, -1, -1, -1, 214, 215,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 229, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1734, -1, 3515, -1, -1, 268, -1,
-1, -1, -1, 3523, 3524, -1, 3526, -1, -1, -1,
1751, -1, 282, -1, 3534, 285, 3536, 4174, 4175, 4176,
4177, -1, 268, -1, -1, 2195, -1, -1, 1769, 2199,
2200, 2723, -1, 3377, 2049, -1, 282, -1, -1, 285,
-1, -1, -1, -1, 3564, 3565, -1, -1, 2740, -1,
4473, -1, -1, -1, 3398, -1, -1, -1, -1, -1,
-1, -1, 3582, 2755, -1, -1, -1, -1, 3412, -1,
3590, -1, -1, 3593, -1, 3595, -1, -1, -1, -1,
-1, -1, -1, -1, 1825, -1, -1, 3607, -1, -1,
-1, 2261, -1, -1, -1, 3615, 3616, 1838, -1, -1,
-1, -1, 372, -1, -1, 2275, -1, -1, -1, -1,
1851, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1863, -1, -1, -1, 372, 3647, -1, -1,
4553, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2316, -1, -1, -1,
-1, -1, -1, 3673, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 1907, 1908, -1, 3689,
-1, -1, -1, -1, 3518, -1, -1, -1, -1, -1,
2195, -1, -1, -1, 2199, 2200, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3543,
-1, -1, 472, -1, -1, 475, 476, 477, 478, -1,
480, 481, 482, 483, 484, 485, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3569, 472, -1, -1, 475,
476, 477, 478, -1, 480, 481, 482, 483, 484, 485,
-1, -1, -1, 4666, -1, 4668, 2261, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2275, 3605, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 680, -1, -1, -1, -1, -1, -1, -1, -1,
2972, -1, -1, 2975, -1, 2977, -1, -1, -1, -1,
2982, -1, 4715, -1, -1, 680, -1, 706, -1, -1,
-1, 2316, -1, -1, -1, -1, -1, -1, 2049, -1,
-1, -1, -1, 26, -1, -1, -1, -1, -1, 32,
-1, 706, -1, -1, -1, -1, 39, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3031,
-1, 4764, -1, -1, -1, 58, -1, -1, -1, 2519,
-1, 3695, -1, -1, -1, -1, -1, -1, 3050, -1,
-1, 74, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4529, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3075, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 108, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 128, -1, -1, -1, -1,
-1, -1, 135, -1, -1, 138, -1, -1, -1, -1,
-1, 2601, -1, -1, 2604, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3794, 164, -1, 3145, 2195, 3147, -1, -1, 2199, 2200,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 10,
-1, -1, 13, -1, -1, 3819, 17, 18, 19, -1,
-1, -1, 195, -1, -1, 198, -1, -1, 4008, 4009,
-1, -1, -1, -1, -1, 36, -1, -1, -1, -1,
-1, -1, -1, 44, 2519, -1, -1, -1, -1, -1,
51, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2261, -1, -1, -1, -1, 4948, -1, -1, -1, -1,
243, -1, -1, 246, 2275, 76, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3238, -1, 261, -1,
-1, 4974, 265, 2723, 963, -1, -1, -1, -1, -1,
-1, -1, 275, 4083, -1, 4988, -1, -1, -1, -1,
2740, 284, -1, -1, -1, 2316, -1, 4097, 963, 988,
-1, -1, 295, 296, -1, 2755, 2601, 3279, -1, 2604,
-1, -1, -1, -1, 1003, -1, -1, -1, -1, -1,
-1, -1, -1, 988, -1, -1, -1, -1, -1, -1,
-1, 3955, -1, -1, -1, 4772, 3308, -1, 1003, 4139,
4140, 334, -1, -1, 337, 338, 339, -1, 4148, 4149,
4787, -1, -1, 4153, -1, 4792, -1, -1, -1, 4159,
-1, -1, 4162, 4163, -1, -1, 187, 4167, 361, -1,
-1, 192, -1, 4173, 367, -1, -1, -1, -1, 4003,
-1, 4818, -1, 4007, -1, -1, -1, -1, 381, -1,
-1, -1, -1, 214, 215, -1, -1, -1, -1, 1088,
-1, -1, -1, -1, -1, 3377, -1, -1, 229, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 1088, -1, -1, 3398, 4227, 2723, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3412, -1, 435, -1, -1, 2740, -1, 268, -1, -1,
-1, -1, -1, -1, 4254, -1, -1, -1, -1, -1,
2755, 282, -1, -1, 285, -1, -1, -1, -1, -1,
5173, -1, 5175, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 2519, -1,
-1, -1, 4939, -1, -1, -1, -1, -1, -1, 1198,
-1, -1, -1, -1, -1, -1, -1, -1, 4142, -1,
-1, -1, 2972, 680, -1, 2975, -1, 2977, -1, -1,
4154, -1, 2982, 1198, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3518, -1, -1, 706,
-1, 372, -1, -1, -1, -1, -1, -1, 4358, -1,
-1, -1, -1, -1, -1, -1, -1, 5270, -1, -1,
-1, 3543, -1, -1, -1, -1, -1, -1, -1, -1,
2601, 3031, -1, 2604, -1, 5288, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3569, -1, -1,
3050, -1, 5039, -1, -1, -1, -1, -1, -1, -1,
-1, 5314, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3075, -1, -1, -1, -1,
-1, -1, -1, 3605, 4434, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4272, -1,
-1, 472, -1, -1, 475, 476, 477, 478, -1, 480,
481, 482, 483, 484, 485, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 2972, -1, -1,
2975, -1, 2977, -1, -1, -1, -1, 2982, -1, 4313,
-1, -1, -1, -1, -1, 3145, -1, 3147, -1, -1,
-1, -1, 2723, -1, -1, -1, -1, -1, -1, -1,
-1, 4335, -1, -1, -1, -1, 5419, -1, -1, 2740,
-1, -1, -1, 3695, 1413, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2755, -1, 3031, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 1413, -1,
-1, -1, -1, -1, -1, 3050, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3075, 4405, -1, -1, -1, -1, -1, -1, 3238, -1,
-1, 1480, -1, -1, -1, -1, -1, -1, -1, 5502,
24, 4601, 4602, -1, -1, 4605, 963, -1, -1, -1,
-1, -1, -1, -1, -1, 1480, -1, 41, -1, -1,
-1, -1, 3794, -1, -1, -1, -1, -1, -1, 3279,
-1, 988, 1521, -1, -1, -1, -1, -1, -1, -1,
64, -1, 4642, 4643, -1, -1, 1003, 3819, -1, -1,
3145, -1, 3147, 77, -1, -1, 1521, -1, 3308, -1,
-1, 4661, -1, 5566, 88, 1554, -1, -1, 92, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5584, -1, -1, -1, -1, 110, -1, -1, 1554,
-1, -1, 116, -1, -1, -1, -1, -1, -1, -1,
-1, 4525, -1, 4527, -1, -1, -1, -1, -1, 133,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
144, -1, -1, -1, -1, -1, -1, 3377, -1, 153,
-1, 1088, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 165, -1, 3238, -1, -1, -1, -1, 3398, 173,
-1, 2972, 4576, 177, 2975, -1, 2977, -1, -1, -1,
-1, 2982, 3412, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 196, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3955, 3279, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 233,
3031, -1, -1, 3308, -1, -1, -1, -1, 242, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3050,
-1, 4003, -1, -1, -1, 4007, -1, -1, -1, -1,
-1, 1198, -1, -1, -1, 1734, -1, -1, -1, -1,
-1, -1, -1, -1, 3075, -1, -1, -1, 282, -1,
-1, 285, 1751, -1, -1, -1, -1, 4867, 3518, 1734,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1769, 305, 3377, -1, -1, -1, 1751, -1, -1, -1,
4714, -1, -1, 3543, 4894, 319, -1, -1, -1, -1,
-1, -1, 326, 3398, 1769, -1, -1, -1, 4908, -1,
-1, -1, -1, -1, -1, -1, -1, 3412, -1, 3569,
-1, 345, -1, -1, 3145, -1, 3147, -1, -1, -1,
354, -1, -1, -1, -1, -1, 1825, 361, -1, -1,
364, -1, -1, -1, -1, -1, -1, -1, -1, 1838,
-1, -1, -1, -1, -1, 3605, -1, -1, -1, 383,
1825, -1, 1851, -1, -1, -1, 390, 4967, -1, -1,
4142, -1, 396, 1838, 1863, 399, 400, -1, 402, 403,
-1, -1, 4154, -1, -1, -1, 1851, -1, -1, 413,
-1, -1, -1, -1, 418, -1, -1, -1, 1863, -1,
-1, 425, -1, -1, 428, -1, -1, 431, -1, -1,
5010, -1, -1, -1, -1, -1, 4840, 3238, 1907, 1908,
444, -1, -1, 3518, -1, -1, -1, -1, -1, -1,
-1, 29, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4865, 1907, 1908, -1, 3695, -1, -1, 3543, -1,
-1, -1, -1, -1, -1, -1, 1413, -1, 3279, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3569, -1, -1, -1, -1, 77,
4904, -1, -1, -1, -1, -1, -1, 3308, -1, -1,
-1, -1, -1, -1, 92, -1, -1, -1, -1, -1,
4272, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3605, -1, 110, -1, -1, -1, -1, -1, 116, -1,
-1, -1, 5122, 1480, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4957, -1, 133, -1, -1, 4962, 4963,
-1, 4313, -1, -1, 3794, -1, 144, -1, 5148, -1,
-1, -1, -1, -1, -1, 153, 3377, -1, -1, -1,
2049, -1, -1, 4335, 1521, -1, -1, 165, -1, 3819,
-1, -1, 170, -1, -1, -1, -1, 3398, -1, 177,
-1, -1, -1, -1, 2049, -1, -1, -1, -1, -1,
-1, 3412, -1, -1, -1, -1, -1, 1554, 196, -1,
3695, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 221, -1, 5225, -1, -1, -1, -1,
-1, -1, -1, 4405, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 242, -1, -1, -1, -1, -1,
-1, -1, -1, 5077, 5078, -1, -1, -1, -1, -1,
5260, 5261, 5262, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5279,
-1, -1, -1, -1, 282, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3518, -1, 3794,
-1, -1, -1, -1, -1, 3955, 2195, 305, -1, -1,
2199, 2200, -1, -1, -1, -1, -1, 315, 316, -1,
-1, 319, 3543, -1, 3819, -1, 26, -1, -1, -1,
2195, -1, 32, -1, 2199, 2200, -1, -1, -1, 39,
-1, -1, -1, -1, -1, -1, -1, 345, 3569, -1,
348, -1, -1, 4003, 352, 4527, 354, 4007, 58, -1,
5360, -1, -1, 361, -1, -1, 364, -1, -1, -1,
-1, -1, 2261, -1, 74, -1, -1, 1734, 5378, -1,
-1, -1, -1, -1, 3605, 383, 2275, -1, -1, -1,
-1, -1, 390, -1, 1751, -1, 2261, 395, 396, -1,
-1, 399, -1, -1, 4576, 403, -1, -1, 108, -1,
2275, -1, 1769, -1, -1, 413, -1, -1, -1, -1,
418, -1, -1, -1, -1, -1, -1, 2316, 128, -1,
-1, -1, -1, 431, -1, 135, -1, -1, 138, -1,
-1, -1, -1, -1, -1, -1, 444, -1, -1, 5273,
-1, 2316, -1, -1, -1, -1, -1, -1, -1, -1,
3955, -1, -1, -1, 164, -1, -1, -1, 1825, -1,
-1, -1, -1, 24, 3695, -1, -1, -1, 29, -1,
-1, 1838, -1, -1, -1, -1, -1, -1, 5488, -1,
-1, -1, 4142, -1, 1851, 195, -1, -1, 198, -1,
-1, -1, -1, -1, 4154, -1, 1863, -1, 4003, -1,
-1, -1, 4007, 64, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5523, -1, -1, 77, -1, -1, -1,
-1, -1, -1, 5533, -1, -1, -1, -1, -1, -1,
-1, 92, 4714, 243, -1, -1, 246, -1, -1, -1,
1907, 1908, -1, -1, -1, -1, -1, -1, -1, 110,
-1, 261, -1, -1, -1, 265, -1, -1, -1, -1,
-1, -1, -1, 3794, -1, 275, -1, -1, -1, -1,
-1, -1, 133, -1, 284, -1, -1, -1, -1, -1,
-1, -1, -1, 144, -1, 295, 296, -1, 3819, -1,
-1, -1, 153, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 165, -1, -1, -1, -1, 170,
-1, -1, 4272, -1, -1, -1, 177, -1, -1, -1,
2519, -1, -1, -1, 334, -1, -1, 337, 338, 339,
-1, -1, -1, -1, -1, 196, -1, 4142, -1, -1,
-1, -1, -1, -1, 2519, -1, -1, -1, -1, 4154,
-1, 361, -1, 4313, -1, -1, -1, 367, 4840, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 381, -1, -1, -1, 4335, -1, -1, -1, -1,
-1, 242, 2049, 4865, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 2601, -1, -1, 2604, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 282, 4904, -1, 3955, 435, 2601, -1, -1, 2604,
-1, -1, -1, -1, 295, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 305, 4405, -1, -1, -1, -1,
-1, -1, -1, -1, 315, 316, -1, -1, 319, -1,
-1, -1, -1, -1, -1, -1, -1, 4272, -1, -1,
-1, -1, 4003, -1, -1, 4957, 4007, -1, -1, -1,
4962, 4963, -1, -1, 345, -1, -1, 348, -1, -1,
-1, 352, -1, 354, -1, -1, -1, -1, -1, -1,
361, -1, -1, 364, -1, -1, -1, -1, 4313, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 383, -1, 2723, -1, -1, -1, 2195, 390,
4335, -1, 2199, 2200, -1, 396, -1, -1, 399, -1,
-1, 2740, 403, -1, -1, -1, -1, -1, 2723, -1,
411, -1, 413, -1, -1, -1, 2755, 418, -1, -1,
-1, -1, -1, -1, -1, 2740, 24, 4527, -1, -1,
431, 29, -1, -1, -1, -1, -1, -1, -1, -1,
2755, -1, -1, 444, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 2261, -1, 5078, -1, -1, -1,
4405, -1, -1, -1, -1, -1, 64, -1, 2275, -1,
-1, 4142, -1, -1, -1, -1, 4576, -1, -1, 77,
78, -1, -1, 4154, -1, -1, -1, -1, -1, -1,
88, -1, -1, -1, 92, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2316,
-1, -1, 110, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 133, -1, -1, -1, -1,
-1, -1, -1, 1308, -1, -1, 144, -1, -1, -1,
-1, -1, -1, -1, -1, 153, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 165, -1, -1,
-1, -1, 170, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4527, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 196, -1,
-1, 4272, -1, -1, -1, 1370, -1, -1, -1, -1,
-1, -1, -1, -1, 4714, -1, -1, -1, -1, -1,
-1, -1, -1, 221, -1, -1, -1, -1, -1, -1,
-1, 4576, -1, 2972, -1, -1, 2975, -1, 2977, -1,
-1, -1, 4313, 2982, 242, -1, -1, -1, -1, -1,
-1, 5273, -1, -1, -1, -1, -1, 2972, -1, -1,
2975, -1, 2977, -1, 4335, -1, -1, 2982, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 282, -1, -1, -1, -1, -1,
-1, -1, 3031, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 305, -1, -1,
-1, 3050, 2519, -1, -1, -1, 3031, 315, 316, -1,
-1, 319, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4405, 3050, 3075, -1, -1, -1,
4840, -1, -1, -1, -1, -1, -1, 345, -1, -1,
348, -1, -1, -1, 352, -1, 354, -1, -1, -1,
3075, -1, -1, 361, -1, 4865, 364, -1, -1, 4714,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 383, -1, -1, -1, -1,
-1, -1, 390, -1, 2601, -1, -1, 2604, 396, -1,
-1, 399, -1, -1, 4904, 403, 3145, -1, 3147, -1,
-1, -1, -1, 411, -1, 413, -1, -1, -1, -1,
418, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3145, -1, 3147, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 444, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4527, 4957, -1, -1,
-1, -1, 4962, 4963, -1, -1, -1, -1, -1, -1,
-1, -1, 1637, -1, -1, -1, 1641, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4840, -1, -1, -1, 3238,
-1, -1, -1, -1, -1, 4576, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2723, -1, -1, -1,
4865, -1, -1, 3238, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 2740, -1, -1, -1, -1, -1, -1,
3279, -1, -1, -1, -1, -1, -1, -1, 2755, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4904,
-1, -1, -1, -1, 3279, -1, -1, -1, -1, 3308,
-1, -1, -1, -1, -1, -1, -1, -1, 5078, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3308, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4957, -1, -1, -1, -1, 4962, 4963, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3377, -1,
-1, -1, -1, 4714, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3398,
-1, -1, 3377, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3412, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3398, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 3412, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 5078, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 2972, -1, -1, 2975, 4840,
2977, -1, -1, 5273, -1, 2982, -1, -1, -1, 3518,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4865, -1, -1, -1, -1, -1,
-1, -1, -1, 3518, 3543, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3031, -1, -1, -1, 3543, -1,
3569, -1, -1, 4904, -1, -1, 2001, -1, -1, -1,
-1, -1, -1, 3050, -1, -1, -1, -1, -1, -1,
-1, 2016, -1, -1, 3569, 2020, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3605, -1, 3075, 2034,
-1, 2036, 2037, -1, 2039, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4957, -1, -1, -1,
3605, 4962, 4963, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 2084,
-1, -1, -1, -1, -1, -1, -1, -1, 5273, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3145, -1,
3147, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3695, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3695, -1, -1, -1, 2149, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 2161, -1, -1, -1,
-1, 2166, -1, -1, -1, -1, -1, 5078, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3238, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 3794, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3279, -1, -1, -1, -1, -1, -1, 3794,
3819, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3308, -1, -1, 3819, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3377, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3398, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5273, -1, -1, 3412, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3955, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
3955, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4003, -1, -1, -1, 4007, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4003, -1,
-1, -1, 4007, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 3518, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 3543, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 3569, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3605, -1,
-1, -1, -1, 4142, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4154, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4142, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4154,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3695, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 4272, -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, 3794, -1, -1,
-1, -1, -1, -1, -1, -1, 4335, -1, 4313, -1,
-1, -1, -1, -1, 2769, -1, -1, -1, -1, -1,
-1, -1, 3819, -1, -1, -1, -1, -1, -1, -1,
4335, -1, -1, -1, -1, -1, 2791, 2792, -1, 2794,
-1, -1, 2797, 2798, -1, 2800, -1, 2802, -1, -1,
-1, 2806, -1, -1, 2809, -1, -1, -1, -1, 2814,
-1, -1, -1, -1, -1, 2820, -1, -1, -1, -1,
2825, -1, -1, -1, -1, -1, 4405, -1, 2833, 2834,
2835, 2836, -1, -1, -1, 2840, 2841, -1, 2843, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4405, -1, -1, -1, -1, -1, 2861, -1, 2863, -1,
-1, -1, -1, -1, -1, 2870, 2871, 2872, 2873, 2874,
2875, 2876, 2877, 2878, 2879, 2880, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3955, -1,
-1, -1, 2917, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4527, -1,
-1, -1, -1, -1, -1, -1, 4003, -1, -1, -1,
4007, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4527, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4576, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 3018, -1, -1, -1, -1, -1, -1,
-1, 4576, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4142, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4154, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4714, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4714,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -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, 4840, -1, -1, 3269, 3270, 4313, -1, -1, 3274,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4840, 4865, -1, 4335, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3303, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4865, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4904, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4904,
-1, -1, -1, -1, -1, -1, -1, -1, 4405, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4957, -1,
-1, -1, -1, 4962, 4963, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4957, -1, -1, -1, -1, 4962, 4963, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4527, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 5078,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 3514,
-1, -1, -1, -1, -1, 3520, -1, -1, -1, -1,
-1, -1, -1, 5078, -1, -1, -1, -1, -1, 4576,
-1, -1, -1, -1, -1, 3540, 3541, -1, -1, 3544,
3545, 3546, 3547, -1, -1, 3550, 3551, 3552, 3553, 3554,
3555, 3556, 3557, 3558, 3559, 3560, 3561, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 3583, -1,
-1, 3586, -1, 3588, -1, -1, 3591, 3592, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 3609, 3610, 3611, 3612, -1, 3614,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4714, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5273, -1, -1, -1, -1, 3704,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5273, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4840, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4865, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4904, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4957, -1, -1, -1, -1, 4962, 4963, -1, -1, -1,
-1, 3926, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5078, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4084,
-1, -1, -1, 4088, 4089, 4090, -1, 4092, 4093, -1,
-1, -1, -1, -1, 4099, 4100, 4101, 4102, -1, -1,
-1, -1, 4107, 4108, 4109, 4110, 4111, 4112, 4113, 4114,
4115, 4116, 4117, 4118, 4119, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4147, -1, -1, 4150, -1, 4152, -1, -1,
-1, -1, 4157, -1, -1, 4160, 4161, -1, -1, 4164,
4165, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 4211, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4226, -1, -1, -1, -1, 5273, -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, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4437, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4522, 4523, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4565, -1, -1, -1, -1, -1, 4571, 4572, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4589, -1, 4591, -1, -1, -1,
4595, 4596, 4597, -1, -1, 4600, -1, -1, 4603, 4604,
-1, -1, -1, 4608, -1, -1, -1, 4612, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4670, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4736, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4774,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4863, 4864,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4878, 4879, 4880, -1, -1, -1, -1,
-1, -1, -1, 4888, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4915, 4916, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 4927, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 5090, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5103, -1,
-1, 5106, -1, -1, -1, 5110, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5159, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 5196, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5267, -1, 5269, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 5353, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 5381, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 5442, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 5477, 5478, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 5529, 5530, -1, -1, -1, 5534,
-1, -1, -1, -1, -1, -1, -1, -1, 3, -1,
5, 6, -1, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, 5561, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, -1,
-1, -1, -1, 38, -1, -1, 41, 42, -1, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, -1, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, 77, -1, 79, 80, 81, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, 130, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, 167, -1, 169, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, -1, -1,
225, 226, 227, 228, 229, -1, 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, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 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, -1, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, -1,
425, 426, 427, 428, 429, 430, 431, -1, 433, 434,
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, -1, -1,
-1, -1, -1, 478, -1, 480, 481, 482, -1, -1,
-1, -1, -1, -1, 489, 490, 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, -1, 31, 32, 33, -1, -1, -1,
-1, 38, -1, -1, 41, 42, -1, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, 96,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
167, -1, 169, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, -1, 225, 226,
227, 228, 229, -1, 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,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 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, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, 396,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, -1, 425, 426,
427, 428, 429, 430, 431, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, 442, 443, 444, 445, 446,
-1, -1, 449, -1, 451, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, -1, 474, -1, -1,
-1, 478, -1, 480, 481, -1, -1, -1, -1, -1,
-1, -1, 489, 490, 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, -1, 31, 32, 33, -1, -1, -1, -1, 38,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, 156, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, 226, 227, 228,
229, -1, 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, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
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, -1, 361, 362, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, -1, 425, 426, 427, 428,
429, 430, 431, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, -1, -1, -1, -1, -1, 478,
-1, 480, 481, -1, -1, -1, -1, -1, -1, -1,
489, 490, 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, -1,
31, 32, 33, -1, -1, -1, -1, 38, -1, -1,
41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, -1, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, 77, -1, 79, 80,
81, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, 156, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, 167, -1, 169, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, -1, 225, 226, 227, 228, 229, -1,
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, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 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, -1,
361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, -1, 425, 426, 427, 428, 429, 430,
431, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, -1, -1, -1, -1, -1, 478, -1, 480,
481, -1, -1, -1, -1, -1, -1, -1, 489, 490,
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, -1, 31, 32,
33, -1, -1, -1, -1, 38, -1, -1, 41, 42,
-1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, -1, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, 77, -1, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, 156, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, -1, 225, 226, 227, 228, 229, -1, 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, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 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, -1, 361, 362,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, -1, 425, 426, 427, 428, 429, 430, 431, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
3, -1, -1, -1, -1, 478, -1, 480, 481, -1,
-1, -1, -1, -1, -1, -1, 489, 490, -1, 22,
23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
33, -1, -1, -1, -1, -1, 39, -1, 41, 42,
-1, 44, 45, 46, -1, 48, 49, 50, 51, 52,
-1, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, -1, -1, 79, 80, 81, 82,
83, -1, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, -1, -1, -1,
-1, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, -1, -1, 169, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, -1, -1, 216, 217, 218, 219, 220, 221, 222,
-1, -1, 225, 226, 227, 228, -1, -1, 231, 232,
233, -1, -1, 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, -1, 266, 267, -1, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, -1, 291, -1,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 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, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, -1,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, -1,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 490, 22, 23,
24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, 47, 48, 49, 50, -1, 52, 53,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, -1, -1, 77, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, 96, 97, 98, 99, -1, -1, -1, 103,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, -1, 151, 152, 153,
154, -1, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, -1, -1, 179, 180, -1, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, 192, 193,
194, 195, 196, 197, 198, 199, -1, 201, 202, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
-1, 225, -1, 227, 228, 229, -1, 231, 232, 233,
-1, -1, 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, -1, -1,
264, -1, 266, 267, 268, 269, -1, -1, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, 290, 291, 292, -1,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, -1, 307, -1, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, 346, 347, 348, 349, -1, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, -1, 392, -1,
394, 395, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, -1, 439, 440, 441, 442, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 469, 470, 471, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, -1, 31, 32, 33, -1, 490, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, -1, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, -1, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, -1, -1, -1, 103, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, -1, 151, 152, 153, 154, -1, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, -1, -1,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, 192, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, -1, 227, 228,
229, -1, 231, 232, 233, -1, -1, 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, -1, -1, 264, -1, 266, 267, 268,
269, -1, -1, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, 290, 291, 292, -1, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, -1, 307, -1,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, 346, 347, 348,
349, -1, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, -1, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, -1,
439, 440, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 3,
-1, 5, 6, -1, 8, 9, 10, 11, 12, -1,
469, 470, 471, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
-1, 490, -1, -1, 38, -1, -1, 41, 42, -1,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, -1, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, 77, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, 116, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, 156, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, 202, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
-1, 225, 226, 227, 228, 229, -1, 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, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 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, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, 396, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
-1, 425, 426, 427, 428, 429, 430, 431, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, 442, 443,
444, 445, 446, -1, -1, 449, -1, 451, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 472, -1,
474, -1, -1, -1, 478, -1, 480, 481, -1, -1,
-1, 3, -1, 5, 6, 489, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
32, 33, -1, -1, -1, -1, 38, -1, -1, 41,
42, -1, 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, -1, 71,
72, 73, 74, 75, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, 167, 168, 169, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, 224, 225, 226, 227, 228, 229, -1, 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, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 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, -1, 361,
362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, 409, 410, 411,
412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, -1, 425, 426, 427, 428, 429, 430, 431,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
442, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
472, -1, -1, -1, -1, -1, 478, -1, 480, 481,
-1, -1, -1, 3, -1, 5, 6, 489, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
-1, 31, 32, 33, -1, -1, -1, -1, 38, -1,
-1, 41, 42, -1, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
-1, 71, 72, 73, 74, 75, -1, 77, -1, 79,
80, 81, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, -1, 96, 97, 98, 99,
100, 101, 102, 103, 104, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, -1, 119,
120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
-1, -1, 132, 133, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, -1, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, -1, 159,
160, 161, 162, -1, 164, -1, 166, 167, -1, 169,
170, 171, 172, 173, -1, 175, 176, -1, 178, 179,
180, -1, 182, 183, 184, 185, 186, 187, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
-1, 201, 202, 203, 204, 205, 206, 207, 208, 209,
-1, 211, -1, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, -1, -1, 225, 226, 227, 228, 229,
-1, 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, -1, 278, 279,
-1, -1, 282, 283, 284, -1, -1, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, -1, 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,
-1, 361, 362, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, -1, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, 406, 407, -1, -1,
410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, -1, 425, 426, 427, 428, 429,
430, 431, -1, 433, 434, 435, 436, 437, 438, 439,
-1, 441, 442, 443, 444, 445, 446, -1, -1, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, 472, -1, -1, -1, -1, -1, 478, -1,
480, 481, -1, -1, -1, -1, -1, 487, 488, 489,
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, -1, 31, 32,
33, -1, -1, -1, -1, 38, -1, -1, 41, 42,
-1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, -1, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, 77, -1, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, 156, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, -1, 225, 226, 227, 228, 229, -1, 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, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 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, -1, 361, 362,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, -1, 425, 426, 427, 428, 429, 430, 431, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
-1, -1, -1, -1, -1, 478, -1, 480, 481, 482,
-1, -1, 3, -1, 5, 6, 489, 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, -1, -1, -1, -1, 38, -1, -1,
41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, -1, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, 77, -1, 79, 80,
81, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, 156, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, 167, -1, 169, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, -1, 225, 226, 227, 228, 229, -1,
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, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 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, -1,
361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, -1, 425, 426, 427, 428, 429, 430,
431, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, -1, -1, -1, -1, -1, 478, -1, 480,
481, -1, -1, -1, 3, -1, 5, 6, 489, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, -1, 31, 32, 33, -1, -1, -1, -1, 38,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, 156, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, 226, 227, 228,
229, -1, 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, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
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, -1, 361, 362, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, -1, 425, 426, 427, 428,
429, 430, 431, -1, 433, 434, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, -1, -1, -1, -1, -1, 478,
-1, 480, 481, -1, -1, -1, 3, -1, 5, 6,
489, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, -1, 31, 32, 33, -1, -1, -1,
-1, 38, -1, -1, 41, 42, -1, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, 96,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
167, 168, 169, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, -1, 225, 226,
227, 228, 229, -1, 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,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 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, -1, 361, 362, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, -1, 425, 426,
427, 428, 429, 430, 431, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, 442, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, -1, -1, -1, -1,
-1, 478, -1, 480, 481, -1, -1, -1, 3, -1,
5, 6, 489, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, -1, 31, 32, 33, -1,
-1, -1, -1, 38, -1, -1, 41, 42, -1, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, -1, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, 77, -1, 79, 80, 81, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, 167, -1, 169, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, -1, -1,
225, 226, 227, 228, 229, -1, 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, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 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, -1, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, -1,
425, 426, 427, 428, 429, 430, 431, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, 442, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, -1, -1,
-1, -1, -1, 478, -1, 480, 481, -1, -1, -1,
3, -1, 5, 6, 489, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
33, -1, -1, -1, -1, 38, -1, -1, 41, 42,
-1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, -1, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, 77, -1, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, 156, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, -1, 225, 226, 227, 228, 229, -1, 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, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 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, -1, 361, 362,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, -1, 425, 426, 427, 428, 429, 430, 431, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
-1, -1, -1, -1, -1, 478, -1, 480, 481, -1,
-1, -1, 3, -1, 5, 6, 489, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, -1,
31, 32, 33, -1, -1, -1, -1, 38, -1, -1,
41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, -1, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, 77, -1, 79, 80,
81, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, 156, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, 167, -1, 169, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, -1, 225, 226, 227, 228, 229, -1,
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, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 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, -1,
361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, -1, 425, 426, 427, 428, 429, 430,
431, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, -1, -1, -1, -1, -1, 478, -1, 480,
481, -1, -1, -1, 3, -1, 5, 6, 489, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, -1, 31, 32, 33, -1, -1, -1, -1, 38,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, 156, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, 226, 227, 228,
229, -1, 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, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
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, -1, 361, 362, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, -1, 425, 426, 427, 428,
429, 430, 431, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, -1, -1, -1, -1, -1, 478,
-1, 480, 481, -1, -1, -1, 3, -1, 5, 6,
489, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, -1, 31, 32, 33, -1, -1, -1,
-1, 38, -1, -1, 41, 42, -1, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, 96,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
167, -1, 169, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, -1, 225, 226,
227, 228, 229, -1, 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,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 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, -1, 361, 362, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, -1, 425, 426,
427, 428, 429, 430, 431, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, 442, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 472, -1, -1, -1, -1,
-1, 478, -1, 480, 481, -1, -1, -1, 3, -1,
5, 6, 489, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, -1, 31, 32, 33, -1,
-1, -1, -1, 38, -1, -1, 41, 42, -1, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, -1, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, 77, -1, 79, 80, 81, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, 167, -1, 169, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, -1, -1,
225, 226, 227, 228, 229, -1, 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, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 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, -1, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, -1,
425, 426, 427, 428, 429, 430, 431, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, 442, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, -1, -1,
-1, -1, -1, 478, -1, 480, 481, -1, -1, -1,
3, -1, 5, 6, 489, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
33, -1, -1, -1, -1, 38, -1, -1, 41, 42,
-1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, -1, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, 77, -1, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, 116, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, 156, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, -1, 225, 226, 227, 228, 229, -1, 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, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 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, -1, 361, 362,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, -1, 425, 426, 427, 428, 429, 430, 431, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
-1, -1, -1, -1, -1, 478, -1, 480, 481, -1,
-1, -1, 3, -1, 5, 6, 489, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, -1,
31, 32, 33, -1, -1, -1, -1, 38, -1, -1,
41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, -1, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, 77, -1, 79, 80,
81, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, 156, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, 167, -1, 169, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, -1, 225, 226, 227, 228, 229, -1,
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, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 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, -1,
361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, -1, 425, 426, 427, 428, 429, 430,
431, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 472, -1, -1, -1, -1, -1, 478, -1, 480,
481, -1, -1, -1, 3, -1, 5, 6, 489, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, -1, 31, 32, 33, -1, -1, -1, -1, 38,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, 116, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, 156, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, 226, 227, 228,
229, -1, 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, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
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, -1, 361, 362, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, -1, 425, 426, 427, 428,
429, 430, 431, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 472, -1, -1, -1, -1, -1, 478,
-1, 480, 481, -1, -1, -1, 3, -1, 5, 6,
489, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, -1, 31, 32, 33, -1, -1, -1,
-1, 38, -1, -1, 41, 42, -1, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
57, 58, 59, 60, 61, 62, 63, 64, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, 96,
97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
167, -1, 169, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, -1, 225, 226,
227, 228, 229, -1, 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, -1, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 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, -1, 361, 362, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, 431, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, 442, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, -1, -1, -1, -1, -1,
-1, 478, -1, 480, 481, -1, -1, -1, 3, -1,
5, 6, 489, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, -1, 31, 32, 33, -1,
-1, -1, -1, 38, -1, -1, 41, 42, -1, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, -1, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, 77, -1, 79, 80, 81, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, 116, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, 156, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, 167, -1, 169, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, -1,
-1, 216, 217, 218, 219, 220, 221, 222, -1, -1,
225, 226, 227, 228, 229, -1, 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, -1, 269, 270, 271, 272, 273, 274,
275, 276, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 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, -1, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
415, 416, 417, 418, 419, 420, 421, 422, 423, -1,
425, 426, 427, 428, 429, 430, 431, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, 442, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 472, -1, -1,
-1, -1, -1, 478, -1, 480, 481, -1, -1, -1,
3, -1, 5, 6, 489, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
33, -1, -1, -1, -1, 38, -1, -1, 41, 42,
-1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, -1, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, 77, -1, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, 156, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, -1, 225, 226, 227, 228, 229, -1, 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, -1, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 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, -1, 361, 362,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, 431, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, -1,
-1, -1, -1, -1, -1, 478, -1, 480, 481, 3,
-1, 5, 6, -1, 8, 9, 489, 11, 12, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
-1, -1, -1, -1, 38, -1, -1, 41, 42, -1,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, -1, 57, 58, 59, 60, 61, 62, 63,
64, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, 77, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, 156, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, 202, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
-1, 225, 226, 227, 228, 229, -1, 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, -1, 266, 267, 268, 269, 270, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 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, -1, 361, 362, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, 415, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, 431, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, 442, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, -1, -1,
-1, -1, -1, -1, 478, -1, 480, 481, -1, -1,
-1, 3, -1, 5, 6, 489, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
32, 33, -1, -1, -1, -1, 38, -1, -1, 41,
42, -1, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, -1, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, 167, -1, 169, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, -1, 215, 216, 217, 218, 219, 220, 221,
222, -1, -1, 225, 226, 227, 228, 229, -1, 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, -1, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 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, -1, 361,
362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, 431,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
442, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
-1, -1, -1, -1, -1, -1, -1, -1, 480, 481,
3, -1, 5, 6, -1, 8, 9, 489, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
33, -1, -1, -1, -1, 38, -1, -1, 41, 42,
-1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, -1, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, 77, -1, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, 156, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, -1, 225, 226, 227, 228, 229, -1, 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, -1, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 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, -1, 361, 362,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, 431, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, -1,
-1, 3, -1, 5, 6, 478, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, 489, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, -1, -1, -1, 37, 38, -1, -1, 41,
42, -1, 44, 45, 46, 47, 48, 49, 50, -1,
52, 53, 54, 55, -1, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, 116, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, -1, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, 167, -1, 169, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, -1, -1, 216, 217, 218, 219, 220, 221,
222, -1, -1, 225, 226, 227, 228, -1, -1, 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, -1, 269, 270, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 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, -1, 361,
362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
-1, 373, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, -1, 425, 426, 427, 428, 429, 430, 431,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
442, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
-1, -1, -1, -1, -1, -1, -1, -1, 480, 481,
3, -1, 5, 6, -1, 8, 9, 489, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
33, -1, -1, -1, -1, 38, -1, -1, 41, 42,
-1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, -1, 57, 58, 59, 60, 61, 62,
63, 64, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, 77, -1, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, 156, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, -1, 225, 226, 227, 228, 229, -1, 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, -1, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 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, -1, 361, 362,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, 431, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, -1,
-1, 3, -1, 5, 6, 478, 8, 9, -1, 11,
12, -1, -1, -1, -1, -1, 489, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
32, 33, -1, -1, -1, -1, 38, -1, -1, 41,
42, -1, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, -1, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, 156, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, 167, -1, 169, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, -1, 225, 226, 227, 228, 229, -1, 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, -1, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 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, -1, 361,
362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, 415, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, 431,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
442, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
-1, -1, 3, -1, 5, 6, 478, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, 489, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, -1,
31, 32, 33, -1, -1, -1, -1, 38, -1, -1,
41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
-1, 52, 53, 54, 55, -1, 57, 58, 59, 60,
61, 62, 63, 64, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, 77, -1, 79, 80,
81, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, -1, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, 156, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, 167, -1, 169, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, -1, -1, 216, 217, 218, 219, 220,
221, 222, -1, -1, 225, 226, 227, 228, -1, -1,
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, -1, 269, 270,
271, 272, 273, 274, 275, 276, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 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, -1,
361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
371, -1, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, -1, 425, 426, 427, 428, 429, 430,
431, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 3, -1, -1, -1, -1, -1, -1, -1, 480,
481, -1, -1, -1, -1, -1, -1, -1, 489, -1,
22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, 64, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, 167, -1, 169, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, -1, 225, 226, 227, 228, 229, -1, 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, -1, 266, 267, 268, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, 281,
282, 283, 284, -1, -1, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 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, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, 431,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
442, 443, 444, 445, 446, -1, -1, 449, -1, 451,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
3, -1, 474, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 489, -1, 22,
23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
33, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, 64, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, 77, -1, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, 100, 101, 102,
103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
223, -1, 225, 226, 227, 228, 229, -1, 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, -1, 266, 267, 268, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, 281, 282,
283, 284, -1, -1, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 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, -1, 361, 362,
363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, 431, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 489, -1, 22, 23,
24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
64, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, 77, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, 202, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
-1, 225, 226, 227, 228, 229, -1, 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, -1, 266, 267, 268, 269, -1, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 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, -1, 361, 362, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, 431, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, 442, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 3, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 489, -1, 22, 23, 24,
25, 26, 27, 28, 29, -1, 31, 32, 33, -1,
-1, -1, -1, -1, -1, -1, 41, 42, -1, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, -1, 57, 58, 59, 60, 61, 62, -1, 64,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, 77, -1, 79, 80, 81, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, 96, 97, 98, 99, 100, 101, 102, 103, 104,
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, -1, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, -1, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, 167, -1, 169, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, -1, -1,
225, 226, 227, 228, 229, -1, 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,
-1, 266, 267, 268, 269, -1, 271, 272, 273, 274,
275, 276, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 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, -1, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, -1,
-1, 426, 427, 428, 429, 430, 431, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, 442, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 3, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 489, -1, 22, 23, 24, 25,
26, 27, 28, 29, -1, 31, 32, 33, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, 64, 65,
66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
-1, 77, -1, 79, 80, 81, 82, 83, 84, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, -1,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
-1, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, -1,
166, 167, -1, 169, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, -1, 201, 202, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, -1, -1, 225,
226, 227, 228, 229, -1, 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, -1,
266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 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, -1, 361, 362, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, -1,
426, 427, 428, 429, 430, 431, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, 442, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 3, -1, 5, 6,
-1, -1, -1, -1, 11, -1, -1, -1, -1, -1,
-1, -1, -1, 489, -1, 22, 23, 24, 25, 26,
27, 28, 29, -1, 31, 32, 33, -1, -1, -1,
-1, -1, -1, -1, 41, 42, -1, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, 96,
97, 98, 99, -1, -1, -1, 103, -1, -1, -1,
107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
167, -1, 169, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, -1, 225, 226,
227, 228, 229, -1, 231, 232, 233, -1, -1, 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, -1, 266,
267, 268, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, 280, -1, 282, 283, 284, -1, -1,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 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, -1, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, 442, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 3, -1, -1, -1, -1,
-1, -1, -1, 480, 481, 482, -1, -1, -1, -1,
-1, -1, 489, -1, 22, 23, 24, 25, 26, 27,
28, 29, -1, 31, 32, 33, 34, 35, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, 77,
-1, 79, 80, 81, 82, 83, 84, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, 96, 97,
98, 99, -1, -1, -1, 103, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, 167,
-1, 169, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, 187,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, 202, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, -1, -1, 225, 226, 227,
228, 229, -1, 231, 232, 233, -1, -1, 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, -1, 266, 267,
268, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 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, -1, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, 396, 397,
398, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, 442, 443, 444, 445, 446, -1,
-1, 449, -1, 451, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 3, -1, 474, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 489, -1, 22, 23, 24, 25, 26, 27, 28,
29, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, -1, -1, -1, 103, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, 226, 227, 228,
229, -1, 231, 232, 233, -1, -1, 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, -1, 266, 267, 268,
269, -1, 271, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
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, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 3, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
489, -1, 22, 23, 24, 25, 26, 27, 28, 29,
-1, 31, 32, 33, -1, -1, -1, -1, -1, -1,
-1, 41, 42, -1, 44, 45, 46, -1, 48, 49,
50, 51, 52, -1, 54, 55, -1, 57, 58, 59,
60, 61, 62, -1, -1, 65, 66, 67, 68, 69,
-1, 71, 72, 73, 74, 75, -1, -1, -1, 79,
80, 81, 82, 83, -1, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, -1, -1, 97, 98, 99,
-1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
110, 111, 112, 113, 114, 115, -1, 117, -1, 119,
120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
-1, -1, 132, 133, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, -1, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, -1, 157, -1, 159,
160, 161, 162, -1, 164, -1, 166, -1, -1, -1,
170, 171, 172, 173, -1, 175, 176, -1, 178, 179,
180, -1, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
-1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
-1, 211, -1, 213, -1, -1, 216, -1, 218, 219,
220, 221, 222, -1, -1, 225, 226, -1, 228, -1,
-1, 231, 232, 233, -1, -1, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, -1, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, -1, 266, 267, -1, 269,
-1, 271, 272, 273, 274, 275, 276, -1, 278, 279,
-1, -1, 282, 283, 284, -1, -1, 287, 288, 289,
-1, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, -1, 342, 343, -1, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
360, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, -1, 373, 374, 375, 376, -1, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, 396, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, -1, -1,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, -1, -1, 426, 427, 428, 429,
430, -1, -1, 433, 434, 435, 436, 437, 438, 439,
-1, 441, -1, 443, 444, 445, 446, -1, -1, 449,
-1, 451, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, 3, -1, 474, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 489,
-1, 22, 23, 24, 25, 26, 27, 28, 29, -1,
31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
41, 42, -1, 44, 45, 46, -1, 48, 49, 50,
51, 52, -1, 54, 55, -1, 57, 58, 59, 60,
61, 62, -1, -1, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, -1, -1, 79, 80,
81, 82, 83, -1, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, -1,
-1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
111, 112, 113, 114, 115, -1, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, -1, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, -1, -1, -1, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, -1, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, -1, -1, 216, -1, 218, 219, 220,
221, 222, -1, -1, 225, 226, -1, 228, -1, -1,
231, 232, 233, -1, -1, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, -1, 254, 255, 256, 257, 258, 259, 260,
261, 262, 263, 264, -1, 266, 267, -1, 269, -1,
271, 272, 273, 274, 275, 276, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, -1,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
-1, 342, 343, -1, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, -1,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, -1, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, -1, -1, 426, 427, 428, 429, 430,
-1, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, -1, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 489, -1,
22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, -1, 48, 49, 50, 51,
52, -1, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, -1, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, -1, -1, 79, 80, 81,
82, 83, -1, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, -1, 97, 98, 99, -1, -1,
-1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, -1, -1, -1, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
-1, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, -1, -1, 216, -1, 218, 219, 220, 221,
222, -1, -1, 225, 226, -1, 228, -1, -1, 231,
232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, -1, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, -1, 266, 267, -1, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, -1, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, -1,
342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, -1, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
-1, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, -1,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
-1, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 489, -1, 22,
23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
33, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, -1, 48, 49, 50, 51, 52,
-1, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, -1, -1, 79, 80, 81, 82,
83, -1, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, -1, -1, -1,
-1, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, -1, -1, -1, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, -1,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, -1, -1, 216, -1, 218, 219, 220, 221, 222,
-1, -1, 225, 226, -1, 228, -1, -1, 231, 232,
233, -1, -1, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
-1, 254, 255, 256, 257, 258, 259, 260, 261, 262,
263, 264, -1, 266, 267, -1, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, -1, 291, -1,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, -1, 342,
343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, -1,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, -1,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 489, -1, 22, 23,
24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, -1, -1, 79, 80, 81, 82, 83,
-1, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, -1, 97, 98, 99, -1, -1, -1, -1,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, -1, -1, -1, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, -1, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
-1, -1, 216, -1, 218, 219, 220, 221, 222, -1,
-1, 225, 226, -1, 228, -1, -1, 231, 232, 233,
-1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, -1,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, -1, 266, 267, -1, 269, -1, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, -1, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
-1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, -1, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, -1, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 3, -1,
5, 6, -1, -1, -1, 10, 11, -1, -1, -1,
-1, -1, 17, 18, 19, 489, -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, -1, 52, 53, 54,
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
-1, 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, -1, 151, 152, 153, 154,
-1, 156, 157, 158, 159, 160, 161, 162, 163, 164,
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
175, -1, 177, -1, 179, 180, 181, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, -1, 204,
205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
225, -1, 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, -1, 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, -1, 290, 291, 292, -1, 294,
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
305, -1, 307, -1, 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, -1, 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, -1, 392, 393, 394,
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
405, 406, 407, 408, 409, 410, 411, -1, 413, -1,
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, -1, 439, 440, 441, 442, 443, 444,
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
455, 456, 457, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 469, 470, 471, -1, -1, -1,
475, 476, 477, 478, -1, 480, 481, 482, 483, 484,
485, 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, -1,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, -1, 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, -1, 151,
152, 153, 154, -1, 156, 157, 158, 159, 160, 161,
162, 163, 164, 165, 166, 167, 168, 169, 170, 171,
172, 173, 174, 175, -1, 177, -1, 179, 180, 181,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, -1, 204, 205, 206, 207, 208, 209, 210, 211,
212, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, 223, 224, 225, -1, 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, -1, 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, -1, 290, 291,
292, -1, 294, 295, 296, 297, 298, 299, 300, 301,
302, 303, 304, 305, -1, 307, -1, 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, -1, 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, -1,
392, 393, 394, 395, 396, 397, 398, 399, 400, 401,
402, 403, 404, 405, 406, 407, 408, 409, 410, 411,
-1, 413, -1, 415, 416, 417, 418, 419, 420, 421,
422, 423, 424, 425, 426, 427, 428, 429, 430, 431,
432, 433, 434, 435, 436, 437, -1, 439, 440, 441,
442, 443, 444, 445, 446, 447, 448, 449, 450, 451,
452, 453, 454, 455, 456, 457, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 469, 470, 471,
3, -1, -1, 475, 476, 477, 478, 10, 480, 481,
482, 483, 484, 485, 17, 18, 19, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
33, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, -1, 48, 49, 50, 51, 52,
-1, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, -1, -1, 79, 80, 81, 82,
83, -1, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, -1, -1, -1,
-1, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, -1, -1, -1, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, -1,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, -1, -1, 216, -1, 218, 219, 220, 221, 222,
-1, -1, 225, 226, -1, 228, -1, -1, 231, 232,
233, -1, -1, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
-1, 254, 255, 256, 257, 258, 259, 260, 261, 262,
263, 264, -1, 266, 267, -1, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, -1, 291, -1,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, -1, 342,
343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, -1,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, -1,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 3,
-1, -1, 475, 476, 477, 478, 10, 480, 481, 482,
483, 484, 485, 17, 18, 19, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, -1, -1, 79, 80, 81, 82, 83,
-1, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, -1, 97, 98, 99, -1, -1, -1, -1,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, -1, -1, -1, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, -1, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
-1, -1, 216, -1, 218, 219, 220, 221, 222, -1,
-1, 225, 226, -1, 228, -1, -1, 231, 232, 233,
-1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, -1,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, -1, 266, 267, -1, 269, -1, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, -1, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
-1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, -1, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, -1, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 3, -1,
-1, 475, 476, 477, 478, 10, 480, 481, 482, 483,
484, 485, 17, 18, 19, -1, -1, 22, 23, 24,
25, 26, 27, 28, 29, -1, 31, 32, 33, -1,
-1, -1, -1, -1, -1, -1, 41, 42, -1, 44,
45, 46, -1, 48, 49, 50, 51, 52, -1, 54,
55, -1, 57, 58, 59, 60, 61, 62, -1, -1,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, -1, -1, 79, 80, 81, 82, 83, -1,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, -1, -1, -1, -1, -1,
-1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
115, -1, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, -1, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, -1, -1, -1, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, -1, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, -1,
-1, 216, -1, 218, 219, 220, 221, 222, -1, -1,
225, 226, -1, 228, -1, -1, 231, 232, 233, -1,
-1, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, -1, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
-1, 266, 267, -1, 269, -1, 271, 272, 273, 274,
275, 276, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, -1, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, -1, 342, 343, -1,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, -1, 361, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, -1, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, -1,
-1, 426, 427, 428, 429, 430, -1, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, -1, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 3, -1, -1,
475, 476, 477, 478, 10, 480, 481, 482, 483, 484,
485, 17, 18, 19, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, -1, 31, 32, 33, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, -1, 48, 49, 50, 51, 52, -1, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, -1, 65,
66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
-1, -1, -1, 79, 80, 81, 82, 83, -1, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, -1,
-1, 97, 98, 99, -1, -1, -1, -1, -1, -1,
-1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
-1, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, -1,
166, -1, -1, -1, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, -1, 201, -1, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, -1, -1,
216, -1, 218, 219, 220, 221, 222, -1, -1, 225,
226, -1, 228, -1, -1, 231, 232, 233, -1, -1,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, -1, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
266, 267, -1, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, -1, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, -1, 342, 343, -1, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, -1, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, -1, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, -1,
426, 427, 428, 429, 430, -1, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, -1, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 3, -1, -1, 475,
476, 477, 478, 10, 480, 481, 482, 483, 484, 485,
17, 18, 19, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, -1, 31, 32, 33, -1, -1, -1,
-1, -1, -1, -1, 41, 42, -1, 44, 45, 46,
-1, 48, 49, 50, 51, 52, -1, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
-1, -1, 79, 80, 81, 82, 83, -1, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, -1, -1, -1, -1, -1, -1, -1,
107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
-1, -1, -1, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, -1, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, -1, -1, 216,
-1, 218, 219, 220, 221, 222, -1, -1, 225, 226,
-1, 228, -1, -1, 231, 232, 233, -1, -1, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, -1, 254, 255, 256,
257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
267, -1, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, -1, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, -1, 342, 343, -1, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, -1, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, -1, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, -1, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 3, -1, -1, 475, 476,
477, 478, 10, 480, 481, 482, 483, 484, 485, 17,
18, 19, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, -1, 31, 32, 33, -1, -1, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, -1,
48, 49, 50, 51, 52, -1, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, -1,
-1, 79, 80, 81, 82, 83, -1, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, -1, 97,
98, 99, -1, -1, -1, -1, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, -1,
-1, -1, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, -1, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, -1, -1, 216, -1,
218, 219, 220, 221, 222, -1, -1, 225, 226, -1,
228, -1, -1, 231, 232, 233, -1, -1, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, -1, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
-1, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, -1, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, -1, 342, 343, -1, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, -1, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, -1, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, -1, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, -1, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 3, -1, -1, 475, 476, 477,
478, 10, 480, 481, 482, 483, 484, 485, 17, 18,
19, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, -1, 48,
49, 50, 51, 52, -1, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, -1, -1,
79, 80, 81, 82, 83, -1, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, -1, -1, -1, -1, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, -1, -1,
-1, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, -1, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, -1, -1, 216, -1, 218,
219, 220, 221, 222, -1, -1, 225, 226, -1, 228,
-1, -1, 231, 232, 233, -1, -1, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, -1, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, -1, 266, 267, -1,
269, -1, 271, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, -1, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, -1, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, -1, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, -1, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 3, -1, -1, 475, 476, 477, 478,
-1, 480, 481, 482, 483, 484, 485, -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, 3, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 482, -1, -1, -1, -1, -1, -1, -1,
-1, 22, 23, 24, 25, 26, 27, 28, 29, -1,
31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
41, 42, -1, 44, 45, 46, -1, 48, 49, 50,
51, 52, -1, 54, 55, -1, 57, 58, 59, 60,
61, 62, -1, -1, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, -1, -1, 79, 80,
81, 82, 83, -1, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, -1,
-1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
111, 112, 113, 114, 115, -1, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, -1, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, -1, -1, -1, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, -1, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, -1, -1, 216, -1, 218, 219, 220,
221, 222, -1, -1, 225, 226, -1, 228, -1, -1,
231, 232, 233, -1, -1, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, -1, 254, 255, 256, 257, 258, 259, 260,
261, 262, 263, 264, -1, 266, 267, -1, 269, -1,
271, 272, 273, 274, 275, 276, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, -1,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
-1, 342, 343, -1, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, -1,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, -1, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, -1, -1, 426, 427, 428, 429, 430,
-1, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, -1, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 3, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 482, -1, -1, -1, -1, -1, -1, -1, -1,
22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, -1, 48, 49, 50, 51,
52, -1, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, -1, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, -1, -1, 79, 80, 81,
82, 83, -1, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, -1, 97, 98, 99, -1, -1,
-1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, -1, -1, -1, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
-1, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, -1, -1, 216, -1, 218, 219, 220, 221,
222, -1, -1, 225, 226, -1, 228, -1, -1, 231,
232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, -1, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, -1, 266, 267, -1, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, -1, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, -1,
342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, -1, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
-1, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, -1,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
-1, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
3, -1, -1, -1, -1, -1, -1, -1, -1, -1,
482, -1, -1, -1, -1, -1, -1, -1, -1, 22,
23, 24, 25, 26, 27, 28, 29, -1, 31, 32,
33, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, 47, 48, 49, 50, -1, 52,
53, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, -1, -1, 77, -1, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, -1, -1, -1,
103, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, -1, 151, 152,
153, 154, -1, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, -1, -1, 179, 180, -1, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, -1, 225, -1, 227, 228, 229, -1, 231, 232,
233, -1, -1, 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, -1,
-1, 264, -1, 266, 267, 268, 269, -1, -1, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, 286, 287, 288, 289, 290, 291, 292,
-1, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, -1, 307, -1, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, -1, 342,
343, 344, 345, 346, 347, 348, 349, -1, 351, 352,
353, 354, 355, 356, 357, 358, 359, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, -1, 392,
-1, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, -1, 439, 440, 441, 442,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, -1, -1, -1, -1, -1,
-1, 3, -1, -1, -1, -1, 469, 470, 471, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 482,
22, 23, 24, 25, 26, 27, 28, 29, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, 47, 48, 49, 50, -1,
52, 53, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, -1, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, -1, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, 96, 97, 98, 99, -1, -1,
-1, 103, -1, -1, -1, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, -1, 151,
152, 153, 154, -1, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, 167, -1, 169, 170, 171,
172, 173, -1, 175, -1, -1, -1, 179, 180, -1,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
192, 193, 194, 195, 196, 197, 198, 199, -1, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, -1, 225, -1, 227, 228, 229, -1, 231,
232, 233, -1, -1, 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,
-1, -1, 264, -1, 266, 267, 268, 269, -1, -1,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, 286, 287, 288, 289, 290, 291,
292, -1, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, -1, 307, -1, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, -1,
342, 343, 344, 345, 346, 347, 348, 349, -1, 351,
352, 353, 354, 355, 356, 357, 358, 359, -1, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, -1,
392, -1, 394, 395, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
-1, 413, -1, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, -1,
-1, 433, 434, 435, 436, 437, -1, 439, 440, 441,
442, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, -1, -1, -1, -1,
-1, -1, 3, -1, 5, 6, -1, 469, 470, 471,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
482, 22, 23, 24, 25, 26, 27, 28, 29, -1,
31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, -1, 57, 58, 59, 60,
61, 62, -1, -1, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, 77, -1, 79, 80,
81, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, 96, 97, 98, 99, -1,
-1, -1, 103, -1, -1, -1, 107, 108, 109, 110,
111, 112, 113, 114, 115, 116, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, 156, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, 167, -1, 169, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, -1, 225, 226, 227, 228, 229, -1,
231, 232, 233, -1, -1, 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, -1, 266, 267, 268, 269, -1,
271, 272, 273, 274, 275, 276, -1, 278, 279, 280,
-1, 282, 283, 284, -1, -1, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 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, -1,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, 415, 416, 417, 418, 419, 420,
421, 422, 423, -1, -1, 426, 427, 428, 429, 430,
-1, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, -1, -1, 3, -1, 5, 6, 478, -1, 480,
481, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 22, 23, 24, 25, 26, 27, 28, 29,
-1, 31, 32, 33, -1, -1, -1, -1, -1, -1,
-1, 41, 42, -1, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
60, 61, 62, -1, -1, 65, 66, 67, 68, 69,
-1, 71, 72, 73, 74, 75, -1, 77, -1, 79,
80, 81, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, -1, 96, 97, 98, 99,
-1, -1, -1, 103, -1, -1, -1, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116, 117, -1, 119,
120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
-1, -1, 132, 133, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, -1, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, 156, 157, -1, 159,
160, 161, 162, -1, 164, -1, 166, 167, -1, 169,
170, 171, 172, 173, -1, 175, 176, -1, 178, 179,
180, -1, 182, 183, 184, 185, 186, 187, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
-1, 201, 202, 203, 204, 205, 206, 207, 208, 209,
-1, 211, -1, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, -1, -1, 225, 226, 227, 228, 229,
-1, 231, 232, 233, -1, -1, 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, -1, 266, 267, 268, 269,
-1, 271, 272, 273, 274, 275, 276, -1, 278, 279,
280, -1, 282, 283, 284, -1, -1, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, -1, 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,
-1, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, -1, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, 406, 407, -1, -1,
410, 411, 412, 413, 414, 415, 416, 417, 418, 419,
420, 421, 422, 423, -1, -1, 426, 427, 428, 429,
430, -1, -1, 433, 434, 435, 436, 437, 438, 439,
-1, 441, 442, 443, 444, 445, 446, -1, -1, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, -1, -1, 3, -1, 5, 6, 478, -1,
480, 481, 11, 12, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, -1, -1, -1, 103, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, 156, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, 226, 227, 228,
229, -1, 231, 232, 233, -1, -1, 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, -1, 266, 267, 268,
269, -1, 271, 272, 273, 274, 275, 276, -1, 278,
279, 280, -1, 282, 283, 284, -1, -1, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
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, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, 415, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, -1, -1, 3, -1, 5, 6, 478,
-1, 480, 481, 11, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, -1, 31, 32, 33, -1, -1, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, 77,
-1, 79, 80, 81, 82, 83, 84, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, 96, 97,
98, 99, -1, -1, -1, 103, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, 156, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, 167,
-1, 169, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, 187,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, 202, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, -1, -1, 225, 226, 227,
228, 229, -1, 231, 232, 233, -1, -1, 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, -1, 266, 267,
268, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, 280, -1, 282, 283, 284, -1, -1, 287,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 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, -1, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, 415, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, 442, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, -1, -1, 3, -1, -1, 6,
-1, -1, 480, 481, 11, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, -1, 31, 32, 33, -1, -1, -1,
-1, -1, -1, -1, 41, 42, -1, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, 96,
97, 98, 99, -1, -1, -1, 103, -1, -1, -1,
107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, 156,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
167, -1, 169, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, -1, 225, 226,
227, 228, 229, -1, 231, 232, 233, -1, -1, 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, -1, 266,
267, 268, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, 280, -1, 282, 283, 284, -1, -1,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 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, -1, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, 415, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, 442, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, -1, -1, 3, -1, -1,
-1, -1, -1, 480, 481, 11, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, -1, 48, 49, 50, 51, 52, -1, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, -1, 65,
66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
-1, -1, -1, 79, 80, 81, 82, 83, -1, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, -1,
-1, 97, 98, 99, -1, -1, -1, -1, -1, -1,
-1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
-1, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, -1,
166, -1, 168, -1, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, 192, 193, 194, 195,
196, 197, 198, 199, -1, 201, -1, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, -1, -1,
216, -1, 218, 219, 220, 221, 222, -1, -1, 225,
226, -1, 228, -1, -1, 231, 232, 233, -1, -1,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, -1, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
266, 267, -1, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, -1, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, -1, 342, 343, -1, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, -1, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, -1, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, -1,
426, 427, 428, 429, 430, -1, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, -1, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, -1, 3, -1, -1,
6, -1, -1, -1, 480, 481, 12, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 22, 23, 24, 25,
26, 27, 28, 29, -1, 31, 32, 33, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, -1, 65,
66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
-1, 77, -1, 79, 80, 81, 82, 83, 84, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, -1,
96, 97, 98, 99, -1, -1, -1, 103, -1, -1,
-1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
116, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, -1,
166, 167, -1, 169, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, -1, 201, 202, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, -1, -1, 225,
226, 227, 228, 229, -1, 231, 232, 233, -1, -1,
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, -1,
266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 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, -1, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, -1,
426, 427, 428, 429, 430, -1, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, 442, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 3, -1, -1, 6,
-1, -1, 478, -1, -1, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 22, 23, 24, 25, 26,
27, 28, 29, -1, 31, 32, 33, -1, -1, -1,
-1, -1, -1, -1, 41, 42, -1, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, 96,
97, 98, 99, -1, -1, -1, 103, -1, -1, -1,
107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
167, -1, 169, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, -1, 225, 226,
227, 228, 229, -1, 231, 232, 233, -1, -1, 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, -1, 266,
267, 268, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 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, -1, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, 442, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 3, -1, -1, 6, -1,
-1, 478, -1, -1, 12, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, -1, 31, 32, 33, -1, -1, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, -1,
48, 49, 50, 51, 52, -1, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, -1,
-1, 79, 80, 81, 82, 83, -1, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, -1, 97,
98, 99, -1, -1, -1, -1, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, -1,
-1, -1, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, -1, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, -1, -1, 216, -1,
218, 219, 220, 221, 222, -1, -1, 225, 226, -1,
228, -1, -1, 231, 232, 233, -1, -1, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, -1, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
-1, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, -1, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, -1, 342, 343, -1, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, -1, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, -1, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, -1, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, -1, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 3, -1, 5, 6, -1, -1,
478, -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, 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, 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, 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, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, 64, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, 96, 97, 98, 99, 100, 101,
102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, 167, -1, 169, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, -1, 225, 226, 227, 228, 229, -1, 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, -1, 266, 267, 268, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 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, -1, 361,
362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, 431,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
442, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
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, -1, 31, 32,
33, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, 77, -1, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, -1, -1, -1,
103, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, 156, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, -1, 225, 226, 227, 228, 229, -1, 231, 232,
233, -1, -1, 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, -1, 266, 267, 268, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, 280, -1, 282,
283, 284, -1, -1, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 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, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 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,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, 77, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, 96, 97, 98, 99, -1, -1, -1, 103,
-1, -1, 106, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, 202, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
-1, 225, 226, 227, 228, 229, -1, 231, 232, 233,
-1, -1, 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, -1, 266, 267, 268, 269, -1, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 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, -1, 361, 362, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, 442, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 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, -1,
-1, -1, -1, -1, -1, -1, 41, 42, -1, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, -1, 57, 58, 59, 60, 61, 62, -1, -1,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, 77, -1, 79, 80, 81, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, 96, 97, 98, 99, -1, -1, -1, 103, -1,
-1, 106, 107, 108, 109, 110, 111, 112, 113, 114,
115, -1, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, -1, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, 167, -1, 169, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, -1, -1,
225, 226, 227, 228, 229, -1, 231, 232, 233, -1,
-1, 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,
-1, 266, 267, 268, 269, -1, 271, 272, 273, 274,
275, 276, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 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, -1, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, -1,
-1, 426, 427, 428, 429, 430, -1, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, 442, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, -1, 65,
66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
-1, 77, -1, 79, 80, 81, 82, 83, 84, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, -1,
96, 97, 98, 99, -1, -1, -1, 103, -1, -1,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
-1, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, -1,
166, 167, -1, 169, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, -1, 201, 202, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, -1, -1, 225,
226, 227, 228, 229, -1, 231, 232, 233, -1, -1,
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, -1,
266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 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, -1, 361, 362, 363, 364, 365,
366, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, -1,
426, 427, 428, 429, 430, 431, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, 442, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1,
-1, -1, -1, -1, 41, 42, -1, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, 96,
97, 98, 99, -1, -1, -1, 103, -1, -1, 106,
107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
167, -1, 169, 170, 171, 172, 173, -1, 175, 176,
177, 178, 179, 180, -1, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, -1, 225, 226,
227, 228, 229, -1, 231, 232, 233, -1, -1, 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, -1, 266,
267, 268, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 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, -1, 361, 362, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, 442, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, 77,
-1, 79, 80, 81, 82, 83, 84, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, 96, 97,
98, 99, -1, -1, -1, 103, -1, -1, 106, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, 167,
-1, 169, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, 187,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, 202, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, -1, -1, 225, 226, 227,
228, 229, -1, 231, 232, 233, -1, -1, 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, -1, 266, 267,
268, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 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, -1, 361, 362, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, 442, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, -1, -1, -1, 103, -1, -1, 106, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, 226, 227, 228,
229, -1, 231, 232, 233, -1, -1, 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, -1, 266, 267, 268,
269, -1, 271, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
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, -1, 361, 362, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 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,
-1, 31, 32, 33, -1, -1, -1, -1, -1, -1,
-1, 41, 42, -1, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
60, 61, 62, -1, -1, 65, 66, 67, 68, 69,
-1, 71, 72, 73, 74, 75, -1, 77, -1, 79,
80, 81, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, -1, 96, 97, 98, 99,
-1, -1, -1, 103, -1, -1, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, -1, 117, -1, 119,
120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
-1, -1, 132, 133, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, -1, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, -1, 157, -1, 159,
160, 161, 162, -1, 164, -1, 166, 167, -1, 169,
170, 171, 172, 173, -1, 175, 176, -1, 178, 179,
180, -1, 182, 183, 184, 185, 186, 187, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
-1, 201, 202, 203, 204, 205, 206, 207, 208, 209,
-1, 211, -1, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, -1, -1, 225, 226, 227, 228, 229,
-1, 231, 232, 233, -1, -1, 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, -1, 266, 267, 268, 269,
-1, 271, 272, 273, 274, 275, 276, -1, 278, 279,
-1, -1, 282, 283, 284, -1, -1, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, -1, 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,
-1, 361, 362, 363, 364, 365, 366, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, -1, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, 406, 407, -1, -1,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, -1, -1, 426, 427, 428, 429,
430, -1, -1, 433, 434, 435, 436, 437, 438, 439,
-1, 441, 442, 443, 444, 445, 446, -1, -1, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, 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, -1,
31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, -1, 57, 58, 59, 60,
61, 62, -1, -1, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, 77, -1, 79, 80,
81, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, 96, 97, 98, 99, -1,
-1, -1, 103, -1, -1, 106, 107, 108, 109, 110,
111, 112, 113, 114, 115, -1, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, -1, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, 167, -1, 169, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, -1, 225, 226, 227, 228, 229, -1,
231, 232, 233, -1, -1, 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, -1, 266, 267, 268, 269, -1,
271, 272, 273, 274, 275, 276, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 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, -1,
361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, -1, -1, 426, 427, 428, 429, 430,
-1, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 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, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, -1, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, 77, -1, 79, 80, 81,
82, 83, 84, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, 96, 97, 98, 99, -1, -1,
-1, 103, -1, -1, 106, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, 167, -1, 169, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
202, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, 214, 215, 216, 217, 218, 219, 220, 221,
222, -1, -1, 225, 226, 227, 228, 229, -1, 231,
232, 233, -1, -1, 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, -1, 266, 267, 268, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 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, -1, 361,
362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, 398, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, -1,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
442, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
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, -1, 31, 32,
33, 34, 35, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, 77, -1, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, -1, -1, -1,
103, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, -1, 225, 226, 227, 228, 229, -1, 231, 232,
233, -1, -1, 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, -1, 266, 267, 268, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 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, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, 442,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, 77, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, 96, 97, 98, 99, -1, -1, -1, 103,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, 202, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
-1, 225, 226, 227, 228, 229, -1, 231, 232, 233,
-1, -1, 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, -1, 266, 267, 268, 269, -1, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, 290, 291, 292, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 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, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, 442, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1,
-1, -1, -1, -1, -1, -1, 41, 42, -1, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
55, -1, 57, 58, 59, 60, 61, 62, -1, -1,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, 77, -1, 79, 80, 81, 82, 83, 84,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, 96, 97, 98, 99, -1, -1, -1, 103, -1,
-1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
115, -1, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, -1, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, 167, -1, 169, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, 187, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, 202, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, 214,
215, 216, 217, 218, 219, 220, 221, 222, -1, -1,
225, 226, 227, 228, 229, -1, 231, 232, 233, -1,
-1, 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,
-1, 266, 267, 268, 269, -1, 271, 272, 273, 274,
275, 276, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 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, -1, 361, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, 398, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, -1,
-1, 426, 427, 428, 429, 430, -1, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, 442, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, -1, 65,
66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
-1, 77, -1, 79, 80, 81, 82, 83, 84, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, -1,
96, 97, 98, 99, -1, -1, -1, 103, -1, -1,
-1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
-1, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, -1,
166, 167, -1, 169, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, 187, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, -1, 201, 202, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, -1, -1, 225,
226, 227, 228, 229, -1, 231, 232, 233, -1, -1,
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, -1,
266, 267, 268, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 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, -1, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, 372, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, 398, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, -1,
426, 427, 428, 429, 430, -1, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, 442, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1,
-1, -1, -1, -1, 41, 42, -1, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
77, -1, 79, 80, 81, 82, 83, 84, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, 96,
97, 98, 99, -1, -1, -1, 103, -1, -1, -1,
107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
167, -1, 169, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
187, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, 202, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, 214, 215, 216,
217, 218, 219, 220, 221, 222, -1, -1, 225, 226,
227, 228, 229, -1, 231, 232, 233, -1, -1, 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, -1, 266,
267, 268, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 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, -1, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, 398, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, 442, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, 47,
48, 49, 50, 51, 52, 53, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, 77,
-1, 79, 80, 81, 82, 83, 84, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, 96, 97,
98, 99, -1, -1, -1, 103, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, 167,
-1, 169, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, 187,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, 202, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, 214, 215, 216, 217,
218, 219, 220, 221, 222, -1, -1, 225, 226, 227,
228, 229, -1, 231, 232, 233, -1, -1, 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, -1, 266, 267,
268, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 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, -1, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, -1, 397,
398, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, 442, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, -1, -1, -1, 103, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, 226, 227, 228,
229, -1, 231, 232, 233, -1, -1, 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, -1, 266, 267, 268,
269, -1, 271, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
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, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 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,
-1, 31, 32, 33, -1, -1, -1, -1, -1, -1,
-1, 41, 42, -1, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, -1, 57, 58, 59,
60, 61, 62, -1, -1, 65, 66, 67, 68, 69,
-1, 71, 72, 73, 74, 75, -1, 77, -1, 79,
80, 81, 82, 83, 84, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, -1, 96, 97, 98, 99,
-1, -1, -1, 103, -1, -1, -1, 107, 108, 109,
110, 111, 112, 113, 114, 115, -1, 117, -1, 119,
120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
-1, -1, 132, 133, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, -1, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, -1, 157, -1, 159,
160, 161, 162, -1, 164, -1, 166, 167, -1, 169,
170, 171, 172, 173, -1, 175, 176, -1, 178, 179,
180, -1, 182, 183, 184, 185, 186, 187, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
-1, 201, 202, 203, 204, 205, 206, 207, 208, 209,
-1, 211, -1, 213, 214, 215, 216, 217, 218, 219,
220, 221, 222, -1, -1, 225, 226, 227, 228, 229,
-1, 231, 232, 233, -1, -1, 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, -1, 266, 267, 268, 269,
-1, 271, 272, 273, 274, 275, 276, -1, 278, 279,
-1, -1, 282, 283, 284, -1, -1, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, -1, 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,
-1, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, 372, 373, 374, 375, 376, -1, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, -1, 397, 398, 399,
400, 401, 402, 403, -1, 405, 406, 407, -1, -1,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, -1, -1, 426, 427, 428, 429,
430, -1, -1, 433, 434, 435, 436, 437, 438, 439,
-1, 441, 442, 443, 444, 445, 446, -1, -1, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, 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, -1,
31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
51, 52, 53, 54, 55, -1, 57, 58, 59, 60,
61, 62, -1, -1, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, 77, -1, 79, 80,
81, 82, 83, 84, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, 96, 97, 98, 99, -1,
-1, -1, 103, -1, -1, -1, 107, 108, 109, 110,
111, 112, 113, 114, 115, -1, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, -1, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, 167, -1, 169, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, 202, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, 214, 215, 216, 217, 218, 219, 220,
221, 222, -1, -1, 225, 226, 227, 228, 229, -1,
231, 232, 233, -1, -1, 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, -1, 266, 267, 268, 269, -1,
271, 272, 273, 274, 275, 276, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, 290,
291, 292, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 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, -1,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, 398, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, -1, -1, 426, 427, 428, 429, 430,
-1, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, 442, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 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, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, -1, 48, 49, 50, 51,
52, -1, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, -1, 65, 66, 67, 68, 69, 70, 71,
72, 73, 74, 75, -1, -1, 78, 79, 80, 81,
82, 83, -1, 85, 86, 87, 88, 89, 90, 91,
92, 93, 94, -1, -1, 97, 98, 99, -1, -1,
-1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, 165, 166, -1, -1, -1, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
-1, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, -1, -1, 216, -1, 218, 219, 220, 221,
222, -1, -1, 225, 226, -1, 228, -1, -1, 231,
232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, -1, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, -1, 266, 267, -1, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, -1, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, -1,
342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, -1, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
-1, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, 425, 426, 427, 428, 429, 430, -1,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
-1, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
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, -1, 31, 32,
33, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, -1, 48, 49, 50, 51, 52,
-1, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, 70, 71, 72,
73, 74, 75, -1, -1, -1, 79, 80, 81, 82,
83, -1, 85, 86, 87, 88, 89, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, -1, -1, -1,
-1, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, -1, 157, -1, 159, 160, 161, 162,
-1, 164, 165, 166, -1, -1, -1, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, -1,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, -1, -1, 216, -1, 218, 219, 220, 221, 222,
-1, -1, 225, 226, -1, 228, 229, -1, 231, 232,
233, -1, -1, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
-1, 254, 255, 256, 257, 258, 259, 260, 261, 262,
263, 264, -1, 266, 267, -1, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, -1, 291, -1,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, -1, 342,
343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, -1,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, 425, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, -1,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 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,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, -1, -1, 79, 80, 81, 82, 83,
-1, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, 95, -1, 97, 98, 99, -1, -1, -1, -1,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, -1, -1, -1, 170, 171, 172, 173,
174, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, -1, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
-1, -1, 216, -1, 218, 219, 220, 221, 222, -1,
-1, 225, 226, -1, 228, -1, -1, 231, 232, 233,
-1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, -1,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, -1, 266, 267, -1, 269, -1, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, -1, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 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, -1, 342, 343,
-1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, 360, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, -1, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, -1, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 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, -1,
-1, -1, -1, -1, -1, -1, 41, 42, -1, 44,
45, 46, -1, 48, 49, 50, 51, 52, -1, 54,
55, -1, 57, 58, 59, 60, 61, 62, -1, -1,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, -1, -1, 79, 80, 81, 82, 83, -1,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
95, -1, 97, 98, 99, -1, -1, -1, -1, -1,
-1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
115, -1, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, -1, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, -1, -1, -1, 170, 171, 172, 173, 174,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, -1, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, -1,
-1, 216, -1, 218, 219, 220, 221, 222, -1, -1,
225, 226, -1, 228, -1, -1, 231, 232, 233, -1,
-1, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, -1, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
-1, 266, 267, -1, 269, -1, 271, 272, 273, 274,
275, 276, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, -1, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 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, -1, 342, 343, -1,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, -1, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, -1,
-1, 426, 427, 428, 429, 430, -1, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, -1, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, -1, 48, 49, 50, 51, 52, -1, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, -1, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
-1, -1, -1, 79, 80, 81, 82, 83, -1, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, -1,
-1, 97, 98, 99, -1, -1, -1, -1, -1, -1,
-1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
-1, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, 165,
166, -1, -1, -1, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, -1, 201, -1, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, -1, -1,
216, -1, 218, 219, 220, 221, 222, -1, -1, 225,
226, -1, 228, -1, -1, 231, 232, 233, -1, -1,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, -1, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
266, 267, -1, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, -1, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, -1, 342, 343, -1, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, -1, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, -1, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, 425,
426, 427, 428, 429, 430, -1, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, -1, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 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, -1, -1, -1,
-1, -1, -1, -1, 41, 42, -1, 44, 45, 46,
-1, 48, 49, 50, 51, 52, -1, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
-1, -1, 79, 80, 81, 82, 83, -1, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, 95, -1,
97, 98, 99, -1, -1, -1, -1, -1, -1, -1,
107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
-1, -1, -1, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, -1, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, -1, -1, 216,
-1, 218, 219, 220, 221, 222, -1, -1, 225, 226,
-1, 228, -1, -1, 231, 232, 233, -1, -1, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, -1, 254, 255, 256,
257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
267, -1, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, -1, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 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, -1, 342, 343, -1, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, 360, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, -1, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, -1, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 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, -1, -1, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, -1,
48, 49, 50, 51, 52, -1, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, -1,
-1, 79, 80, 81, 82, 83, -1, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, -1, 97,
98, 99, -1, -1, -1, -1, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, 165, 166, -1,
-1, -1, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, -1, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, -1, -1, 216, -1,
218, 219, 220, 221, 222, -1, -1, 225, 226, -1,
228, -1, -1, 231, 232, 233, -1, -1, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, -1, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
-1, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, -1, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, -1, 342, 343, -1, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, -1, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, -1, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, 396, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, -1, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, -1, 48,
49, 50, 51, 52, -1, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, -1, -1,
79, 80, 81, 82, 83, -1, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, 95, -1, 97, 98,
99, -1, -1, -1, -1, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, -1, -1,
-1, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, -1, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, -1, -1, 216, -1, 218,
219, 220, 221, 222, -1, -1, 225, 226, -1, 228,
-1, -1, 231, 232, 233, -1, -1, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, -1, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, -1, 266, 267, -1,
269, -1, 271, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, -1, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 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, -1, 342, 343, -1, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, 360, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, -1, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, -1, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 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, -1, -1, -1, -1, -1, -1,
-1, 41, 42, -1, 44, 45, 46, -1, 48, 49,
50, 51, 52, -1, 54, 55, -1, 57, 58, 59,
60, 61, 62, -1, -1, 65, 66, 67, 68, 69,
-1, 71, 72, 73, 74, 75, -1, -1, -1, 79,
80, 81, 82, 83, -1, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, -1, -1, 97, 98, 99,
-1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
110, 111, 112, 113, 114, 115, -1, 117, -1, 119,
120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
-1, -1, 132, 133, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, -1, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, -1, 157, -1, 159,
160, 161, 162, -1, 164, -1, 166, -1, -1, -1,
170, 171, 172, 173, -1, 175, 176, -1, 178, 179,
180, -1, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
-1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
-1, 211, -1, 213, -1, -1, 216, -1, 218, 219,
220, 221, 222, -1, -1, 225, 226, -1, 228, -1,
-1, 231, 232, 233, -1, -1, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, -1, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, -1, 266, 267, -1, 269,
-1, 271, 272, 273, 274, 275, 276, -1, 278, 279,
-1, 281, 282, 283, 284, -1, -1, 287, 288, 289,
-1, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, -1, 342, 343, -1, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
-1, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, -1, 373, 374, 375, 376, -1, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, -1, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, -1, -1,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, -1, -1, 426, 427, 428, 429,
430, -1, -1, 433, 434, 435, 436, 437, 438, 439,
-1, 441, -1, 443, 444, 445, 446, -1, -1, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, 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, -1, -1, -1, -1, -1, -1, -1,
41, 42, -1, 44, 45, 46, -1, 48, 49, 50,
51, 52, -1, 54, 55, -1, 57, 58, 59, 60,
61, 62, -1, -1, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, -1, -1, 79, 80,
81, 82, 83, -1, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, -1,
-1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
111, 112, 113, 114, 115, -1, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, -1, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, -1, -1, -1, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, -1, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, -1, -1, 216, -1, 218, 219, 220,
221, 222, -1, -1, 225, 226, -1, 228, -1, -1,
231, 232, 233, -1, -1, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, -1, 254, 255, 256, 257, 258, 259, 260,
261, 262, 263, 264, -1, 266, 267, -1, 269, -1,
271, 272, 273, 274, 275, 276, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, -1,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
-1, 342, 343, -1, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, -1,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, -1, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, -1, -1, 426, 427, 428, 429, 430,
431, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, -1, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 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, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, -1, 48, 49, 50, 51,
52, -1, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, -1, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, -1, -1, 79, 80, 81,
82, 83, -1, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, -1, 97, 98, 99, -1, -1,
-1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, -1, -1, -1, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
-1, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, -1, -1, 216, -1, 218, 219, 220, 221,
222, -1, -1, 225, 226, -1, 228, -1, -1, 231,
232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, -1, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, -1, 266, 267, -1, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, -1, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, -1,
342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, -1, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
-1, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, 431,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
-1, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
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, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, -1, 48, 49, 50, 51, 52,
-1, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, -1, -1, 79, 80, 81, 82,
83, -1, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, -1, -1, -1,
-1, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, -1, -1, -1, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, -1,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, -1, -1, 216, -1, 218, 219, 220, 221, 222,
-1, -1, 225, 226, -1, 228, -1, -1, 231, 232,
233, -1, -1, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
-1, 254, 255, 256, 257, 258, 259, 260, 261, 262,
263, 264, -1, 266, 267, -1, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, -1, 291, -1,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, -1, 342,
343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, -1,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, -1,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 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,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, -1, -1, 79, 80, 81, 82, 83,
-1, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, -1, 97, 98, 99, -1, -1, -1, -1,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, -1, -1, -1, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, -1, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
-1, -1, 216, -1, 218, 219, 220, 221, 222, -1,
-1, 225, 226, -1, 228, -1, -1, 231, 232, 233,
-1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, -1,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, -1, 266, 267, -1, 269, -1, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, -1, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
-1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, -1, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, -1, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 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, -1,
-1, -1, -1, -1, -1, -1, 41, 42, -1, 44,
45, 46, -1, 48, 49, 50, 51, 52, -1, 54,
55, -1, 57, 58, 59, 60, 61, 62, -1, -1,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, -1, -1, 79, 80, 81, 82, 83, -1,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, -1, -1, -1, -1, -1,
-1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
115, -1, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, -1, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, -1, -1, -1, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, -1, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, -1,
-1, 216, -1, 218, 219, 220, 221, 222, -1, -1,
225, 226, -1, 228, -1, -1, 231, 232, 233, -1,
-1, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, -1, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
-1, 266, 267, -1, 269, -1, 271, 272, 273, 274,
275, 276, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, -1, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, -1, 342, 343, -1,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, -1, 361, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, -1, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, -1,
-1, 426, 427, 428, 429, 430, -1, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, -1, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 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, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, -1, 48, 49, 50, 51, 52, -1, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, -1, 65,
66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
-1, -1, -1, 79, 80, 81, 82, 83, -1, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, -1,
-1, 97, 98, 99, -1, -1, -1, -1, -1, -1,
-1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
-1, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, -1,
166, -1, -1, -1, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, -1, 201, -1, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, -1, -1,
216, -1, 218, 219, 220, 221, 222, -1, -1, 225,
226, -1, 228, -1, -1, 231, 232, 233, -1, -1,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, -1, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
266, 267, -1, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, -1, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, -1, 342, 343, -1, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, -1, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, -1, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, -1,
426, 427, 428, 429, 430, -1, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, -1, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1,
-1, -1, -1, -1, 41, 42, -1, 44, 45, 46,
-1, 48, 49, 50, 51, 52, -1, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
-1, -1, 79, 80, 81, 82, 83, -1, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, -1, -1, -1, -1, -1, -1, -1,
107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
-1, -1, -1, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, -1, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, -1, -1, 216,
-1, 218, 219, 220, 221, 222, -1, -1, 225, 226,
-1, 228, -1, -1, 231, 232, 233, -1, -1, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, -1, 254, 255, 256,
257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
267, -1, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, -1, 281, 282, 283, 284, -1, -1,
287, 288, 289, -1, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, -1, 342, 343, -1, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, -1, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, -1, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, -1, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 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, -1, -1, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, -1,
48, 49, 50, 51, 52, -1, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, -1,
-1, 79, 80, 81, 82, 83, -1, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, -1, 97,
98, 99, -1, -1, -1, -1, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, -1,
-1, -1, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, -1, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, -1, -1, 216, -1,
218, 219, 220, 221, 222, -1, -1, 225, 226, -1,
228, -1, -1, 231, 232, 233, -1, -1, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, -1, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
-1, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, -1, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, -1, 342, 343, -1, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, -1, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, -1, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, -1, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, -1, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 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, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, -1, 48,
49, 50, 51, 52, -1, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, -1, -1,
79, 80, 81, 82, 83, -1, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, -1, -1, -1, -1, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, -1, -1,
-1, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, -1, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, -1, -1, 216, -1, 218,
219, 220, 221, 222, -1, -1, 225, 226, -1, 228,
-1, -1, 231, 232, 233, -1, -1, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, -1, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, -1, 266, 267, -1,
269, -1, 271, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, -1, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, -1, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, -1, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, -1, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 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, -1, -1, -1, -1, -1, -1,
-1, 41, 42, -1, 44, 45, 46, -1, 48, 49,
50, 51, 52, -1, 54, 55, -1, 57, 58, 59,
60, 61, 62, -1, -1, 65, 66, 67, 68, 69,
-1, 71, 72, 73, 74, 75, -1, -1, -1, 79,
80, 81, 82, 83, -1, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, -1, -1, 97, 98, 99,
-1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
110, 111, 112, 113, 114, 115, -1, 117, -1, 119,
120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
-1, -1, 132, 133, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, -1, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, -1, 157, -1, 159,
160, 161, 162, -1, 164, -1, 166, -1, -1, -1,
170, 171, 172, 173, -1, 175, 176, -1, 178, 179,
180, -1, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
-1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
-1, 211, -1, 213, -1, -1, 216, -1, 218, 219,
220, 221, 222, -1, -1, 225, 226, -1, 228, -1,
-1, 231, 232, 233, -1, -1, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, -1, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, -1, 266, 267, -1, 269,
-1, 271, 272, 273, 274, 275, 276, -1, 278, 279,
-1, -1, 282, 283, 284, -1, -1, 287, 288, 289,
-1, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, -1, 342, 343, -1, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
-1, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, -1, 373, 374, 375, 376, -1, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, -1, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, -1, -1,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, -1, -1, 426, 427, 428, 429,
430, -1, -1, 433, 434, 435, 436, 437, 438, 439,
-1, 441, -1, 443, 444, 445, 446, -1, -1, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, 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, -1,
31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
41, 42, -1, 44, 45, 46, 47, 48, 49, 50,
51, 52, -1, 54, 55, -1, 57, 58, 59, 60,
61, 62, -1, -1, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, -1, -1, 79, 80,
81, 82, 83, -1, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, -1,
-1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
111, 112, 113, 114, 115, -1, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, -1, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, -1, -1, -1, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, -1, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, -1, -1, 216, -1, 218, 219, 220,
221, 222, -1, -1, 225, 226, -1, 228, -1, -1,
231, 232, 233, -1, -1, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, -1, 254, 255, 256, 257, 258, 259, 260,
261, 262, 263, 264, -1, 266, 267, -1, 269, -1,
271, 272, 273, 274, 275, 276, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, -1,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
-1, 342, 343, -1, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, -1,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, -1, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, -1, -1, 426, 427, 428, 429, 430,
-1, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, -1, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 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, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, -1, 48, 49, 50, 51,
52, -1, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, -1, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, -1, -1, 79, 80, 81,
82, 83, -1, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, -1, 97, 98, 99, -1, -1,
-1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, -1, -1, -1, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
-1, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, -1, -1, 216, -1, 218, 219, 220, 221,
222, -1, -1, 225, 226, -1, 228, -1, -1, 231,
232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, -1, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, -1, 266, 267, -1, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, 281,
282, 283, 284, -1, -1, 287, 288, 289, -1, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, -1,
342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, -1, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
-1, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, -1,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
-1, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
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, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, -1, 48, 49, 50, 51, 52,
-1, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, -1, -1, 79, 80, 81, 82,
83, -1, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, -1, -1, -1,
-1, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, -1, -1, -1, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, -1,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, -1, -1, 216, -1, 218, 219, 220, 221, 222,
-1, -1, 225, 226, -1, 228, -1, -1, 231, 232,
233, -1, -1, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
-1, 254, 255, 256, 257, 258, 259, 260, 261, 262,
263, 264, -1, 266, 267, -1, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, -1, 291, -1,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, -1, 342,
343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, -1,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, -1,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 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,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, -1, -1, 79, 80, 81, 82, 83,
-1, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, -1, 97, 98, 99, -1, -1, -1, -1,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, -1, -1, -1, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, -1, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
-1, -1, 216, -1, 218, 219, 220, 221, 222, -1,
-1, 225, 226, -1, 228, -1, -1, 231, 232, 233,
-1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, -1,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, -1, 266, 267, -1, 269, -1, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, -1, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
-1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, -1, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, -1, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1,
-1, -1, -1, -1, -1, -1, 41, 42, -1, 44,
45, 46, -1, 48, 49, 50, 51, 52, -1, 54,
55, -1, 57, 58, 59, 60, 61, 62, -1, -1,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, -1, -1, 79, 80, 81, 82, 83, -1,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, -1, -1, -1, -1, -1,
-1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
115, -1, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, -1, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, -1, -1, -1, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, -1, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, -1,
-1, 216, -1, 218, 219, 220, 221, 222, -1, -1,
225, 226, -1, 228, -1, -1, 231, 232, 233, -1,
-1, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, -1, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
-1, 266, 267, -1, 269, -1, 271, 272, 273, 274,
275, 276, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, -1, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, -1, 342, 343, -1,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, -1, 361, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, -1, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, 396, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, -1,
-1, 426, 427, 428, 429, 430, -1, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, -1, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, -1, 48, 49, 50, 51, 52, -1, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, -1, 65,
66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
-1, -1, -1, 79, 80, 81, 82, 83, -1, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, -1,
-1, 97, 98, 99, -1, -1, -1, -1, -1, -1,
-1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
-1, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, -1,
166, -1, -1, -1, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, -1, 201, -1, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, -1, -1,
216, -1, 218, 219, 220, 221, 222, -1, -1, 225,
226, -1, 228, -1, -1, 231, 232, 233, -1, -1,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, -1, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
266, 267, -1, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, -1, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, -1, 342, 343, -1, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, -1, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, -1, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, -1,
426, 427, 428, 429, 430, -1, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, -1, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1,
-1, -1, 39, -1, 41, 42, -1, 44, 45, 46,
-1, 48, 49, 50, 51, 52, -1, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
-1, -1, 79, 80, 81, 82, 83, -1, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, -1, -1, -1, -1, -1, -1, -1,
107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
-1, -1, -1, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, -1, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, -1, -1, 216,
-1, 218, 219, 220, 221, 222, -1, -1, 225, 226,
-1, 228, -1, -1, 231, 232, 233, -1, -1, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, -1, 254, 255, 256,
257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
267, -1, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, -1, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, -1, 342, 343, -1, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, -1, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, -1, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, -1, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1,
-1, 39, -1, 41, 42, -1, 44, 45, 46, -1,
48, 49, 50, 51, 52, -1, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, -1,
-1, 79, 80, 81, 82, 83, -1, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, -1, 97,
98, 99, -1, -1, -1, -1, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, -1,
-1, -1, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, -1, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, -1, -1, 216, -1,
218, 219, 220, 221, 222, -1, -1, 225, 226, -1,
228, -1, -1, 231, 232, 233, -1, -1, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, -1, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
-1, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, -1, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, -1, 342, 343, -1, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, -1, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, -1, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, -1, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, -1, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, -1, 48,
49, 50, 51, 52, -1, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, -1, -1,
79, 80, 81, 82, 83, -1, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, -1, -1, -1, -1, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, -1, -1,
-1, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, -1, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, -1, -1, 216, -1, 218,
219, 220, 221, 222, -1, -1, 225, 226, -1, 228,
-1, -1, 231, 232, 233, -1, -1, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, -1, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, -1, 266, 267, -1,
269, -1, 271, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, -1, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, -1, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, -1, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, -1, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 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,
-1, 31, 32, 33, -1, -1, -1, -1, -1, -1,
-1, 41, 42, -1, 44, 45, 46, -1, 48, 49,
50, 51, 52, -1, 54, 55, -1, 57, 58, 59,
60, 61, 62, -1, -1, 65, 66, 67, 68, 69,
-1, 71, 72, 73, 74, 75, -1, -1, -1, 79,
80, 81, 82, 83, -1, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, -1, -1, 97, 98, 99,
-1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
110, 111, 112, 113, 114, 115, -1, 117, -1, 119,
120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
-1, -1, 132, 133, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, -1, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, -1, 157, -1, 159,
160, 161, 162, -1, 164, -1, 166, -1, -1, -1,
170, 171, 172, 173, -1, 175, 176, -1, 178, 179,
180, -1, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
-1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
-1, 211, -1, 213, -1, -1, 216, -1, 218, 219,
220, 221, 222, -1, -1, 225, 226, -1, 228, -1,
-1, 231, 232, 233, -1, -1, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, -1, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, -1, 266, 267, -1, 269,
-1, 271, 272, 273, 274, 275, 276, -1, 278, 279,
-1, -1, 282, 283, 284, -1, -1, 287, 288, 289,
-1, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, -1, 342, 343, -1, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
-1, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, -1, 373, 374, 375, 376, -1, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, -1, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, -1, -1,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, -1, -1, 426, 427, 428, 429,
430, -1, -1, 433, 434, 435, 436, 437, 438, 439,
-1, 441, -1, 443, 444, 445, 446, -1, -1, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, 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, -1,
31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
41, 42, -1, 44, 45, 46, -1, 48, 49, 50,
51, 52, -1, 54, 55, -1, 57, 58, 59, 60,
61, 62, -1, -1, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, -1, -1, 79, 80,
81, 82, 83, -1, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, -1,
-1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
111, 112, 113, 114, 115, -1, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, -1, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, -1, -1, -1, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, -1, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, -1, -1, 216, -1, 218, 219, 220,
221, 222, -1, -1, 225, 226, -1, 228, -1, -1,
231, 232, 233, -1, -1, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, -1, 254, 255, 256, 257, 258, 259, 260,
261, 262, 263, 264, -1, 266, 267, -1, 269, -1,
271, 272, 273, 274, 275, 276, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, -1,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
-1, 342, 343, -1, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, -1,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, -1, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, -1, -1, 426, 427, 428, 429, 430,
-1, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, -1, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 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, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, -1, 48, 49, 50, 51,
52, -1, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, -1, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, -1, -1, 79, 80, 81,
82, 83, -1, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, -1, 97, 98, 99, -1, -1,
-1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, -1, -1, -1, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
-1, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, -1, -1, 216, -1, 218, 219, 220, 221,
222, -1, -1, 225, 226, -1, 228, -1, -1, 231,
232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, -1, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, -1, 266, 267, -1, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, -1, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, -1,
342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, -1, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
-1, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, -1,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
-1, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
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, -1, 31, 32,
33, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, -1, 48, 49, 50, 51, 52,
-1, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, -1, -1, 79, 80, 81, 82,
83, -1, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, -1, -1, -1,
-1, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, -1, -1, -1, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, -1,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, -1, -1, 216, -1, 218, 219, 220, 221, 222,
-1, -1, 225, 226, -1, 228, -1, -1, 231, 232,
233, -1, -1, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
-1, 254, 255, 256, 257, 258, 259, 260, 261, 262,
263, 264, -1, 266, 267, -1, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, -1, 291, -1,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, -1, 342,
343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, -1,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, -1,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, -1, -1, 79, 80, 81, 82, 83,
-1, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, -1, 97, 98, 99, -1, -1, -1, -1,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, -1, -1, -1, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, -1, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
-1, -1, 216, -1, 218, 219, 220, 221, 222, -1,
-1, 225, 226, -1, 228, -1, -1, 231, 232, 233,
-1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, -1,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, -1, 266, 267, -1, 269, -1, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, -1, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
-1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, -1, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, -1, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1,
-1, -1, -1, -1, -1, -1, 41, 42, -1, 44,
45, 46, -1, 48, 49, 50, 51, 52, -1, 54,
55, -1, 57, 58, 59, 60, 61, 62, -1, -1,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, -1, -1, 79, 80, 81, 82, 83, -1,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, -1, -1, -1, -1, -1,
-1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
115, -1, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, -1, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, -1, -1, -1, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, -1, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, -1,
-1, 216, -1, 218, 219, 220, 221, 222, -1, -1,
225, 226, -1, 228, -1, -1, 231, 232, 233, -1,
-1, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, -1, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
-1, 266, 267, -1, 269, -1, 271, 272, 273, 274,
275, 276, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, -1, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, -1, 342, 343, -1,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, -1, 361, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, -1, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, -1,
-1, 426, 427, 428, 429, 430, -1, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, -1, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, -1, 48, 49, 50, 51, 52, -1, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, -1, 65,
66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
-1, -1, -1, 79, 80, 81, 82, 83, -1, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, -1,
-1, 97, 98, 99, -1, -1, -1, -1, -1, -1,
-1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
-1, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, -1,
166, -1, -1, -1, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, -1, 201, -1, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, -1, -1,
216, -1, 218, 219, 220, 221, 222, -1, -1, 225,
226, -1, 228, -1, -1, 231, 232, 233, -1, -1,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, -1, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
266, 267, -1, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, -1, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, -1, 342, 343, -1, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, -1, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, -1, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, -1,
426, 427, 428, 429, 430, -1, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, -1, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1,
-1, -1, -1, -1, 41, 42, -1, 44, 45, 46,
-1, 48, 49, 50, 51, 52, -1, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
-1, -1, 79, 80, 81, 82, 83, -1, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, -1, -1, -1, -1, -1, -1, -1,
107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
-1, -1, -1, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, -1, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, -1, -1, 216,
-1, 218, 219, 220, 221, 222, -1, -1, 225, 226,
-1, 228, -1, -1, 231, 232, 233, -1, -1, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, -1, 254, 255, 256,
257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
267, -1, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, -1, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, -1, 342, 343, -1, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, -1, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, -1, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, -1, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, -1,
48, 49, 50, 51, 52, -1, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, -1,
-1, 79, 80, 81, 82, 83, -1, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, -1, 97,
98, 99, -1, -1, -1, -1, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, -1,
-1, -1, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, -1, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, -1, -1, 216, -1,
218, 219, 220, 221, 222, -1, -1, 225, 226, -1,
228, -1, -1, 231, 232, 233, -1, -1, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, -1, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
-1, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, -1, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, -1, 342, 343, -1, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, -1, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, -1, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, -1, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, -1, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, -1, 48,
49, 50, 51, 52, -1, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, -1, -1,
79, 80, 81, 82, 83, -1, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, -1, -1, -1, -1, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, -1, -1,
-1, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, -1, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, -1, -1, 216, -1, 218,
219, 220, 221, 222, -1, -1, 225, 226, -1, 228,
-1, -1, 231, 232, 233, -1, -1, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, -1, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, -1, 266, 267, -1,
269, -1, 271, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, -1, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, -1, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, -1, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, -1, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 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,
-1, 31, 32, 33, -1, -1, -1, -1, -1, -1,
-1, 41, 42, -1, 44, 45, 46, -1, 48, 49,
50, 51, 52, -1, 54, 55, -1, 57, 58, 59,
60, 61, 62, -1, -1, 65, 66, 67, 68, 69,
-1, 71, 72, 73, 74, 75, -1, -1, -1, 79,
80, 81, 82, 83, -1, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, -1, -1, 97, 98, 99,
-1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
110, 111, 112, 113, 114, 115, -1, 117, -1, 119,
120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
-1, -1, 132, 133, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, -1, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, -1, 157, -1, 159,
160, 161, 162, -1, 164, -1, 166, -1, -1, -1,
170, 171, 172, 173, -1, 175, 176, -1, 178, 179,
180, -1, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
-1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
-1, 211, -1, 213, -1, -1, 216, -1, 218, 219,
220, 221, 222, -1, -1, 225, 226, -1, 228, -1,
-1, 231, 232, 233, -1, -1, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, -1, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, -1, 266, 267, -1, 269,
-1, 271, 272, 273, 274, 275, 276, -1, 278, 279,
-1, -1, 282, 283, 284, -1, -1, 287, 288, 289,
-1, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, -1, 342, 343, -1, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
-1, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, -1, 373, 374, 375, 376, -1, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, -1, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, -1, -1,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, -1, -1, 426, 427, 428, 429,
430, -1, -1, 433, 434, 435, 436, 437, 438, 439,
-1, 441, -1, 443, 444, 445, 446, -1, -1, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, 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, -1,
31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
41, 42, -1, 44, 45, 46, -1, 48, 49, 50,
51, 52, -1, 54, 55, -1, 57, 58, 59, 60,
61, 62, -1, -1, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, -1, -1, 79, 80,
81, 82, 83, -1, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, -1,
-1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
111, 112, 113, 114, 115, -1, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, -1, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, -1, -1, -1, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, -1, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, -1, -1, 216, -1, 218, 219, 220,
221, 222, -1, -1, 225, 226, -1, 228, -1, -1,
231, 232, 233, -1, -1, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, -1, 254, 255, 256, 257, 258, 259, 260,
261, 262, 263, 264, -1, 266, 267, -1, 269, -1,
271, 272, 273, 274, 275, 276, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, -1,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
-1, 342, 343, -1, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, -1,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, -1, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, -1, -1, 426, 427, 428, 429, 430,
-1, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, -1, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 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, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, -1, 48, 49, 50, 51,
52, -1, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, -1, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, -1, -1, 79, 80, 81,
82, 83, -1, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, -1, 97, 98, 99, -1, -1,
-1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, -1, -1, -1, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
-1, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, -1, -1, 216, -1, 218, 219, 220, 221,
222, -1, -1, 225, 226, -1, 228, -1, -1, 231,
232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, -1, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, -1, 266, 267, -1, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, -1, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, -1,
342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, -1, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
-1, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, -1,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
-1, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
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, -1, 31, 32,
33, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, -1, 48, 49, 50, 51, 52,
-1, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, -1, -1, 79, 80, 81, 82,
83, -1, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, -1, -1, -1,
-1, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, -1, -1, -1, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, -1,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, -1, -1, 216, -1, 218, 219, 220, 221, 222,
-1, -1, 225, 226, -1, 228, -1, -1, 231, 232,
233, -1, -1, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
-1, 254, 255, 256, 257, 258, 259, 260, 261, 262,
263, 264, -1, 266, 267, -1, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, -1, 291, -1,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, -1, 342,
343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, -1,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, -1,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, -1, -1, 79, 80, 81, 82, 83,
-1, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, -1, 97, 98, 99, -1, -1, -1, -1,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, -1, -1, -1, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, -1, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
-1, -1, 216, -1, 218, 219, 220, 221, 222, -1,
-1, 225, 226, -1, 228, -1, -1, 231, 232, 233,
-1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, -1,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, -1, 266, 267, -1, 269, -1, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, -1, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
-1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, -1, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, -1, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1,
-1, -1, -1, -1, -1, -1, 41, 42, -1, 44,
45, 46, -1, 48, 49, 50, 51, 52, -1, 54,
55, -1, 57, 58, 59, 60, 61, 62, -1, -1,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, -1, -1, 79, 80, 81, 82, 83, -1,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, -1, -1, -1, -1, -1,
-1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
115, -1, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, -1, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, -1, -1, -1, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, -1, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, -1,
-1, 216, -1, 218, 219, 220, 221, 222, -1, -1,
225, 226, -1, 228, -1, -1, 231, 232, 233, -1,
-1, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, -1, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
-1, 266, 267, -1, 269, -1, 271, 272, 273, 274,
275, 276, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, -1, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, -1, 342, 343, -1,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, -1, 361, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, -1, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, -1,
-1, 426, 427, 428, 429, 430, -1, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, -1, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, -1, 48, 49, 50, 51, 52, -1, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, -1, 65,
66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
-1, -1, -1, 79, 80, 81, 82, 83, -1, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, -1,
-1, 97, 98, 99, -1, -1, -1, -1, -1, -1,
-1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
-1, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, -1,
166, -1, -1, -1, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, -1, 201, -1, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, -1, -1,
216, -1, 218, 219, 220, 221, 222, -1, -1, 225,
226, -1, 228, -1, -1, 231, 232, 233, -1, -1,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, -1, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
266, 267, -1, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, -1, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, -1, 342, 343, -1, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, -1, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, -1, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, -1,
426, 427, 428, 429, 430, -1, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, -1, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1,
-1, -1, -1, -1, 41, 42, -1, 44, 45, 46,
-1, 48, 49, 50, 51, 52, -1, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
-1, -1, 79, 80, 81, 82, 83, -1, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, -1, -1, -1, -1, -1, -1, -1,
107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
-1, -1, -1, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, -1, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, -1, -1, 216,
-1, 218, 219, 220, 221, 222, -1, -1, 225, 226,
-1, 228, -1, -1, 231, 232, 233, -1, -1, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, -1, 254, 255, 256,
257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
267, -1, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, -1, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, -1, 342, 343, -1, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, -1, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, -1, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, -1, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, -1,
48, 49, 50, 51, 52, -1, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, -1,
-1, 79, 80, 81, 82, 83, -1, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, -1, 97,
98, 99, -1, -1, -1, -1, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, -1,
-1, -1, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, -1, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, -1, -1, 216, -1,
218, 219, 220, 221, 222, -1, -1, 225, 226, -1,
228, -1, -1, 231, 232, 233, -1, -1, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, -1, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
-1, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, -1, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, -1, 342, 343, -1, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, -1, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, -1, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, -1, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, -1, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, -1, 48,
49, 50, 51, 52, -1, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, -1, -1,
79, 80, 81, 82, 83, -1, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, -1, -1, -1, -1, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, -1, -1,
-1, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, -1, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, -1, -1, 216, -1, 218,
219, 220, 221, 222, -1, -1, 225, 226, -1, 228,
-1, -1, 231, 232, 233, -1, -1, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, -1, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, -1, 266, 267, -1,
269, -1, 271, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, -1, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, -1, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, -1, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, -1, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 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,
-1, 31, 32, 33, -1, -1, -1, -1, -1, -1,
-1, 41, 42, -1, 44, 45, 46, -1, 48, 49,
50, 51, 52, -1, 54, 55, -1, 57, 58, 59,
60, 61, 62, -1, -1, 65, 66, 67, 68, 69,
-1, 71, 72, 73, 74, 75, -1, -1, -1, 79,
80, 81, 82, 83, -1, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, -1, -1, 97, 98, 99,
-1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
110, 111, 112, 113, 114, 115, -1, 117, -1, 119,
120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
-1, -1, 132, 133, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, -1, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, -1, 157, -1, 159,
160, 161, 162, -1, 164, -1, 166, -1, -1, -1,
170, 171, 172, 173, -1, 175, 176, -1, 178, 179,
180, -1, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
-1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
-1, 211, -1, 213, -1, -1, 216, -1, 218, 219,
220, 221, 222, -1, -1, 225, 226, -1, 228, -1,
-1, 231, 232, 233, -1, -1, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, -1, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, -1, 266, 267, -1, 269,
-1, 271, 272, 273, 274, 275, 276, -1, 278, 279,
-1, -1, 282, 283, 284, -1, -1, 287, 288, 289,
-1, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, -1, 342, 343, -1, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
-1, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, -1, 373, 374, 375, 376, -1, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, -1, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, -1, -1,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, -1, -1, 426, 427, 428, 429,
430, -1, -1, 433, 434, 435, 436, 437, 438, 439,
-1, 441, -1, 443, 444, 445, 446, -1, -1, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, 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, -1,
31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
41, 42, -1, 44, 45, 46, -1, 48, 49, 50,
51, 52, -1, 54, 55, -1, 57, 58, 59, 60,
61, 62, -1, -1, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, -1, -1, 79, 80,
81, 82, 83, -1, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, -1,
-1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
111, 112, 113, 114, 115, -1, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, -1, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, -1, -1, -1, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, -1, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, -1, -1, 216, -1, 218, 219, 220,
221, 222, -1, -1, 225, 226, -1, 228, -1, -1,
231, 232, 233, -1, -1, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, -1, 254, 255, 256, 257, 258, 259, 260,
261, 262, 263, 264, -1, 266, 267, -1, 269, -1,
271, 272, 273, 274, 275, 276, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, -1,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
-1, 342, 343, -1, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, -1,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, -1, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, -1, -1, 426, 427, 428, 429, 430,
-1, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, -1, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 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, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, -1, 48, 49, 50, 51,
52, -1, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, -1, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, -1, -1, 79, 80, 81,
82, 83, -1, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, -1, 97, 98, 99, -1, -1,
-1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, -1, -1, -1, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
-1, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, -1, -1, 216, -1, 218, 219, 220, 221,
222, -1, -1, 225, 226, -1, 228, -1, -1, 231,
232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, -1, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, -1, 266, 267, -1, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, -1, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, -1,
342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, -1, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
-1, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, -1,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
-1, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
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, -1, 31, 32,
33, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, -1, 48, 49, 50, 51, 52,
-1, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, -1, -1, 79, 80, 81, 82,
83, -1, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, -1, -1, -1,
-1, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, -1, -1, -1, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, -1,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, -1, -1, 216, -1, 218, 219, 220, 221, 222,
-1, -1, 225, 226, -1, 228, -1, -1, 231, 232,
233, -1, -1, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
-1, 254, 255, 256, 257, 258, 259, 260, 261, 262,
263, 264, -1, 266, 267, -1, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, -1, 291, -1,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, -1, 342,
343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, -1,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, -1,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, -1, -1, 79, 80, 81, 82, 83,
-1, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, -1, 97, 98, 99, -1, -1, -1, -1,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, -1, -1, -1, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, -1, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
-1, -1, 216, -1, 218, 219, 220, 221, 222, -1,
-1, 225, 226, -1, 228, -1, -1, 231, 232, 233,
-1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, -1,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, -1, 266, 267, -1, 269, -1, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, -1, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
-1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, -1, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, -1, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1,
-1, -1, -1, -1, -1, -1, 41, 42, -1, 44,
45, 46, -1, 48, 49, 50, 51, 52, -1, 54,
55, -1, 57, 58, 59, 60, 61, 62, -1, -1,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, -1, -1, 79, 80, 81, 82, 83, -1,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, -1, -1, -1, -1, -1,
-1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
115, -1, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, -1, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, -1, -1, -1, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, -1, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, -1,
-1, 216, -1, 218, 219, 220, 221, 222, -1, -1,
225, 226, -1, 228, -1, -1, 231, 232, 233, -1,
-1, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, -1, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
-1, 266, 267, -1, 269, -1, 271, 272, 273, 274,
275, 276, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, -1, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, -1, 342, 343, -1,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, -1, 361, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, -1, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, -1,
-1, 426, 427, 428, 429, 430, -1, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, -1, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, -1, 48, 49, 50, 51, 52, -1, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, -1, 65,
66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
-1, -1, -1, 79, 80, 81, 82, 83, -1, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, -1,
-1, 97, 98, 99, -1, -1, -1, -1, -1, -1,
-1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
-1, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, -1,
166, -1, -1, -1, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, -1, 201, -1, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, -1, -1,
216, -1, 218, 219, 220, 221, 222, -1, -1, 225,
226, -1, 228, -1, -1, 231, 232, 233, -1, -1,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, -1, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
266, 267, -1, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, -1, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, -1, 342, 343, -1, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, -1, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, -1, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, -1,
426, 427, 428, 429, 430, -1, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, -1, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1,
-1, -1, 39, -1, 41, 42, -1, 44, 45, 46,
-1, 48, 49, 50, 51, 52, -1, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
-1, -1, 79, 80, 81, 82, 83, -1, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, -1, -1, -1, -1, -1, -1, -1,
107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
-1, -1, -1, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, -1, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, -1, -1, 216,
-1, 218, 219, 220, 221, 222, -1, -1, 225, 226,
-1, 228, -1, -1, 231, 232, 233, -1, -1, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, -1, 254, 255, 256,
257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
267, -1, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, -1, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, -1, 342, 343, -1, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, -1, 361, 362, 363, 364, 365, -1,
-1, 368, 369, 370, 371, -1, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, -1, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, -1,
48, 49, 50, 51, 52, -1, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, -1,
-1, 79, 80, 81, 82, 83, -1, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, -1, 97,
98, 99, -1, -1, -1, -1, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, -1,
-1, -1, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, -1, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, -1, -1, 216, -1,
218, 219, 220, 221, 222, -1, -1, 225, 226, -1,
228, -1, -1, 231, 232, 233, -1, -1, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, -1, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
-1, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, -1, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, -1, 342, 343, -1, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, -1, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, -1, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, -1, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, -1, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, -1, 48,
49, 50, 51, 52, -1, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, -1, -1,
79, 80, 81, 82, 83, -1, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, -1, -1, -1, -1, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, -1, -1,
-1, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, -1, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, -1, -1, 216, -1, 218,
219, 220, 221, 222, -1, -1, 225, 226, -1, 228,
-1, -1, 231, 232, 233, -1, -1, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, -1, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, -1, 266, 267, -1,
269, -1, 271, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, -1, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, -1, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, -1, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, -1, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 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,
-1, 31, 32, 33, -1, -1, -1, -1, -1, -1,
-1, 41, 42, -1, 44, 45, 46, -1, 48, 49,
50, 51, 52, -1, 54, 55, -1, 57, 58, 59,
60, 61, 62, -1, -1, 65, 66, 67, 68, 69,
-1, 71, 72, 73, 74, 75, -1, -1, -1, 79,
80, 81, 82, 83, -1, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, -1, -1, 97, 98, 99,
-1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
110, 111, 112, 113, 114, 115, -1, 117, -1, 119,
120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
-1, -1, 132, 133, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, -1, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, -1, 157, -1, 159,
160, 161, 162, -1, 164, -1, 166, -1, -1, -1,
170, 171, 172, 173, -1, 175, 176, -1, 178, 179,
180, -1, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
-1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
-1, 211, -1, 213, -1, -1, 216, -1, 218, 219,
220, 221, 222, -1, -1, 225, 226, -1, 228, -1,
-1, 231, 232, 233, -1, -1, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, -1, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, -1, 266, 267, -1, 269,
-1, 271, 272, 273, 274, 275, 276, -1, 278, 279,
-1, -1, 282, 283, 284, -1, -1, 287, 288, 289,
-1, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, -1, 342, 343, -1, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
-1, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, -1, 373, 374, 375, 376, -1, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, -1, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, -1, -1,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, -1, -1, 426, 427, 428, 429,
430, -1, -1, 433, 434, 435, 436, 437, 438, 439,
-1, 441, -1, 443, 444, 445, 446, -1, -1, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, 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, -1,
31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
41, 42, -1, 44, 45, 46, -1, 48, 49, 50,
51, 52, -1, 54, 55, -1, 57, 58, 59, 60,
61, 62, -1, -1, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, -1, -1, 79, 80,
81, 82, 83, -1, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, -1,
-1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
111, 112, 113, 114, 115, -1, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, -1, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, -1, -1, -1, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, -1, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, -1, -1, 216, -1, 218, 219, 220,
221, 222, -1, -1, 225, 226, -1, 228, -1, -1,
231, 232, 233, -1, -1, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, -1, 254, 255, 256, 257, 258, 259, 260,
261, 262, 263, 264, -1, 266, 267, -1, 269, -1,
271, 272, 273, 274, 275, 276, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, -1,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
-1, 342, 343, -1, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, -1,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, -1, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, -1, -1, 426, 427, 428, 429, 430,
-1, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, -1, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 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, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, -1, 48, 49, 50, 51,
52, -1, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, -1, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, -1, -1, 79, 80, 81,
82, 83, -1, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, -1, 97, 98, 99, -1, -1,
-1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, -1, -1, -1, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
-1, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, -1, -1, 216, -1, 218, 219, 220, 221,
222, -1, -1, 225, 226, -1, 228, -1, -1, 231,
232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, -1, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, -1, 266, 267, -1, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, -1, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, -1,
342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, -1, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
-1, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, -1,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
-1, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
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, -1, 31, 32,
33, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, -1, 48, 49, 50, 51, 52,
-1, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, 75, -1, -1, -1, 79, 80, 81, 82,
83, -1, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, -1, 97, 98, 99, -1, -1, -1,
-1, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, 150, 151, 152,
153, 154, 155, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, -1, -1, -1, 170, 171, 172,
173, -1, 175, 176, -1, 178, 179, 180, -1, 182,
183, 184, 185, 186, -1, 188, 189, 190, 191, -1,
193, 194, 195, 196, 197, 198, 199, -1, 201, -1,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, -1, -1, 216, -1, 218, 219, 220, 221, 222,
-1, -1, 225, 226, -1, 228, -1, -1, 231, 232,
233, -1, -1, 236, 237, 238, 239, 240, 241, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
-1, 254, 255, 256, 257, 258, 259, 260, 261, 262,
263, 264, -1, 266, 267, -1, 269, -1, 271, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, -1, 291, -1,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, 306, 307, 308, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, -1, 342,
343, -1, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 357, 358, 359, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, -1,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, 391, 392,
-1, 394, 395, -1, 397, -1, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, 412,
413, 414, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, 438, 439, -1, 441, -1,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 458, 459, 460, 461, 462,
463, 464, 465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, -1, 48, 49, 50, 51, 52, -1,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, 75, -1, -1, -1, 79, 80, 81, 82, 83,
-1, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, -1, 97, 98, 99, -1, -1, -1, -1,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, -1, -1, -1, 170, 171, 172, 173,
-1, 175, 176, -1, 178, 179, 180, -1, 182, 183,
184, 185, 186, -1, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, -1, 203,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
-1, -1, 216, -1, 218, 219, 220, 221, 222, -1,
-1, 225, 226, -1, 228, -1, -1, 231, 232, 233,
-1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, 252, -1,
254, 255, 256, 257, 258, 259, 260, 261, 262, 263,
264, -1, 266, 267, -1, 269, -1, 271, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, 289, -1, 291, -1, 293,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, 306, 307, 308, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
-1, 345, 346, 347, 348, 349, 350, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, -1, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 392, -1,
394, 395, -1, 397, -1, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, 412, 413,
414, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, 438, 439, -1, 441, -1, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 458, 459, 460, 461, 462, 463,
464, 465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1,
-1, -1, -1, -1, -1, -1, 41, 42, -1, 44,
45, 46, -1, 48, 49, 50, 51, 52, -1, 54,
55, -1, 57, 58, 59, 60, 61, 62, -1, -1,
65, 66, 67, 68, 69, -1, 71, 72, 73, 74,
75, -1, -1, -1, 79, 80, 81, 82, 83, -1,
85, 86, 87, -1, 89, 90, 91, 92, 93, 94,
-1, -1, 97, 98, 99, -1, -1, -1, -1, -1,
-1, -1, 107, 108, 109, 110, 111, 112, 113, 114,
115, -1, 117, -1, 119, 120, 121, 122, 123, 124,
-1, 126, 127, 128, 129, -1, -1, 132, 133, 134,
135, 136, -1, 138, 139, 140, -1, 142, 143, 144,
-1, 146, 147, 148, 149, 150, 151, 152, 153, 154,
155, -1, 157, -1, 159, 160, 161, 162, -1, 164,
-1, 166, -1, -1, -1, 170, 171, 172, 173, -1,
175, 176, -1, 178, 179, 180, -1, 182, 183, 184,
185, 186, -1, 188, 189, 190, 191, -1, 193, 194,
195, 196, 197, 198, 199, -1, 201, -1, 203, 204,
205, 206, 207, 208, 209, -1, 211, -1, 213, -1,
-1, 216, -1, 218, 219, 220, 221, 222, -1, -1,
225, 226, -1, 228, -1, -1, 231, 232, 233, -1,
-1, 236, 237, 238, 239, 240, 241, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, -1, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
-1, 266, 267, -1, 269, -1, 271, 272, 273, 274,
275, 276, -1, 278, 279, -1, -1, 282, 283, 284,
-1, -1, 287, 288, 289, -1, 291, -1, 293, 294,
295, 296, 297, 298, 299, 300, 301, 302, -1, 304,
305, 306, 307, 308, 309, 310, 311, -1, 313, 314,
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
325, 326, 327, -1, 329, 330, 331, 332, 333, 334,
335, 336, 337, 338, 339, 340, -1, 342, 343, -1,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 357, 358, 359, -1, 361, 362, 363, 364,
365, -1, 367, 368, 369, 370, 371, -1, 373, 374,
375, 376, -1, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, -1, 394,
395, -1, 397, -1, 399, 400, 401, 402, 403, -1,
405, 406, 407, -1, -1, 410, 411, 412, 413, 414,
-1, 416, 417, 418, 419, 420, 421, 422, 423, -1,
-1, 426, 427, 428, 429, 430, -1, -1, 433, 434,
435, 436, 437, 438, 439, -1, 441, -1, 443, 444,
445, 446, -1, -1, 449, -1, -1, 452, 453, 454,
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
465, 466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1,
-1, -1, -1, -1, -1, 41, 42, -1, 44, 45,
46, -1, 48, 49, 50, 51, 52, -1, 54, 55,
-1, 57, 58, 59, 60, 61, 62, -1, -1, 65,
66, 67, 68, 69, -1, 71, 72, 73, 74, 75,
-1, -1, -1, 79, 80, 81, 82, 83, -1, 85,
86, 87, -1, 89, 90, 91, 92, 93, 94, -1,
-1, 97, 98, 99, -1, -1, -1, -1, -1, -1,
-1, 107, 108, 109, 110, 111, 112, 113, 114, 115,
-1, 117, -1, 119, 120, 121, 122, 123, 124, -1,
126, 127, 128, 129, -1, -1, 132, 133, 134, 135,
136, -1, 138, 139, 140, -1, 142, 143, 144, -1,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
-1, 157, -1, 159, 160, 161, 162, -1, 164, -1,
166, -1, -1, -1, 170, 171, 172, 173, -1, 175,
176, -1, 178, 179, 180, -1, 182, 183, 184, 185,
186, -1, 188, 189, 190, 191, -1, 193, 194, 195,
196, 197, 198, 199, -1, 201, -1, 203, 204, 205,
206, 207, 208, 209, -1, 211, -1, 213, -1, -1,
216, -1, 218, 219, 220, 221, 222, -1, -1, 225,
226, -1, 228, -1, -1, 231, 232, 233, -1, -1,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, -1, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, -1,
266, 267, -1, 269, -1, 271, 272, 273, 274, 275,
276, -1, 278, 279, -1, -1, 282, 283, 284, -1,
-1, 287, 288, 289, -1, 291, -1, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, -1, 304, 305,
306, 307, 308, 309, 310, 311, -1, 313, 314, 315,
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
326, 327, -1, 329, 330, 331, 332, 333, 334, 335,
336, 337, 338, 339, 340, -1, 342, 343, -1, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 357, 358, 359, -1, 361, 362, 363, 364, 365,
-1, 367, 368, 369, 370, 371, -1, 373, 374, 375,
376, -1, 378, 379, 380, 381, 382, 383, 384, 385,
386, 387, 388, 389, 390, 391, 392, -1, 394, 395,
-1, 397, -1, 399, 400, 401, 402, 403, -1, 405,
406, 407, -1, -1, 410, 411, 412, 413, 414, -1,
416, 417, 418, 419, 420, 421, 422, 423, -1, -1,
426, 427, 428, 429, 430, -1, -1, 433, 434, 435,
436, 437, 438, 439, -1, 441, -1, 443, 444, 445,
446, -1, -1, 449, -1, -1, 452, 453, 454, 455,
456, 457, 458, 459, 460, 461, 462, 463, 464, 465,
466, 467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1,
-1, -1, -1, -1, 41, 42, -1, 44, 45, 46,
-1, 48, 49, 50, 51, 52, -1, 54, 55, -1,
57, 58, 59, 60, 61, 62, -1, -1, 65, 66,
67, 68, 69, -1, 71, 72, 73, 74, 75, -1,
-1, -1, 79, 80, 81, 82, 83, -1, 85, 86,
87, -1, 89, 90, 91, 92, 93, 94, -1, -1,
97, 98, 99, -1, -1, -1, -1, -1, -1, -1,
107, 108, 109, 110, 111, 112, 113, 114, 115, -1,
117, -1, 119, 120, 121, 122, 123, 124, -1, 126,
127, 128, 129, -1, -1, 132, 133, 134, 135, 136,
-1, 138, 139, 140, -1, 142, 143, 144, -1, 146,
147, 148, 149, 150, 151, 152, 153, 154, 155, -1,
157, -1, 159, 160, 161, 162, -1, 164, -1, 166,
-1, -1, -1, 170, 171, 172, 173, -1, 175, 176,
-1, 178, 179, 180, -1, 182, 183, 184, 185, 186,
-1, 188, 189, 190, 191, -1, 193, 194, 195, 196,
197, 198, 199, -1, 201, -1, 203, 204, 205, 206,
207, 208, 209, -1, 211, -1, 213, -1, -1, 216,
-1, 218, 219, 220, 221, 222, -1, -1, 225, 226,
-1, 228, -1, -1, 231, 232, 233, -1, -1, 236,
237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, -1, 254, 255, 256,
257, 258, 259, 260, 261, 262, 263, 264, -1, 266,
267, -1, 269, -1, 271, 272, 273, 274, 275, 276,
-1, 278, 279, -1, -1, 282, 283, 284, -1, -1,
287, 288, 289, -1, 291, -1, 293, 294, 295, 296,
297, 298, 299, 300, 301, 302, -1, 304, 305, 306,
307, 308, 309, 310, 311, -1, 313, 314, 315, 316,
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
327, -1, 329, 330, 331, 332, 333, 334, 335, 336,
337, 338, 339, 340, -1, 342, 343, -1, 345, 346,
347, 348, 349, 350, 351, 352, 353, 354, 355, 356,
357, 358, 359, -1, 361, 362, 363, 364, 365, -1,
367, 368, 369, 370, 371, -1, 373, 374, 375, 376,
-1, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 392, -1, 394, 395, -1,
397, -1, 399, 400, 401, 402, 403, -1, 405, 406,
407, -1, -1, 410, 411, 412, 413, 414, -1, 416,
417, 418, 419, 420, 421, 422, 423, -1, -1, 426,
427, 428, 429, 430, -1, -1, 433, 434, 435, 436,
437, 438, 439, -1, 441, -1, 443, 444, 445, 446,
-1, -1, 449, -1, -1, 452, 453, 454, 455, 456,
457, 458, 459, 460, 461, 462, 463, 464, 465, 466,
467, 468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, -1,
48, 49, 50, 51, 52, -1, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, -1,
-1, 79, 80, 81, 82, 83, -1, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, -1, 97,
98, 99, -1, -1, -1, -1, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, -1,
-1, -1, 170, 171, 172, 173, -1, 175, 176, -1,
178, 179, 180, -1, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, -1, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, -1, -1, 216, -1,
218, 219, 220, 221, 222, -1, -1, 225, 226, -1,
228, -1, -1, 231, 232, 233, -1, -1, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, -1, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
-1, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, -1, 291, -1, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, 321, 322, 323, 324, 325, 326, 327,
-1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, -1, 342, 343, -1, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, -1, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, -1, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, -1, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, -1, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, -1, 48,
49, 50, 51, 52, -1, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, 75, -1, -1, -1,
79, 80, 81, 82, 83, -1, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, -1, 97, 98,
99, -1, -1, -1, -1, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, 150, 151, 152, 153, 154, 155, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, -1, -1,
-1, 170, 171, 172, 173, -1, 175, 176, -1, 178,
179, 180, -1, 182, 183, 184, 185, 186, -1, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, -1, 203, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, -1, -1, 216, -1, 218,
219, 220, 221, 222, -1, -1, 225, 226, -1, 228,
-1, -1, 231, 232, 233, -1, -1, 236, 237, 238,
239, 240, 241, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, -1, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, 264, -1, 266, 267, -1,
269, -1, 271, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
289, -1, 291, -1, 293, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, 306, 307, 308,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, -1, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, -1, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 392, -1, 394, 395, -1, 397, -1,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, 412, 413, 414, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, 438,
439, -1, 441, -1, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 458,
459, 460, 461, 462, 463, 464, 465, 466, 467, 468,
469, 470, 471, 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,
-1, 31, 32, 33, -1, -1, -1, -1, -1, -1,
-1, 41, 42, -1, 44, 45, 46, -1, 48, 49,
50, 51, 52, -1, 54, 55, -1, 57, 58, 59,
60, 61, 62, -1, -1, 65, 66, 67, 68, 69,
-1, 71, 72, 73, 74, 75, -1, -1, -1, 79,
80, 81, 82, 83, -1, 85, 86, 87, -1, 89,
90, 91, 92, 93, 94, -1, -1, 97, 98, 99,
-1, -1, -1, -1, -1, -1, -1, 107, 108, 109,
110, 111, 112, 113, 114, 115, -1, 117, -1, 119,
120, 121, 122, 123, 124, -1, 126, 127, 128, 129,
-1, -1, 132, 133, 134, 135, 136, -1, 138, 139,
140, -1, 142, 143, 144, -1, 146, 147, 148, 149,
150, 151, 152, 153, 154, 155, -1, 157, -1, 159,
160, 161, 162, -1, 164, -1, 166, -1, -1, -1,
170, 171, 172, 173, -1, 175, 176, -1, 178, 179,
180, -1, 182, 183, 184, 185, 186, -1, 188, 189,
190, 191, -1, 193, 194, 195, 196, 197, 198, 199,
-1, 201, -1, 203, 204, 205, 206, 207, 208, 209,
-1, 211, -1, 213, -1, -1, 216, -1, 218, 219,
220, 221, 222, -1, -1, 225, 226, -1, 228, -1,
-1, 231, 232, 233, -1, -1, 236, 237, 238, 239,
240, 241, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, -1, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, 264, -1, 266, 267, -1, 269,
-1, 271, 272, 273, 274, 275, 276, -1, 278, 279,
-1, -1, 282, 283, 284, -1, -1, 287, 288, 289,
-1, 291, -1, 293, 294, 295, 296, 297, 298, 299,
300, 301, 302, -1, 304, 305, 306, 307, 308, 309,
310, 311, -1, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, -1, 329,
330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
340, -1, 342, 343, -1, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357, 358, 359,
-1, 361, 362, 363, 364, 365, -1, 367, 368, 369,
370, 371, -1, 373, 374, 375, 376, -1, 378, 379,
380, 381, 382, 383, 384, 385, 386, 387, 388, 389,
390, 391, 392, -1, 394, 395, -1, 397, -1, 399,
400, 401, 402, 403, -1, 405, 406, 407, -1, -1,
410, 411, 412, 413, 414, -1, 416, 417, 418, 419,
420, 421, 422, 423, -1, -1, 426, 427, 428, 429,
430, -1, -1, 433, 434, 435, 436, 437, 438, 439,
-1, 441, -1, 443, 444, 445, 446, -1, -1, 449,
-1, -1, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, 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, -1,
31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
41, 42, -1, 44, 45, 46, -1, 48, 49, 50,
51, 52, -1, 54, 55, -1, 57, 58, 59, 60,
61, 62, -1, -1, 65, 66, 67, 68, 69, -1,
71, 72, 73, 74, 75, -1, -1, -1, 79, 80,
81, 82, 83, -1, 85, 86, 87, -1, 89, 90,
91, 92, 93, 94, -1, -1, 97, 98, 99, -1,
-1, -1, -1, -1, -1, -1, 107, 108, 109, 110,
111, 112, 113, 114, 115, -1, 117, -1, 119, 120,
121, 122, 123, 124, -1, 126, 127, 128, 129, -1,
-1, 132, 133, 134, 135, 136, -1, 138, 139, 140,
-1, 142, 143, 144, -1, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, -1, 157, -1, 159, 160,
161, 162, -1, 164, -1, 166, -1, -1, -1, 170,
171, 172, 173, -1, 175, 176, -1, 178, 179, 180,
-1, 182, 183, 184, 185, 186, -1, 188, 189, 190,
191, -1, 193, 194, 195, 196, 197, 198, 199, -1,
201, -1, 203, 204, 205, 206, 207, 208, 209, -1,
211, -1, 213, -1, -1, 216, -1, 218, 219, 220,
221, 222, -1, -1, 225, 226, -1, 228, -1, -1,
231, 232, 233, -1, -1, 236, 237, 238, 239, 240,
241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
251, 252, -1, 254, 255, 256, 257, 258, 259, 260,
261, 262, 263, 264, -1, 266, 267, -1, 269, -1,
271, 272, 273, 274, 275, 276, -1, 278, 279, -1,
-1, 282, 283, 284, -1, -1, 287, 288, 289, -1,
291, -1, 293, 294, 295, 296, 297, 298, 299, 300,
301, 302, -1, 304, 305, 306, 307, 308, 309, 310,
311, -1, 313, 314, 315, 316, 317, 318, 319, 320,
321, 322, 323, 324, 325, 326, 327, -1, 329, 330,
331, 332, 333, 334, 335, 336, 337, 338, 339, 340,
-1, 342, 343, -1, 345, 346, 347, 348, 349, 350,
351, 352, 353, 354, 355, 356, 357, 358, 359, -1,
361, 362, 363, 364, 365, -1, 367, 368, 369, 370,
371, -1, 373, 374, 375, 376, -1, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 392, -1, 394, 395, -1, 397, -1, 399, 400,
401, 402, 403, -1, 405, 406, 407, -1, -1, 410,
411, 412, 413, 414, -1, 416, 417, 418, 419, 420,
421, 422, 423, -1, -1, 426, 427, 428, 429, 430,
-1, -1, 433, 434, 435, 436, 437, 438, 439, -1,
441, -1, 443, 444, 445, 446, -1, -1, 449, -1,
-1, 452, 453, 454, 455, 456, 457, 458, 459, 460,
461, 462, 463, 464, 465, 466, 467, 468, 469, 470,
471, 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, -1, 31,
32, 33, -1, -1, -1, -1, -1, -1, -1, 41,
42, -1, 44, 45, 46, -1, 48, 49, 50, 51,
52, -1, 54, 55, -1, 57, 58, 59, 60, 61,
62, -1, -1, 65, 66, 67, 68, 69, -1, 71,
72, 73, 74, 75, -1, -1, -1, 79, 80, 81,
82, 83, -1, 85, 86, 87, -1, 89, 90, 91,
92, 93, 94, -1, -1, 97, 98, 99, -1, -1,
-1, -1, -1, -1, -1, 107, 108, 109, 110, 111,
112, 113, 114, 115, -1, 117, -1, 119, 120, 121,
122, 123, 124, -1, 126, 127, 128, 129, -1, -1,
132, 133, 134, 135, 136, -1, 138, 139, 140, -1,
142, 143, 144, -1, 146, 147, 148, 149, 150, 151,
152, 153, 154, 155, -1, 157, -1, 159, 160, 161,
162, -1, 164, -1, 166, -1, -1, -1, 170, 171,
172, 173, -1, 175, 176, -1, 178, 179, 180, -1,
182, 183, 184, 185, 186, -1, 188, 189, 190, 191,
-1, 193, 194, 195, 196, 197, 198, 199, -1, 201,
-1, 203, 204, 205, 206, 207, 208, 209, -1, 211,
-1, 213, -1, -1, 216, -1, 218, 219, 220, 221,
222, -1, -1, 225, 226, -1, 228, -1, -1, 231,
232, 233, -1, -1, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, -1, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, 264, -1, 266, 267, -1, 269, -1, 271,
272, 273, 274, 275, 276, -1, 278, 279, -1, -1,
282, 283, 284, -1, -1, 287, 288, 289, -1, 291,
-1, 293, 294, 295, 296, 297, 298, 299, 300, 301,
302, -1, 304, 305, 306, 307, 308, 309, 310, 311,
-1, 313, 314, 315, 316, 317, 318, 319, 320, 321,
322, 323, 324, 325, 326, 327, -1, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, -1,
342, 343, -1, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 357, 358, 359, -1, 361,
362, 363, 364, 365, -1, 367, 368, 369, 370, 371,
-1, 373, 374, 375, 376, -1, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
392, -1, 394, 395, -1, 397, -1, 399, 400, 401,
402, 403, -1, 405, 406, 407, -1, -1, 410, 411,
412, 413, 414, -1, 416, 417, 418, 419, 420, 421,
422, 423, -1, -1, 426, 427, 428, 429, 430, -1,
-1, 433, 434, 435, 436, 437, 438, 439, -1, 441,
-1, 443, 444, 445, 446, -1, -1, 449, -1, -1,
452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
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, -1, 31, 32,
33, -1, -1, -1, -1, -1, -1, -1, 41, 42,
-1, 44, 45, 46, 47, 48, 49, 50, -1, 52,
53, 54, 55, -1, 57, 58, 59, 60, 61, 62,
-1, -1, 65, 66, 67, 68, 69, -1, 71, 72,
73, 74, -1, -1, 77, -1, 79, 80, 81, 82,
83, 84, 85, 86, 87, -1, 89, 90, 91, 92,
93, 94, -1, 96, 97, 98, 99, -1, -1, -1,
103, -1, -1, -1, 107, 108, 109, 110, 111, 112,
113, 114, 115, -1, 117, -1, 119, 120, 121, 122,
123, 124, -1, 126, 127, 128, 129, -1, -1, 132,
133, 134, 135, 136, -1, 138, 139, 140, -1, 142,
143, 144, -1, 146, 147, 148, 149, -1, 151, 152,
153, 154, -1, -1, 157, -1, 159, 160, 161, 162,
-1, 164, -1, 166, 167, -1, 169, 170, 171, 172,
173, -1, 175, -1, -1, -1, 179, 180, -1, 182,
183, 184, 185, 186, 187, 188, 189, 190, 191, 192,
193, 194, 195, 196, 197, 198, 199, -1, 201, 202,
203, 204, 205, 206, 207, 208, 209, -1, 211, -1,
213, 214, 215, 216, 217, 218, 219, 220, 221, 222,
-1, -1, 225, -1, 227, 228, 229, -1, 231, 232,
233, -1, -1, 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, -1,
-1, 264, -1, 266, 267, 268, 269, -1, -1, 272,
273, 274, 275, 276, -1, 278, 279, -1, -1, 282,
283, 284, -1, -1, 287, 288, 289, 290, 291, 292,
-1, 294, 295, 296, 297, 298, 299, 300, 301, 302,
-1, 304, 305, -1, 307, -1, 309, 310, 311, -1,
313, 314, 315, 316, 317, 318, 319, 320, 321, 322,
323, 324, 325, 326, 327, -1, 329, 330, 331, 332,
333, 334, 335, 336, 337, 338, 339, 340, -1, 342,
343, 344, 345, 346, 347, 348, 349, -1, 351, 352,
353, 354, 355, 356, 357, 358, 359, -1, 361, 362,
363, 364, 365, -1, 367, 368, 369, 370, 371, 372,
373, 374, 375, 376, -1, 378, 379, 380, 381, 382,
383, 384, 385, 386, 387, 388, 389, 390, -1, 392,
-1, 394, 395, -1, 397, 398, 399, 400, 401, 402,
403, -1, 405, 406, 407, -1, -1, 410, 411, -1,
413, -1, -1, 416, 417, 418, 419, 420, 421, 422,
423, -1, -1, 426, 427, 428, 429, 430, -1, -1,
433, 434, 435, 436, 437, -1, 439, 440, 441, 442,
443, 444, 445, 446, -1, -1, 449, -1, -1, 452,
453, 454, 455, 456, 457, 3, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 469, 470, 471, -1,
-1, -1, -1, -1, 22, 23, 24, 25, 26, 27,
28, 29, -1, 31, 32, 33, -1, -1, -1, -1,
-1, -1, -1, 41, 42, -1, 44, 45, 46, -1,
48, 49, 50, 51, 52, -1, 54, 55, -1, 57,
58, 59, 60, 61, 62, -1, -1, 65, 66, 67,
68, 69, -1, 71, 72, 73, 74, 75, -1, -1,
-1, 79, 80, 81, 82, 83, -1, 85, 86, 87,
-1, 89, 90, 91, 92, 93, 94, -1, -1, 97,
98, 99, -1, -1, -1, -1, -1, -1, -1, 107,
108, 109, 110, 111, 112, 113, 114, 115, -1, 117,
-1, 119, 120, 121, 122, 123, 124, -1, 126, 127,
128, 129, -1, -1, 132, 133, 134, 135, 136, -1,
138, 139, 140, -1, 142, 143, 144, -1, 146, 147,
148, 149, 150, 151, 152, 153, 154, 155, -1, 157,
-1, 159, 160, 161, 162, -1, 164, -1, 166, -1,
-1, -1, 170, 171, 172, 173, -1, 175, 176, -1,
178, -1, 180, -1, 182, 183, 184, 185, 186, -1,
188, 189, 190, 191, -1, 193, 194, 195, 196, 197,
198, 199, -1, 201, -1, 203, 204, 205, 206, 207,
208, 209, -1, 211, -1, 213, -1, -1, 216, -1,
218, 219, 220, 221, 222, -1, -1, 225, 226, -1,
228, -1, -1, 231, 232, 233, -1, -1, 236, 237,
238, 239, 240, 241, 242, 243, 244, 245, 246, 247,
248, 249, 250, 251, 252, -1, 254, 255, 256, 257,
258, 259, 260, 261, 262, 263, 264, -1, 266, 267,
-1, 269, -1, 271, 272, 273, 274, 275, 276, -1,
278, 279, -1, -1, 282, 283, 284, -1, -1, 287,
288, 289, -1, 291, -1, 293, 294, 295, 296, 297,
298, 299, -1, 301, 302, -1, 304, 305, 306, 307,
308, 309, 310, 311, -1, 313, 314, 315, 316, 317,
318, 319, 320, -1, 322, 323, 324, 325, 326, 327,
-1, 329, 330, 331, 332, 333, 334, 335, 336, 337,
338, 339, 340, -1, 342, 343, -1, 345, 346, 347,
348, 349, 350, -1, 352, 353, 354, 355, 356, 357,
358, 359, -1, 361, 362, 363, 364, 365, -1, 367,
368, 369, 370, 371, -1, 373, 374, 375, 376, -1,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 392, -1, 394, 395, -1, 397,
-1, 399, 400, 401, 402, 403, -1, 405, 406, 407,
-1, -1, 410, 411, 412, 413, 414, -1, 416, 417,
418, 419, 420, 421, 422, 423, -1, -1, 426, 427,
428, 429, 430, -1, -1, 433, 434, 435, 436, 437,
438, 439, -1, 441, -1, 443, 444, 445, 446, -1,
-1, 449, -1, -1, 452, 453, 454, 455, 456, 457,
458, 459, 460, 461, 462, 463, 464, 465, 466, 467,
468, 469, 470, 471, 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, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, -1, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, -1, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, -1, -1, -1, 103, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, -1, 151, 152, 153, 154, -1, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, -1, -1,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, -1, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, -1, 227, 228,
229, -1, 231, 232, 233, -1, -1, 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, -1, -1, 264, -1, 266, 267, 268,
269, 270, -1, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
-1, 290, 291, 292, -1, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, -1, 307, -1,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, 346, 347, 348,
349, -1, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, -1, 392, -1, 394, 395, 396, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, -1,
439, -1, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
469, 470, 471, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, 47, 48, 49, 50, -1, 52, 53,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, -1, -1, 77, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, 96, 97, 98, 99, -1, -1, -1, 103,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, -1, 151, 152, 153,
154, -1, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, -1, -1, 179, 180, -1, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, 202, -1,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
-1, 225, -1, 227, 228, 229, -1, 231, 232, 233,
-1, -1, 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, -1,
264, -1, 266, 267, 268, 269, -1, -1, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, -1, 290, 291, 292, -1,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, -1, 307, -1, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, 346, 347, 348, 349, -1, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, -1, 392, -1,
394, 395, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, -1, 439, -1, 441, 442, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 469, 470, 471, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, -1, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, -1, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, -1, -1, -1, 103, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, -1, 151, 152, 153, 154, -1, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, -1, -1,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, -1, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, -1, 227, 228,
229, -1, 231, 232, 233, -1, -1, 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, -1, 264, -1, 266, 267, 268,
269, -1, -1, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
-1, 290, 291, 292, -1, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, -1, 307, -1,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, 346, 347, 348,
349, -1, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, -1, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, -1,
439, -1, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
469, 470, 471, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, 47, 48, 49, 50, -1, 52, 53,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, -1, -1, 77, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, 96, 97, 98, 99, -1, -1, -1, 103,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, -1, 151, 152, 153,
154, -1, -1, 157, -1, 159, 160, 161, 162, 163,
164, -1, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, -1, -1, 179, 180, -1, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, 202, -1,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
-1, 225, -1, 227, 228, 229, -1, 231, 232, 233,
-1, -1, 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, -1, -1,
264, -1, 266, 267, 268, 269, -1, -1, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, -1, 290, 291, 292, -1,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, -1, 307, -1, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, 346, 347, 348, 349, -1, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, -1, 392, -1,
394, 395, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, -1, 439, -1, 441, 442, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 469, 470, 471, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, -1, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, -1, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, -1, -1, -1, 103, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, -1, 151, 152, 153, 154, -1, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, -1, -1,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, -1, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, -1, 227, 228,
229, -1, 231, 232, 233, -1, -1, 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, -1, -1, 264, -1, 266, 267, 268,
269, -1, -1, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
-1, 290, 291, 292, -1, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, -1, 307, -1,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, 346, 347, 348,
349, -1, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, -1, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, -1,
439, -1, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
469, 470, 471, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, 47, 48, 49, 50, -1, 52, 53,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, -1, -1, 77, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, 96, 97, 98, 99, -1, -1, -1, 103,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, -1, 151, 152, 153,
154, -1, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, -1, -1, 179, 180, -1, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, 202, -1,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
-1, 225, -1, 227, 228, 229, -1, 231, 232, 233,
-1, -1, 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, -1, -1,
264, -1, 266, 267, 268, 269, -1, -1, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, -1, 290, 291, 292, -1,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, -1, 307, -1, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, 346, 347, 348, 349, -1, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, -1, 392, -1,
394, 395, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, -1, 439, -1, 441, 442, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 469, 470, 471, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, -1, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, -1, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, -1, -1, -1, 103, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, -1, 151, 152, 153, 154, -1, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, -1, -1,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, -1, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, -1, 227, 228,
229, -1, 231, 232, 233, -1, -1, 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, -1, -1, 264, -1, 266, 267, 268,
269, -1, -1, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
-1, 290, 291, 292, -1, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, -1, 307, -1,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, 346, 347, 348,
349, -1, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, -1, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, -1,
439, -1, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
469, 470, 471, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, 47, 48, 49, 50, -1, 52, 53,
54, 55, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, 67, 68, 69, -1, 71, 72, 73,
74, -1, -1, 77, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, 96, 97, 98, 99, -1, -1, -1, 103,
-1, -1, -1, 107, 108, 109, 110, 111, 112, 113,
114, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, -1, 151, 152, 153,
154, -1, -1, 157, -1, 159, 160, 161, 162, -1,
164, -1, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, -1, -1, 179, 180, -1, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, 202, -1,
204, 205, 206, 207, 208, 209, -1, 211, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
-1, 225, -1, 227, 228, 229, -1, 231, 232, 233,
-1, -1, 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, -1, -1,
264, -1, 266, 267, 268, 269, -1, -1, 272, 273,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, -1, 290, 291, 292, -1,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, -1, 307, -1, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, 323,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, 346, 347, 348, 349, -1, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, -1, 392, -1,
394, 395, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, 406, 407, -1, -1, 410, 411, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, -1, 439, -1, 441, 442, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, 3, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 469, 470, 471, -1, -1,
-1, -1, -1, 22, 23, 24, 25, 26, 27, 28,
29, -1, 31, 32, 33, -1, -1, -1, -1, -1,
-1, -1, 41, 42, -1, 44, 45, 46, 47, 48,
49, 50, -1, 52, 53, 54, 55, -1, 57, 58,
59, 60, 61, 62, -1, -1, 65, 66, 67, 68,
69, -1, 71, 72, 73, 74, -1, -1, 77, -1,
79, 80, 81, 82, 83, 84, 85, 86, 87, -1,
89, 90, 91, 92, 93, 94, -1, 96, 97, 98,
99, -1, -1, -1, 103, -1, -1, -1, 107, 108,
109, 110, 111, 112, 113, 114, 115, -1, 117, -1,
119, 120, 121, 122, 123, 124, -1, 126, 127, 128,
129, -1, -1, 132, 133, 134, 135, 136, -1, 138,
139, 140, -1, 142, 143, 144, -1, 146, 147, 148,
149, -1, 151, 152, 153, 154, -1, -1, 157, -1,
159, 160, 161, 162, -1, 164, -1, 166, 167, -1,
169, 170, 171, 172, 173, -1, 175, -1, -1, -1,
179, 180, -1, 182, 183, 184, 185, 186, 187, 188,
189, 190, 191, -1, 193, 194, 195, 196, 197, 198,
199, -1, 201, 202, -1, 204, 205, 206, 207, 208,
209, -1, 211, -1, 213, 214, 215, 216, 217, 218,
219, 220, 221, 222, -1, -1, 225, -1, 227, 228,
229, -1, 231, 232, 233, -1, -1, 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, -1, -1, 264, -1, 266, 267, 268,
269, -1, -1, 272, 273, 274, 275, 276, -1, 278,
279, -1, -1, 282, 283, 284, -1, -1, 287, 288,
-1, 290, 291, 292, -1, 294, 295, 296, 297, 298,
299, 300, 301, 302, -1, 304, 305, -1, 307, -1,
309, 310, 311, -1, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, -1,
329, 330, 331, 332, 333, 334, 335, 336, 337, 338,
339, 340, -1, 342, 343, 344, 345, 346, 347, 348,
349, -1, 351, 352, 353, 354, 355, 356, 357, 358,
359, -1, 361, 362, 363, 364, 365, -1, 367, 368,
-1, 370, 371, 372, 373, 374, 375, 376, -1, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, -1, 392, -1, 394, 395, -1, 397, 398,
399, 400, 401, 402, 403, -1, 405, 406, 407, -1,
-1, 410, 411, -1, 413, -1, -1, 416, 417, 418,
419, 420, 421, 422, 423, -1, -1, 426, 427, 428,
429, 430, -1, -1, 433, 434, 435, 436, 437, -1,
439, -1, 441, 442, 443, 444, 445, 446, -1, -1,
449, -1, -1, 452, 453, 454, 455, 456, 457, 3,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
469, 470, 471, -1, -1, -1, -1, -1, 22, 23,
24, 25, 26, 27, 28, 29, -1, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, 41, 42, -1,
44, 45, 46, 47, 48, 49, 50, -1, -1, 53,
-1, -1, -1, 57, 58, 59, 60, 61, 62, -1,
-1, 65, 66, -1, -1, 69, -1, 71, 72, 73,
74, -1, -1, 77, -1, 79, 80, 81, 82, 83,
84, 85, 86, 87, -1, 89, 90, 91, 92, 93,
94, -1, 96, 97, 98, 99, -1, -1, -1, 103,
-1, -1, -1, 107, 108, 109, 110, 111, 112, -1,
-1, 115, -1, 117, -1, 119, 120, 121, 122, 123,
124, -1, 126, 127, 128, 129, -1, -1, 132, 133,
134, 135, 136, -1, 138, 139, 140, -1, 142, 143,
144, -1, 146, 147, 148, 149, -1, 151, 152, 153,
154, -1, -1, 157, -1, 159, 160, -1, 162, -1,
164, -1, 166, 167, -1, 169, 170, 171, 172, 173,
-1, 175, -1, -1, -1, 179, 180, -1, 182, 183,
184, 185, 186, 187, 188, 189, 190, 191, -1, 193,
194, 195, 196, 197, 198, 199, -1, 201, 202, -1,
204, 205, 206, 207, -1, -1, -1, -1, -1, 213,
214, 215, 216, 217, 218, 219, 220, 221, 222, -1,
-1, 225, -1, 227, 228, 229, -1, 231, 232, 233,
-1, -1, 236, 237, 238, 239, 240, 241, 242, 243,
244, 245, 246, 247, 248, 249, 250, 251, -1, 253,
-1, 255, 256, 257, 258, 259, 260, 261, -1, -1,
264, -1, 266, 267, 268, 269, -1, -1, 272, -1,
274, 275, 276, -1, 278, 279, -1, -1, 282, 283,
284, -1, -1, 287, 288, -1, 290, 291, 292, -1,
294, 295, 296, 297, 298, 299, 300, 301, 302, -1,
304, 305, -1, 307, -1, 309, 310, 311, -1, 313,
314, 315, 316, 317, 318, 319, 320, 321, 322, -1,
324, 325, 326, 327, -1, 329, 330, 331, 332, 333,
334, 335, 336, 337, 338, 339, 340, -1, 342, 343,
344, 345, 346, 347, 348, 349, -1, 351, 352, 353,
354, 355, 356, 357, 358, 359, -1, 361, 362, 363,
364, 365, -1, 367, 368, -1, 370, 371, 372, 373,
374, -1, 376, -1, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, -1, 392, -1,
394, 395, -1, 397, 398, 399, 400, 401, 402, 403,
-1, 405, -1, -1, -1, -1, 410, 411, -1, 413,
-1, -1, 416, 417, 418, 419, 420, 421, 422, 423,
-1, -1, 426, 427, 428, 429, 430, -1, -1, 433,
434, 435, 436, 437, -1, -1, -1, 441, 442, 443,
444, 445, 446, -1, -1, 449, -1, -1, 452, 453,
454, 455, 456, 457, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 469, 470, 471
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
symbol of state STATE-NUM. */
static const yytype_uint16 yystos[] =
{
0, 22, 32, 34, 35, 50, 59, 71, 73, 74,
80, 82, 93, 95, 112, 115, 129, 131, 135, 141,
149, 151, 158, 174, 191, 231, 232, 237, 249, 267,
310, 324, 330, 331, 333, 338, 343, 346, 353, 359,
360, 367, 371, 381, 396, 416, 427, 433, 438, 451,
474, 489, 496, 497, 498, 499, 500, 506, 507, 509,
510, 511, 512, 514, 518, 530, 535, 536, 539, 540,
541, 560, 563, 564, 579, 623, 624, 625, 628, 631,
632, 633, 641, 647, 649, 651, 652, 655, 658, 659,
663, 672, 676, 677, 678, 679, 682, 684, 685, 686,
687, 695, 697, 717, 721, 723, 724, 734, 736, 743,
744, 747, 748, 749, 750, 751, 759, 761, 765, 770,
774, 775, 783, 784, 787, 792, 806, 833, 836, 837,
838, 843, 846, 848, 850, 852, 853, 858, 859, 862,
864, 865, 869, 870, 871, 874, 875, 878, 879, 880,
887, 889, 890, 891, 897, 899, 900, 906, 907, 908,
911, 912, 913, 914, 916, 917, 919, 920, 922, 923,
925, 937, 943, 946, 948, 949, 958, 960, 965, 970,
974, 975, 976, 977, 978, 979, 983, 1018, 410, 454,
892, 29, 77, 92, 110, 116, 133, 144, 153, 165,
170, 177, 196, 221, 242, 282, 305, 315, 316, 319,
345, 348, 352, 354, 361, 364, 383, 390, 395, 396,
399, 403, 413, 418, 431, 444, 648, 892, 3, 22,
23, 24, 25, 26, 27, 28, 29, 31, 32, 33,
41, 42, 44, 45, 46, 47, 48, 49, 50, 51,
52, 53, 54, 55, 57, 58, 59, 60, 61, 62,
65, 66, 67, 68, 69, 71, 72, 73, 74, 75,
77, 79, 80, 81, 82, 83, 84, 85, 86, 87,
89, 90, 91, 92, 93, 94, 96, 97, 98, 99,
103, 107, 108, 109, 110, 111, 112, 113, 114, 115,
117, 119, 120, 121, 122, 123, 124, 126, 127, 128,
129, 132, 133, 134, 135, 136, 138, 139, 140, 142,
143, 144, 146, 147, 148, 149, 150, 151, 152, 153,
154, 155, 157, 159, 160, 161, 162, 164, 166, 167,
169, 170, 171, 172, 173, 175, 176, 178, 179, 180,
182, 183, 184, 185, 186, 187, 188, 189, 190, 191,
193, 194, 195, 196, 197, 198, 199, 201, 202, 203,
204, 205, 206, 207, 208, 209, 211, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 225, 226, 227,
228, 229, 231, 232, 233, 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, 266, 267, 268, 269, 271, 272,
273, 274, 275, 276, 278, 279, 282, 283, 284, 287,
288, 289, 290, 291, 292, 293, 294, 295, 296, 297,
298, 299, 300, 301, 302, 304, 305, 306, 307, 308,
309, 310, 311, 313, 314, 315, 316, 317, 318, 319,
320, 321, 322, 323, 324, 325, 326, 327, 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, 361, 362,
363, 364, 365, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 392, 394, 395,
397, 398, 399, 400, 401, 402, 403, 405, 406, 407,
410, 411, 412, 413, 414, 416, 417, 418, 419, 420,
421, 422, 423, 426, 427, 428, 429, 430, 433, 434,
435, 436, 437, 438, 439, 441, 442, 443, 444, 445,
446, 449, 452, 453, 454, 455, 456, 457, 458, 459,
460, 461, 462, 463, 464, 465, 466, 467, 468, 469,
470, 471, 1077, 1152, 1160, 1161, 1164, 1165, 1166, 3,
30, 971, 1146, 1160, 1164, 442, 930, 280, 311, 892,
53, 489, 571, 24, 41, 64, 77, 88, 110, 116,
133, 144, 153, 165, 173, 177, 233, 282, 285, 305,
319, 345, 354, 364, 383, 390, 399, 400, 402, 403,
413, 418, 425, 428, 431, 580, 630, 739, 793, 807,
30, 310, 1146, 971, 30, 304, 362, 400, 402, 6,
220, 844, 845, 1155, 24, 29, 64, 77, 92, 110,
133, 144, 153, 165, 170, 177, 196, 242, 282, 295,
305, 316, 319, 345, 348, 352, 354, 361, 364, 383,
390, 396, 399, 403, 411, 413, 418, 431, 444, 648,
752, 753, 754, 892, 1146, 95, 442, 489, 625, 628,
631, 925, 938, 946, 949, 958, 965, 970, 974, 11,
23, 30, 48, 160, 166, 168, 192, 222, 256, 313,
332, 480, 481, 771, 772, 971, 1154, 1156, 30, 95,
328, 360, 776, 777, 778, 1160, 165, 1160, 1151, 1155,
396, 986, 771, 1160, 410, 1146, 295, 242, 110, 196,
354, 395, 396, 489, 854, 855, 353, 1160, 30, 365,
406, 410, 522, 531, 532, 1160, 27, 174, 776, 777,
311, 892, 1160, 219, 30, 130, 988, 989, 65, 89,
233, 251, 345, 354, 365, 406, 410, 457, 519, 520,
521, 522, 30, 365, 406, 410, 522, 410, 281, 1029,
1144, 1160, 986, 482, 1160, 169, 489, 931, 489, 326,
980, 981, 1146, 980, 975, 976, 979, 0, 492, 489,
930, 145, 210, 286, 424, 990, 991, 975, 977, 978,
121, 206, 430, 493, 36, 896, 823, 1152, 756, 1160,
756, 1147, 1160, 314, 756, 413, 1146, 109, 396, 811,
1152, 1160, 1166, 3, 106, 366, 1157, 1158, 1162, 1164,
1165, 1166, 30, 186, 1144, 274, 444, 10, 17, 18,
19, 72, 157, 475, 476, 477, 478, 480, 481, 482,
483, 484, 485, 840, 842, 1107, 1108, 1160, 186, 1146,
811, 1146, 30, 1157, 1158, 811, 1146, 1146, 186, 1144,
1146, 186, 756, 1146, 338, 367, 30, 186, 1029, 1146,
357, 1146, 756, 30, 240, 1157, 1158, 186, 1144, 220,
118, 216, 265, 322, 893, 894, 895, 489, 487, 491,
1135, 1137, 1144, 1150, 1160, 24, 29, 64, 77, 78,
88, 92, 110, 133, 144, 153, 165, 170, 196, 221,
242, 282, 305, 316, 319, 345, 348, 352, 354, 361,
364, 383, 390, 396, 399, 403, 411, 413, 418, 444,
648, 762, 763, 1155, 896, 945, 949, 958, 965, 974,
1144, 244, 756, 489, 186, 756, 413, 1147, 756, 413,
186, 1146, 109, 396, 400, 402, 1157, 1158, 400, 402,
72, 157, 840, 336, 1146, 1146, 1157, 186, 515, 1160,
186, 1146, 186, 756, 1146, 1146, 357, 1146, 756, 240,
1157, 326, 361, 396, 444, 242, 92, 196, 29, 170,
316, 352, 411, 417, 642, 30, 1146, 972, 529, 1155,
1162, 845, 244, 186, 823, 824, 186, 849, 186, 1147,
3, 52, 54, 55, 67, 68, 113, 114, 134, 161,
186, 208, 209, 211, 252, 254, 273, 323, 369, 375,
406, 407, 439, 758, 1051, 1053, 1055, 1057, 1059, 1061,
1062, 1063, 1065, 1066, 1067, 1069, 1070, 1161, 1164, 413,
109, 396, 186, 810, 811, 186, 1158, 1159, 84, 444,
72, 157, 186, 841, 842, 57, 186, 810, 186, 1159,
186, 810, 186, 1146, 186, 1146, 357, 849, 186, 758,
186, 240, 1159, 220, 186, 755, 756, 186, 1145, 1146,
186, 1146, 896, 489, 947, 580, 938, 438, 925, 939,
940, 941, 1162, 930, 1156, 772, 773, 30, 773, 1156,
773, 30, 773, 1156, 773, 773, 773, 1156, 1154, 1154,
971, 773, 314, 489, 489, 600, 600, 600, 280, 408,
493, 600, 354, 1029, 1030, 493, 888, 1155, 489, 944,
57, 444, 442, 856, 857, 84, 794, 794, 1160, 47,
471, 216, 491, 283, 283, 280, 168, 1155, 408, 896,
163, 766, 280, 5, 8, 9, 10, 12, 38, 52,
54, 55, 63, 64, 67, 68, 75, 77, 100, 101,
102, 103, 104, 105, 106, 113, 114, 116, 150, 155,
156, 161, 176, 178, 208, 209, 211, 226, 234, 235,
252, 254, 263, 265, 270, 271, 273, 282, 293, 306,
323, 350, 366, 375, 391, 406, 407, 412, 414, 415,
425, 431, 439, 459, 460, 461, 462, 464, 465, 466,
467, 472, 478, 480, 481, 482, 489, 975, 1054, 1057,
1060, 1061, 1062, 1064, 1065, 1066, 1069, 1070, 1074, 1076,
1077, 1078, 1080, 1103, 1104, 1105, 1109, 1129, 1134, 1141,
1142, 1152, 1153, 1154, 1155, 1160, 1140, 1141, 1155, 30,
537, 1143, 1144, 365, 519, 116, 528, 1155, 12, 478,
529, 12, 478, 1155, 47, 69, 519, 471, 376, 894,
283, 168, 408, 477, 47, 471, 216, 895, 489, 1144,
482, 1137, 1030, 924, 925, 926, 927, 1162, 167, 932,
1074, 1112, 980, 493, 489, 933, 490, 490, 498, 924,
934, 935, 936, 1144, 30, 130, 987, 987, 57, 987,
158, 163, 230, 277, 994, 996, 997, 1012, 1014, 1015,
1016, 990, 991, 168, 212, 1029, 1031, 489, 66, 261,
296, 334, 367, 489, 821, 296, 330, 334, 367, 491,
757, 296, 334, 367, 3, 87, 139, 236, 296, 334,
367, 399, 401, 451, 530, 533, 901, 902, 903, 904,
788, 26, 135, 296, 334, 367, 435, 546, 1146, 26,
135, 367, 430, 513, 455, 186, 1029, 60, 94, 154,
189, 225, 261, 265, 296, 297, 334, 342, 351, 359,
367, 379, 388, 392, 446, 530, 534, 826, 834, 863,
489, 808, 1137, 334, 513, 192, 150, 26, 32, 45,
74, 128, 135, 138, 164, 198, 261, 265, 275, 284,
296, 334, 337, 338, 367, 435, 542, 544, 545, 666,
863, 5, 480, 481, 639, 1156, 30, 186, 1144, 756,
756, 489, 839, 296, 367, 491, 150, 280, 296, 334,
367, 834, 863, 26, 135, 296, 334, 367, 192, 508,
334, 451, 474, 501, 508, 296, 334, 367, 834, 863,
280, 296, 334, 150, 39, 58, 108, 195, 243, 246,
261, 295, 334, 339, 361, 367, 381, 542, 636, 637,
296, 334, 443, 666, 674, 150, 296, 334, 367, 87,
128, 138, 296, 330, 334, 367, 532, 520, 522, 192,
150, 45, 126, 261, 334, 367, 542, 543, 296, 334,
338, 367, 85, 127, 298, 401, 280, 26, 32, 135,
296, 334, 367, 561, 562, 508, 163, 334, 501, 508,
150, 334, 367, 542, 1146, 228, 118, 281, 456, 493,
893, 30, 130, 440, 482, 490, 816, 1074, 1113, 1114,
1161, 1074, 1136, 3, 30, 34, 35, 36, 37, 38,
39, 40, 43, 56, 63, 64, 70, 76, 78, 88,
95, 100, 101, 102, 104, 105, 106, 116, 118, 125,
130, 131, 137, 141, 145, 156, 158, 163, 165, 168,
174, 177, 181, 192, 200, 210, 212, 223, 224, 230,
234, 235, 265, 270, 277, 280, 281, 285, 286, 303,
312, 328, 341, 360, 366, 377, 393, 396, 404, 408,
409, 415, 424, 425, 431, 432, 440, 447, 448, 450,
451, 482, 1149, 1163, 1164, 1165, 1166, 1167, 1135, 432,
921, 280, 244, 823, 489, 1146, 1051, 413, 109, 396,
811, 274, 444, 72, 157, 842, 1146, 811, 811, 1146,
357, 163, 1146, 1051, 220, 756, 1146, 490, 600, 1146,
70, 1051, 265, 168, 489, 725, 1146, 501, 39, 915,
1146, 265, 501, 455, 186, 1144, 501, 756, 756, 725,
428, 580, 280, 163, 872, 873, 501, 265, 47, 516,
265, 418, 673, 265, 933, 87, 296, 650, 85, 127,
298, 401, 28, 49, 207, 698, 39, 725, 163, 186,
501, 444, 186, 1144, 186, 626, 1144, 1144, 444, 756,
794, 1152, 1152, 1152, 1146, 163, 648, 53, 107, 205,
261, 356, 150, 61, 340, 493, 547, 150, 489, 150,
501, 441, 1068, 1068, 1068, 489, 1056, 1056, 308, 489,
1058, 150, 67, 68, 1068, 1056, 1053, 453, 474, 489,
1071, 489, 1071, 493, 547, 38, 1052, 489, 111, 184,
245, 248, 358, 469, 489, 1072, 1073, 757, 1056, 455,
150, 493, 547, 150, 493, 186, 755, 186, 756, 186,
756, 150, 493, 547, 1159, 150, 547, 150, 150, 547,
150, 547, 150, 85, 127, 298, 401, 163, 150, 547,
150, 163, 186, 186, 529, 150, 493, 547, 150, 493,
547, 150, 280, 1112, 396, 490, 493, 156, 280, 415,
526, 529, 639, 942, 938, 773, 971, 773, 971, 773,
971, 773, 971, 773, 971, 971, 971, 773, 971, 489,
601, 602, 1160, 601, 30, 110, 133, 165, 170, 220,
221, 316, 348, 354, 361, 396, 399, 418, 779, 1143,
1159, 778, 1146, 192, 493, 961, 1155, 1051, 1115, 39,
1159, 794, 490, 493, 1144, 1146, 228, 1160, 163, 163,
779, 1159, 353, 1160, 529, 280, 489, 1138, 487, 975,
1116, 1074, 1133, 489, 489, 163, 489, 489, 975, 489,
489, 489, 489, 489, 489, 489, 1074, 489, 489, 489,
489, 489, 489, 489, 489, 975, 489, 489, 489, 489,
489, 489, 489, 489, 1074, 1138, 1074, 1074, 975, 1074,
1112, 1137, 12, 1155, 12, 489, 1155, 3, 10, 13,
17, 18, 19, 36, 39, 44, 51, 76, 187, 192,
214, 215, 229, 268, 282, 285, 372, 472, 475, 476,
477, 478, 480, 481, 482, 483, 484, 485, 1107, 1109,
1111, 452, 1090, 292, 1074, 212, 493, 984, 12, 489,
1155, 1137, 984, 119, 188, 538, 493, 69, 12, 116,
478, 529, 39, 3, 12, 116, 233, 478, 527, 639,
1070, 1155, 1155, 90, 132, 1086, 99, 12, 116, 478,
523, 524, 526, 639, 116, 523, 228, 1144, 91, 339,
760, 490, 493, 526, 639, 928, 930, 490, 493, 981,
1145, 39, 490, 493, 933, 977, 977, 992, 993, 1074,
977, 160, 256, 1003, 218, 261, 322, 370, 430, 30,
998, 1074, 480, 481, 999, 1000, 1074, 1076, 1012, 1013,
997, 996, 994, 995, 163, 1015, 275, 1017, 994, 1012,
1031, 950, 1144, 39, 1160, 367, 1112, 66, 408, 408,
354, 192, 203, 286, 289, 369, 440, 482, 814, 815,
816, 818, 820, 822, 1051, 1161, 408, 443, 408, 354,
1149, 491, 408, 408, 354, 230, 408, 408, 399, 519,
296, 901, 903, 477, 905, 163, 174, 192, 343, 789,
790, 70, 88, 146, 165, 312, 425, 597, 598, 88,
116, 265, 408, 88, 408, 116, 265, 354, 88, 128,
138, 296, 334, 722, 354, 656, 24, 29, 64, 77,
92, 133, 144, 165, 170, 242, 282, 316, 348, 354,
361, 364, 396, 403, 411, 418, 444, 648, 1146, 150,
334, 367, 542, 280, 639, 359, 225, 408, 1160, 408,
270, 639, 120, 213, 354, 365, 410, 521, 756, 340,
367, 826, 835, 124, 490, 809, 814, 408, 431, 399,
1144, 78, 146, 186, 587, 597, 1160, 78, 88, 860,
300, 280, 350, 352, 413, 88, 860, 33, 337, 350,
352, 413, 350, 1144, 164, 198, 275, 756, 489, 408,
408, 185, 489, 551, 239, 399, 428, 453, 551, 88,
493, 124, 5, 5, 296, 192, 150, 334, 367, 542,
863, 432, 432, 262, 1051, 408, 354, 489, 840, 1146,
1144, 408, 408, 354, 835, 124, 396, 396, 408, 408,
396, 725, 110, 367, 533, 408, 503, 533, 408, 408,
354, 835, 124, 1144, 408, 408, 1144, 1053, 639, 57,
638, 639, 639, 108, 243, 246, 57, 408, 501, 250,
354, 501, 261, 637, 408, 408, 270, 1155, 666, 756,
408, 408, 354, 383, 1155, 408, 319, 408, 319, 725,
399, 1029, 300, 300, 88, 408, 860, 354, 408, 408,
551, 551, 756, 756, 756, 756, 1144, 46, 437, 46,
46, 408, 46, 408, 437, 354, 489, 493, 533, 431,
683, 1158, 408, 503, 533, 1144, 408, 860, 354, 296,
334, 322, 335, 363, 525, 893, 1113, 1113, 1114, 490,
15, 16, 493, 990, 991, 488, 494, 1150, 1160, 1144,
214, 1051, 280, 214, 455, 214, 639, 756, 756, 214,
280, 214, 214, 280, 85, 127, 298, 401, 1051, 280,
214, 214, 214, 408, 168, 408, 565, 418, 489, 39,
150, 756, 726, 727, 1163, 28, 901, 1051, 280, 150,
653, 1146, 265, 300, 489, 502, 739, 432, 326, 444,
1144, 30, 396, 451, 830, 502, 150, 1158, 95, 174,
517, 579, 632, 697, 774, 792, 897, 150, 1155, 674,
675, 150, 280, 1155, 1158, 236, 756, 756, 756, 756,
275, 121, 206, 416, 430, 699, 700, 142, 321, 489,
683, 265, 502, 1144, 265, 634, 636, 265, 39, 275,
300, 489, 600, 600, 186, 629, 1144, 163, 186, 795,
1150, 489, 729, 821, 489, 812, 812, 39, 1051, 220,
451, 453, 973, 356, 824, 823, 1051, 1147, 489, 489,
1112, 1154, 758, 1068, 1068, 38, 1052, 406, 406, 1154,
1154, 1051, 487, 487, 1154, 408, 408, 408, 489, 408,
1154, 1056, 810, 811, 1159, 1158, 150, 547, 150, 432,
150, 432, 841, 842, 547, 810, 1159, 810, 1146, 1146,
1051, 758, 1159, 683, 150, 150, 547, 755, 756, 1145,
1146, 1146, 756, 490, 186, 1144, 938, 940, 971, 971,
971, 971, 971, 971, 601, 490, 493, 490, 171, 317,
349, 362, 397, 1145, 755, 109, 364, 810, 1145, 274,
810, 810, 1145, 1143, 1143, 1145, 755, 408, 451, 785,
145, 230, 680, 681, 24, 148, 350, 370, 962, 1029,
269, 963, 490, 493, 945, 408, 1144, 854, 855, 857,
777, 776, 777, 168, 175, 786, 1160, 29, 78, 110,
133, 144, 165, 170, 221, 242, 316, 319, 345, 348,
354, 361, 390, 396, 399, 418, 444, 648, 767, 768,
1112, 1135, 488, 1112, 1116, 1117, 447, 1130, 1131, 1074,
1112, 489, 1154, 1154, 3, 12, 111, 184, 245, 248,
358, 469, 478, 1118, 1119, 1155, 1112, 1112, 1112, 1154,
1154, 1074, 1074, 840, 1074, 1121, 350, 480, 481, 489,
1075, 1076, 1109, 1123, 490, 1112, 1074, 1112, 1124, 1074,
56, 168, 224, 409, 1074, 1112, 1127, 1112, 250, 1076,
1074, 1084, 1085, 1086, 250, 1074, 1086, 490, 493, 1072,
1154, 1072, 1051, 1074, 1074, 1074, 1074, 1163, 406, 43,
393, 1139, 756, 1074, 489, 975, 1128, 130, 132, 156,
257, 258, 259, 260, 264, 265, 270, 275, 415, 426,
1120, 1074, 489, 1074, 408, 51, 187, 192, 229, 372,
1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
1074, 30, 37, 377, 1106, 177, 159, 1091, 350, 489,
1103, 173, 233, 396, 400, 402, 428, 985, 1144, 1142,
168, 1019, 1113, 1019, 1144, 410, 489, 1155, 493, 490,
185, 185, 547, 936, 926, 925, 929, 1074, 490, 242,
265, 982, 936, 934, 493, 40, 125, 432, 804, 350,
351, 480, 481, 1000, 1002, 1076, 370, 218, 281, 493,
5, 1001, 1154, 1001, 350, 351, 1002, 1143, 269, 374,
964, 1013, 995, 432, 959, 116, 294, 489, 951, 974,
39, 1160, 489, 966, 967, 968, 1160, 490, 1158, 1146,
1146, 289, 57, 1161, 490, 816, 818, 815, 818, 1161,
286, 490, 493, 757, 1158, 1146, 1146, 1149, 1158, 1146,
1146, 1158, 1147, 1146, 116, 526, 1156, 345, 431, 776,
354, 174, 776, 489, 1146, 432, 796, 218, 218, 432,
489, 622, 186, 1146, 270, 1158, 1146, 1146, 1074, 270,
1146, 1146, 33, 337, 408, 408, 1146, 408, 657, 244,
823, 489, 756, 756, 1051, 413, 109, 396, 811, 444,
72, 157, 842, 811, 811, 1146, 756, 1146, 756, 357,
163, 1051, 756, 220, 180, 261, 296, 334, 436, 660,
661, 662, 1029, 408, 860, 354, 270, 120, 213, 1158,
1146, 280, 1146, 280, 490, 493, 1157, 1159, 1146, 334,
542, 186, 587, 265, 1051, 1146, 1154, 1160, 1144, 1146,
228, 1146, 30, 431, 1146, 186, 1146, 186, 1160, 352,
413, 352, 413, 228, 1146, 30, 431, 1146, 228, 350,
1144, 26, 135, 367, 667, 668, 669, 670, 1163, 1158,
1146, 116, 169, 266, 432, 550, 553, 554, 1163, 1146,
74, 278, 1146, 545, 280, 408, 399, 1144, 408, 860,
354, 124, 1148, 1160, 1148, 493, 490, 493, 1158, 1146,
866, 867, 1163, 280, 334, 408, 691, 1158, 1146, 1146,
280, 1030, 1030, 1158, 1146, 1030, 1147, 1157, 3, 87,
140, 198, 302, 423, 431, 434, 504, 1158, 1146, 1146,
280, 334, 1158, 1146, 334, 367, 542, 636, 639, 756,
1146, 639, 756, 1146, 639, 1158, 1146, 367, 1158, 1146,
1146, 1156, 1158, 830, 1146, 876, 877, 1163, 1146, 334,
367, 542, 543, 1144, 1144, 1146, 1146, 1146, 1146, 1158,
1146, 26, 32, 135, 296, 334, 367, 296, 334, 367,
725, 334, 367, 334, 367, 334, 863, 1043, 1160, 186,
735, 1160, 186, 1160, 1158, 1146, 1146, 1155, 1146, 866,
26, 562, 364, 1157, 334, 367, 542, 1146, 1146, 1146,
408, 408, 83, 422, 322, 493, 990, 990, 990, 1074,
1074, 440, 1114, 490, 1074, 1136, 270, 764, 1155, 39,
133, 756, 764, 764, 214, 432, 432, 764, 756, 764,
764, 756, 220, 756, 764, 764, 764, 318, 566, 566,
196, 396, 696, 1074, 1051, 756, 490, 493, 477, 699,
589, 1163, 1146, 61, 168, 354, 443, 654, 661, 662,
150, 275, 229, 581, 583, 585, 587, 594, 597, 27,
192, 345, 394, 504, 505, 163, 1148, 444, 1144, 39,
692, 397, 1030, 725, 515, 1160, 516, 285, 580, 1146,
165, 756, 1112, 319, 1155, 725, 725, 725, 725, 275,
280, 285, 489, 725, 1041, 1042, 1043, 364, 150, 489,
150, 150, 149, 974, 756, 275, 581, 1160, 432, 617,
451, 552, 265, 39, 600, 1155, 265, 280, 3, 730,
731, 725, 490, 813, 814, 819, 39, 220, 342, 411,
450, 825, 826, 827, 825, 280, 220, 529, 183, 183,
163, 547, 39, 501, 164, 909, 910, 1112, 490, 490,
547, 487, 471, 471, 490, 490, 1154, 488, 1154, 490,
184, 245, 1073, 245, 1073, 1073, 1154, 248, 490, 547,
755, 756, 1148, 756, 1148, 547, 547, 547, 547, 220,
547, 364, 163, 529, 547, 547, 280, 547, 265, 490,
602, 192, 192, 192, 192, 192, 455, 1145, 639, 640,
177, 780, 781, 1158, 27, 786, 408, 489, 168, 148,
370, 148, 370, 350, 430, 247, 1051, 1158, 451, 627,
794, 794, 168, 280, 780, 57, 547, 823, 1051, 413,
396, 811, 274, 444, 811, 811, 1051, 220, 756, 1146,
490, 488, 488, 493, 1074, 137, 1131, 1132, 39, 490,
1074, 490, 490, 168, 168, 490, 168, 490, 490, 490,
490, 490, 490, 493, 493, 490, 303, 1122, 490, 489,
1075, 1075, 1112, 13, 17, 18, 19, 192, 214, 282,
475, 476, 477, 478, 480, 481, 482, 483, 484, 485,
1109, 1075, 490, 490, 163, 168, 1125, 1126, 490, 39,
1127, 1112, 1127, 1127, 168, 490, 490, 1163, 301, 1088,
39, 490, 493, 1074, 1163, 493, 1074, 1138, 1074, 490,
471, 1075, 1075, 143, 1112, 168, 130, 132, 156, 264,
270, 275, 415, 426, 1120, 489, 264, 143, 840, 1074,
393, 1139, 1074, 1128, 1074, 408, 489, 975, 489, 489,
291, 1095, 489, 1112, 400, 402, 400, 402, 1144, 986,
986, 986, 223, 351, 468, 489, 975, 1020, 1021, 1022,
1029, 1034, 1044, 1077, 1079, 1080, 1160, 448, 1039, 990,
1039, 894, 1154, 1072, 524, 936, 242, 489, 993, 282,
1107, 1110, 473, 805, 5, 1154, 1002, 281, 451, 430,
999, 238, 1020, 448, 1040, 438, 395, 431, 952, 953,
954, 1160, 280, 955, 1160, 968, 969, 493, 1019, 477,
1138, 822, 757, 818, 818, 57, 820, 484, 1159, 1159,
280, 1145, 283, 280, 1074, 598, 1148, 489, 489, 489,
622, 196, 601, 715, 150, 547, 408, 1158, 1146, 529,
1146, 1051, 1146, 455, 756, 756, 756, 756, 85, 127,
298, 401, 1051, 1146, 643, 1146, 180, 436, 408, 408,
643, 660, 666, 334, 367, 542, 1146, 1146, 1146, 204,
270, 153, 814, 295, 367, 408, 265, 150, 284, 664,
715, 367, 26, 135, 338, 339, 367, 546, 555, 556,
666, 861, 359, 150, 547, 150, 547, 1146, 1146, 1146,
1146, 359, 359, 228, 669, 670, 669, 490, 493, 671,
1155, 196, 490, 493, 477, 491, 153, 1158, 1146, 334,
367, 542, 1146, 1146, 1146, 280, 296, 334, 367, 26,
135, 296, 334, 367, 1051, 262, 1051, 490, 493, 477,
1144, 408, 1159, 432, 688, 153, 230, 302, 12, 270,
478, 1155, 302, 1159, 429, 153, 408, 408, 354, 383,
493, 830, 295, 367, 88, 408, 860, 354, 116, 163,
557, 408, 408, 240, 240, 240, 408, 408, 354, 408,
408, 354, 408, 354, 408, 354, 408, 124, 547, 1051,
265, 1155, 367, 861, 150, 547, 408, 408, 490, 1146,
408, 860, 354, 408, 1158, 1146, 490, 490, 490, 1114,
488, 1051, 756, 214, 764, 1148, 1148, 214, 214, 1146,
214, 384, 385, 567, 1155, 567, 180, 490, 490, 168,
725, 727, 262, 282, 480, 481, 639, 728, 818, 1110,
1155, 1167, 280, 70, 76, 88, 116, 118, 172, 200,
265, 270, 312, 328, 425, 590, 591, 593, 149, 447,
501, 529, 1146, 529, 664, 1144, 1144, 1144, 490, 493,
1159, 177, 345, 1159, 1154, 418, 1144, 600, 3, 163,
693, 47, 516, 336, 396, 673, 109, 933, 168, 876,
552, 601, 1144, 700, 732, 733, 1155, 490, 493, 1146,
163, 601, 1144, 626, 1144, 1146, 627, 489, 582, 1144,
490, 1148, 451, 453, 618, 551, 39, 150, 974, 617,
408, 150, 1029, 477, 490, 493, 490, 493, 116, 477,
828, 1155, 529, 396, 817, 818, 163, 829, 827, 121,
206, 360, 430, 885, 1146, 180, 974, 1051, 489, 490,
493, 490, 1154, 1071, 1071, 488, 488, 490, 547, 432,
547, 432, 547, 1146, 1146, 683, 547, 756, 150, 354,
354, 354, 354, 354, 1145, 493, 1158, 451, 493, 782,
283, 1030, 364, 148, 148, 109, 261, 1144, 1146, 1159,
779, 547, 1158, 214, 214, 214, 639, 214, 214, 214,
214, 214, 1116, 404, 1074, 141, 1051, 490, 1074, 1074,
1074, 1120, 1074, 1074, 1125, 490, 1112, 493, 1051, 1075,
1075, 1075, 1075, 130, 132, 265, 275, 1075, 1075, 1075,
1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1074, 1074,
1126, 1125, 1051, 490, 490, 490, 1112, 490, 493, 57,
1076, 1089, 490, 1163, 1085, 309, 389, 1087, 490, 493,
443, 1081, 39, 490, 12, 478, 1155, 1074, 36, 36,
1074, 490, 1074, 168, 489, 264, 1115, 1074, 490, 143,
1075, 1075, 143, 143, 1074, 1074, 991, 448, 489, 1096,
1160, 490, 1112, 493, 986, 986, 986, 986, 1144, 1144,
1144, 975, 1034, 1044, 168, 489, 975, 1021, 1022, 39,
1023, 1024, 1160, 493, 96, 169, 202, 217, 227, 253,
344, 1026, 1024, 39, 1023, 1025, 1160, 1024, 474, 1038,
1137, 1074, 177, 1004, 490, 1004, 490, 945, 489, 805,
160, 222, 281, 451, 405, 99, 1074, 341, 957, 437,
490, 493, 1138, 86, 957, 490, 493, 967, 1040, 1074,
490, 484, 822, 418, 171, 349, 355, 362, 397, 419,
791, 163, 791, 490, 489, 605, 606, 799, 1079, 1160,
601, 601, 715, 1150, 490, 118, 200, 261, 265, 716,
1146, 1146, 39, 1146, 432, 432, 756, 756, 756, 756,
220, 757, 1158, 1146, 408, 860, 354, 408, 204, 1146,
57, 399, 1146, 150, 587, 489, 589, 383, 172, 152,
185, 265, 551, 501, 109, 172, 265, 383, 386, 551,
637, 367, 556, 418, 1146, 1160, 359, 668, 1146, 554,
728, 1163, 1146, 295, 367, 408, 860, 354, 408, 153,
408, 408, 354, 170, 282, 386, 737, 738, 170, 282,
745, 746, 408, 408, 354, 490, 490, 490, 867, 262,
639, 818, 868, 1110, 1155, 1167, 334, 1146, 489, 451,
689, 1146, 1156, 12, 478, 1155, 1155, 1155, 1146, 1146,
1146, 1146, 1156, 877, 57, 399, 1146, 1146, 1146, 1146,
438, 1146, 1146, 163, 163, 336, 163, 186, 1158, 1146,
1146, 1158, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 280,
76, 548, 150, 28, 49, 418, 1160, 1146, 1155, 666,
1146, 1146, 1146, 1146, 990, 490, 214, 764, 214, 214,
764, 764, 214, 764, 501, 432, 572, 573, 643, 715,
451, 453, 756, 1144, 489, 756, 1146, 1075, 33, 57,
592, 119, 188, 118, 270, 218, 1144, 830, 170, 316,
711, 718, 719, 1160, 653, 300, 489, 582, 595, 199,
612, 585, 1159, 1159, 1051, 489, 552, 30, 121, 206,
360, 430, 694, 408, 690, 1158, 186, 1144, 675, 455,
280, 1020, 830, 329, 701, 490, 493, 1043, 664, 683,
490, 634, 39, 275, 300, 489, 947, 584, 586, 588,
597, 1160, 300, 613, 614, 582, 612, 551, 278, 280,
619, 974, 629, 627, 552, 1155, 1150, 796, 728, 3,
731, 819, 1074, 1074, 493, 489, 825, 418, 493, 408,
489, 643, 490, 909, 910, 488, 1148, 1148, 547, 364,
547, 1145, 1145, 1145, 1145, 1145, 639, 174, 781, 490,
1146, 109, 786, 168, 270, 769, 1155, 769, 769, 214,
769, 769, 769, 769, 769, 1074, 490, 490, 490, 1126,
490, 1074, 168, 130, 132, 275, 489, 490, 458, 1083,
1112, 327, 437, 57, 1089, 1076, 449, 449, 490, 1074,
261, 1074, 493, 1082, 1053, 1074, 1074, 1074, 1115, 490,
1074, 36, 36, 1074, 1074, 143, 490, 490, 1074, 1097,
1160, 490, 1074, 1144, 1144, 1144, 1144, 1024, 1025, 1024,
489, 463, 1076, 490, 1160, 489, 1021, 217, 290, 1027,
1021, 1027, 217, 1026, 1027, 217, 398, 1032, 489, 1160,
489, 287, 57, 181, 1011, 12, 1155, 1011, 1155, 490,
840, 405, 275, 1141, 974, 294, 974, 954, 280, 489,
956, 477, 968, 957, 418, 490, 408, 776, 168, 715,
1074, 490, 493, 451, 76, 798, 802, 798, 490, 490,
193, 603, 119, 188, 198, 118, 434, 547, 1051, 1148,
1148, 1146, 1146, 1146, 1146, 1146, 1159, 1146, 587, 665,
669, 1156, 592, 186, 186, 270, 639, 592, 270, 1156,
1160, 1051, 547, 547, 477, 57, 399, 1146, 1146, 1146,
1146, 1146, 1158, 1146, 1146, 1154, 1154, 1051, 493, 1154,
1154, 493, 1158, 1146, 1146, 408, 1074, 70, 1159, 1146,
408, 408, 168, 192, 451, 1145, 1145, 756, 1145, 150,
153, 756, 1155, 1155, 1051, 547, 547, 408, 490, 214,
764, 764, 764, 764, 489, 568, 569, 501, 123, 170,
203, 170, 168, 714, 1074, 265, 591, 116, 39, 830,
600, 432, 621, 1152, 36, 149, 192, 275, 581, 557,
147, 194, 489, 364, 432, 601, 39, 1159, 688, 516,
265, 489, 165, 1146, 1112, 255, 279, 702, 703, 704,
163, 707, 1155, 364, 552, 149, 974, 756, 275, 581,
627, 490, 493, 451, 589, 57, 617, 557, 613, 82,
399, 620, 451, 898, 39, 620, 168, 280, 489, 1155,
816, 831, 832, 1161, 1051, 163, 1144, 168, 408, 851,
201, 644, 547, 490, 547, 547, 1146, 283, 212, 547,
780, 769, 490, 1075, 168, 489, 1115, 489, 490, 493,
490, 1089, 490, 437, 380, 490, 490, 490, 1074, 1074,
1074, 490, 300, 1098, 490, 1035, 1036, 1079, 489, 1088,
1023, 489, 1145, 1021, 280, 432, 1028, 1021, 217, 1021,
1152, 1042, 489, 1042, 1160, 98, 178, 347, 489, 1005,
1006, 1007, 1008, 1009, 1010, 1074, 1074, 450, 1092, 1092,
490, 971, 952, 88, 797, 799, 131, 1074, 780, 280,
780, 490, 603, 606, 282, 840, 756, 756, 803, 328,
603, 489, 830, 490, 408, 367, 963, 490, 493, 39,
150, 150, 548, 728, 1159, 1146, 408, 489, 811, 840,
842, 738, 489, 489, 746, 1146, 490, 489, 367, 963,
1146, 1146, 489, 489, 489, 451, 474, 918, 336, 918,
918, 163, 1146, 548, 1146, 764, 574, 575, 1163, 53,
97, 122, 139, 143, 164, 167, 182, 270, 320, 570,
568, 1155, 811, 39, 847, 847, 1144, 715, 490, 185,
489, 621, 241, 604, 196, 489, 719, 711, 489, 1144,
490, 364, 30, 81, 89, 117, 172, 185, 197, 383,
386, 596, 596, 1143, 1146, 1148, 490, 974, 689, 150,
109, 664, 168, 703, 350, 396, 705, 136, 708, 447,
710, 1146, 39, 1146, 627, 582, 1144, 490, 586, 284,
1160, 618, 613, 617, 121, 135, 309, 1146, 62, 70,
233, 974, 756, 1029, 797, 818, 490, 493, 418, 1039,
378, 378, 490, 643, 261, 436, 645, 646, 1146, 547,
1075, 1115, 490, 1084, 1112, 261, 470, 57, 990, 490,
493, 39, 1037, 116, 1049, 1050, 1075, 79, 1145, 490,
1074, 489, 1021, 1028, 489, 490, 1042, 490, 489, 368,
489, 490, 493, 1093, 1094, 1160, 437, 1146, 490, 493,
266, 430, 782, 791, 547, 798, 830, 489, 551, 804,
1144, 830, 601, 621, 1146, 399, 669, 185, 432, 549,
367, 963, 1146, 1115, 163, 741, 741, 1115, 1115, 1074,
399, 1112, 1112, 558, 559, 1162, 755, 756, 755, 756,
1145, 547, 490, 493, 482, 489, 526, 576, 639, 915,
1155, 915, 265, 270, 320, 915, 915, 1039, 847, 42,
190, 163, 261, 599, 489, 635, 1074, 169, 299, 373,
280, 608, 609, 610, 399, 490, 1152, 6, 720, 582,
612, 1146, 490, 664, 157, 740, 552, 898, 1144, 455,
1020, 915, 350, 382, 709, 489, 149, 664, 974, 947,
613, 582, 612, 589, 489, 619, 617, 618, 351, 351,
70, 283, 70, 627, 796, 490, 825, 831, 1051, 131,
451, 451, 436, 643, 664, 490, 490, 490, 437, 1112,
179, 321, 351, 1099, 1038, 1035, 489, 1075, 490, 493,
39, 1045, 1046, 1160, 490, 1145, 1112, 490, 1112, 489,
1112, 1006, 493, 39, 974, 1039, 799, 367, 168, 621,
840, 804, 805, 600, 621, 490, 715, 1146, 635, 1074,
399, 490, 286, 357, 325, 742, 742, 490, 490, 490,
1146, 490, 490, 490, 493, 1154, 918, 575, 526, 577,
578, 1155, 1155, 270, 601, 482, 601, 1155, 1155, 136,
198, 636, 490, 121, 430, 280, 610, 280, 609, 1146,
489, 490, 493, 557, 364, 664, 756, 39, 39, 489,
1146, 706, 1160, 1074, 711, 898, 627, 617, 557, 613,
489, 615, 616, 1079, 1160, 620, 618, 619, 283, 283,
489, 193, 800, 31, 207, 886, 170, 170, 51, 99,
421, 1074, 1100, 1101, 1100, 1100, 490, 1042, 493, 1050,
1163, 490, 493, 163, 1051, 490, 490, 490, 1005, 490,
1094, 1096, 966, 780, 448, 607, 490, 805, 604, 715,
963, 1146, 811, 57, 963, 408, 558, 756, 490, 493,
601, 350, 490, 387, 61, 261, 340, 367, 611, 611,
490, 6, 364, 1146, 737, 974, 664, 490, 1152, 618,
613, 617, 1074, 490, 493, 802, 802, 619, 620, 797,
489, 552, 266, 489, 881, 883, 887, 949, 958, 965,
974, 811, 811, 1101, 350, 162, 307, 162, 307, 146,
1102, 1102, 1102, 490, 1076, 1046, 287, 3, 116, 265,
270, 1047, 1048, 335, 1033, 490, 1039, 547, 489, 715,
608, 963, 756, 489, 578, 710, 25, 116, 270, 1146,
664, 898, 489, 619, 617, 618, 490, 616, 756, 803,
803, 620, 490, 799, 801, 620, 882, 883, 884, 975,
976, 493, 493, 36, 99, 177, 261, 405, 1088, 1075,
1075, 270, 1048, 489, 1074, 715, 1112, 149, 664, 5,
712, 713, 1154, 1155, 1163, 620, 618, 619, 802, 800,
490, 493, 1039, 490, 492, 408, 168, 1101, 350, 288,
79, 1074, 490, 490, 711, 490, 493, 619, 620, 803,
552, 799, 884, 378, 378, 1045, 490, 1152, 713, 620,
620, 451, 451, 490, 489, 1039, 170, 170, 712, 811,
811, 490
};
#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 810 "gram.y"
{
pg_yyget_extra(yyscanner)->parsetree = (yyvsp[(1) - (1)].list);
;}
break;
case 3:
#line 826 "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 4:
#line 838 "gram.y"
{
if ((yyvsp[(1) - (1)].node) != NULL)
(yyval.list) = list_make1(makeRawStmt((yyvsp[(1) - (1)].node), 0));
else
(yyval.list) = NIL;
;}
break;
case 130:
#line 973 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 131:
#line 983 "gram.y"
{
CallStmt *n = makeNode(CallStmt);
n->funccall = castNode(FuncCall, (yyvsp[(2) - (2)].node));
(yyval.node) = (Node *)n;
;}
break;
case 132:
#line 998 "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 133:
#line 1008 "gram.y"
{;}
break;
case 134:
#line 1009 "gram.y"
{;}
break;
case 135:
#line 1010 "gram.y"
{;}
break;
case 136:
#line 1019 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 137:
#line 1020 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 138:
#line 1024 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 139:
#line 1025 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 140:
#line 1030 "gram.y"
{
(yyval.defelt) = makeDefElem("password",
(Node *)makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 141:
#line 1035 "gram.y"
{
(yyval.defelt) = makeDefElem("password",
(Node *)makeParamRef((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)])), (yylsp[(1) - (2)]));
;}
break;
case 142:
#line 1040 "gram.y"
{
(yyval.defelt) = makeDefElem("password",
(Node *)makeParamRef(0, (yylsp[(2) - (2)])), (yylsp[(1) - (2)]));
;}
break;
case 143:
#line 1045 "gram.y"
{
(yyval.defelt) = makeDefElem("password", NULL, (yylsp[(1) - (2)]));
;}
break;
case 144:
#line 1049 "gram.y"
{
/*
* These days, passwords are always stored in encrypted
* form, so there is no difference between PASSWORD and
* ENCRYPTED PASSWORD.
*/
(yyval.defelt) = makeDefElem("password",
(Node *)makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 145:
#line 1059 "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 146:
#line 1069 "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(0, (yylsp[(3) - (3)])), (yylsp[(1) - (3)]));
;}
break;
case 147:
#line 1079 "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 148:
#line 1087 "gram.y"
{
(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
;}
break;
case 149:
#line 1091 "gram.y"
{
(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[(3) - (3)].ival)), (yylsp[(1) - (3)]));
;}
break;
case 150:
#line 1095 "gram.y"
{
(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 151:
#line 1100 "gram.y"
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 152:
#line 1104 "gram.y"
{
/*
* We handle identifiers that aren't parser keywords with
* the following special-case codes, to avoid bloating the
* size of the main parser.
*/
if (strcmp((yyvsp[(1) - (1)].str), "superuser") == 0)
(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "nosuperuser") == 0)
(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(false), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "createrole") == 0)
(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "nocreaterole") == 0)
(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(false), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "replication") == 0)
(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "noreplication") == 0)
(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(false), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "createdb") == 0)
(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "nocreatedb") == 0)
(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(false), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "login") == 0)
(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "nologin") == 0)
(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(false), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "bypassrls") == 0)
(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
else if (strcmp((yyvsp[(1) - (1)].str), "nobypassrls") == 0)
(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(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 *)makeInteger(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 153:
#line 1151 "gram.y"
{ (yyval.defelt) = (yyvsp[(1) - (1)].defelt); ;}
break;
case 154:
#line 1154 "gram.y"
{
(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[(2) - (2)].ival)), (yylsp[(1) - (2)]));
;}
break;
case 155:
#line 1158 "gram.y"
{
(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 156:
#line 1162 "gram.y"
{
(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 157:
#line 1166 "gram.y"
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 158:
#line 1170 "gram.y"
{
(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 159:
#line 1184 "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 160:
#line 1202 "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 161:
#line 1210 "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 162:
#line 1220 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 163:
#line 1221 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); ;}
break;
case 164:
#line 1226 "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 165:
#line 1234 "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 166:
#line 1242 "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 167:
#line 1250 "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 168:
#line 1271 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *)n;
;}
break;
case 169:
#line 1278 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = true;
n->roles = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 170:
#line 1285 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *)n;
;}
break;
case 171:
#line 1292 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->roles = (yyvsp[(5) - (5)].list);
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 172:
#line 1299 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = false;
n->roles = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *)n;
;}
break;
case 173:
#line 1306 "gram.y"
{
DropRoleStmt *n = makeNode(DropRoleStmt);
n->missing_ok = true;
n->roles = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 174:
#line 1323 "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 175:
#line 1341 "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 176:
#line 1351 "gram.y"
{ (yyval.ival) = +1; ;}
break;
case 177:
#line 1352 "gram.y"
{ (yyval.ival) = -1; ;}
break;
case 178:
#line 1364 "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 179:
#line 1374 "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 180:
#line 1384 "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 181:
#line 1399 "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 182:
#line 1416 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 183:
#line 1417 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 184:
#line 1422 "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 185:
#line 1428 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 192:
#line 1456 "gram.y"
{
VariableSetStmt *n = (yyvsp[(2) - (2)].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
;}
break;
case 193:
#line 1462 "gram.y"
{
VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
n->is_local = true;
(yyval.node) = (Node *) n;
;}
break;
case 194:
#line 1468 "gram.y"
{
VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
n->is_local = false;
(yyval.node) = (Node *) n;
;}
break;
case 195:
#line 1477 "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 196:
#line 1485 "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 198:
#line 1497 "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 199:
#line 1505 "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 200:
#line 1513 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[(1) - (3)].str);
(yyval.vsetstmt) = n;
;}
break;
case 201:
#line 1520 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = (yyvsp[(1) - (3)].str);
(yyval.vsetstmt) = n;
;}
break;
case 202:
#line 1529 "gram.y"
{(yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt);;}
break;
case 203:
#line 1531 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_CURRENT;
n->name = (yyvsp[(1) - (3)].str);
(yyval.vsetstmt) = n;
;}
break;
case 204:
#line 1539 "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 205:
#line 1550 "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 206:
#line 1558 "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 207:
#line 1566 "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 208:
#line 1574 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "search_path";
n->args = list_make1(makeParamRef(0, (yylsp[(2) - (2)])));
(yyval.vsetstmt) = n;
;}
break;
case 209:
#line 1582 "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 210:
#line 1593 "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 211:
#line 1601 "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 212:
#line 1609 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "role";
n->args = list_make1(makeParamRef(0, (yylsp[(2) - (2)])));
(yyval.vsetstmt) = n;
;}
break;
case 213:
#line 1617 "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 214:
#line 1625 "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 215:
#line 1633 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_VALUE;
n->name = "session_authorization";
n->args = list_make1(makeParamRef(0, (yylsp[(3) - (3)])));
(yyval.vsetstmt) = n;
;}
break;
case 216:
#line 1641 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_SET_DEFAULT;
n->name = "session_authorization";
(yyval.vsetstmt) = n;
;}
break;
case 217:
#line 1648 "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 218:
#line 1657 "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 219:
#line 1666 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 220:
#line 1668 "gram.y"
{ (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); ;}
break;
case 221:
#line 1671 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 222:
#line 1672 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 223:
#line 1676 "gram.y"
{ (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;}
break;
case 224:
#line 1678 "gram.y"
{ (yyval.node) = makeAConst((yyvsp[(1) - (1)].value), (yylsp[(1) - (1)])); ;}
break;
case 225:
#line 1680 "gram.y"
{ (yyval.node) = makeParamRef((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;}
break;
case 226:
#line 1682 "gram.y"
{ (yyval.node) = makeParamRef(0, (yylsp[(1) - (1)])); ;}
break;
case 227:
#line 1685 "gram.y"
{ (yyval.str) = "read uncommitted"; ;}
break;
case 228:
#line 1686 "gram.y"
{ (yyval.str) = "read committed"; ;}
break;
case 229:
#line 1687 "gram.y"
{ (yyval.str) = "repeatable read"; ;}
break;
case 230:
#line 1688 "gram.y"
{ (yyval.str) = "serializable"; ;}
break;
case 231:
#line 1692 "gram.y"
{ (yyval.str) = "true"; ;}
break;
case 232:
#line 1693 "gram.y"
{ (yyval.str) = "false"; ;}
break;
case 233:
#line 1694 "gram.y"
{ (yyval.str) = "on"; ;}
break;
case 234:
#line 1700 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 235:
#line 1713 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 236:
#line 1717 "gram.y"
{
(yyval.node) = makeParamRef((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)]));
;}
break;
case 237:
#line 1721 "gram.y"
{
(yyval.node) = makeParamRef(0, (yylsp[(1) - (1)]));
;}
break;
case 238:
#line 1725 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 239:
#line 1729 "gram.y"
{
TypeName *t = (yyvsp[(1) - (3)].typnam);
if ((yyvsp[(3) - (3)].list) != NIL)
{
A_Const *n = (A_Const *) linitial((yyvsp[(3) - (3)].list));
if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
parser_errposition((yylsp[(3) - (3)]))));
}
t->typmods = (yyvsp[(3) - (3)].list);
(yyval.node) = makeStringConstCast((yyvsp[(2) - (3)].str), (yylsp[(2) - (3)]), t);
;}
break;
case 240:
#line 1744 "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 241:
#line 1750 "gram.y"
{ (yyval.node) = makeAConst((yyvsp[(1) - (1)].value), (yylsp[(1) - (1)])); ;}
break;
case 242:
#line 1751 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 243:
#line 1752 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 244:
#line 1756 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 245:
#line 1757 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 246:
#line 1758 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 247:
#line 1762 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 248:
#line 1763 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 249:
#line 1767 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(2) - (2)].vsetstmt); ;}
break;
case 250:
#line 1771 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt); ;}
break;
case 251:
#line 1773 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "timezone";
(yyval.vsetstmt) = n;
;}
break;
case 252:
#line 1780 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "transaction_isolation";
(yyval.vsetstmt) = n;
;}
break;
case 253:
#line 1787 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = "session_authorization";
(yyval.vsetstmt) = n;
;}
break;
case 254:
#line 1797 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET;
n->name = (yyvsp[(1) - (1)].str);
(yyval.vsetstmt) = n;
;}
break;
case 255:
#line 1804 "gram.y"
{
VariableSetStmt *n = makeNode(VariableSetStmt);
n->kind = VAR_RESET_ALL;
(yyval.vsetstmt) = n;
;}
break;
case 256:
#line 1813 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;}
break;
case 257:
#line 1814 "gram.y"
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;}
break;
case 258:
#line 1819 "gram.y"
{ (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;}
break;
case 259:
#line 1820 "gram.y"
{ (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;}
break;
case 260:
#line 1826 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 261:
#line 1832 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "timezone";
(yyval.node) = (Node *) n;
;}
break;
case 262:
#line 1838 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "transaction_isolation";
(yyval.node) = (Node *) n;
;}
break;
case 263:
#line 1844 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "session_authorization";
(yyval.node) = (Node *) n;
;}
break;
case 264:
#line 1850 "gram.y"
{
VariableShowStmt *n = makeNode(VariableShowStmt);
n->name = "all";
(yyval.node) = (Node *) n;
;}
break;
case 265:
#line 1860 "gram.y"
{
ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
n->constraints = (yyvsp[(3) - (4)].list);
n->deferred = (yyvsp[(4) - (4)].boolean);
(yyval.node) = (Node *) n;
;}
break;
case 266:
#line 1869 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 267:
#line 1870 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 268:
#line 1874 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 269:
#line 1875 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 270:
#line 1884 "gram.y"
{
CheckPointStmt *n = makeNode(CheckPointStmt);
(yyval.node) = (Node *)n;
;}
break;
case 271:
#line 1899 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_ALL;
(yyval.node) = (Node *) n;
;}
break;
case 272:
#line 1905 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
;}
break;
case 273:
#line 1911 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_TEMP;
(yyval.node) = (Node *) n;
;}
break;
case 274:
#line 1917 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_PLANS;
(yyval.node) = (Node *) n;
;}
break;
case 275:
#line 1923 "gram.y"
{
DiscardStmt *n = makeNode(DiscardStmt);
n->target = DISCARD_SEQUENCES;
(yyval.node) = (Node *) n;
;}
break;
case 276:
#line 1942 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = (yyvsp[(4) - (4)].list);
n->relkind = OBJECT_TABLE;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 277:
#line 1951 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = (yyvsp[(6) - (6)].list);
n->relkind = OBJECT_TABLE;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 278:
#line 1960 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = list_make1((yyvsp[(4) - (4)].node));
n->relkind = OBJECT_TABLE;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 279:
#line 1969 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = list_make1((yyvsp[(6) - (6)].node));
n->relkind = OBJECT_TABLE;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 280:
#line 1978 "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 281:
#line 1989 "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 282:
#line 2000 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = (yyvsp[(4) - (4)].list);
n->relkind = OBJECT_INDEX;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 283:
#line 2009 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = (yyvsp[(6) - (6)].list);
n->relkind = OBJECT_INDEX;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 284:
#line 2018 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = list_make1((yyvsp[(4) - (4)].node));
n->relkind = OBJECT_INDEX;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 285:
#line 2027 "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 286:
#line 2038 "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 287:
#line 2049 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = (yyvsp[(4) - (4)].list);
n->relkind = OBJECT_SEQUENCE;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 288:
#line 2058 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = (yyvsp[(6) - (6)].list);
n->relkind = OBJECT_SEQUENCE;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 289:
#line 2067 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->cmds = (yyvsp[(4) - (4)].list);
n->relkind = OBJECT_VIEW;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 290:
#line 2076 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(5) - (6)].range);
n->cmds = (yyvsp[(6) - (6)].list);
n->relkind = OBJECT_VIEW;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 291:
#line 2085 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(4) - (5)].range);
n->cmds = (yyvsp[(5) - (5)].list);
n->relkind = OBJECT_MATVIEW;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 292:
#line 2094 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(6) - (7)].range);
n->cmds = (yyvsp[(7) - (7)].list);
n->relkind = OBJECT_MATVIEW;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 293:
#line 2103 "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 294:
#line 2114 "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 295:
#line 2127 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 296:
#line 2128 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 297:
#line 2134 "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);
n->def = (Node *) cmd;
(yyval.node) = (Node *) n;
;}
break;
case 298:
#line 2147 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
PartitionCmd *cmd = makeNode(PartitionCmd);
n->subtype = AT_DetachPartition;
cmd->name = (yyvsp[(3) - (3)].range);
cmd->bound = NULL;
n->def = (Node *) cmd;
(yyval.node) = (Node *) n;
;}
break;
case 299:
#line 2163 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
PartitionCmd *cmd = makeNode(PartitionCmd);
n->subtype = AT_AttachPartition;
cmd->name = (yyvsp[(3) - (3)].range);
cmd->bound = NULL;
n->def = (Node *) cmd;
(yyval.node) = (Node *) n;
;}
break;
case 300:
#line 2179 "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 301:
#line 2188 "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 302:
#line 2197 "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 303:
#line 2206 "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 304:
#line 2215 "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 305:
#line 2224 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropNotNull;
n->name = (yyvsp[(3) - (6)].str);
(yyval.node) = (Node *)n;
;}
break;
case 306:
#line 2232 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetNotNull;
n->name = (yyvsp[(3) - (6)].str);
(yyval.node) = (Node *)n;
;}
break;
case 307:
#line 2240 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropExpression;
n->name = (yyvsp[(3) - (5)].str);
(yyval.node) = (Node *)n;
;}
break;
case 308:
#line 2248 "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 309:
#line 2257 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStatistics;
n->name = (yyvsp[(3) - (6)].str);
n->def = (Node *) makeInteger((yyvsp[(6) - (6)].ival));
(yyval.node) = (Node *)n;
;}
break;
case 310:
#line 2266 "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 = (Node *) makeInteger((yyvsp[(6) - (6)].ival));
(yyval.node) = (Node *)n;
;}
break;
case 311:
#line 2282 "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 312:
#line 2291 "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 313:
#line 2300 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetStorage;
n->name = (yyvsp[(3) - (6)].str);
n->def = (Node *) makeString((yyvsp[(6) - (6)].str));
(yyval.node) = (Node *)n;
;}
break;
case 314:
#line 2309 "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 315:
#line 2326 "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 316:
#line 2335 "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 317:
#line 2344 "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 318:
#line 2353 "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 319:
#line 2363 "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 320:
#line 2376 "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 321:
#line 2391 "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 322:
#line 2400 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddConstraint;
n->def = (yyvsp[(2) - (2)].node);
(yyval.node) = (Node *)n;
;}
break;
case 323:
#line 2408 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
Constraint *c = makeNode(Constraint);
n->subtype = AT_AlterConstraint;
n->def = (Node *) c;
c->contype = CONSTR_FOREIGN; /* others not supported, yet */
c->conname = (yyvsp[(3) - (4)].str);
processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "ALTER CONSTRAINT statement",
&c->deferrable,
&c->initdeferred,
NULL, NULL, yyscanner);
(yyval.node) = (Node *)n;
;}
break;
case 324:
#line 2423 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ValidateConstraint;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 325:
#line 2431 "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 326:
#line 2441 "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 327:
#line 2451 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOids;
(yyval.node) = (Node *)n;
;}
break;
case 328:
#line 2458 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ClusterOn;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 329:
#line 2466 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropCluster;
n->name = NULL;
(yyval.node) = (Node *)n;
;}
break;
case 330:
#line 2474 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetLogged;
(yyval.node) = (Node *)n;
;}
break;
case 331:
#line 2481 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetUnLogged;
(yyval.node) = (Node *)n;
;}
break;
case 332:
#line 2488 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrig;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 333:
#line 2496 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysTrig;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *)n;
;}
break;
case 334:
#line 2504 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaTrig;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *)n;
;}
break;
case 335:
#line 2512 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigAll;
(yyval.node) = (Node *)n;
;}
break;
case 336:
#line 2519 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableTrigUser;
(yyval.node) = (Node *)n;
;}
break;
case 337:
#line 2526 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrig;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 338:
#line 2534 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigAll;
(yyval.node) = (Node *)n;
;}
break;
case 339:
#line 2541 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableTrigUser;
(yyval.node) = (Node *)n;
;}
break;
case 340:
#line 2548 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRule;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 341:
#line 2556 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableAlwaysRule;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *)n;
;}
break;
case 342:
#line 2564 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableReplicaRule;
n->name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *)n;
;}
break;
case 343:
#line 2572 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRule;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 344:
#line 2580 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_AddInherit;
n->def = (Node *) (yyvsp[(2) - (2)].range);
(yyval.node) = (Node *)n;
;}
break;
case 345:
#line 2588 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropInherit;
n->def = (Node *) (yyvsp[(3) - (3)].range);
(yyval.node) = (Node *)n;
;}
break;
case 346:
#line 2596 "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 347:
#line 2606 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DropOf;
(yyval.node) = (Node *)n;
;}
break;
case 348:
#line 2613 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ChangeOwner;
n->newowner = (yyvsp[(3) - (3)].rolespec);
(yyval.node) = (Node *)n;
;}
break;
case 349:
#line 2621 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetTableSpace;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 350:
#line 2629 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_SetRelOptions;
n->def = (Node *)(yyvsp[(2) - (2)].list);
(yyval.node) = (Node *)n;
;}
break;
case 351:
#line 2637 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ResetRelOptions;
n->def = (Node *)(yyvsp[(2) - (2)].list);
(yyval.node) = (Node *)n;
;}
break;
case 352:
#line 2645 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ReplicaIdentity;
n->def = (yyvsp[(3) - (3)].node);
(yyval.node) = (Node *)n;
;}
break;
case 353:
#line 2653 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_EnableRowSecurity;
(yyval.node) = (Node *)n;
;}
break;
case 354:
#line 2660 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_DisableRowSecurity;
(yyval.node) = (Node *)n;
;}
break;
case 355:
#line 2667 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_ForceRowSecurity;
(yyval.node) = (Node *)n;
;}
break;
case 356:
#line 2674 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_NoForceRowSecurity;
(yyval.node) = (Node *)n;
;}
break;
case 357:
#line 2680 "gram.y"
{
AlterTableCmd *n = makeNode(AlterTableCmd);
n->subtype = AT_GenericOptions;
n->def = (Node *)(yyvsp[(1) - (1)].list);
(yyval.node) = (Node *) n;
;}
break;
case 358:
#line 2689 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (3)].node); ;}
break;
case 359:
#line 2690 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 360:
#line 2694 "gram.y"
{ (yyval.dbehavior) = DROP_CASCADE; ;}
break;
case 361:
#line 2695 "gram.y"
{ (yyval.dbehavior) = DROP_RESTRICT; ;}
break;
case 362:
#line 2696 "gram.y"
{ (yyval.dbehavior) = DROP_RESTRICT; /* default */ ;}
break;
case 363:
#line 2701 "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 364:
#line 2708 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 365:
#line 2712 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 366:
#line 2713 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 367:
#line 2718 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_NOTHING;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 368:
#line 2725 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_FULL;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 369:
#line 2732 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_DEFAULT;
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 370:
#line 2739 "gram.y"
{
ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
n->identity_type = REPLICA_IDENTITY_INDEX;
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 371:
#line 2748 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 372:
#line 2751 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 373:
#line 2752 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 374:
#line 2756 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 375:
#line 2757 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 376:
#line 2763 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 377:
#line 2767 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)]));
;}
break;
case 378:
#line 2771 "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 379:
#line 2776 "gram.y"
{
(yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str), NULL, DEFELEM_UNSPEC, (yylsp[(1) - (3)]));
;}
break;
case 380:
#line 2783 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 381:
#line 2785 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 382:
#line 2790 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[(1) - (1)]));
;}
break;
case 383:
#line 2794 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[(3) - (3)].value), (yylsp[(1) - (3)]));
;}
break;
case 384:
#line 2798 "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 385:
#line 2809 "gram.y"
{
(yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[(3) - (3)].ival)), (yylsp[(1) - (3)]));
;}
break;
case 386:
#line 2817 "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 387:
#line 2870 "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 388:
#line 2883 "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 389:
#line 2897 "gram.y"
{
PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
n->is_default = true;
n->location = (yylsp[(1) - (1)]);
(yyval.partboundspec) = n;
;}
break;
case 390:
#line 2909 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (Node *)makeInteger((yyvsp[(2) - (2)].ival)), (yylsp[(1) - (2)]));
;}
break;
case 391:
#line 2916 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 392:
#line 2920 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 393:
#line 2934 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
/* can't use qualified_name, sigh */
n->relation = makeRangeVarFromAnyName((yyvsp[(3) - (4)].list), (yylsp[(3) - (4)]), yyscanner);
n->cmds = (yyvsp[(4) - (4)].list);
n->relkind = OBJECT_TYPE;
(yyval.node) = (Node *)n;
;}
break;
case 394:
#line 2946 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 395:
#line 2947 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 396:
#line 2953 "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 397:
#line 2962 "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 398:
#line 2972 "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 399:
#line 2982 "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 400:
#line 3008 "gram.y"
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *)n;
;}
break;
case 401:
#line 3014 "gram.y"
{
ClosePortalStmt *n = makeNode(ClosePortalStmt);
n->portalname = NULL;
(yyval.node) = (Node *)n;
;}
break;
case 402:
#line 3049 "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 403:
#line 3082 "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 404:
#line 3103 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 405:
#line 3104 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 406:
#line 3108 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 407:
#line 3109 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 408:
#line 3118 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 409:
#line 3119 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 410:
#line 3120 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 411:
#line 3123 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 412:
#line 3124 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 413:
#line 3129 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 414:
#line 3130 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 415:
#line 3135 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[(1) - (1)]));
;}
break;
case 416:
#line 3139 "gram.y"
{
(yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
;}
break;
case 417:
#line 3143 "gram.y"
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 418:
#line 3147 "gram.y"
{
(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 419:
#line 3151 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"), (yylsp[(1) - (1)]));
;}
break;
case 420:
#line 3155 "gram.y"
{
(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
;}
break;
case 421:
#line 3159 "gram.y"
{
(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 422:
#line 3163 "gram.y"
{
(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 423:
#line 3167 "gram.y"
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 424:
#line 3171 "gram.y"
{
(yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star), (yylsp[(1) - (3)]));
;}
break;
case 425:
#line 3175 "gram.y"
{
(yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[(4) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 426:
#line 3179 "gram.y"
{
(yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 427:
#line 3183 "gram.y"
{
(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 428:
#line 3192 "gram.y"
{
(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[(1) - (1)]));
;}
break;
case 429:
#line 3195 "gram.y"
{ (yyval.defelt) = NULL; ;}
break;
case 430:
#line 3200 "gram.y"
{
(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[(3) - (3)].str)), (yylsp[(2) - (3)]));
;}
break;
case 431:
#line 3203 "gram.y"
{ (yyval.defelt) = NULL; ;}
break;
case 432:
#line 3207 "gram.y"
{;}
break;
case 433:
#line 3208 "gram.y"
{;}
break;
case 434:
#line 3214 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 435:
#line 3218 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 436:
#line 3225 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 437:
#line 3231 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 438:
#line 3232 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].value); ;}
break;
case 439:
#line 3233 "gram.y"
{ (yyval.node) = (Node *) makeNode(A_Star); ;}
break;
case 440:
#line 3234 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); ;}
break;
case 441:
#line 3235 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 442:
#line 3240 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 443:
#line 3244 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 444:
#line 3251 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 445:
#line 3265 "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 446:
#line 3284 "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 447:
#line 3303 "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 448:
#line 3323 "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 449:
#line 3343 "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 450:
#line 3363 "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 451:
#line 3393 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 452:
#line 3394 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 453:
#line 3395 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 454:
#line 3396 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_TEMP; ;}
break;
case 455:
#line 3398 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[(1) - (2)]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
;}
break;
case 456:
#line 3405 "gram.y"
{
ereport(WARNING,
(errmsg("GLOBAL is deprecated in temporary table creation"),
parser_errposition((yylsp[(1) - (2)]))));
(yyval.ival) = RELPERSISTENCE_TEMP;
;}
break;
case 457:
#line 3411 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;}
break;
case 458:
#line 3412 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; ;}
break;
case 459:
#line 3416 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 460:
#line 3417 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 461:
#line 3421 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 462:
#line 3422 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 463:
#line 3427 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 464:
#line 3431 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 465:
#line 3438 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 466:
#line 3442 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 467:
#line 3448 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 468:
#line 3449 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 469:
#line 3450 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 470:
#line 3454 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 471:
#line 3455 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 472:
#line 3459 "gram.y"
{
ColumnDef *n = makeNode(ColumnDef);
n->colname = (yyvsp[(1) - (4)].str);
n->typeName = (yyvsp[(2) - (4)].typnam);
n->inhcount = 0;
n->is_local = true;
n->is_not_null = false;
n->is_from_type = false;
n->storage = 0;
n->raw_default = NULL;
n->cooked_default = NULL;
n->collOid = InvalidOid;
n->fdwoptions = (yyvsp[(3) - (4)].list);
SplitColQualList((yyvsp[(4) - (4)].list), &n->constraints, &n->collClause,
yyscanner);
n->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *)n;
;}
break;
case 473:
#line 3480 "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 474:
#line 3498 "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 475:
#line 3518 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 476:
#line 3519 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 477:
#line 3524 "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 478:
#line 3530 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 479:
#line 3531 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 480:
#line 3533 "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 481:
#line 3564 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NOTNULL;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 482:
#line 3571 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_NULL;
n->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *)n;
;}
break;
case 483:
#line 3578 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
n->location = (yylsp[(1) - (3)]);
n->keys = NULL;
n->options = (yyvsp[(2) - (3)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 484:
#line 3589 "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 485:
#line 3600 "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 486:
#line 3612 "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 487:
#line 3621 "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 488:
#line 3630 "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 489:
#line 3653 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_FOREIGN;
n->location = (yylsp[(1) - (5)]);
n->pktable = (yyvsp[(2) - (5)].range);
n->fk_attrs = NIL;
n->pk_attrs = (yyvsp[(3) - (5)].list);
n->fk_matchtype = (yyvsp[(4) - (5)].ival);
n->fk_upd_action = (char) ((yyvsp[(5) - (5)].ival) >> 8);
n->fk_del_action = (char) ((yyvsp[(5) - (5)].ival) & 0xFF);
n->skip_validation = false;
n->initially_valid = true;
(yyval.node) = (Node *)n;
;}
break;
case 490:
#line 3670 "gram.y"
{ (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; ;}
break;
case 491:
#line 3671 "gram.y"
{ (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; ;}
break;
case 492:
#line 3691 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRABLE;
n->location = (yylsp[(1) - (1)]);
(yyval.node) = (Node *)n;
;}
break;
case 493:
#line 3698 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 494:
#line 3705 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_DEFERRED;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 495:
#line 3712 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_ATTR_IMMEDIATE;
n->location = (yylsp[(1) - (2)]);
(yyval.node) = (Node *)n;
;}
break;
case 496:
#line 3723 "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 497:
#line 3733 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); ;}
break;
case 498:
#line 3734 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) & ~(yyvsp[(3) - (3)].ival); ;}
break;
case 499:
#line 3735 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 500:
#line 3739 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; ;}
break;
case 501:
#line 3740 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; ;}
break;
case 502:
#line 3741 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; ;}
break;
case 503:
#line 3742 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; ;}
break;
case 504:
#line 3743 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; ;}
break;
case 505:
#line 3744 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; ;}
break;
case 506:
#line 3745 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; ;}
break;
case 507:
#line 3746 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; ;}
break;
case 508:
#line 3747 "gram.y"
{ (yyval.ival) = CREATE_TABLE_LIKE_ALL; ;}
break;
case 509:
#line 3757 "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 510:
#line 3763 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 511:
#line 3768 "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 512:
#line 3782 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_UNIQUE;
n->location = (yylsp[(1) - (8)]);
n->keys = (yyvsp[(3) - (8)].list);
n->including = (yyvsp[(5) - (8)].list);
n->options = (yyvsp[(6) - (8)].list);
n->indexname = NULL;
n->indexspace = (yyvsp[(7) - (8)].str);
processCASbits((yyvsp[(8) - (8)].ival), (yylsp[(8) - (8)]), "UNIQUE",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
(yyval.node) = (Node *)n;
;}
break;
case 513:
#line 3797 "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 514:
#line 3813 "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 515:
#line 3828 "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 516:
#line 3845 "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 517:
#line 3863 "gram.y"
{
Constraint *n = makeNode(Constraint);
n->contype = CONSTR_FOREIGN;
n->location = (yylsp[(1) - (11)]);
n->pktable = (yyvsp[(7) - (11)].range);
n->fk_attrs = (yyvsp[(4) - (11)].list);
n->pk_attrs = (yyvsp[(8) - (11)].list);
n->fk_matchtype = (yyvsp[(9) - (11)].ival);
n->fk_upd_action = (char) ((yyvsp[(10) - (11)].ival) >> 8);
n->fk_del_action = (char) ((yyvsp[(10) - (11)].ival) & 0xFF);
processCASbits((yyvsp[(11) - (11)].ival), (yylsp[(11) - (11)]), "FOREIGN KEY",
&n->deferrable, &n->initdeferred,
&n->skip_validation, NULL,
yyscanner);
n->initially_valid = !n->skip_validation;
(yyval.node) = (Node *)n;
;}
break;
case 518:
#line 3882 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 519:
#line 3883 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 520:
#line 3887 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 521:
#line 3888 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 522:
#line 3892 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 523:
#line 3893 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 524:
#line 3897 "gram.y"
{
(yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str));
;}
break;
case 525:
#line 3902 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 526:
#line 3903 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 527:
#line 3907 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_FULL;
;}
break;
case 528:
#line 3911 "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 529:
#line 3919 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
;}
break;
case 530:
#line 3923 "gram.y"
{
(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
;}
break;
case 531:
#line 3929 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
break;
case 532:
#line 3931 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
break;
case 533:
#line 3935 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (3)].ielem), (yyvsp[(3) - (3)].list));
;}
break;
case 534:
#line 3940 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (6)].ielem), (yyvsp[(5) - (6)].list));
;}
break;
case 535:
#line 3946 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); ;}
break;
case 536:
#line 3947 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 537:
#line 3958 "gram.y"
{ (yyval.ival) = ((yyvsp[(1) - (1)].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); ;}
break;
case 538:
#line 3960 "gram.y"
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[(1) - (1)].ival) & 0xFF); ;}
break;
case 539:
#line 3962 "gram.y"
{ (yyval.ival) = ((yyvsp[(1) - (2)].ival) << 8) | ((yyvsp[(2) - (2)].ival) & 0xFF); ;}
break;
case 540:
#line 3964 "gram.y"
{ (yyval.ival) = ((yyvsp[(2) - (2)].ival) << 8) | ((yyvsp[(1) - (2)].ival) & 0xFF); ;}
break;
case 541:
#line 3966 "gram.y"
{ (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); ;}
break;
case 542:
#line 3969 "gram.y"
{ (yyval.ival) = (yyvsp[(3) - (3)].ival); ;}
break;
case 543:
#line 3972 "gram.y"
{ (yyval.ival) = (yyvsp[(3) - (3)].ival); ;}
break;
case 544:
#line 3976 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_NOACTION; ;}
break;
case 545:
#line 3977 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_RESTRICT; ;}
break;
case 546:
#line 3978 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_CASCADE; ;}
break;
case 547:
#line 3979 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_SETNULL; ;}
break;
case 548:
#line 3980 "gram.y"
{ (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; ;}
break;
case 549:
#line 3983 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 550:
#line 3984 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 551:
#line 3988 "gram.y"
{ (yyval.partspec) = (yyvsp[(1) - (1)].partspec); ;}
break;
case 552:
#line 3989 "gram.y"
{ (yyval.partspec) = NULL; ;}
break;
case 553:
#line 3993 "gram.y"
{
PartitionSpec *n = makeNode(PartitionSpec);
n->strategy = (yyvsp[(3) - (6)].str);
n->partParams = (yyvsp[(5) - (6)].list);
n->location = (yylsp[(1) - (6)]);
(yyval.partspec) = n;
;}
break;
case 554:
#line 4004 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].partelem)); ;}
break;
case 555:
#line 4005 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].partelem)); ;}
break;
case 556:
#line 4009 "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 557:
#line 4020 "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 558:
#line 4031 "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 559:
#line 4044 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 560:
#line 4045 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 561:
#line 4050 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 562:
#line 4051 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 563:
#line 4052 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 564:
#line 4055 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_DROP; ;}
break;
case 565:
#line 4056 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; ;}
break;
case 566:
#line 4057 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; ;}
break;
case 567:
#line 4058 "gram.y"
{ (yyval.oncommit) = ONCOMMIT_NOOP; ;}
break;
case 568:
#line 4061 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 569:
#line 4062 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 570:
#line 4065 "gram.y"
{ (yyval.str) = (yyvsp[(4) - (4)].str); ;}
break;
case 571:
#line 4066 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 572:
#line 4069 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].str); ;}
break;
case 573:
#line 4089 "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 574:
#line 4101 "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 575:
#line 4124 "gram.y"
{
AlterStatsStmt *n = makeNode(AlterStatsStmt);
n->defnames = (yyvsp[(3) - (6)].list);
n->missing_ok = false;
n->stxstattarget = (yyvsp[(6) - (6)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 576:
#line 4132 "gram.y"
{
AlterStatsStmt *n = makeNode(AlterStatsStmt);
n->defnames = (yyvsp[(5) - (8)].list);
n->missing_ok = true;
n->stxstattarget = (yyvsp[(8) - (8)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 577:
#line 4153 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(6) - (7)].node);
ctas->into = (yyvsp[(4) - (7)].into);
ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
ctas->if_not_exists = false;
/* cram additional flags into the IntoClause */
(yyvsp[(4) - (7)].into)->rel->relpersistence = (yyvsp[(2) - (7)].ival);
(yyvsp[(4) - (7)].into)->skipData = !((yyvsp[(7) - (7)].boolean));
(yyval.node) = (Node *) ctas;
;}
break;
case 578:
#line 4166 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(9) - (10)].node);
ctas->into = (yyvsp[(7) - (10)].into);
ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
ctas->if_not_exists = true;
/* cram additional flags into the IntoClause */
(yyvsp[(7) - (10)].into)->rel->relpersistence = (yyvsp[(2) - (10)].ival);
(yyvsp[(7) - (10)].into)->skipData = !((yyvsp[(10) - (10)].boolean));
(yyval.node) = (Node *) ctas;
;}
break;
case 579:
#line 4183 "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 580:
#line 4197 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 581:
#line 4198 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 582:
#line 4199 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 583:
#line 4212 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(7) - (8)].node);
ctas->into = (yyvsp[(5) - (8)].into);
ctas->relkind = OBJECT_MATVIEW;
ctas->is_select_into = false;
ctas->if_not_exists = false;
/* cram additional flags into the IntoClause */
(yyvsp[(5) - (8)].into)->rel->relpersistence = (yyvsp[(2) - (8)].ival);
(yyvsp[(5) - (8)].into)->skipData = !((yyvsp[(8) - (8)].boolean));
(yyval.node) = (Node *) ctas;
;}
break;
case 584:
#line 4225 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ctas->query = (yyvsp[(10) - (11)].node);
ctas->into = (yyvsp[(8) - (11)].into);
ctas->relkind = OBJECT_MATVIEW;
ctas->is_select_into = false;
ctas->if_not_exists = true;
/* cram additional flags into the IntoClause */
(yyvsp[(8) - (11)].into)->rel->relpersistence = (yyvsp[(2) - (11)].ival);
(yyvsp[(8) - (11)].into)->skipData = !((yyvsp[(11) - (11)].boolean));
(yyval.node) = (Node *) ctas;
;}
break;
case 585:
#line 4241 "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 586:
#line 4254 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;}
break;
case 587:
#line 4255 "gram.y"
{ (yyval.ival) = RELPERSISTENCE_PERMANENT; ;}
break;
case 588:
#line 4268 "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 589:
#line 4288 "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 590:
#line 4298 "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 591:
#line 4311 "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 592:
#line 4319 "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 593:
#line 4329 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 594:
#line 4330 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 595:
#line 4333 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 596:
#line 4334 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 597:
#line 4337 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 598:
#line 4338 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 599:
#line 4342 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[(2) - (2)].typnam), (yylsp[(1) - (2)]));
;}
break;
case 600:
#line 4346 "gram.y"
{
(yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[(2) - (2)].value), (yylsp[(1) - (2)]));
;}
break;
case 601:
#line 4350 "gram.y"
{
(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
;}
break;
case 602:
#line 4354 "gram.y"
{
(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(false), (yylsp[(1) - (2)]));
;}
break;
case 603:
#line 4358 "gram.y"
{
(yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[(3) - (3)].value), (yylsp[(1) - (3)]));
;}
break;
case 604:
#line 4362 "gram.y"
{
(yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[(2) - (2)].value), (yylsp[(1) - (2)]));
;}
break;
case 605:
#line 4366 "gram.y"
{
(yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[(2) - (2)].value), (yylsp[(1) - (2)]));
;}
break;
case 606:
#line 4370 "gram.y"
{
(yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[(1) - (2)]));
;}
break;
case 607:
#line 4374 "gram.y"
{
(yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[(1) - (2)]));
;}
break;
case 608:
#line 4378 "gram.y"
{
(yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 609:
#line 4382 "gram.y"
{
/* not documented, only used by pg_dump */
(yyval.defelt) = makeDefElem("sequence_name", (Node *)(yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 610:
#line 4387 "gram.y"
{
(yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[(3) - (3)].value), (yylsp[(1) - (3)]));
;}
break;
case 611:
#line 4391 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[(1) - (1)]));
;}
break;
case 612:
#line 4395 "gram.y"
{
(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[(3) - (3)].value), (yylsp[(1) - (3)]));
;}
break;
case 613:
#line 4400 "gram.y"
{;}
break;
case 614:
#line 4401 "gram.y"
{;}
break;
case 615:
#line 4405 "gram.y"
{ (yyval.value) = makeFloat((yyvsp[(1) - (1)].str)); ;}
break;
case 616:
#line 4406 "gram.y"
{ (yyval.value) = makeFloat((yyvsp[(2) - (2)].str)); ;}
break;
case 617:
#line 4408 "gram.y"
{
(yyval.value) = makeFloat((yyvsp[(2) - (2)].str));
doNegateFloat((yyval.value));
;}
break;
case 618:
#line 4412 "gram.y"
{ (yyval.value) = makeInteger((yyvsp[(1) - (1)].ival)); ;}
break;
case 619:
#line 4415 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].value)); ;}
break;
case 620:
#line 4416 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].value)); ;}
break;
case 621:
#line 4429 "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 622:
#line 4445 "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 623:
#line 4458 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 624:
#line 4459 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 625:
#line 4467 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 626:
#line 4468 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;}
break;
case 627:
#line 4472 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 628:
#line 4473 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 629:
#line 4477 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 630:
#line 4478 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 631:
#line 4482 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 632:
#line 4483 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 633:
#line 4488 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_LANGUAGE;
n->objects = list_make1(makeString((yyvsp[(4) - (5)].str)));
n->behavior = (yyvsp[(5) - (5)].dbehavior);
n->missing_ok = false;
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 634:
#line 4498 "gram.y"
{
DropStmt *n = makeNode(DropStmt);
n->removeType = OBJECT_LANGUAGE;
n->objects = list_make1(makeString((yyvsp[(6) - (7)].str)));
n->behavior = (yyvsp[(7) - (7)].dbehavior);
n->missing_ok = true;
n->concurrent = false;
(yyval.node) = (Node *)n;
;}
break;
case 635:
#line 4510 "gram.y"
{;}
break;
case 636:
#line 4511 "gram.y"
{;}
break;
case 637:
#line 4522 "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 638:
#line 4532 "gram.y"
{ (yyval.rolespec) = (yyvsp[(2) - (2)].rolespec); ;}
break;
case 639:
#line 4533 "gram.y"
{ (yyval.rolespec) = NULL; ;}
break;
case 640:
#line 4547 "gram.y"
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[(3) - (3)].str);
n->missing_ok = false;
(yyval.node) = (Node *) n;
;}
break;
case 641:
#line 4554 "gram.y"
{
DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
n->tablespacename = (yyvsp[(5) - (5)].str);
n->missing_ok = true;
(yyval.node) = (Node *) n;
;}
break;
case 642:
#line 4571 "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 643:
#line 4579 "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 644:
#line 4590 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 645:
#line 4592 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 646:
#line 4597 "gram.y"
{
(yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 647:
#line 4601 "gram.y"
{
(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 648:
#line 4605 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE EXTENSION ... FROM is no longer supported"),
parser_errposition((yylsp[(1) - (2)]))));
;}
break;
case 649:
#line 4612 "gram.y"
{
(yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
;}
break;
case 650:
#line 4624 "gram.y"
{
AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
n->extname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 651:
#line 4634 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 652:
#line 4636 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 653:
#line 4641 "gram.y"
{
(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 654:
#line 4654 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
n->action = (yyvsp[(4) - (7)].ival);
n->objtype = OBJECT_ACCESS_METHOD;
n->object = (Node *) makeString((yyvsp[(7) - (7)].str));
(yyval.node) = (Node *)n;
;}
break;
case 655:
#line 4663 "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 656:
#line 4672 "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 657:
#line 4681 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_COLLATION;
n->object = (Node *) (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 658:
#line 4690 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_CONVERSION;
n->object = (Node *) (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 659:
#line 4699 "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 660:
#line 4708 "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 661:
#line 4717 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
n->action = (yyvsp[(4) - (7)].ival);
n->objtype = OBJECT_LANGUAGE;
n->object = (Node *) makeString((yyvsp[(7) - (7)].str));
(yyval.node) = (Node *)n;
;}
break;
case 662:
#line 4726 "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 663:
#line 4735 "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 664:
#line 4744 "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 665:
#line 4753 "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 666:
#line 4762 "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 667:
#line 4771 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_SCHEMA;
n->object = (Node *) makeString((yyvsp[(6) - (6)].str));
(yyval.node) = (Node *)n;
;}
break;
case 668:
#line 4780 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
n->action = (yyvsp[(4) - (7)].ival);
n->objtype = OBJECT_EVENT_TRIGGER;
n->object = (Node *) makeString((yyvsp[(7) - (7)].str));
(yyval.node) = (Node *)n;
;}
break;
case 669:
#line 4789 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_TABLE;
n->object = (Node *) (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 670:
#line 4798 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
n->action = (yyvsp[(4) - (8)].ival);
n->objtype = OBJECT_TSPARSER;
n->object = (Node *) (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 671:
#line 4807 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
n->action = (yyvsp[(4) - (8)].ival);
n->objtype = OBJECT_TSDICTIONARY;
n->object = (Node *) (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 672:
#line 4816 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
n->action = (yyvsp[(4) - (8)].ival);
n->objtype = OBJECT_TSTEMPLATE;
n->object = (Node *) (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 673:
#line 4825 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
n->action = (yyvsp[(4) - (8)].ival);
n->objtype = OBJECT_TSCONFIGURATION;
n->object = (Node *) (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 674:
#line 4834 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_SEQUENCE;
n->object = (Node *) (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 675:
#line 4843 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_VIEW;
n->object = (Node *) (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 676:
#line 4852 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
n->action = (yyvsp[(4) - (7)].ival);
n->objtype = OBJECT_MATVIEW;
n->object = (Node *) (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *)n;
;}
break;
case 677:
#line 4861 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (7)].str);
n->action = (yyvsp[(4) - (7)].ival);
n->objtype = OBJECT_FOREIGN_TABLE;
n->object = (Node *) (yyvsp[(7) - (7)].list);
(yyval.node) = (Node *)n;
;}
break;
case 678:
#line 4870 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (8)].str);
n->action = (yyvsp[(4) - (8)].ival);
n->objtype = OBJECT_FDW;
n->object = (Node *) makeString((yyvsp[(8) - (8)].str));
(yyval.node) = (Node *)n;
;}
break;
case 679:
#line 4879 "gram.y"
{
AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
n->extname = (yyvsp[(3) - (6)].str);
n->action = (yyvsp[(4) - (6)].ival);
n->objtype = OBJECT_FOREIGN_SERVER;
n->object = (Node *) makeString((yyvsp[(6) - (6)].str));
(yyval.node) = (Node *)n;
;}
break;
case 680:
#line 4888 "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 681:
#line 4897 "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 682:
#line 4915 "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 683:
#line 4925 "gram.y"
{ (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;}
break;
case 684:
#line 4926 "gram.y"
{ (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[(1) - (2)])); ;}
break;
case 685:
#line 4927 "gram.y"
{ (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[(2) - (2)].list), (yylsp[(1) - (2)])); ;}
break;
case 686:
#line 4928 "gram.y"
{ (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[(1) - (2)])); ;}
break;
case 687:
#line 4932 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 688:
#line 4933 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 689:
#line 4937 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 690:
#line 4938 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 691:
#line 4949 "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 692:
#line 4957 "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 693:
#line 4968 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 694:
#line 4969 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 695:
#line 4974 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 696:
#line 4978 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 697:
#line 4985 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 698:
#line 4990 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 699:
#line 4994 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 700:
#line 5001 "gram.y"
{
(yyval.defelt) = (yyvsp[(1) - (1)].defelt);
;}
break;
case 701:
#line 5005 "gram.y"
{
(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
(yyval.defelt)->defaction = DEFELEM_SET;
;}
break;
case 702:
#line 5010 "gram.y"
{
(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
(yyval.defelt)->defaction = DEFELEM_ADD;
;}
break;
case 703:
#line 5015 "gram.y"
{
(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[(2) - (2)].str), NULL, DEFELEM_DROP, (yylsp[(2) - (2)]));
;}
break;
case 704:
#line 5022 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 705:
#line 5028 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 706:
#line 5033 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 707:
#line 5045 "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 708:
#line 5057 "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 709:
#line 5070 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 710:
#line 5071 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 711:
#line 5076 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 712:
#line 5077 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 713:
#line 5081 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 714:
#line 5082 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 715:
#line 5093 "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 716:
#line 5102 "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 717:
#line 5110 "gram.y"
{
AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
n->servername = (yyvsp[(3) - (4)].str);
n->options = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *) n;
;}
break;
case 718:
#line 5129 "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 719:
#line 5149 "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 720:
#line 5169 "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 721:
#line 5190 "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 722:
#line 5219 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(4) - (5)].range);
n->cmds = (yyvsp[(5) - (5)].list);
n->relkind = OBJECT_FOREIGN_TABLE;
n->missing_ok = false;
(yyval.node) = (Node *)n;
;}
break;
case 723:
#line 5228 "gram.y"
{
AlterTableStmt *n = makeNode(AlterTableStmt);
n->relation = (yyvsp[(6) - (7)].range);
n->cmds = (yyvsp[(7) - (7)].list);
n->relkind = OBJECT_FOREIGN_TABLE;
n->missing_ok = true;
(yyval.node) = (Node *)n;
;}
break;
case 724:
#line 5250 "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 725:
#line 5263 "gram.y"
{ (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; ;}
break;
case 726:
#line 5264 "gram.y"
{ (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; ;}
break;
case 727:
#line 5269 "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 728:
#line 5276 "gram.y"
{
ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
n->type = FDW_IMPORT_SCHEMA_ALL;
n->table_names = NIL;
(yyval.importqual) = n;
;}
break;
case 729:
#line 5292 "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 730:
#line 5301 "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 731:
#line 5312 "gram.y"
{ (yyval.rolespec) = (yyvsp[(1) - (1)].rolespec); ;}
break;
case 732:
#line 5313 "gram.y"
{ (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)])); ;}
break;
case 733:
#line 5326 "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 734:
#line 5334 "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 735:
#line 5351 "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 736:
#line 5377 "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 737:
#line 5393 "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 738:
#line 5405 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); ;}
break;
case 739:
#line 5406 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 740:
#line 5410 "gram.y"
{ (yyval.node) = (yyvsp[(4) - (5)].node); ;}
break;
case 741:
#line 5411 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 742:
#line 5415 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 743:
#line 5416 "gram.y"
{ (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); ;}
break;
case 744:
#line 5420 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 745:
#line 5421 "gram.y"
{ (yyval.list) = NULL; ;}
break;
case 746:
#line 5426 "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 747:
#line 5439 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 748:
#line 5443 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 749:
#line 5444 "gram.y"
{ (yyval.str) = "all"; ;}
break;
case 750:
#line 5448 "gram.y"
{ (yyval.str) = "all"; ;}
break;
case 751:
#line 5449 "gram.y"
{ (yyval.str) = "select"; ;}
break;
case 752:
#line 5450 "gram.y"
{ (yyval.str) = "insert"; ;}
break;
case 753:
#line 5451 "gram.y"
{ (yyval.str) = "update"; ;}
break;
case 754:
#line 5452 "gram.y"
{ (yyval.str) = "delete"; ;}
break;
case 755:
#line 5463 "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 756:
#line 5473 "gram.y"
{ (yyval.chr) = AMTYPE_INDEX; ;}
break;
case 757:
#line 5474 "gram.y"
{ (yyval.chr) = AMTYPE_TABLE; ;}
break;
case 758:
#line 5488 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[(3) - (16)].str);
n->relation = (yyvsp[(7) - (16)].range);
n->funcname = (yyvsp[(13) - (16)].list);
n->args = (yyvsp[(15) - (16)].list);
n->row = (yyvsp[(9) - (16)].boolean);
n->timing = (yyvsp[(4) - (16)].ival);
n->events = intVal(linitial((yyvsp[(5) - (16)].list)));
n->columns = (List *) lsecond((yyvsp[(5) - (16)].list));
n->whenClause = (yyvsp[(10) - (16)].node);
n->transitionRels = (yyvsp[(8) - (16)].list);
n->isconstraint = false;
n->deferrable = false;
n->initdeferred = false;
n->constrrel = NULL;
(yyval.node) = (Node *)n;
;}
break;
case 759:
#line 5510 "gram.y"
{
CreateTrigStmt *n = makeNode(CreateTrigStmt);
n->trigname = (yyvsp[(4) - (20)].str);
n->relation = (yyvsp[(8) - (20)].range);
n->funcname = (yyvsp[(17) - (20)].list);
n->args = (yyvsp[(19) - (20)].list);
n->row = true;
n->timing = TRIGGER_TYPE_AFTER;
n->events = intVal(linitial((yyvsp[(6) - (20)].list)));
n->columns = (List *) lsecond((yyvsp[(6) - (20)].list));
n->whenClause = (yyvsp[(14) - (20)].node);
n->transitionRels = NIL;
n->isconstraint = true;
processCASbits((yyvsp[(10) - (20)].ival), (yylsp[(10) - (20)]), "TRIGGER",
&n->deferrable, &n->initdeferred, NULL,
NULL, yyscanner);
n->constrrel = (yyvsp[(9) - (20)].range);
(yyval.node) = (Node *)n;
;}
break;
case 760:
#line 5532 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_BEFORE; ;}
break;
case 761:
#line 5533 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_AFTER; ;}
break;
case 762:
#line 5534 "gram.y"
{ (yyval.ival) = TRIGGER_TYPE_INSTEAD; ;}
break;
case 763:
#line 5539 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 764:
#line 5541 "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 765:
#line 5563 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); ;}
break;
case 766:
#line 5565 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); ;}
break;
case 767:
#line 5567 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); ;}
break;
case 768:
#line 5569 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[(3) - (3)].list)); ;}
break;
case 769:
#line 5571 "gram.y"
{ (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); ;}
break;
case 770:
#line 5575 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 771:
#line 5576 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 772:
#line 5580 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 773:
#line 5581 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 774:
#line 5586 "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 775:
#line 5596 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 776:
#line 5597 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 777:
#line 5601 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 778:
#line 5610 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 779:
#line 5614 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 780:
#line 5619 "gram.y"
{
(yyval.boolean) = (yyvsp[(3) - (3)].boolean);
;}
break;
case 781:
#line 5623 "gram.y"
{
/*
* If ROW/STATEMENT not specified, default to
* STATEMENT, per SQL
*/
(yyval.boolean) = false;
;}
break;
case 782:
#line 5633 "gram.y"
{;}
break;
case 783:
#line 5634 "gram.y"
{;}
break;
case 784:
#line 5638 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 785:
#line 5639 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 786:
#line 5643 "gram.y"
{ (yyval.node) = (yyvsp[(3) - (4)].node); ;}
break;
case 787:
#line 5644 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 790:
#line 5653 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].value)); ;}
break;
case 791:
#line 5654 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].value)); ;}
break;
case 792:
#line 5655 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 793:
#line 5660 "gram.y"
{
(yyval.value) = makeString(psprintf("%d", (yyvsp[(1) - (1)].ival)));
;}
break;
case 794:
#line 5663 "gram.y"
{ (yyval.value) = makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 795:
#line 5664 "gram.y"
{ (yyval.value) = makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 796:
#line 5665 "gram.y"
{ (yyval.value) = makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 797:
#line 5669 "gram.y"
{ (yyval.range) = (yyvsp[(2) - (2)].range); ;}
break;
case 798:
#line 5670 "gram.y"
{ (yyval.range) = NULL; ;}
break;
case 799:
#line 5675 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 800:
#line 5677 "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 801:
#line 5703 "gram.y"
{ (yyval.ival) = CAS_NOT_DEFERRABLE; ;}
break;
case 802:
#line 5704 "gram.y"
{ (yyval.ival) = CAS_DEFERRABLE; ;}
break;
case 803:
#line 5705 "gram.y"
{ (yyval.ival) = CAS_INITIALLY_IMMEDIATE; ;}
break;
case 804:
#line 5706 "gram.y"
{ (yyval.ival) = CAS_INITIALLY_DEFERRED; ;}
break;
case 805:
#line 5707 "gram.y"
{ (yyval.ival) = CAS_NOT_VALID; ;}
break;
case 806:
#line 5708 "gram.y"
{ (yyval.ival) = CAS_NO_INHERIT; ;}
break;
case 807:
#line 5723 "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 808:
#line 5734 "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 809:
#line 5746 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 810:
#line 5748 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 811:
#line 5753 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (5)].str), (Node *) (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)])); ;}
break;
case 812:
#line 5758 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 813:
#line 5760 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 814:
#line 5765 "gram.y"
{
AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
n->trigname = (yyvsp[(4) - (5)].str);
n->tgenabled = (yyvsp[(5) - (5)].chr);
(yyval.node) = (Node *) n;
;}
break;
case 815:
#line 5774 "gram.y"
{ (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; ;}
break;
case 816:
#line 5775 "gram.y"
{ (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; ;}
break;
case 817:
#line 5776 "gram.y"
{ (yyval.chr) = TRIGGER_FIRES_ALWAYS; ;}
break;
case 818:
#line 5777 "gram.y"
{ (yyval.chr) = TRIGGER_DISABLED; ;}
break;
case 819:
#line 5789 "gram.y"
{
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("CREATE ASSERTION is not yet implemented")));
(yyval.node) = NULL;
;}
break;
case 820:
#line 5808 "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 821:
#line 5819 "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 822:
#line 5831 "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 823:
#line 5841 "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 824:
#line 5851 "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 825:
#line 5862 "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 826:
#line 5871 "gram.y"
{
CreateEnumStmt *n = makeNode(CreateEnumStmt);
n->typeName = (yyvsp[(3) - (8)].list);
n->vals = (yyvsp[(7) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 827:
#line 5878 "gram.y"
{
CreateRangeStmt *n = makeNode(CreateRangeStmt);
n->typeName = (yyvsp[(3) - (6)].list);
n->params = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 828:
#line 5885 "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 829:
#line 5894 "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 830:
#line 5903 "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 831:
#line 5912 "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 832:
#line 5921 "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 833:
#line 5930 "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 834:
#line 5940 "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 835:
#line 5949 "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 836:
#line 5960 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 837:
#line 5963 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 838:
#line 5964 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 839:
#line 5968 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 840:
#line 5972 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL, (yylsp[(1) - (1)]));
;}
break;
case 841:
#line 5978 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(1) - (1)].typnam); ;}
break;
case 842:
#line 5979 "gram.y"
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;}
break;
case 843:
#line 5980 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(1) - (1)].list); ;}
break;
case 844:
#line 5981 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(1) - (1)].value); ;}
break;
case 845:
#line 5982 "gram.y"
{ (yyval.node) = (Node *)makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 846:
#line 5983 "gram.y"
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;}
break;
case 847:
#line 5986 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 848:
#line 5989 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 849:
#line 5990 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 850:
#line 5999 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)(yyvsp[(3) - (3)].node), (yylsp[(1) - (3)]));
;}
break;
case 851:
#line 6005 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 852:
#line 6006 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 853:
#line 6010 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 854:
#line 6012 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 855:
#line 6023 "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 856:
#line 6034 "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 857:
#line 6045 "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 858:
#line 6056 "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 859:
#line 6068 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 860:
#line 6069 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 861:
#line 6087 "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 862:
#line 6100 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 863:
#line 6101 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 864:
#line 6106 "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 865:
#line 6119 "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 866:
#line 6128 "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 867:
#line 6136 "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 868:
#line 6145 "gram.y"
{
CreateOpClassItem *n = makeNode(CreateOpClassItem);
n->itemtype = OPCLASS_ITEM_STORAGETYPE;
n->storedtype = (yyvsp[(2) - (2)].typnam);
(yyval.node) = (Node *) n;
;}
break;
case 869:
#line 6153 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 870:
#line 6154 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 871:
#line 6157 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 872:
#line 6158 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 873:
#line 6161 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 874:
#line 6162 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (4)].list); ;}
break;
case 875:
#line 6163 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 876:
#line 6167 "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 877:
#line 6180 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 878:
#line 6186 "gram.y"
{
CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
n->opfamilyname = (yyvsp[(4) - (6)].list);
n->amname = (yyvsp[(6) - (6)].str);
(yyval.node) = (Node *) n;
;}
break;
case 879:
#line 6196 "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 880:
#line 6205 "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 881:
#line 6216 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 882:
#line 6217 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 883:
#line 6222 "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 884:
#line 6230 "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 885:
#line 6242 "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 886:
#line 6252 "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 887:
#line 6265 "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 888:
#line 6275 "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 889:
#line 6297 "gram.y"
{
DropOwnedStmt *n = makeNode(DropOwnedStmt);
n->roles = (yyvsp[(4) - (5)].list);
n->behavior = (yyvsp[(5) - (5)].dbehavior);
(yyval.node) = (Node *)n;
;}
break;
case 890:
#line 6307 "gram.y"
{
ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
n->roles = (yyvsp[(4) - (6)].list);
n->newrole = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node *)n;
;}
break;
case 891:
#line 6325 "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 892:
#line 6335 "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 893:
#line 6345 "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 894:
#line 6355 "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 895:
#line 6365 "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 896:
#line 6375 "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 897:
#line 6385 "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 898:
#line 6395 "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 899:
#line 6405 "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 900:
#line 6415 "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 901:
#line 6425 "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 902:
#line 6435 "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 903:
#line 6448 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; ;}
break;
case 904:
#line 6449 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; ;}
break;
case 905:
#line 6450 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; ;}
break;
case 906:
#line 6451 "gram.y"
{ (yyval.objtype) = OBJECT_MATVIEW; ;}
break;
case 907:
#line 6452 "gram.y"
{ (yyval.objtype) = OBJECT_INDEX; ;}
break;
case 908:
#line 6453 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;}
break;
case 909:
#line 6454 "gram.y"
{ (yyval.objtype) = OBJECT_COLLATION; ;}
break;
case 910:
#line 6455 "gram.y"
{ (yyval.objtype) = OBJECT_CONVERSION; ;}
break;
case 911:
#line 6456 "gram.y"
{ (yyval.objtype) = OBJECT_STATISTIC_EXT; ;}
break;
case 912:
#line 6457 "gram.y"
{ (yyval.objtype) = OBJECT_TSPARSER; ;}
break;
case 913:
#line 6458 "gram.y"
{ (yyval.objtype) = OBJECT_TSDICTIONARY; ;}
break;
case 914:
#line 6459 "gram.y"
{ (yyval.objtype) = OBJECT_TSTEMPLATE; ;}
break;
case 915:
#line 6460 "gram.y"
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; ;}
break;
case 916:
#line 6465 "gram.y"
{ (yyval.objtype) = OBJECT_ACCESS_METHOD; ;}
break;
case 917:
#line 6466 "gram.y"
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;}
break;
case 918:
#line 6467 "gram.y"
{ (yyval.objtype) = OBJECT_EXTENSION; ;}
break;
case 919:
#line 6468 "gram.y"
{ (yyval.objtype) = OBJECT_FDW; ;}
break;
case 920:
#line 6469 "gram.y"
{ (yyval.objtype) = OBJECT_PUBLICATION; ;}
break;
case 921:
#line 6470 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; ;}
break;
case 922:
#line 6471 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_SERVER; ;}
break;
case 923:
#line 6476 "gram.y"
{ (yyval.objtype) = OBJECT_POLICY; ;}
break;
case 924:
#line 6477 "gram.y"
{ (yyval.objtype) = OBJECT_RULE; ;}
break;
case 925:
#line 6478 "gram.y"
{ (yyval.objtype) = OBJECT_TRIGGER; ;}
break;
case 926:
#line 6482 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
break;
case 927:
#line 6483 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
break;
case 928:
#line 6486 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 929:
#line 6487 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;}
break;
case 930:
#line 6491 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(2) - (2)].str))); ;}
break;
case 931:
#line 6493 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 932:
#line 6497 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;}
break;
case 933:
#line 6498 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;}
break;
case 934:
#line 6510 "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 935:
#line 6520 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 936:
#line 6521 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 937:
#line 6522 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 938:
#line 6557 "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 939:
#line 6565 "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 940:
#line 6573 "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 941:
#line 6581 "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 942:
#line 6589 "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 943:
#line 6597 "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 944:
#line 6605 "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 945:
#line 6613 "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 946:
#line 6621 "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 947:
#line 6634 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_POLICY;
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 948:
#line 6642 "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 949:
#line 6650 "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 950:
#line 6658 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_RULE;
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 951:
#line 6666 "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 952:
#line 6674 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_TRIGGER;
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 953:
#line 6682 "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 954:
#line 6690 "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 955:
#line 6698 "gram.y"
{
CommentStmt *n = makeNode(CommentStmt);
n->objtype = OBJECT_LARGEOBJECT;
n->object = (Node *) (yyvsp[(5) - (7)].value);
n->comment = (yyvsp[(7) - (7)].str);
(yyval.node) = (Node *) n;
;}
break;
case 956:
#line 6706 "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 957:
#line 6717 "gram.y"
{ (yyval.objtype) = OBJECT_COLUMN; ;}
break;
case 958:
#line 6718 "gram.y"
{ (yyval.objtype) = OBJECT_INDEX; ;}
break;
case 959:
#line 6719 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; ;}
break;
case 960:
#line 6720 "gram.y"
{ (yyval.objtype) = OBJECT_STATISTIC_EXT; ;}
break;
case 961:
#line 6721 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; ;}
break;
case 962:
#line 6722 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; ;}
break;
case 963:
#line 6723 "gram.y"
{ (yyval.objtype) = OBJECT_MATVIEW; ;}
break;
case 964:
#line 6724 "gram.y"
{ (yyval.objtype) = OBJECT_COLLATION; ;}
break;
case 965:
#line 6725 "gram.y"
{ (yyval.objtype) = OBJECT_CONVERSION; ;}
break;
case 966:
#line 6726 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;}
break;
case 967:
#line 6727 "gram.y"
{ (yyval.objtype) = OBJECT_TSCONFIGURATION; ;}
break;
case 968:
#line 6728 "gram.y"
{ (yyval.objtype) = OBJECT_TSDICTIONARY; ;}
break;
case 969:
#line 6729 "gram.y"
{ (yyval.objtype) = OBJECT_TSPARSER; ;}
break;
case 970:
#line 6730 "gram.y"
{ (yyval.objtype) = OBJECT_TSTEMPLATE; ;}
break;
case 971:
#line 6735 "gram.y"
{ (yyval.objtype) = OBJECT_ACCESS_METHOD; ;}
break;
case 972:
#line 6736 "gram.y"
{ (yyval.objtype) = OBJECT_DATABASE; ;}
break;
case 973:
#line 6737 "gram.y"
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;}
break;
case 974:
#line 6738 "gram.y"
{ (yyval.objtype) = OBJECT_EXTENSION; ;}
break;
case 975:
#line 6739 "gram.y"
{ (yyval.objtype) = OBJECT_FDW; ;}
break;
case 976:
#line 6740 "gram.y"
{ (yyval.objtype) = OBJECT_LANGUAGE; ;}
break;
case 977:
#line 6741 "gram.y"
{ (yyval.objtype) = OBJECT_PUBLICATION; ;}
break;
case 978:
#line 6742 "gram.y"
{ (yyval.objtype) = OBJECT_ROLE; ;}
break;
case 979:
#line 6743 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; ;}
break;
case 980:
#line 6744 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_SERVER; ;}
break;
case 981:
#line 6745 "gram.y"
{ (yyval.objtype) = OBJECT_SUBSCRIPTION; ;}
break;
case 982:
#line 6746 "gram.y"
{ (yyval.objtype) = OBJECT_TABLESPACE; ;}
break;
case 983:
#line 6750 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 984:
#line 6751 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 985:
#line 6767 "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 6777 "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 987:
#line 6787 "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 988:
#line 6797 "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 989:
#line 6807 "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 990:
#line 6817 "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 991:
#line 6827 "gram.y"
{
SecLabelStmt *n = makeNode(SecLabelStmt);
n->provider = (yyvsp[(3) - (9)].str);
n->objtype = OBJECT_LARGEOBJECT;
n->object = (Node *) (yyvsp[(7) - (9)].value);
n->label = (yyvsp[(9) - (9)].str);
(yyval.node) = (Node *) n;
;}
break;
case 992:
#line 6837 "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 993:
#line 6847 "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 994:
#line 6857 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 995:
#line 6858 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 996:
#line 6863 "gram.y"
{ (yyval.objtype) = OBJECT_COLUMN; ;}
break;
case 997:
#line 6864 "gram.y"
{ (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;}
break;
case 998:
#line 6865 "gram.y"
{ (yyval.objtype) = OBJECT_SEQUENCE; ;}
break;
case 999:
#line 6866 "gram.y"
{ (yyval.objtype) = OBJECT_TABLE; ;}
break;
case 1000:
#line 6867 "gram.y"
{ (yyval.objtype) = OBJECT_VIEW; ;}
break;
case 1001:
#line 6868 "gram.y"
{ (yyval.objtype) = OBJECT_MATVIEW; ;}
break;
case 1002:
#line 6873 "gram.y"
{ (yyval.objtype) = OBJECT_DATABASE; ;}
break;
case 1003:
#line 6874 "gram.y"
{ (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;}
break;
case 1004:
#line 6875 "gram.y"
{ (yyval.objtype) = OBJECT_LANGUAGE; ;}
break;
case 1005:
#line 6876 "gram.y"
{ (yyval.objtype) = OBJECT_PUBLICATION; ;}
break;
case 1006:
#line 6877 "gram.y"
{ (yyval.objtype) = OBJECT_ROLE; ;}
break;
case 1007:
#line 6878 "gram.y"
{ (yyval.objtype) = OBJECT_SCHEMA; ;}
break;
case 1008:
#line 6879 "gram.y"
{ (yyval.objtype) = OBJECT_SUBSCRIPTION; ;}
break;
case 1009:
#line 6880 "gram.y"
{ (yyval.objtype) = OBJECT_TABLESPACE; ;}
break;
case 1010:
#line 6883 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1011:
#line 6884 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1012:
#line 6895 "gram.y"
{
FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
n->ismove = false;
(yyval.node) = (Node *)n;
;}
break;
case 1013:
#line 6901 "gram.y"
{
FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
n->ismove = true;
(yyval.node) = (Node *)n;
;}
break;
case 1014:
#line 6909 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(1) - (1)].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 1015:
#line 6917 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(2) - (2)].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 1016:
#line 6925 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 1017:
#line 6933 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_BACKWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 1018:
#line 6941 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_ABSOLUTE;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 1019:
#line 6949 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_ABSOLUTE;
n->howMany = -1;
(yyval.node) = (Node *)n;
;}
break;
case 1020:
#line 6957 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
n->direction = FETCH_ABSOLUTE;
n->howMany = (yyvsp[(2) - (4)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 1021:
#line 6965 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
n->direction = FETCH_RELATIVE;
n->howMany = (yyvsp[(2) - (4)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 1022:
#line 6973 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_FORWARD;
n->howMany = (yyvsp[(1) - (3)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 1023:
#line 6981 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_FORWARD;
n->howMany = FETCH_ALL;
(yyval.node) = (Node *)n;
;}
break;
case 1024:
#line 6989 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_FORWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 1025:
#line 6997 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
n->direction = FETCH_FORWARD;
n->howMany = (yyvsp[(2) - (4)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 1026:
#line 7005 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
n->direction = FETCH_FORWARD;
n->howMany = FETCH_ALL;
(yyval.node) = (Node *)n;
;}
break;
case 1027:
#line 7013 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(3) - (3)].str);
n->direction = FETCH_BACKWARD;
n->howMany = 1;
(yyval.node) = (Node *)n;
;}
break;
case 1028:
#line 7021 "gram.y"
{
FetchStmt *n = makeNode(FetchStmt);
n->portalname = (yyvsp[(4) - (4)].str);
n->direction = FETCH_BACKWARD;
n->howMany = (yyvsp[(2) - (4)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 1029:
#line 7029 "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 1030:
#line 7038 "gram.y"
{;}
break;
case 1031:
#line 7039 "gram.y"
{;}
break;
case 1032:
#line 7042 "gram.y"
{;}
break;
case 1033:
#line 7043 "gram.y"
{;}
break;
case 1034:
#line 7055 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = true;
n->privileges = (yyvsp[(2) - (7)].list);
n->targtype = ((yyvsp[(4) - (7)].privtarget))->targtype;
n->objtype = ((yyvsp[(4) - (7)].privtarget))->objtype;
n->objects = ((yyvsp[(4) - (7)].privtarget))->objs;
n->grantees = (yyvsp[(6) - (7)].list);
n->grant_option = (yyvsp[(7) - (7)].boolean);
(yyval.node) = (Node*)n;
;}
break;
case 1035:
#line 7071 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->grant_option = false;
n->privileges = (yyvsp[(2) - (7)].list);
n->targtype = ((yyvsp[(4) - (7)].privtarget))->targtype;
n->objtype = ((yyvsp[(4) - (7)].privtarget))->objtype;
n->objects = ((yyvsp[(4) - (7)].privtarget))->objs;
n->grantees = (yyvsp[(6) - (7)].list);
n->behavior = (yyvsp[(7) - (7)].dbehavior);
(yyval.node) = (Node *)n;
;}
break;
case 1036:
#line 7085 "gram.y"
{
GrantStmt *n = makeNode(GrantStmt);
n->is_grant = false;
n->grant_option = true;
n->privileges = (yyvsp[(5) - (10)].list);
n->targtype = ((yyvsp[(7) - (10)].privtarget))->targtype;
n->objtype = ((yyvsp[(7) - (10)].privtarget))->objtype;
n->objects = ((yyvsp[(7) - (10)].privtarget))->objs;
n->grantees = (yyvsp[(9) - (10)].list);
n->behavior = (yyvsp[(10) - (10)].dbehavior);
(yyval.node) = (Node *)n;
;}
break;
case 1037:
#line 7110 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1038:
#line 7112 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1039:
#line 7114 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1040:
#line 7116 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[(3) - (4)].list);
(yyval.list) = list_make1(n);
;}
break;
case 1041:
#line 7123 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = NULL;
n->cols = (yyvsp[(4) - (5)].list);
(yyval.list) = list_make1(n);
;}
break;
case 1042:
#line 7131 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].accesspriv)); ;}
break;
case 1043:
#line 7132 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].accesspriv)); ;}
break;
case 1044:
#line 7136 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
n->cols = (yyvsp[(2) - (2)].list);
(yyval.accesspriv) = n;
;}
break;
case 1045:
#line 7143 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
n->cols = (yyvsp[(2) - (2)].list);
(yyval.accesspriv) = n;
;}
break;
case 1046:
#line 7150 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
n->cols = (yyvsp[(2) - (2)].list);
(yyval.accesspriv) = n;
;}
break;
case 1047:
#line 7157 "gram.y"
{
AccessPriv *n = makeNode(AccessPriv);
n->priv_name = (yyvsp[(1) - (2)].str);
n->cols = (yyvsp[(2) - (2)].list);
(yyval.accesspriv) = n;
;}
break;
case 1048:
#line 7171 "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 1049:
#line 7179 "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 1050:
#line 7187 "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 1051:
#line 7195 "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 1052:
#line 7203 "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 1053:
#line 7211 "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 1054:
#line 7219 "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 1055:
#line 7227 "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 1056:
#line 7235 "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 1057:
#line 7243 "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 1058:
#line 7251 "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 1059:
#line 7259 "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 1060:
#line 7267 "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 1061:
#line 7275 "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 1062:
#line 7283 "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 1063:
#line 7291 "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 1064:
#line 7299 "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 1065:
#line 7307 "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 1066:
#line 7315 "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 1067:
#line 7323 "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 1068:
#line 7334 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].rolespec)); ;}
break;
case 1069:
#line 7335 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].rolespec)); ;}
break;
case 1070:
#line 7339 "gram.y"
{ (yyval.rolespec) = (yyvsp[(1) - (1)].rolespec); ;}
break;
case 1071:
#line 7340 "gram.y"
{ (yyval.rolespec) = (yyvsp[(2) - (2)].rolespec); ;}
break;
case 1072:
#line 7345 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1073:
#line 7346 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1074:
#line 7357 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = true;
n->granted_roles = (yyvsp[(2) - (6)].list);
n->grantee_roles = (yyvsp[(4) - (6)].list);
n->admin_opt = (yyvsp[(5) - (6)].boolean);
n->grantor = (yyvsp[(6) - (6)].rolespec);
(yyval.node) = (Node*)n;
;}
break;
case 1075:
#line 7370 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
n->admin_opt = false;
n->granted_roles = (yyvsp[(2) - (6)].list);
n->grantee_roles = (yyvsp[(4) - (6)].list);
n->behavior = (yyvsp[(6) - (6)].dbehavior);
(yyval.node) = (Node*)n;
;}
break;
case 1076:
#line 7380 "gram.y"
{
GrantRoleStmt *n = makeNode(GrantRoleStmt);
n->is_grant = false;
n->admin_opt = true;
n->granted_roles = (yyvsp[(5) - (9)].list);
n->grantee_roles = (yyvsp[(7) - (9)].list);
n->behavior = (yyvsp[(9) - (9)].dbehavior);
(yyval.node) = (Node*)n;
;}
break;
case 1077:
#line 7391 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1078:
#line 7392 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1079:
#line 7395 "gram.y"
{ (yyval.rolespec) = (yyvsp[(3) - (3)].rolespec); ;}
break;
case 1080:
#line 7396 "gram.y"
{ (yyval.rolespec) = NULL; ;}
break;
case 1081:
#line 7407 "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 1082:
#line 7416 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1083:
#line 7417 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1084:
#line 7422 "gram.y"
{
(yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 1085:
#line 7426 "gram.y"
{
(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 1086:
#line 7430 "gram.y"
{
(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[(3) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 1087:
#line 7442 "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 1088:
#line 7455 "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 1089:
#line 7469 "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 1090:
#line 7484 "gram.y"
{ (yyval.ival) = OBJECT_TABLE; ;}
break;
case 1091:
#line 7485 "gram.y"
{ (yyval.ival) = OBJECT_FUNCTION; ;}
break;
case 1092:
#line 7486 "gram.y"
{ (yyval.ival) = OBJECT_FUNCTION; ;}
break;
case 1093:
#line 7487 "gram.y"
{ (yyval.ival) = OBJECT_SEQUENCE; ;}
break;
case 1094:
#line 7488 "gram.y"
{ (yyval.ival) = OBJECT_TYPE; ;}
break;
case 1095:
#line 7489 "gram.y"
{ (yyval.ival) = OBJECT_SCHEMA; ;}
break;
case 1096:
#line 7504 "gram.y"
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = (yyvsp[(2) - (15)].boolean);
n->concurrent = (yyvsp[(4) - (15)].boolean);
n->idxname = (yyvsp[(5) - (15)].str);
n->relation = (yyvsp[(7) - (15)].range);
n->accessMethod = (yyvsp[(8) - (15)].str);
n->indexParams = (yyvsp[(10) - (15)].list);
n->indexIncludingParams = (yyvsp[(12) - (15)].list);
n->options = (yyvsp[(13) - (15)].list);
n->tableSpace = (yyvsp[(14) - (15)].str);
n->whereClause = (yyvsp[(15) - (15)].node);
n->excludeOpNames = NIL;
n->idxcomment = NULL;
n->indexOid = InvalidOid;
n->oldNode = InvalidOid;
n->oldCreateSubid = InvalidSubTransactionId;
n->oldFirstRelfilenodeSubid = 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 1097:
#line 7534 "gram.y"
{
IndexStmt *n = makeNode(IndexStmt);
n->unique = (yyvsp[(2) - (18)].boolean);
n->concurrent = (yyvsp[(4) - (18)].boolean);
n->idxname = (yyvsp[(8) - (18)].str);
n->relation = (yyvsp[(10) - (18)].range);
n->accessMethod = (yyvsp[(11) - (18)].str);
n->indexParams = (yyvsp[(13) - (18)].list);
n->indexIncludingParams = (yyvsp[(15) - (18)].list);
n->options = (yyvsp[(16) - (18)].list);
n->tableSpace = (yyvsp[(17) - (18)].str);
n->whereClause = (yyvsp[(18) - (18)].node);
n->excludeOpNames = NIL;
n->idxcomment = NULL;
n->indexOid = InvalidOid;
n->oldNode = InvalidOid;
n->oldCreateSubid = InvalidSubTransactionId;
n->oldFirstRelfilenodeSubid = 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 1098:
#line 7564 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1099:
#line 7565 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1100:
#line 7569 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1101:
#line 7570 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1102:
#line 7574 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1103:
#line 7575 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1104:
#line 7579 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1105:
#line 7580 "gram.y"
{ (yyval.str) = DEFAULT_INDEX_TYPE; ;}
break;
case 1106:
#line 7583 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); ;}
break;
case 1107:
#line 7584 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); ;}
break;
case 1108:
#line 7590 "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 1109:
#line 7602 "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 1110:
#line 7621 "gram.y"
{
(yyval.ielem) = (yyvsp[(2) - (2)].ielem);
(yyval.ielem)->name = (yyvsp[(1) - (2)].str);
;}
break;
case 1111:
#line 7626 "gram.y"
{
(yyval.ielem) = (yyvsp[(2) - (2)].ielem);
(yyval.ielem)->expr = (yyvsp[(1) - (2)].node);
;}
break;
case 1112:
#line 7631 "gram.y"
{
(yyval.ielem) = (yyvsp[(4) - (4)].ielem);
(yyval.ielem)->expr = (yyvsp[(2) - (4)].node);
;}
break;
case 1113:
#line 7637 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1114:
#line 7638 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1115:
#line 7641 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); ;}
break;
case 1116:
#line 7642 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); ;}
break;
case 1117:
#line 7645 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1118:
#line 7646 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1119:
#line 7649 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1120:
#line 7650 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1121:
#line 7653 "gram.y"
{ (yyval.ival) = SORTBY_ASC; ;}
break;
case 1122:
#line 7654 "gram.y"
{ (yyval.ival) = SORTBY_DESC; ;}
break;
case 1123:
#line 7655 "gram.y"
{ (yyval.ival) = SORTBY_DEFAULT; ;}
break;
case 1124:
#line 7658 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_FIRST; ;}
break;
case 1125:
#line 7659 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_LAST; ;}
break;
case 1126:
#line 7660 "gram.y"
{ (yyval.ival) = SORTBY_NULLS_DEFAULT; ;}
break;
case 1127:
#line 7678 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->is_procedure = false;
n->replace = (yyvsp[(2) - (8)].boolean);
n->funcname = (yyvsp[(4) - (8)].list);
n->parameters = (yyvsp[(5) - (8)].list);
n->returnType = (yyvsp[(7) - (8)].typnam);
n->options = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1128:
#line 7690 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->is_procedure = false;
n->replace = (yyvsp[(2) - (11)].boolean);
n->funcname = (yyvsp[(4) - (11)].list);
n->parameters = mergeTableFuncParameters((yyvsp[(5) - (11)].list), (yyvsp[(9) - (11)].list));
n->returnType = TableFuncTypeName((yyvsp[(9) - (11)].list));
n->returnType->location = (yylsp[(7) - (11)]);
n->options = (yyvsp[(11) - (11)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1129:
#line 7703 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->is_procedure = false;
n->replace = (yyvsp[(2) - (6)].boolean);
n->funcname = (yyvsp[(4) - (6)].list);
n->parameters = (yyvsp[(5) - (6)].list);
n->returnType = NULL;
n->options = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1130:
#line 7715 "gram.y"
{
CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
n->is_procedure = true;
n->replace = (yyvsp[(2) - (6)].boolean);
n->funcname = (yyvsp[(4) - (6)].list);
n->parameters = (yyvsp[(5) - (6)].list);
n->returnType = NULL;
n->options = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1131:
#line 7728 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1132:
#line 7729 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1133:
#line 7732 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1134:
#line 7733 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1135:
#line 7737 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
break;
case 1136:
#line 7738 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
break;
case 1137:
#line 7742 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;}
break;
case 1138:
#line 7744 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;}
break;
case 1139:
#line 7749 "gram.y"
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[(1) - (2)].list);
n->objargs = extractArgTypes((yyvsp[(2) - (2)].list));
(yyval.objwithargs) = n;
;}
break;
case 1140:
#line 7761 "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 1141:
#line 7768 "gram.y"
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = list_make1(makeString((yyvsp[(1) - (1)].str)));
n->args_unspecified = true;
(yyval.objwithargs) = n;
;}
break;
case 1142:
#line 7775 "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 1143:
#line 7789 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1144:
#line 7790 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1145:
#line 7794 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
break;
case 1146:
#line 7796 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
break;
case 1147:
#line 7811 "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 1148:
#line 7820 "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 1149:
#line 7829 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = (yyvsp[(1) - (2)].str);
n->argType = (yyvsp[(2) - (2)].typnam);
n->mode = FUNC_PARAM_IN;
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1150:
#line 7838 "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 1151:
#line 7847 "gram.y"
{
FunctionParameter *n = makeNode(FunctionParameter);
n->name = NULL;
n->argType = (yyvsp[(1) - (1)].typnam);
n->mode = FUNC_PARAM_IN;
n->defexpr = NULL;
(yyval.fun_param) = n;
;}
break;
case 1152:
#line 7858 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_IN; ;}
break;
case 1153:
#line 7859 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_OUT; ;}
break;
case 1154:
#line 7860 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;}
break;
case 1155:
#line 7861 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;}
break;
case 1156:
#line 7862 "gram.y"
{ (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; ;}
break;
case 1158:
#line 7873 "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 1159:
#line 7887 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1160:
#line 7889 "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 1161:
#line 7895 "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 1162:
#line 7905 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (1)].fun_param);
;}
break;
case 1163:
#line 7909 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
;}
break;
case 1164:
#line 7914 "gram.y"
{
(yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
(yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
;}
break;
case 1165:
#line 7922 "gram.y"
{
if (!((yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_IN ||
(yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_VARIADIC))
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("aggregates cannot have output arguments"),
parser_errposition((yylsp[(1) - (1)]))));
(yyval.fun_param) = (yyvsp[(1) - (1)].fun_param);
;}
break;
case 1166:
#line 7963 "gram.y"
{
(yyval.list) = list_make2(NIL, makeInteger(-1));
;}
break;
case 1167:
#line 7967 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(2) - (3)].list), makeInteger(-1));
;}
break;
case 1168:
#line 7971 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(4) - (5)].list), makeInteger(0));
;}
break;
case 1169:
#line 7975 "gram.y"
{
/* this is the only case requiring consistency checking */
(yyval.list) = makeOrderedSetArgs((yyvsp[(2) - (6)].list), (yyvsp[(5) - (6)].list), yyscanner);
;}
break;
case 1170:
#line 7982 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
break;
case 1171:
#line 7983 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
break;
case 1172:
#line 7988 "gram.y"
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[(1) - (2)].list);
n->objargs = extractAggrArgTypes((yyvsp[(2) - (2)].list));
(yyval.objwithargs) = n;
;}
break;
case 1173:
#line 7997 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;}
break;
case 1174:
#line 7999 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;}
break;
case 1175:
#line 8004 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1176:
#line 8005 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1177:
#line 8013 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(false), (yylsp[(1) - (4)]));
;}
break;
case 1178:
#line 8017 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[(1) - (5)]));
;}
break;
case 1179:
#line 8021 "gram.y"
{
(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
;}
break;
case 1180:
#line 8025 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"), (yylsp[(1) - (1)]));
;}
break;
case 1181:
#line 8029 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"), (yylsp[(1) - (1)]));
;}
break;
case 1182:
#line 8033 "gram.y"
{
(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"), (yylsp[(1) - (1)]));
;}
break;
case 1183:
#line 8037 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[(1) - (3)]));
;}
break;
case 1184:
#line 8041 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[(1) - (3)]));
;}
break;
case 1185:
#line 8045 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[(1) - (2)]));
;}
break;
case 1186:
#line 8049 "gram.y"
{
(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[(1) - (2)]));
;}
break;
case 1187:
#line 8053 "gram.y"
{
(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
;}
break;
case 1188:
#line 8057 "gram.y"
{
(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(false), (yylsp[(1) - (2)]));
;}
break;
case 1189:
#line 8061 "gram.y"
{
(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[(2) - (2)].value), (yylsp[(1) - (2)]));
;}
break;
case 1190:
#line 8065 "gram.y"
{
(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[(2) - (2)].value), (yylsp[(1) - (2)]));
;}
break;
case 1191:
#line 8069 "gram.y"
{
(yyval.defelt) = makeDefElem("support", (Node *)(yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 1192:
#line 8073 "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 1193:
#line 8078 "gram.y"
{
(yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 1194:
#line 8085 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 1195:
#line 8089 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 1196:
#line 8093 "gram.y"
{
(yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]));
;}
break;
case 1197:
#line 8097 "gram.y"
{
(yyval.defelt) = makeDefElem("window", (Node *)makeInteger(true), (yylsp[(1) - (1)]));
;}
break;
case 1198:
#line 8101 "gram.y"
{
(yyval.defelt) = (yyvsp[(1) - (1)].defelt);
;}
break;
case 1199:
#line 8106 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 1200:
#line 8108 "gram.y"
{
(yyval.list) = list_make2(makeString((yyvsp[(1) - (3)].str)), makeString((yyvsp[(3) - (3)].str)));
;}
break;
case 1201:
#line 8114 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(3) - (3)].typnam)); ;}
break;
case 1202:
#line 8115 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (5)].list), (yyvsp[(5) - (5)].typnam)); ;}
break;
case 1203:
#line 8119 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1204:
#line 8120 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1205:
#line 8124 "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 1206:
#line 8136 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param));
;}
break;
case 1207:
#line 8140 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param));
;}
break;
case 1208:
#line 8155 "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 1209:
#line 8163 "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 1210:
#line 8171 "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 1211:
#line 8182 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1212:
#line 8183 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1215:
#line 8207 "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 1216:
#line 8217 "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 1217:
#line 8227 "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 1218:
#line 8237 "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 1219:
#line 8247 "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 1220:
#line 8257 "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 1221:
#line 8270 "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 1222:
#line 8280 "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 1223:
#line 8293 "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 1224:
#line 8303 "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 1225:
#line 8316 "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 1226:
#line 8324 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), (yyvsp[(4) - (5)].typnam)); ;}
break;
case 1227:
#line 8326 "gram.y"
{ (yyval.list) = list_make2(NULL, (yyvsp[(4) - (5)].typnam)); ;}
break;
case 1228:
#line 8328 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), NULL); ;}
break;
case 1229:
#line 8333 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 1230:
#line 8335 "gram.y"
{ (yyval.list) = lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(3) - (3)].list)); ;}
break;
case 1231:
#line 8339 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].objwithargs)); ;}
break;
case 1232:
#line 8341 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].objwithargs)); ;}
break;
case 1233:
#line 8346 "gram.y"
{
ObjectWithArgs *n = makeNode(ObjectWithArgs);
n->objname = (yyvsp[(1) - (2)].list);
n->objargs = (yyvsp[(2) - (2)].list);
(yyval.objwithargs) = n;
;}
break;
case 1234:
#line 8364 "gram.y"
{
DoStmt *n = makeNode(DoStmt);
n->args = (yyvsp[(2) - (2)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1235:
#line 8372 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1236:
#line 8373 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1237:
#line 8378 "gram.y"
{
(yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[(1) - (1)].str)), (yylsp[(1) - (1)]));
;}
break;
case 1238:
#line 8382 "gram.y"
{
(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[(2) - (2)].str)), (yylsp[(1) - (2)]));
;}
break;
case 1239:
#line 8395 "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 1240:
#line 8406 "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 1241:
#line 8417 "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 1242:
#line 8428 "gram.y"
{ (yyval.ival) = COERCION_IMPLICIT; ;}
break;
case 1243:
#line 8429 "gram.y"
{ (yyval.ival) = COERCION_ASSIGNMENT; ;}
break;
case 1244:
#line 8430 "gram.y"
{ (yyval.ival) = COERCION_EXPLICIT; ;}
break;
case 1245:
#line 8435 "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 1246:
#line 8446 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1247:
#line 8447 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1248:
#line 8458 "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 1249:
#line 8470 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(5) - (11)].objwithargs), (yyvsp[(11) - (11)].objwithargs));
;}
break;
case 1250:
#line 8474 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(11) - (11)].objwithargs), (yyvsp[(5) - (11)].objwithargs));
;}
break;
case 1251:
#line 8478 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(5) - (5)].objwithargs), NULL);
;}
break;
case 1252:
#line 8482 "gram.y"
{
(yyval.list) = list_make2(NULL, (yyvsp[(5) - (5)].objwithargs));
;}
break;
case 1253:
#line 8489 "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 1254:
#line 8509 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[(2) - (4)].ival);
n->concurrent = (yyvsp[(3) - (4)].boolean);
n->relation = (yyvsp[(4) - (4)].range);
n->name = NULL;
n->options = 0;
(yyval.node) = (Node *)n;
;}
break;
case 1255:
#line 8519 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[(2) - (4)].ival);
n->concurrent = (yyvsp[(3) - (4)].boolean);
n->name = (yyvsp[(4) - (4)].str);
n->relation = NULL;
n->options = 0;
(yyval.node) = (Node *)n;
;}
break;
case 1256:
#line 8529 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[(5) - (7)].ival);
n->concurrent = (yyvsp[(6) - (7)].boolean);
n->relation = (yyvsp[(7) - (7)].range);
n->name = NULL;
n->options = (yyvsp[(3) - (7)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 1257:
#line 8539 "gram.y"
{
ReindexStmt *n = makeNode(ReindexStmt);
n->kind = (yyvsp[(5) - (7)].ival);
n->concurrent = (yyvsp[(6) - (7)].boolean);
n->name = (yyvsp[(7) - (7)].str);
n->relation = NULL;
n->options = (yyvsp[(3) - (7)].ival);
(yyval.node) = (Node *)n;
;}
break;
case 1258:
#line 8550 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_INDEX; ;}
break;
case 1259:
#line 8551 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_TABLE; ;}
break;
case 1260:
#line 8554 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_SCHEMA; ;}
break;
case 1261:
#line 8555 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_SYSTEM; ;}
break;
case 1262:
#line 8556 "gram.y"
{ (yyval.ival) = REINDEX_OBJECT_DATABASE; ;}
break;
case 1263:
#line 8559 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
break;
case 1264:
#line 8560 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); ;}
break;
case 1265:
#line 8563 "gram.y"
{ (yyval.ival) = REINDEXOPT_VERBOSE; ;}
break;
case 1266:
#line 8574 "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 1267:
#line 8583 "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 1268:
#line 8600 "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 1269:
#line 8609 "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 1270:
#line 8618 "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 1271:
#line 8627 "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 1272:
#line 8636 "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 1273:
#line 8645 "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 1274:
#line 8654 "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 1275:
#line 8663 "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 1276:
#line 8672 "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 1277:
#line 8681 "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 1278:
#line 8690 "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 1279:
#line 8699 "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 1280:
#line 8708 "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 1281:
#line 8718 "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 1282:
#line 8728 "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 1283:
#line 8737 "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 1284:
#line 8746 "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 1285:
#line 8755 "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 1286:
#line 8764 "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 1287:
#line 8773 "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 1288:
#line 8782 "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 1289:
#line 8792 "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 1290:
#line 8802 "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 1291:
#line 8812 "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 1292:
#line 8822 "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 1293:
#line 8832 "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 1294:
#line 8842 "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 1295:
#line 8852 "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 1296:
#line 8862 "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 1297:
#line 8872 "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 1298:
#line 8882 "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 1299:
#line 8892 "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 1300:
#line 8902 "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 1301:
#line 8913 "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 1302:
#line 8924 "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 1303:
#line 8935 "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 1304:
#line 8946 "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 1305:
#line 8957 "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 1306:
#line 8968 "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 1307:
#line 8978 "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 1308:
#line 8988 "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 1309:
#line 8999 "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 1310:
#line 9010 "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 1311:
#line 9020 "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 1312:
#line 9030 "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 1313:
#line 9038 "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 1314:
#line 9047 "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 9056 "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 1316:
#line 9065 "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 1317:
#line 9074 "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 1318:
#line 9083 "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 1319:
#line 9092 "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 1320:
#line 9101 "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 1321:
#line 9110 "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 1322:
#line 9119 "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 1323:
#line 9132 "gram.y"
{ (yyval.ival) = COLUMN; ;}
break;
case 1324:
#line 9133 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1325:
#line 9136 "gram.y"
{ (yyval.ival) = 1; ;}
break;
case 1326:
#line 9137 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1327:
#line 9148 "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 1328:
#line 9157 "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 1329:
#line 9166 "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 1330:
#line 9175 "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 1331:
#line 9185 "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 1332:
#line 9194 "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 1333:
#line 9204 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1334:
#line 9205 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1335:
#line 9216 "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 1336:
#line 9225 "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 1337:
#line 9234 "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 1338:
#line 9243 "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 1339:
#line 9252 "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 1340:
#line 9261 "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 1341:
#line 9270 "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 1342:
#line 9279 "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 1343:
#line 9288 "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 1344:
#line 9297 "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 1345:
#line 9306 "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 1346:
#line 9315 "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 1347:
#line 9324 "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 1348:
#line 9333 "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 1349:
#line 9342 "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 1350:
#line 9351 "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 1351:
#line 9360 "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 1352:
#line 9369 "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 1353:
#line 9378 "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 1354:
#line 9387 "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 1355:
#line 9396 "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 1356:
#line 9405 "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 1357:
#line 9414 "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 1358:
#line 9423 "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 1359:
#line 9432 "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 1360:
#line 9441 "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 1361:
#line 9450 "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 1362:
#line 9468 "gram.y"
{
AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
n->opername = (yyvsp[(3) - (7)].objwithargs);
n->options = (yyvsp[(6) - (7)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1363:
#line 9476 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1364:
#line 9477 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 1365:
#line 9481 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL, (yylsp[(1) - (3)])); ;}
break;
case 1366:
#line 9483 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node), (yylsp[(1) - (3)])); ;}
break;
case 1367:
#line 9488 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(1) - (1)].typnam); ;}
break;
case 1368:
#line 9489 "gram.y"
{ (yyval.node) = (Node *)makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;}
break;
case 1369:
#line 9490 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(1) - (1)].list); ;}
break;
case 1370:
#line 9491 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(1) - (1)].value); ;}
break;
case 1371:
#line 9492 "gram.y"
{ (yyval.node) = (Node *)makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 1372:
#line 9505 "gram.y"
{
AlterTypeStmt *n = makeNode(AlterTypeStmt);
n->typeName = (yyvsp[(3) - (7)].list);
n->options = (yyvsp[(6) - (7)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1373:
#line 9520 "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 1374:
#line 9528 "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 1375:
#line 9536 "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 1376:
#line 9544 "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 1377:
#line 9552 "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 1378:
#line 9560 "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 1379:
#line 9568 "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 1380:
#line 9576 "gram.y"
{
AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
n->objectType = OBJECT_LARGEOBJECT;
n->object = (Node *) (yyvsp[(4) - (7)].value);
n->newowner = (yyvsp[(7) - (7)].rolespec);
(yyval.node) = (Node *)n;
;}
break;
case 1381:
#line 9584 "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 1382:
#line 9592 "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 1383:
#line 9600 "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 1384:
#line 9608 "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 1385:
#line 9616 "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 1386:
#line 9624 "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 1387:
#line 9632 "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 1388:
#line 9640 "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 1389:
#line 9648 "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 1390:
#line 9656 "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 1391:
#line 9664 "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 1392:
#line 9672 "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 1393:
#line 9680 "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 1394:
#line 9688 "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 1395:
#line 9696 "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 1396:
#line 9704 "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 1397:
#line 9722 "gram.y"
{
CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
n->pubname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
if ((yyvsp[(4) - (5)].node) != NULL)
{
/* FOR TABLE */
if (IsA((yyvsp[(4) - (5)].node), List))
n->tables = (List *)(yyvsp[(4) - (5)].node);
/* FOR ALL TABLES */
else
n->for_all_tables = true;
}
(yyval.node) = (Node *)n;
;}
break;
case 1398:
#line 9740 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1399:
#line 9741 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1400:
#line 9746 "gram.y"
{
(yyval.node) = (Node *) (yyvsp[(3) - (3)].list);
;}
break;
case 1401:
#line 9750 "gram.y"
{
(yyval.node) = (Node *) makeInteger(true);
;}
break;
case 1402:
#line 9770 "gram.y"
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1403:
#line 9777 "gram.y"
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[(3) - (6)].str);
n->tables = (yyvsp[(6) - (6)].list);
n->tableAction = DEFELEM_ADD;
(yyval.node) = (Node *)n;
;}
break;
case 1404:
#line 9785 "gram.y"
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[(3) - (6)].str);
n->tables = (yyvsp[(6) - (6)].list);
n->tableAction = DEFELEM_SET;
(yyval.node) = (Node *)n;
;}
break;
case 1405:
#line 9793 "gram.y"
{
AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
n->pubname = (yyvsp[(3) - (6)].str);
n->tables = (yyvsp[(6) - (6)].list);
n->tableAction = DEFELEM_DROP;
(yyval.node) = (Node *)n;
;}
break;
case 1406:
#line 9810 "gram.y"
{
CreateSubscriptionStmt *n =
makeNode(CreateSubscriptionStmt);
n->subname = (yyvsp[(3) - (8)].str);
n->conninfo = (yyvsp[(5) - (8)].str);
n->publication = (yyvsp[(7) - (8)].list);
n->options = (yyvsp[(8) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1407:
#line 9823 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].value));
;}
break;
case 1408:
#line 9827 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].value));
;}
break;
case 1409:
#line 9833 "gram.y"
{ (yyval.value) = makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 1410:
#line 9843 "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 1411:
#line 9852 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_CONNECTION;
n->subname = (yyvsp[(3) - (5)].str);
n->conninfo = (yyvsp[(5) - (5)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1412:
#line 9861 "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 1413:
#line 9870 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_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 1414:
#line 9880 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_ENABLED;
n->subname = (yyvsp[(3) - (4)].str);
n->options = list_make1(makeDefElem("enabled",
(Node *)makeInteger(true), (yylsp[(1) - (4)])));
(yyval.node) = (Node *)n;
;}
break;
case 1415:
#line 9890 "gram.y"
{
AlterSubscriptionStmt *n =
makeNode(AlterSubscriptionStmt);
n->kind = ALTER_SUBSCRIPTION_ENABLED;
n->subname = (yyvsp[(3) - (4)].str);
n->options = list_make1(makeDefElem("enabled",
(Node *)makeInteger(false), (yylsp[(1) - (4)])));
(yyval.node) = (Node *)n;
;}
break;
case 1416:
#line 9908 "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 1417:
#line 9916 "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 1418:
#line 9934 "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 1419:
#line 9948 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1420:
#line 9949 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1421:
#line 9950 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1422:
#line 9956 "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 1423:
#line 9962 "gram.y"
{ if ((yyvsp[(1) - (1)].node) != NULL)
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
else
(yyval.list) = NIL;
;}
break;
case 1429:
#line 9978 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1430:
#line 9979 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1431:
#line 9982 "gram.y"
{ (yyval.ival) = CMD_SELECT; ;}
break;
case 1432:
#line 9983 "gram.y"
{ (yyval.ival) = CMD_UPDATE; ;}
break;
case 1433:
#line 9984 "gram.y"
{ (yyval.ival) = CMD_DELETE; ;}
break;
case 1434:
#line 9985 "gram.y"
{ (yyval.ival) = CMD_INSERT; ;}
break;
case 1435:
#line 9989 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1436:
#line 9990 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1437:
#line 9991 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1438:
#line 10004 "gram.y"
{
NotifyStmt *n = makeNode(NotifyStmt);
n->conditionname = (yyvsp[(2) - (3)].str);
n->payload = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1439:
#line 10013 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1440:
#line 10014 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1441:
#line 10018 "gram.y"
{
ListenStmt *n = makeNode(ListenStmt);
n->conditionname = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1442:
#line 10027 "gram.y"
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1443:
#line 10033 "gram.y"
{
UnlistenStmt *n = makeNode(UnlistenStmt);
n->conditionname = NULL;
(yyval.node) = (Node *)n;
;}
break;
case 1444:
#line 10052 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
n->options = NIL;
n->chain = (yyvsp[(3) - (3)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 1445:
#line 10060 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_BEGIN;
n->options = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1446:
#line 10067 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_START;
n->options = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1447:
#line 10074 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
n->options = NIL;
n->chain = (yyvsp[(3) - (3)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 1448:
#line 10082 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT;
n->options = NIL;
n->chain = (yyvsp[(3) - (3)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 1449:
#line 10090 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK;
n->options = NIL;
n->chain = (yyvsp[(3) - (3)].boolean);
(yyval.node) = (Node *)n;
;}
break;
case 1450:
#line 10098 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_SAVEPOINT;
n->savepoint_name = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1451:
#line 10105 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
n->savepoint_name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1452:
#line 10112 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_RELEASE;
n->savepoint_name = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1453:
#line 10119 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
n->savepoint_name = (yyvsp[(5) - (5)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1454:
#line 10126 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_TO;
n->savepoint_name = (yyvsp[(4) - (4)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1455:
#line 10133 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_PREPARE;
n->gid = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1456:
#line 10140 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_COMMIT_PREPARED;
n->gid = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1457:
#line 10147 "gram.y"
{
TransactionStmt *n = makeNode(TransactionStmt);
n->kind = TRANS_STMT_ROLLBACK_PREPARED;
n->gid = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1458:
#line 10155 "gram.y"
{;}
break;
case 1459:
#line 10156 "gram.y"
{;}
break;
case 1460:
#line 10157 "gram.y"
{;}
break;
case 1461:
#line 10162 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_isolation",
makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)])), (yylsp[(1) - (3)])); ;}
break;
case 1462:
#line 10165 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(true, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;}
break;
case 1463:
#line 10168 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_read_only",
makeIntConst(false, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;}
break;
case 1464:
#line 10171 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(true, (yylsp[(1) - (1)])), (yylsp[(1) - (1)])); ;}
break;
case 1465:
#line 10174 "gram.y"
{ (yyval.defelt) = makeDefElem("transaction_deferrable",
makeIntConst(false, (yylsp[(1) - (2)])), (yylsp[(1) - (2)])); ;}
break;
case 1466:
#line 10181 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1467:
#line 10183 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
break;
case 1468:
#line 10185 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1470:
#line 10191 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1471:
#line 10195 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1472:
#line 10196 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1473:
#line 10197 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1474:
#line 10211 "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 1475:
#line 10224 "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 1476:
#line 10237 "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 1477:
#line 10255 "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 1478:
#line 10274 "gram.y"
{ (yyval.ival) = CASCADED_CHECK_OPTION; ;}
break;
case 1479:
#line 10275 "gram.y"
{ (yyval.ival) = CASCADED_CHECK_OPTION; ;}
break;
case 1480:
#line 10276 "gram.y"
{ (yyval.ival) = LOCAL_CHECK_OPTION; ;}
break;
case 1481:
#line 10277 "gram.y"
{ (yyval.ival) = NO_CHECK_OPTION; ;}
break;
case 1482:
#line 10288 "gram.y"
{
LoadStmt *n = makeNode(LoadStmt);
n->filename = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *)n;
;}
break;
case 1483:
#line 10304 "gram.y"
{
CreatedbStmt *n = makeNode(CreatedbStmt);
n->dbname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1484:
#line 10313 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1485:
#line 10314 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1486:
#line 10318 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1487:
#line 10319 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1488:
#line 10324 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)makeInteger((yyvsp[(3) - (3)].ival)), (yylsp[(1) - (3)]));
;}
break;
case 1489:
#line 10328 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)makeString((yyvsp[(3) - (3)].str)), (yylsp[(1) - (3)]));
;}
break;
case 1490:
#line 10332 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL, (yylsp[(1) - (3)]));
;}
break;
case 1491:
#line 10349 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1492:
#line 10350 "gram.y"
{ (yyval.str) = pstrdup("connection_limit"); ;}
break;
case 1493:
#line 10351 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1494:
#line 10352 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1495:
#line 10353 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1496:
#line 10354 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1497:
#line 10355 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 1498:
#line 10362 "gram.y"
{;}
break;
case 1499:
#line 10363 "gram.y"
{;}
break;
case 1500:
#line 10375 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[(3) - (5)].str);
n->options = (yyvsp[(5) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1501:
#line 10382 "gram.y"
{
AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
n->dbname = (yyvsp[(3) - (4)].str);
n->options = (yyvsp[(4) - (4)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1502:
#line 10389 "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 1503:
#line 10400 "gram.y"
{
AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
n->dbname = (yyvsp[(3) - (4)].str);
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *)n;
;}
break;
case 1504:
#line 10417 "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 1505:
#line 10425 "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 1506:
#line 10433 "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 1507:
#line 10441 "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 1508:
#line 10452 "gram.y"
{
(yyval.list) = list_make1((Node *) (yyvsp[(1) - (1)].defelt));
;}
break;
case 1509:
#line 10456 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (Node *) (yyvsp[(3) - (3)].defelt));
;}
break;
case 1510:
#line 10467 "gram.y"
{
(yyval.defelt) = makeDefElem("force", NULL, (yylsp[(1) - (1)]));
;}
break;
case 1511:
#line 10479 "gram.y"
{
AlterCollationStmt *n = makeNode(AlterCollationStmt);
n->collname = (yyvsp[(3) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1512:
#line 10496 "gram.y"
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *)n;
;}
break;
case 1513:
#line 10502 "gram.y"
{
AlterSystemStmt *n = makeNode(AlterSystemStmt);
n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
(yyval.node) = (Node *)n;
;}
break;
case 1514:
#line 10518 "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 1515:
#line 10531 "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 1516:
#line 10540 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'N';
n->typeName = (yyvsp[(3) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1517:
#line 10548 "gram.y"
{
AlterDomainStmt *n = makeNode(AlterDomainStmt);
n->subtype = 'O';
n->typeName = (yyvsp[(3) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1518:
#line 10556 "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 1519:
#line 10565 "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 1520:
#line 10576 "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 1521:
#line 10587 "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 1522:
#line 10596 "gram.y"
{;}
break;
case 1523:
#line 10597 "gram.y"
{;}
break;
case 1524:
#line 10609 "gram.y"
{
AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
n->dictname = (yyvsp[(5) - (6)].list);
n->options = (yyvsp[(6) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1525:
#line 10619 "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 1526:
#line 10630 "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 1527:
#line 10641 "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 1528:
#line 10652 "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 1529:
#line 10663 "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 1530:
#line 10672 "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 1531:
#line 10683 "gram.y"
{;}
break;
case 1532:
#line 10684 "gram.y"
{;}
break;
case 1533:
#line 10700 "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 1534:
#line 10722 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[(3) - (4)].range);
n->indexname = (yyvsp[(4) - (4)].str);
n->options = 0;
if ((yyvsp[(2) - (4)].boolean))
n->options |= CLUOPT_VERBOSE;
(yyval.node) = (Node*)n;
;}
break;
case 1535:
#line 10732 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = NULL;
n->indexname = NULL;
n->options = 0;
if ((yyvsp[(2) - (2)].boolean))
n->options |= CLUOPT_VERBOSE;
(yyval.node) = (Node*)n;
;}
break;
case 1536:
#line 10743 "gram.y"
{
ClusterStmt *n = makeNode(ClusterStmt);
n->relation = (yyvsp[(5) - (5)].range);
n->indexname = (yyvsp[(3) - (5)].str);
n->options = 0;
if ((yyvsp[(2) - (5)].boolean))
n->options |= CLUOPT_VERBOSE;
(yyval.node) = (Node*)n;
;}
break;
case 1537:
#line 10755 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].str); ;}
break;
case 1538:
#line 10756 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 1539:
#line 10769 "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 1540:
#line 10789 "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 1541:
#line 10799 "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 1542:
#line 10810 "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 1543:
#line 10821 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 1544:
#line 10825 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 1545:
#line 10831 "gram.y"
{;}
break;
case 1546:
#line 10832 "gram.y"
{;}
break;
case 1547:
#line 10837 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 1548:
#line 10843 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1549:
#line 10844 "gram.y"
{ (yyval.str) = "analyze"; ;}
break;
case 1550:
#line 10848 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 1551:
#line 10849 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].value); ;}
break;
case 1552:
#line 10850 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1553:
#line 10854 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1554:
#line 10855 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1555:
#line 10859 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1556:
#line 10860 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1557:
#line 10863 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1558:
#line 10864 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1559:
#line 10867 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1560:
#line 10868 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1561:
#line 10872 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1562:
#line 10873 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1563:
#line 10878 "gram.y"
{
(yyval.node) = (Node *) makeVacuumRelation((yyvsp[(1) - (2)].range), InvalidOid, (yyvsp[(2) - (2)].list));
;}
break;
case 1564:
#line 10885 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1565:
#line 10887 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1566:
#line 10891 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1567:
#line 10892 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1568:
#line 10906 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(2) - (2)].node);
n->options = NIL;
(yyval.node) = (Node *) n;
;}
break;
case 1569:
#line 10913 "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 1570:
#line 10923 "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 1571:
#line 10930 "gram.y"
{
ExplainStmt *n = makeNode(ExplainStmt);
n->query = (yyvsp[(5) - (5)].node);
n->options = (yyvsp[(3) - (5)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1581:
#line 10952 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
;}
break;
case 1582:
#line 10956 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
;}
break;
case 1583:
#line 10963 "gram.y"
{
(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)]));
;}
break;
case 1584:
#line 10969 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1585:
#line 10970 "gram.y"
{ (yyval.str) = "analyze"; ;}
break;
case 1586:
#line 10974 "gram.y"
{ (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
break;
case 1587:
#line 10975 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(1) - (1)].value); ;}
break;
case 1588:
#line 10976 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1589:
#line 10987 "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 1590:
#line 10996 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1591:
#line 10997 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1596:
#line 11015 "gram.y"
{
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[(2) - (3)].str);
n->params = (yyvsp[(3) - (3)].list);
(yyval.node) = (Node *) n;
;}
break;
case 1597:
#line 11023 "gram.y"
{
CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
ExecuteStmt *n = makeNode(ExecuteStmt);
n->name = (yyvsp[(7) - (9)].str);
n->params = (yyvsp[(8) - (9)].list);
ctas->query = (Node *) n;
ctas->into = (yyvsp[(4) - (9)].into);
ctas->relkind = OBJECT_TABLE;
ctas->is_select_into = false;
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 1598:
#line 11040 "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->relkind = 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 1599:
#line 11057 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1600:
#line 11058 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1601:
#line 11069 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[(2) - (2)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1602:
#line 11075 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = (yyvsp[(3) - (3)].str);
(yyval.node) = (Node *) n;
;}
break;
case 1603:
#line 11081 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 1604:
#line 11087 "gram.y"
{
DeallocateStmt *n = makeNode(DeallocateStmt);
n->name = NULL;
(yyval.node) = (Node *) n;
;}
break;
case 1605:
#line 11104 "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 1606:
#line 11121 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
;}
break;
case 1607:
#line 11125 "gram.y"
{
(yyvsp[(1) - (3)].range)->alias = makeAlias((yyvsp[(3) - (3)].str), NIL);
(yyval.range) = (yyvsp[(1) - (3)].range);
;}
break;
case 1608:
#line 11133 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = (yyvsp[(1) - (1)].node);
;}
break;
case 1609:
#line 11139 "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 1610:
#line 11146 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = (yyvsp[(2) - (4)].list);
(yyval.istmt)->selectStmt = (yyvsp[(4) - (4)].node);
;}
break;
case 1611:
#line 11152 "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 1612:
#line 11159 "gram.y"
{
(yyval.istmt) = makeNode(InsertStmt);
(yyval.istmt)->cols = NIL;
(yyval.istmt)->selectStmt = NULL;
;}
break;
case 1613:
#line 11167 "gram.y"
{ (yyval.ival) = OVERRIDING_USER_VALUE; ;}
break;
case 1614:
#line 11168 "gram.y"
{ (yyval.ival) = OVERRIDING_SYSTEM_VALUE; ;}
break;
case 1615:
#line 11173 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1616:
#line 11175 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 1617:
#line 11180 "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 1618:
#line 11191 "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 1619:
#line 11201 "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 1620:
#line 11210 "gram.y"
{
(yyval.onconflict) = NULL;
;}
break;
case 1621:
#line 11217 "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 1622:
#line 11226 "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 1623:
#line 11234 "gram.y"
{
(yyval.infer) = NULL;
;}
break;
case 1624:
#line 11240 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1625:
#line 11241 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1626:
#line 11254 "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 1627:
#line 11266 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1628:
#line 11267 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1629:
#line 11279 "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 1630:
#line 11289 "gram.y"
{ (yyval.ival) = (yyvsp[(2) - (3)].ival); ;}
break;
case 1631:
#line 11290 "gram.y"
{ (yyval.ival) = AccessExclusiveLock; ;}
break;
case 1632:
#line 11293 "gram.y"
{ (yyval.ival) = AccessShareLock; ;}
break;
case 1633:
#line 11294 "gram.y"
{ (yyval.ival) = RowShareLock; ;}
break;
case 1634:
#line 11295 "gram.y"
{ (yyval.ival) = RowExclusiveLock; ;}
break;
case 1635:
#line 11296 "gram.y"
{ (yyval.ival) = ShareUpdateExclusiveLock; ;}
break;
case 1636:
#line 11297 "gram.y"
{ (yyval.ival) = ShareLock; ;}
break;
case 1637:
#line 11298 "gram.y"
{ (yyval.ival) = ShareRowExclusiveLock; ;}
break;
case 1638:
#line 11299 "gram.y"
{ (yyval.ival) = ExclusiveLock; ;}
break;
case 1639:
#line 11300 "gram.y"
{ (yyval.ival) = AccessExclusiveLock; ;}
break;
case 1640:
#line 11303 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1641:
#line 11304 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1642:
#line 11308 "gram.y"
{ (yyval.ival) = LockWaitError; ;}
break;
case 1643:
#line 11309 "gram.y"
{ (yyval.ival) = LockWaitSkip; ;}
break;
case 1644:
#line 11310 "gram.y"
{ (yyval.ival) = LockWaitBlock; ;}
break;
case 1645:
#line 11326 "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 1646:
#line 11339 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1647:
#line 11340 "gram.y"
{ (yyval.list) = list_concat((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].list)); ;}
break;
case 1648:
#line 11345 "gram.y"
{
(yyvsp[(1) - (3)].target)->val = (Node *) (yyvsp[(3) - (3)].node);
(yyval.list) = list_make1((yyvsp[(1) - (3)].target));
;}
break;
case 1649:
#line 11350 "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 1650:
#line 11374 "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 1651:
#line 11384 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1652:
#line 11385 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].target)); ;}
break;
case 1653:
#line 11396 "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 1654:
#line 11406 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 1655:
#line 11409 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1656:
#line 11410 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (3)].ival) | CURSOR_OPT_NO_SCROLL; ;}
break;
case 1657:
#line 11411 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_SCROLL; ;}
break;
case 1658:
#line 11412 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_BINARY; ;}
break;
case 1659:
#line 11413 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_INSENSITIVE; ;}
break;
case 1660:
#line 11416 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1661:
#line 11417 "gram.y"
{ (yyval.ival) = CURSOR_OPT_HOLD; ;}
break;
case 1662:
#line 11418 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1665:
#line 11471 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1666:
#line 11472 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1667:
#line 11487 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1668:
#line 11489 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list), NIL,
NULL, NULL,
yyscanner);
(yyval.node) = (yyvsp[(1) - (2)].node);
;}
break;
case 1669:
#line 11496 "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 1670:
#line 11504 "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 1671:
#line 11512 "gram.y"
{
insertSelectOptions((SelectStmt *) (yyvsp[(2) - (2)].node), NULL, NIL,
NULL,
(yyvsp[(1) - (2)].with),
yyscanner);
(yyval.node) = (yyvsp[(2) - (2)].node);
;}
break;
case 1672:
#line 11520 "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 1673:
#line 11528 "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 1674:
#line 11536 "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 1675:
#line 11546 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1676:
#line 11547 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1677:
#line 11577 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->targetList = (yyvsp[(3) - (9)].list);
n->intoClause = (yyvsp[(4) - (9)].into);
n->fromClause = (yyvsp[(5) - (9)].list);
n->whereClause = (yyvsp[(6) - (9)].node);
n->groupClause = (yyvsp[(7) - (9)].list);
n->havingClause = (yyvsp[(8) - (9)].node);
n->windowClause = (yyvsp[(9) - (9)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1678:
#line 11591 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->distinctClause = (yyvsp[(2) - (9)].list);
n->targetList = (yyvsp[(3) - (9)].list);
n->intoClause = (yyvsp[(4) - (9)].into);
n->fromClause = (yyvsp[(5) - (9)].list);
n->whereClause = (yyvsp[(6) - (9)].node);
n->groupClause = (yyvsp[(7) - (9)].list);
n->havingClause = (yyvsp[(8) - (9)].node);
n->windowClause = (yyvsp[(9) - (9)].list);
(yyval.node) = (Node *)n;
;}
break;
case 1679:
#line 11603 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1680:
#line 11605 "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 1681:
#line 11624 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1682:
#line 11628 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1683:
#line 11632 "gram.y"
{
(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 1684:
#line 11649 "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 1685:
#line 11656 "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 1686:
#line 11663 "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 1687:
#line 11672 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1688:
#line 11673 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1689:
#line 11677 "gram.y"
{
CommonTableExpr *n = makeNode(CommonTableExpr);
n->ctename = (yyvsp[(1) - (7)].str);
n->aliascolnames = (yyvsp[(2) - (7)].list);
n->ctematerialized = (yyvsp[(4) - (7)].ival);
n->ctequery = (yyvsp[(6) - (7)].node);
n->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *) n;
;}
break;
case 1690:
#line 11689 "gram.y"
{ (yyval.ival) = CTEMaterializeAlways; ;}
break;
case 1691:
#line 11690 "gram.y"
{ (yyval.ival) = CTEMaterializeNever; ;}
break;
case 1692:
#line 11691 "gram.y"
{ (yyval.ival) = CTEMaterializeDefault; ;}
break;
case 1693:
#line 11695 "gram.y"
{ (yyval.with) = (yyvsp[(1) - (1)].with); ;}
break;
case 1694:
#line 11696 "gram.y"
{ (yyval.with) = NULL; ;}
break;
case 1695:
#line 11701 "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 1696:
#line 11712 "gram.y"
{ (yyval.into) = NULL; ;}
break;
case 1697:
#line 11721 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1698:
#line 11726 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1699:
#line 11731 "gram.y"
{
(yyval.range) = (yyvsp[(4) - (4)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1700:
#line 11736 "gram.y"
{
(yyval.range) = (yyvsp[(4) - (4)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
;}
break;
case 1701:
#line 11741 "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 1702:
#line 11749 "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 1703:
#line 11757 "gram.y"
{
(yyval.range) = (yyvsp[(3) - (3)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
;}
break;
case 1704:
#line 11762 "gram.y"
{
(yyval.range) = (yyvsp[(2) - (2)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
;}
break;
case 1705:
#line 11767 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
;}
break;
case 1706:
#line 11773 "gram.y"
{;}
break;
case 1707:
#line 11774 "gram.y"
{;}
break;
case 1708:
#line 11778 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1709:
#line 11779 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1710:
#line 11780 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1711:
#line 11787 "gram.y"
{ (yyval.list) = list_make1(NIL); ;}
break;
case 1712:
#line 11788 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (5)].list); ;}
break;
case 1713:
#line 11792 "gram.y"
{ (yyval.list) = NIL;;}
break;
case 1714:
#line 11793 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1715:
#line 11797 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list);;}
break;
case 1716:
#line 11798 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1717:
#line 11802 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); ;}
break;
case 1718:
#line 11806 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].sortby)); ;}
break;
case 1719:
#line 11807 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].sortby)); ;}
break;
case 1720:
#line 11811 "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 1721:
#line 11820 "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 1722:
#line 11833 "gram.y"
{
(yyval.selectlimit) = (yyvsp[(1) - (2)].selectlimit);
((yyval.selectlimit))->limitOffset = (yyvsp[(2) - (2)].node);
;}
break;
case 1723:
#line 11838 "gram.y"
{
(yyval.selectlimit) = (yyvsp[(2) - (2)].selectlimit);
((yyval.selectlimit))->limitOffset = (yyvsp[(1) - (2)].node);
;}
break;
case 1724:
#line 11843 "gram.y"
{
(yyval.selectlimit) = (yyvsp[(1) - (1)].selectlimit);
;}
break;
case 1725:
#line 11847 "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 1726:
#line 11857 "gram.y"
{ (yyval.selectlimit) = (yyvsp[(1) - (1)].selectlimit); ;}
break;
case 1727:
#line 11858 "gram.y"
{ (yyval.selectlimit) = NULL; ;}
break;
case 1728:
#line 11863 "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 1729:
#line 11871 "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 1730:
#line 11887 "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 1731:
#line 11895 "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 1732:
#line 11903 "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 1733:
#line 11911 "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 1734:
#line 11922 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1735:
#line 11925 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (3)].node); ;}
break;
case 1736:
#line 11929 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1737:
#line 11931 "gram.y"
{
/* LIMIT ALL is represented as a NULL constant */
(yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
;}
break;
case 1738:
#line 11938 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1739:
#line 11958 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1740:
#line 11960 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1741:
#line 11962 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1742:
#line 11966 "gram.y"
{ (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival),(yylsp[(1) - (1)])); ;}
break;
case 1743:
#line 11967 "gram.y"
{ (yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str),(yylsp[(1) - (1)])); ;}
break;
case 1744:
#line 11971 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1745:
#line 11972 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1746:
#line 11975 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1747:
#line 11976 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 1748:
#line 12001 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); ;}
break;
case 1749:
#line 12002 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1750:
#line 12006 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1751:
#line 12007 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].node)); ;}
break;
case 1752:
#line 12011 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1753:
#line 12012 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1754:
#line 12013 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1755:
#line 12014 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1756:
#line 12015 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1757:
#line 12020 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[(1) - (2)]));
;}
break;
case 1758:
#line 12033 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1759:
#line 12040 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 1760:
#line 12047 "gram.y"
{
(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
;}
break;
case 1761:
#line 12053 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1762:
#line 12054 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1763:
#line 12058 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1764:
#line 12059 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1765:
#line 12063 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1766:
#line 12064 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1767:
#line 12068 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1768:
#line 12069 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 1769:
#line 12074 "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 1770:
#line 12084 "gram.y"
{ (yyval.ival) = LCS_FORUPDATE; ;}
break;
case 1771:
#line 12085 "gram.y"
{ (yyval.ival) = LCS_FORNOKEYUPDATE; ;}
break;
case 1772:
#line 12086 "gram.y"
{ (yyval.ival) = LCS_FORSHARE; ;}
break;
case 1773:
#line 12087 "gram.y"
{ (yyval.ival) = LCS_FORKEYSHARE; ;}
break;
case 1774:
#line 12091 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1775:
#line 12092 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1776:
#line 12103 "gram.y"
{
SelectStmt *n = makeNode(SelectStmt);
n->valuesLists = list_make1((yyvsp[(3) - (4)].list));
(yyval.node) = (Node *) n;
;}
break;
case 1777:
#line 12109 "gram.y"
{
SelectStmt *n = (SelectStmt *) (yyvsp[(1) - (5)].node);
n->valuesLists = lappend(n->valuesLists, (yyvsp[(4) - (5)].list));
(yyval.node) = (Node *) n;
;}
break;
case 1778:
#line 12126 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 1779:
#line 12127 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1780:
#line 12131 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1781:
#line 12132 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1782:
#line 12139 "gram.y"
{
(yyvsp[(1) - (2)].range)->alias = (yyvsp[(2) - (2)].alias);
(yyval.node) = (Node *) (yyvsp[(1) - (2)].range);
;}
break;
case 1783:
#line 12144 "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 1784:
#line 12152 "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 1785:
#line 12159 "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 1786:
#line 12167 "gram.y"
{
RangeTableFunc *n = (RangeTableFunc *) (yyvsp[(1) - (2)].node);
n->alias = (yyvsp[(2) - (2)].alias);
(yyval.node) = (Node *) n;
;}
break;
case 1787:
#line 12173 "gram.y"
{
RangeTableFunc *n = (RangeTableFunc *) (yyvsp[(2) - (3)].node);
n->lateral = true;
n->alias = (yyvsp[(3) - (3)].alias);
(yyval.node) = (Node *) n;
;}
break;
case 1788:
#line 12180 "gram.y"
{
RangeSubselect *n = makeNode(RangeSubselect);
n->lateral = false;
n->subquery = (yyvsp[(1) - (2)].node);
n->alias = (yyvsp[(2) - (2)].alias);
/*
* The SQL spec does not permit a subselect
* (<derived_table>) without an alias clause,
* so we don't either. This avoids the problem
* of needing to invent a unique refname for it.
* That could be surmounted if there's sufficient
* popular demand, but for now let's just implement
* the spec and see if anyone complains.
* However, it does seem like a good idea to emit
* an error message that's better than "syntax error".
*/
if ((yyvsp[(2) - (2)].alias) == NULL)
{
if (IsA((yyvsp[(1) - (2)].node), SelectStmt) &&
((SelectStmt *) (yyvsp[(1) - (2)].node))->valuesLists)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("VALUES in FROM must have an alias"),
errhint("For example, FROM (VALUES ...) [AS] foo."),
parser_errposition((yylsp[(1) - (2)]))));
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("subquery in FROM must have an alias"),
errhint("For example, FROM (SELECT ...) [AS] foo."),
parser_errposition((yylsp[(1) - (2)]))));
}
(yyval.node) = (Node *) n;
;}
break;
case 1789:
#line 12215 "gram.y"
{
RangeSubselect *n = makeNode(RangeSubselect);
n->lateral = true;
n->subquery = (yyvsp[(2) - (3)].node);
n->alias = (yyvsp[(3) - (3)].alias);
/* same comment as above */
if ((yyvsp[(3) - (3)].alias) == NULL)
{
if (IsA((yyvsp[(2) - (3)].node), SelectStmt) &&
((SelectStmt *) (yyvsp[(2) - (3)].node))->valuesLists)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("VALUES in FROM must have an alias"),
errhint("For example, FROM (VALUES ...) [AS] foo."),
parser_errposition((yylsp[(2) - (3)]))));
else
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("subquery in FROM must have an alias"),
errhint("For example, FROM (SELECT ...) [AS] foo."),
parser_errposition((yylsp[(2) - (3)]))));
}
(yyval.node) = (Node *) n;
;}
break;
case 1790:
#line 12240 "gram.y"
{
(yyval.node) = (Node *) (yyvsp[(1) - (1)].jexpr);
;}
break;
case 1791:
#line 12244 "gram.y"
{
(yyvsp[(2) - (4)].jexpr)->alias = (yyvsp[(4) - (4)].alias);
(yyval.node) = (Node *) (yyvsp[(2) - (4)].jexpr);
;}
break;
case 1792:
#line 12270 "gram.y"
{
(yyval.jexpr) = (yyvsp[(2) - (3)].jexpr);
;}
break;
case 1793:
#line 12274 "gram.y"
{
/* CROSS JOIN is same as unqualified inner join */
JoinExpr *n = makeNode(JoinExpr);
n->jointype = JOIN_INNER;
n->isNatural = false;
n->larg = (yyvsp[(1) - (4)].node);
n->rarg = (yyvsp[(4) - (4)].node);
n->usingClause = NIL;
n->quals = NULL;
(yyval.jexpr) = n;
;}
break;
case 1794:
#line 12286 "gram.y"
{
JoinExpr *n = makeNode(JoinExpr);
n->jointype = (yyvsp[(2) - (5)].jtype);
n->isNatural = false;
n->larg = (yyvsp[(1) - (5)].node);
n->rarg = (yyvsp[(4) - (5)].node);
if ((yyvsp[(5) - (5)].node) != NULL && IsA((yyvsp[(5) - (5)].node), List))
n->usingClause = (List *) (yyvsp[(5) - (5)].node); /* USING clause */
else
n->quals = (yyvsp[(5) - (5)].node); /* ON clause */
(yyval.jexpr) = n;
;}
break;
case 1795:
#line 12299 "gram.y"
{
/* letting join_type reduce to empty doesn't work */
JoinExpr *n = makeNode(JoinExpr);
n->jointype = JOIN_INNER;
n->isNatural = false;
n->larg = (yyvsp[(1) - (4)].node);
n->rarg = (yyvsp[(3) - (4)].node);
if ((yyvsp[(4) - (4)].node) != NULL && IsA((yyvsp[(4) - (4)].node), List))
n->usingClause = (List *) (yyvsp[(4) - (4)].node); /* USING clause */
else
n->quals = (yyvsp[(4) - (4)].node); /* ON clause */
(yyval.jexpr) = n;
;}
break;
case 1796:
#line 12313 "gram.y"
{
JoinExpr *n = makeNode(JoinExpr);
n->jointype = (yyvsp[(3) - (5)].jtype);
n->isNatural = true;
n->larg = (yyvsp[(1) - (5)].node);
n->rarg = (yyvsp[(5) - (5)].node);
n->usingClause = NIL; /* figure out which columns later... */
n->quals = NULL; /* fill later */
(yyval.jexpr) = n;
;}
break;
case 1797:
#line 12324 "gram.y"
{
/* letting join_type reduce to empty doesn't work */
JoinExpr *n = makeNode(JoinExpr);
n->jointype = JOIN_INNER;
n->isNatural = true;
n->larg = (yyvsp[(1) - (4)].node);
n->rarg = (yyvsp[(4) - (4)].node);
n->usingClause = NIL; /* figure out which columns later... */
n->quals = NULL; /* fill later */
(yyval.jexpr) = n;
;}
break;
case 1798:
#line 12339 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(2) - (5)].str);
(yyval.alias)->colnames = (yyvsp[(4) - (5)].list);
;}
break;
case 1799:
#line 12345 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(2) - (2)].str);
;}
break;
case 1800:
#line 12350 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(1) - (4)].str);
(yyval.alias)->colnames = (yyvsp[(3) - (4)].list);
;}
break;
case 1801:
#line 12356 "gram.y"
{
(yyval.alias) = makeNode(Alias);
(yyval.alias)->aliasname = (yyvsp[(1) - (1)].str);
;}
break;
case 1802:
#line 12362 "gram.y"
{ (yyval.alias) = (yyvsp[(1) - (1)].alias); ;}
break;
case 1803:
#line 12363 "gram.y"
{ (yyval.alias) = NULL; ;}
break;
case 1804:
#line 12372 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (1)].alias), NIL);
;}
break;
case 1805:
#line 12376 "gram.y"
{
(yyval.list) = list_make2(NULL, (yyvsp[(3) - (4)].list));
;}
break;
case 1806:
#line 12380 "gram.y"
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[(2) - (5)].str);
(yyval.list) = list_make2(a, (yyvsp[(4) - (5)].list));
;}
break;
case 1807:
#line 12386 "gram.y"
{
Alias *a = makeNode(Alias);
a->aliasname = (yyvsp[(1) - (4)].str);
(yyval.list) = list_make2(a, (yyvsp[(3) - (4)].list));
;}
break;
case 1808:
#line 12392 "gram.y"
{
(yyval.list) = list_make2(NULL, NIL);
;}
break;
case 1809:
#line 12397 "gram.y"
{ (yyval.jtype) = JOIN_FULL; ;}
break;
case 1810:
#line 12398 "gram.y"
{ (yyval.jtype) = JOIN_LEFT; ;}
break;
case 1811:
#line 12399 "gram.y"
{ (yyval.jtype) = JOIN_RIGHT; ;}
break;
case 1812:
#line 12400 "gram.y"
{ (yyval.jtype) = JOIN_INNER; ;}
break;
case 1813:
#line 12404 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1814:
#line 12405 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1815:
#line 12417 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(3) - (4)].list); ;}
break;
case 1816:
#line 12418 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1817:
#line 12424 "gram.y"
{
/* inheritance query, implicitly */
(yyval.range) = (yyvsp[(1) - (1)].range);
(yyval.range)->inh = true;
(yyval.range)->alias = NULL;
;}
break;
case 1818:
#line 12431 "gram.y"
{
/* inheritance query, explicitly */
(yyval.range) = (yyvsp[(1) - (2)].range);
(yyval.range)->inh = true;
(yyval.range)->alias = NULL;
;}
break;
case 1819:
#line 12438 "gram.y"
{
/* no inheritance */
(yyval.range) = (yyvsp[(2) - (2)].range);
(yyval.range)->inh = false;
(yyval.range)->alias = NULL;
;}
break;
case 1820:
#line 12445 "gram.y"
{
/* no inheritance, SQL99-style syntax */
(yyval.range) = (yyvsp[(3) - (4)].range);
(yyval.range)->inh = false;
(yyval.range)->alias = NULL;
;}
break;
case 1821:
#line 12455 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;}
break;
case 1822:
#line 12456 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;}
break;
case 1823:
#line 12470 "gram.y"
{
(yyval.range) = (yyvsp[(1) - (1)].range);
;}
break;
case 1824:
#line 12474 "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 1825:
#line 12481 "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 1826:
#line 12494 "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 1827:
#line 12506 "gram.y"
{ (yyval.node) = (Node *) (yyvsp[(3) - (4)].node); ;}
break;
case 1828:
#line 12507 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1829:
#line 12523 "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 1830:
#line 12533 "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 1831:
#line 12545 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list)); ;}
break;
case 1832:
#line 12549 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
break;
case 1833:
#line 12550 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
break;
case 1834:
#line 12553 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 1835:
#line 12554 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1836:
#line 12557 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1837:
#line 12558 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1838:
#line 12563 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1839:
#line 12564 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1840:
#line 12569 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 1841:
#line 12571 "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 1842:
#line 12578 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 1843:
#line 12583 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1844:
#line 12584 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1845:
#line 12589 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 1846:
#line 12593 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 1847:
#line 12599 "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 1848:
#line 12623 "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 1849:
#line 12634 "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 1850:
#line 12645 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 1851:
#line 12646 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 1852:
#line 12651 "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 1853:
#line 12665 "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, "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 = intVal(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 1854:
#line 12722 "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 1855:
#line 12736 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
break;
case 1856:
#line 12738 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
break;
case 1857:
#line 12743 "gram.y"
{ (yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1858:
#line 12745 "gram.y"
{ (yyval.defelt) = makeDefElem("default", (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1859:
#line 12747 "gram.y"
{ (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(true), (yylsp[(1) - (2)])); ;}
break;
case 1860:
#line 12749 "gram.y"
{ (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(false), (yylsp[(1) - (1)])); ;}
break;
case 1861:
#line 12754 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 1862:
#line 12756 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 1863:
#line 12761 "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 1864:
#line 12769 "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 1865:
#line 12789 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[(2) - (2)].list);
;}
break;
case 1866:
#line 12794 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (3)].typnam);
(yyval.typnam)->arrayBounds = (yyvsp[(3) - (3)].list);
(yyval.typnam)->setof = true;
;}
break;
case 1867:
#line 12801 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (5)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(4) - (5)].ival)));
;}
break;
case 1868:
#line 12806 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (6)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(5) - (6)].ival)));
(yyval.typnam)->setof = true;
;}
break;
case 1869:
#line 12812 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
;}
break;
case 1870:
#line 12817 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (3)].typnam);
(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
(yyval.typnam)->setof = true;
;}
break;
case 1871:
#line 12826 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeInteger(-1)); ;}
break;
case 1872:
#line 12828 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (4)].list), makeInteger((yyvsp[(3) - (4)].ival))); ;}
break;
case 1873:
#line 12830 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1874:
#line 12834 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1875:
#line 12835 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1876:
#line 12836 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1877:
#line 12837 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1878:
#line 12838 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1879:
#line 12840 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
;}
break;
case 1880:
#line 12845 "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 1881:
#line 12864 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1882:
#line 12865 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1883:
#line 12866 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1884:
#line 12867 "gram.y"
{ (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
break;
case 1885:
#line 12879 "gram.y"
{
(yyval.typnam) = makeTypeName((yyvsp[(1) - (2)].str));
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1886:
#line 12885 "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 1887:
#line 12892 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (3)].list); ;}
break;
case 1888:
#line 12893 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1889:
#line 12900 "gram.y"
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1890:
#line 12905 "gram.y"
{
(yyval.typnam) = SystemTypeName("int4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1891:
#line 12910 "gram.y"
{
(yyval.typnam) = SystemTypeName("int2");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1892:
#line 12915 "gram.y"
{
(yyval.typnam) = SystemTypeName("int8");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1893:
#line 12920 "gram.y"
{
(yyval.typnam) = SystemTypeName("float4");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1894:
#line 12925 "gram.y"
{
(yyval.typnam) = (yyvsp[(2) - (2)].typnam);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1895:
#line 12930 "gram.y"
{
(yyval.typnam) = SystemTypeName("float8");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1896:
#line 12935 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1897:
#line 12941 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1898:
#line 12947 "gram.y"
{
(yyval.typnam) = SystemTypeName("numeric");
(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1899:
#line 12953 "gram.y"
{
(yyval.typnam) = SystemTypeName("bool");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1900:
#line 12960 "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 1901:
#line 12981 "gram.y"
{
(yyval.typnam) = SystemTypeName("float8");
;}
break;
case 1902:
#line 12991 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1903:
#line 12995 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1904:
#line 13003 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1905:
#line 13007 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
(yyval.typnam)->typmods = NIL;
;}
break;
case 1906:
#line 13015 "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 1907:
#line 13027 "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 1908:
#line 13048 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1909:
#line 13052 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1910:
#line 13058 "gram.y"
{
(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
;}
break;
case 1911:
#line 13062 "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 1912:
#line 13075 "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 1913:
#line 13083 "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 1914:
#line 13093 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1915:
#line 13095 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1916:
#line 13097 "gram.y"
{ (yyval.str) = "varchar"; ;}
break;
case 1917:
#line 13099 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1918:
#line 13101 "gram.y"
{ (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1919:
#line 13103 "gram.y"
{ (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
break;
case 1920:
#line 13107 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1921:
#line 13108 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1922:
#line 13116 "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 1923:
#line 13125 "gram.y"
{
if ((yyvsp[(2) - (2)].boolean))
(yyval.typnam) = SystemTypeName("timestamptz");
else
(yyval.typnam) = SystemTypeName("timestamp");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1924:
#line 13133 "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 1925:
#line 13142 "gram.y"
{
if ((yyvsp[(2) - (2)].boolean))
(yyval.typnam) = SystemTypeName("timetz");
else
(yyval.typnam) = SystemTypeName("time");
(yyval.typnam)->location = (yylsp[(1) - (2)]);
;}
break;
case 1926:
#line 13153 "gram.y"
{
(yyval.typnam) = SystemTypeName("interval");
(yyval.typnam)->location = (yylsp[(1) - (1)]);
;}
break;
case 1927:
#line 13160 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 1928:
#line 13161 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1929:
#line 13162 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 1930:
#line 13167 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[(1) - (1)]))); ;}
break;
case 1931:
#line 13169 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[(1) - (1)]))); ;}
break;
case 1932:
#line 13171 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[(1) - (1)]))); ;}
break;
case 1933:
#line 13173 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[(1) - (1)]))); ;}
break;
case 1934:
#line 13175 "gram.y"
{ (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[(1) - (1)]))); ;}
break;
case 1935:
#line 13177 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 1936:
#line 13179 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
INTERVAL_MASK(MONTH), (yylsp[(1) - (3)])));
;}
break;
case 1937:
#line 13184 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR), (yylsp[(1) - (3)])));
;}
break;
case 1938:
#line 13189 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
;}
break;
case 1939:
#line 13195 "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 1940:
#line 13203 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
;}
break;
case 1941:
#line 13208 "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 1942:
#line 13215 "gram.y"
{
(yyval.list) = (yyvsp[(3) - (3)].list);
linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
INTERVAL_MASK(SECOND), (yylsp[(1) - (3)]));
;}
break;
case 1943:
#line 13221 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 1944:
#line 13226 "gram.y"
{
(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (1)])));
;}
break;
case 1945:
#line 13230 "gram.y"
{
(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (4)])),
makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
;}
break;
case 1946:
#line 13265 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 1947:
#line 13267 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;}
break;
case 1948:
#line 13269 "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 1949:
#line 13277 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
list_make2((yyvsp[(5) - (5)].node), (yyvsp[(1) - (5)].node)),
(yylsp[(2) - (5)]));
;}
break;
case 1950:
#line 13292 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1951:
#line 13294 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1952:
#line 13296 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1953:
#line 13298 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1954:
#line 13300 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1955:
#line 13302 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1956:
#line 13304 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1957:
#line 13306 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1958:
#line 13308 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1959:
#line 13310 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1960:
#line 13312 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1961:
#line 13314 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1962:
#line 13316 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1963:
#line 13318 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1964:
#line 13321 "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 1965:
#line 13323 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1966:
#line 13325 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
break;
case 1967:
#line 13328 "gram.y"
{ (yyval.node) = makeInterval_or_AExprOp((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1968:
#line 13330 "gram.y"
{ (yyval.node) = makeInterval_or_AExprOp((yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
break;
case 1969:
#line 13333 "gram.y"
{ (yyval.node) = makeAndExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1970:
#line 13335 "gram.y"
{ (yyval.node) = makeOrExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 1971:
#line 13337 "gram.y"
{ (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1972:
#line 13339 "gram.y"
{ (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 1973:
#line 13342 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
(yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
;}
break;
case 1974:
#line 13347 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
(yylsp[(2) - (5)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
(yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
;}
break;
case 1975:
#line 13355 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
(yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
;}
break;
case 1976:
#line 13360 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
(yylsp[(2) - (6)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
(yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
;}
break;
case 1977:
#line 13368 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
(yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
;}
break;
case 1978:
#line 13373 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
(yylsp[(2) - (5)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
(yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
;}
break;
case 1979:
#line 13381 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
(yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
;}
break;
case 1980:
#line 13386 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
(yylsp[(2) - (6)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
(yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
;}
break;
case 1981:
#line 13395 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
list_make1((yyvsp[(4) - (4)].node)),
(yylsp[(2) - (4)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
(yyvsp[(1) - (4)].node), (Node *) n, (yylsp[(2) - (4)]));
;}
break;
case 1982:
#line 13403 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
(yylsp[(2) - (6)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
(yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
;}
break;
case 1983:
#line 13411 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
list_make1((yyvsp[(5) - (5)].node)),
(yylsp[(2) - (5)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
(yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
;}
break;
case 1984:
#line 13419 "gram.y"
{
FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
(yylsp[(2) - (7)]));
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
(yyvsp[(1) - (7)].node), (Node *) n, (yylsp[(2) - (7)]));
;}
break;
case 1985:
#line 13437 "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 1986:
#line 13445 "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 1987:
#line 13453 "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 1988:
#line 13461 "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 1989:
#line 13469 "gram.y"
{
if (list_length((yyvsp[(1) - (3)].list)) != 2)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("wrong number of parameters on left side of OVERLAPS expression"),
parser_errposition((yylsp[(1) - (3)]))));
if (list_length((yyvsp[(3) - (3)].list)) != 2)
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("wrong number of parameters on right side of OVERLAPS expression"),
parser_errposition((yylsp[(3) - (3)]))));
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
list_concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)),
(yylsp[(2) - (3)]));
;}
break;
case 1990:
#line 13485 "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 1991:
#line 13493 "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 1992:
#line 13501 "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 1993:
#line 13509 "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 1994:
#line 13517 "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 1995:
#line 13525 "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 1996:
#line 13533 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
;}
break;
case 1997:
#line 13537 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)]));
;}
break;
case 1998:
#line 13541 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
;}
break;
case 1999:
#line 13545 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (Node *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)]));
;}
break;
case 2000:
#line 13549 "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 2001:
#line 13557 "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 2002:
#line 13565 "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 2003:
#line 13573 "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 2004:
#line 13581 "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 2005:
#line 13601 "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 2006:
#line 13623 "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 2007:
#line 13634 "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 2008:
#line 13641 "gram.y"
{
/* Not sure how to get rid of the parentheses
* but there are lots of shift/reduce errors without them.
*
* Should be able to implement this by plopping the entire
* select into a node, then transforming the target expressions
* from whatever they are into count(*), and testing the
* entire result equal to one.
* But, will probably implement a separate node in the executor.
*/
ereport(ERROR,
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
errmsg("UNIQUE predicate is not yet implemented"),
parser_errposition((yylsp[(1) - (2)]))));
;}
break;
case 2009:
#line 13657 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
;}
break;
case 2010:
#line 13662 "gram.y"
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])),
(yylsp[(2) - (4)]));
;}
break;
case 2011:
#line 13668 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
;}
break;
case 2012:
#line 13672 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make2((yyvsp[(1) - (4)].node), makeStringConst((yyvsp[(3) - (4)].str), (yylsp[(3) - (4)]))), (yylsp[(2) - (4)]));
;}
break;
case 2013:
#line 13676 "gram.y"
{
(yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])), (yylsp[(2) - (4)]));
;}
break;
case 2014:
#line 13680 "gram.y"
{
(yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"), list_make2((yyvsp[(1) - (5)].node), makeStringConst((yyvsp[(4) - (5)].str), (yylsp[(4) - (5)]))), (yylsp[(2) - (5)])), (yylsp[(2) - (5)]));
;}
break;
case 2015:
#line 13684 "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 2016:
#line 13709 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2017:
#line 13711 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;}
break;
case 2018:
#line 13713 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2019:
#line 13715 "gram.y"
{ (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2020:
#line 13717 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2021:
#line 13719 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2022:
#line 13721 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2023:
#line 13723 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2024:
#line 13725 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2025:
#line 13727 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2026:
#line 13729 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2027:
#line 13731 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2028:
#line 13733 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2029:
#line 13735 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2030:
#line 13737 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2031:
#line 13739 "gram.y"
{ (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2032:
#line 13741 "gram.y"
{ (yyval.node) = makeInterval_or_AExprOp((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
break;
case 2033:
#line 13743 "gram.y"
{ (yyval.node) = makeInterval_or_AExprOp((yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
break;
case 2034:
#line 13745 "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 2035:
#line 13747 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
break;
case 2036:
#line 13749 "gram.y"
{ (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
break;
case 2037:
#line 13751 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
;}
break;
case 2038:
#line 13755 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)]));
;}
break;
case 2039:
#line 13759 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
;}
break;
case 2040:
#line 13763 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (Node *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)]));
;}
break;
case 2041:
#line 13767 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
;}
break;
case 2042:
#line 13772 "gram.y"
{
(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])),
(yylsp[(2) - (4)]));
;}
break;
case 2043:
#line 13787 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2044:
#line 13788 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2045:
#line 13790 "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 2046:
#line 13805 "gram.y"
{
ParamRef *p = makeNode(ParamRef);
p->number = 0;
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 2047:
#line 13820 "gram.y"
{
if ((yyvsp[(4) - (4)].list))
{
A_Indirection *n = makeNode(A_Indirection);
n->arg = (yyvsp[(2) - (4)].node);
n->indirection = check_indirection((yyvsp[(4) - (4)].list), yyscanner);
(yyval.node) = (Node *)n;
}
else if (operator_precedence_warning)
{
/*
* If precedence warnings are enabled, insert
* AEXPR_PAREN nodes wrapping all explicitly
* parenthesized subexpressions; this prevents bogus
* warnings from being issued when the ordering has
* been forced by parentheses. Take care that an
* AEXPR_PAREN node has the same exprLocation as its
* child, so as not to cause surprising changes in
* error cursor positioning.
*
* In principle we should not be relying on a GUC to
* decide whether to insert AEXPR_PAREN nodes.
* However, since they have no effect except to
* suppress warnings, it's probably safe enough; and
* we'd just as soon not waste cycles on dummy parse
* nodes if we don't have to.
*/
(yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[(2) - (4)].node), NULL,
exprLocation((yyvsp[(2) - (4)].node)));
}
else
(yyval.node) = (yyvsp[(2) - (4)].node);
;}
break;
case 2048:
#line 13854 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2049:
#line 13856 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2050:
#line 13858 "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 2051:
#line 13869 "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 2052:
#line 13893 "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 2053:
#line 13904 "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 2054:
#line 13915 "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 2055:
#line 13922 "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 2056:
#line 13932 "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 2057:
#line 13942 "gram.y"
{
GroupingFunc *g = makeNode(GroupingFunc);
g->args = (yyvsp[(3) - (4)].list);
g->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *)g;
;}
break;
case 2058:
#line 13951 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall((yyvsp[(1) - (3)].list), NIL, (yylsp[(1) - (3)]));
;}
break;
case 2059:
#line 13955 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (5)].list), (yyvsp[(3) - (5)].list), (yylsp[(1) - (5)]));
n->agg_order = (yyvsp[(4) - (5)].list);
(yyval.node) = (Node *)n;
;}
break;
case 2060:
#line 13961 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), list_make1((yyvsp[(4) - (6)].node)), (yylsp[(1) - (6)]));
n->func_variadic = true;
n->agg_order = (yyvsp[(5) - (6)].list);
(yyval.node) = (Node *)n;
;}
break;
case 2061:
#line 13968 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (8)].list), lappend((yyvsp[(3) - (8)].list), (yyvsp[(6) - (8)].node)), (yylsp[(1) - (8)]));
n->func_variadic = true;
n->agg_order = (yyvsp[(7) - (8)].list);
(yyval.node) = (Node *)n;
;}
break;
case 2062:
#line 13975 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), (yylsp[(1) - (6)]));
n->agg_order = (yyvsp[(5) - (6)].list);
/* Ideally we'd mark the FuncCall node to indicate
* "must be an aggregate", but there's no provision
* for that in FuncCall at the moment.
*/
(yyval.node) = (Node *)n;
;}
break;
case 2063:
#line 13985 "gram.y"
{
FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), (yylsp[(1) - (6)]));
n->agg_order = (yyvsp[(5) - (6)].list);
n->agg_distinct = true;
(yyval.node) = (Node *)n;
;}
break;
case 2064:
#line 13992 "gram.y"
{
/*
* We consider AGGREGATE(*) to invoke a parameterless
* aggregate. This does the right thing for COUNT(*),
* and there are no other aggregates in SQL that accept
* '*' as parameter.
*
* The FuncCall node is also marked agg_star = true,
* so that later processing can detect what the argument
* really was.
*/
FuncCall *n = makeFuncCall((yyvsp[(1) - (4)].list), NIL, (yylsp[(1) - (4)]));
n->agg_star = true;
(yyval.node) = (Node *)n;
;}
break;
case 2065:
#line 14020 "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 2066:
#line 14055 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2067:
#line 14065 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2068:
#line 14066 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2069:
#line 14074 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
list_make1((yyvsp[(4) - (5)].node)),
(yylsp[(1) - (5)]));
;}
break;
case 2070:
#line 14080 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[(1) - (1)]));
;}
break;
case 2071:
#line 14084 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[(1) - (1)]));
;}
break;
case 2072:
#line 14088 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
;}
break;
case 2073:
#line 14092 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[(1) - (1)]));
;}
break;
case 2074:
#line 14096 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
;}
break;
case 2075:
#line 14100 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[(1) - (1)]));
;}
break;
case 2076:
#line 14104 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
;}
break;
case 2077:
#line 14108 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[(1) - (1)]));
;}
break;
case 2078:
#line 14112 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[(3) - (4)].ival), (yylsp[(1) - (4)]));
;}
break;
case 2079:
#line 14116 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[(1) - (1)]));
;}
break;
case 2080:
#line 14120 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[(1) - (1)]));
;}
break;
case 2081:
#line 14124 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[(1) - (1)]));
;}
break;
case 2082:
#line 14128 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[(1) - (1)]));
;}
break;
case 2083:
#line 14132 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[(1) - (1)]));
;}
break;
case 2084:
#line 14136 "gram.y"
{
(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[(1) - (1)]));
;}
break;
case 2085:
#line 14140 "gram.y"
{ (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), (yylsp[(1) - (6)])); ;}
break;
case 2086:
#line 14142 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 2087:
#line 14146 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"), list_make1((yyvsp[(3) - (4)].node)), (yylsp[(1) - (4)]));
;}
break;
case 2088:
#line 14150 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"), list_make2((yyvsp[(3) - (6)].node), makeStringConst((yyvsp[(5) - (6)].str), (yylsp[(5) - (6)]))), (yylsp[(1) - (6)]));
;}
break;
case 2089:
#line 14154 "gram.y"
{
/* overlay(A PLACING B FROM C FOR D) is converted to
* overlay(A, B, C, D)
* overlay(A PLACING B FROM C) is converted to
* overlay(A, B, C)
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 2090:
#line 14163 "gram.y"
{
/* position(A in B) is converted to position(B, A) */
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 2091:
#line 14168 "gram.y"
{
/* substring(A from B for C) is converted to
* substring(A, B, C) - thomas 2000-11-28
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 2092:
#line 14175 "gram.y"
{
/* TREAT(expr AS target) converts expr of a particular type to target,
* which is defined to be a subtype of the original expression.
* In SQL99, this is intended for use with structured UDTs,
* but let's make this a generally useful form allowing stronger
* coercions than are handled by implicit casting.
*
* Convert SystemTypeName() to SystemFuncName() even though
* at the moment they result in the same thing.
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[(5) - (6)].typnam)->names))->val.str),
list_make1((yyvsp[(3) - (6)].node)),
(yylsp[(1) - (6)]));
;}
break;
case 2093:
#line 14190 "gram.y"
{
/* various trim expressions are defined in SQL
* - thomas 1997-07-19
*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
;}
break;
case 2094:
#line 14197 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
;}
break;
case 2095:
#line 14201 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
;}
break;
case 2096:
#line 14205 "gram.y"
{
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 2097:
#line 14209 "gram.y"
{
(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(1) - (6)]));
;}
break;
case 2098:
#line 14213 "gram.y"
{
CoalesceExpr *c = makeNode(CoalesceExpr);
c->args = (yyvsp[(3) - (4)].list);
c->location = (yylsp[(1) - (4)]);
(yyval.node) = (Node *)c;
;}
break;
case 2099:
#line 14220 "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 2100:
#line 14228 "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 2101:
#line 14236 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
;}
break;
case 2102:
#line 14240 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (5)].str), NIL, NIL, (yylsp[(1) - (5)]));
;}
break;
case 2103:
#line 14244 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), (yyvsp[(6) - (7)].list), NIL, (yylsp[(1) - (7)]));
;}
break;
case 2104:
#line 14248 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), NIL, (yyvsp[(6) - (7)].list), (yylsp[(1) - (7)]));
;}
break;
case 2105:
#line 14252 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (9)].str), (yyvsp[(6) - (9)].list), (yyvsp[(8) - (9)].list), (yylsp[(1) - (9)]));
;}
break;
case 2106:
#line 14256 "gram.y"
{
/* xmlexists(A PASSING [BY REF] B [BY REF]) is
* converted to xmlexists(A, B)*/
(yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)), (yylsp[(1) - (5)]));
;}
break;
case 2107:
#line 14262 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[(3) - (4)].list), NIL, (yylsp[(1) - (4)]));
;}
break;
case 2108:
#line 14266 "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 2109:
#line 14275 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (5)].str), NULL, NIL, (yylsp[(1) - (5)]));
;}
break;
case 2110:
#line 14279 "gram.y"
{
(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (7)].str), NULL, list_make1((yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)]));
;}
break;
case 2111:
#line 14283 "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 2112:
#line 14288 "gram.y"
{
XmlSerialize *n = makeNode(XmlSerialize);
n->xmloption = (yyvsp[(3) - (7)].ival);
n->expr = (yyvsp[(4) - (7)].node);
n->typeName = (yyvsp[(6) - (7)].typnam);
n->location = (yylsp[(1) - (7)]);
(yyval.node) = (Node *)n;
;}
break;
case 2113:
#line 14302 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 2114:
#line 14304 "gram.y"
{ (yyval.node) = makeNullAConst(-1); ;}
break;
case 2115:
#line 14308 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); ;}
break;
case 2116:
#line 14310 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); ;}
break;
case 2117:
#line 14312 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); ;}
break;
case 2118:
#line 14314 "gram.y"
{ (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); ;}
break;
case 2119:
#line 14317 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2120:
#line 14320 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 2121:
#line 14321 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 2122:
#line 14325 "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 2123:
#line 14333 "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 2124:
#line 14342 "gram.y"
{ (yyval.ival) = XMLOPTION_DOCUMENT; ;}
break;
case 2125:
#line 14343 "gram.y"
{ (yyval.ival) = XMLOPTION_CONTENT; ;}
break;
case 2126:
#line 14346 "gram.y"
{ (yyval.boolean) = true; ;}
break;
case 2127:
#line 14347 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2128:
#line 14348 "gram.y"
{ (yyval.boolean) = false; ;}
break;
case 2129:
#line 14354 "gram.y"
{
(yyval.node) = (yyvsp[(2) - (2)].node);
;}
break;
case 2130:
#line 14358 "gram.y"
{
(yyval.node) = (yyvsp[(2) - (3)].node);
;}
break;
case 2131:
#line 14362 "gram.y"
{
(yyval.node) = (yyvsp[(3) - (3)].node);
;}
break;
case 2132:
#line 14366 "gram.y"
{
(yyval.node) = (yyvsp[(3) - (4)].node);
;}
break;
case 2135:
#line 14381 "gram.y"
{ (yyval.list) = (yyvsp[(4) - (5)].list); ;}
break;
case 2136:
#line 14382 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2137:
#line 14386 "gram.y"
{ (yyval.node) = (yyvsp[(4) - (5)].node); ;}
break;
case 2138:
#line 14387 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2139:
#line 14395 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 2140:
#line 14396 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2141:
#line 14400 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].windef)); ;}
break;
case 2142:
#line 14402 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].windef)); ;}
break;
case 2143:
#line 14407 "gram.y"
{
WindowDef *n = (yyvsp[(3) - (3)].windef);
n->name = (yyvsp[(1) - (3)].str);
(yyval.windef) = n;
;}
break;
case 2144:
#line 14415 "gram.y"
{ (yyval.windef) = (yyvsp[(2) - (2)].windef); ;}
break;
case 2145:
#line 14417 "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 2146:
#line 14430 "gram.y"
{ (yyval.windef) = NULL; ;}
break;
case 2147:
#line 14435 "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 2148:
#line 14460 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2149:
#line 14461 "gram.y"
{ (yyval.str) = NULL; ;}
break;
case 2150:
#line 14464 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (3)].list); ;}
break;
case 2151:
#line 14465 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2152:
#line 14474 "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 2153:
#line 14481 "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 2154:
#line 14488 "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 2155:
#line 14495 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_DEFAULTS;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2156:
#line 14505 "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 2157:
#line 14522 "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 2158:
#line 14567 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2159:
#line 14575 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2160:
#line 14583 "gram.y"
{
WindowDef *n = makeNode(WindowDef);
n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
n->startOffset = NULL;
n->endOffset = NULL;
(yyval.windef) = n;
;}
break;
case 2161:
#line 14591 "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 2162:
#line 14599 "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 2163:
#line 14609 "gram.y"
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; ;}
break;
case 2164:
#line 14610 "gram.y"
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; ;}
break;
case 2165:
#line 14611 "gram.y"
{ (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; ;}
break;
case 2166:
#line 14612 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 2167:
#line 14613 "gram.y"
{ (yyval.ival) = 0; ;}
break;
case 2168:
#line 14627 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2169:
#line 14628 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2170:
#line 14629 "gram.y"
{ (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;}
break;
case 2171:
#line 14632 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2172:
#line 14633 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2173:
#line 14636 "gram.y"
{ (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;}
break;
case 2174:
#line 14639 "gram.y"
{ (yyval.ival) = ANY_SUBLINK; ;}
break;
case 2175:
#line 14640 "gram.y"
{ (yyval.ival) = ANY_SUBLINK; ;}
break;
case 2176:
#line 14641 "gram.y"
{ (yyval.ival) = ALL_SUBLINK; ;}
break;
case 2177:
#line 14644 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2178:
#line 14645 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2179:
#line 14648 "gram.y"
{ (yyval.str) = "+"; ;}
break;
case 2180:
#line 14649 "gram.y"
{ (yyval.str) = "-"; ;}
break;
case 2181:
#line 14650 "gram.y"
{ (yyval.str) = "*"; ;}
break;
case 2182:
#line 14651 "gram.y"
{ (yyval.str) = "/"; ;}
break;
case 2183:
#line 14652 "gram.y"
{ (yyval.str) = "%"; ;}
break;
case 2184:
#line 14653 "gram.y"
{ (yyval.str) = "^"; ;}
break;
case 2185:
#line 14654 "gram.y"
{ (yyval.str) = "<"; ;}
break;
case 2186:
#line 14655 "gram.y"
{ (yyval.str) = ">"; ;}
break;
case 2187:
#line 14656 "gram.y"
{ (yyval.str) = "="; ;}
break;
case 2188:
#line 14657 "gram.y"
{ (yyval.str) = "<="; ;}
break;
case 2189:
#line 14658 "gram.y"
{ (yyval.str) = ">="; ;}
break;
case 2190:
#line 14659 "gram.y"
{ (yyval.str) = "<>"; ;}
break;
case 2191:
#line 14660 "gram.y"
{ (yyval.str) = "?"; ;}
break;
case 2192:
#line 14664 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2193:
#line 14666 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2194:
#line 14671 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2195:
#line 14673 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2196:
#line 14678 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2197:
#line 14680 "gram.y"
{ (yyval.list) = (yyvsp[(3) - (4)].list); ;}
break;
case 2198:
#line 14682 "gram.y"
{ (yyval.list) = list_make1(makeString("~~")); ;}
break;
case 2199:
#line 14684 "gram.y"
{ (yyval.list) = list_make1(makeString("!~~")); ;}
break;
case 2200:
#line 14686 "gram.y"
{ (yyval.list) = list_make1(makeString("~~*")); ;}
break;
case 2201:
#line 14688 "gram.y"
{ (yyval.list) = list_make1(makeString("!~~*")); ;}
break;
case 2202:
#line 14700 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 2203:
#line 14704 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 2204:
#line 14711 "gram.y"
{
(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
;}
break;
case 2205:
#line 14715 "gram.y"
{
(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
;}
break;
case 2206:
#line 14721 "gram.y"
{
(yyval.node) = (yyvsp[(1) - (1)].node);
;}
break;
case 2207:
#line 14725 "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 2208:
#line 14734 "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 2209:
#line 14744 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;}
break;
case 2210:
#line 14745 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;}
break;
case 2211:
#line 14749 "gram.y"
{
(yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 2212:
#line 14753 "gram.y"
{
(yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]));
;}
break;
case 2213:
#line 14757 "gram.y"
{
(yyval.node) = makeAArrayExpr(NIL, (yylsp[(1) - (2)]));
;}
break;
case 2214:
#line 14762 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2215:
#line 14763 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
break;
case 2216:
#line 14769 "gram.y"
{
(yyval.list) = list_make2(makeStringConst((yyvsp[(1) - (3)].str), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
;}
break;
case 2217:
#line 14773 "gram.y"
{
(yyval.list) = list_make2(makeParamRef((yyvsp[(1) - (3)].ival), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
;}
break;
case 2218:
#line 14777 "gram.y"
{
(yyval.list) = list_make2(makeParamRef(0, (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
;}
break;
case 2219:
#line 14780 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2220:
#line 14787 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2221:
#line 14788 "gram.y"
{ (yyval.str) = "year"; ;}
break;
case 2222:
#line 14789 "gram.y"
{ (yyval.str) = "month"; ;}
break;
case 2223:
#line 14790 "gram.y"
{ (yyval.str) = "day"; ;}
break;
case 2224:
#line 14791 "gram.y"
{ (yyval.str) = "hour"; ;}
break;
case 2225:
#line 14792 "gram.y"
{ (yyval.str) = "minute"; ;}
break;
case 2226:
#line 14793 "gram.y"
{ (yyval.str) = "second"; ;}
break;
case 2227:
#line 14794 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2228:
#line 14798 "gram.y"
{ (yyval.str) = "nfc"; ;}
break;
case 2229:
#line 14799 "gram.y"
{ (yyval.str) = "nfd"; ;}
break;
case 2230:
#line 14800 "gram.y"
{ (yyval.str) = "nfkc"; ;}
break;
case 2231:
#line 14801 "gram.y"
{ (yyval.str) = "nfkd"; ;}
break;
case 2232:
#line 14812 "gram.y"
{
(yyval.list) = list_make4((yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node));
;}
break;
case 2233:
#line 14816 "gram.y"
{
(yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
;}
break;
case 2234:
#line 14823 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 2235:
#line 14829 "gram.y"
{ (yyval.list) = list_make2((yyvsp[(3) - (3)].node), (yyvsp[(1) - (3)].node)); ;}
break;
case 2236:
#line 14830 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2237:
#line 14847 "gram.y"
{
(yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
;}
break;
case 2238:
#line 14851 "gram.y"
{
/* not legal per SQL99, but might as well allow it */
(yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yyvsp[(2) - (3)].node));
;}
break;
case 2239:
#line 14856 "gram.y"
{
(yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
;}
break;
case 2240:
#line 14860 "gram.y"
{
/*
* Since there are no cases where this syntax allows
* a textual FOR value, we forcibly cast the argument
* to int4. The possible matches in pg_proc are
* substring(text,int4) and substring(text,text),
* and we don't want the parser to choose the latter,
* which it is likely to do if the second argument
* is unknown or doesn't have an implicit cast to int4.
*/
(yyval.list) = list_make3((yyvsp[(1) - (2)].node), makeIntConst(1, -1),
makeTypeCast((yyvsp[(2) - (2)].node),
SystemTypeName("int4"), -1));
;}
break;
case 2241:
#line 14875 "gram.y"
{
(yyval.list) = (yyvsp[(1) - (1)].list);
;}
break;
case 2242:
#line 14879 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2243:
#line 14883 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 2244:
#line 14886 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 2245:
#line 14889 "gram.y"
{ (yyval.list) = lappend((yyvsp[(3) - (3)].list), (yyvsp[(1) - (3)].node)); ;}
break;
case 2246:
#line 14890 "gram.y"
{ (yyval.list) = (yyvsp[(2) - (2)].list); ;}
break;
case 2247:
#line 14891 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 2248:
#line 14895 "gram.y"
{
SubLink *n = makeNode(SubLink);
n->subselect = (yyvsp[(1) - (1)].node);
/* other fields will be filled later */
(yyval.node) = (Node *)n;
;}
break;
case 2249:
#line 14901 "gram.y"
{ (yyval.node) = (Node *)(yyvsp[(2) - (3)].list); ;}
break;
case 2250:
#line 14912 "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 2251:
#line 14925 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2252:
#line 14926 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 2253:
#line 14931 "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 2254:
#line 14941 "gram.y"
{ (yyval.node) = (yyvsp[(2) - (2)].node); ;}
break;
case 2255:
#line 14942 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2256:
#line 14945 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2257:
#line 14946 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2258:
#line 14950 "gram.y"
{
(yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)]), yyscanner);
;}
break;
case 2259:
#line 14954 "gram.y"
{
(yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner);
;}
break;
case 2260:
#line 14961 "gram.y"
{
(yyval.node) = (Node *) makeString((yyvsp[(2) - (2)].str));
;}
break;
case 2261:
#line 14965 "gram.y"
{
(yyval.node) = (Node *) makeNode(A_Star);
;}
break;
case 2262:
#line 14969 "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 2263:
#line 14977 "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 2264:
#line 14987 "gram.y"
{ (yyval.node) = (yyvsp[(1) - (1)].node); ;}
break;
case 2265:
#line 14988 "gram.y"
{ (yyval.node) = NULL; ;}
break;
case 2266:
#line 14992 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
break;
case 2267:
#line 14993 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 2268:
#line 14997 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2269:
#line 14998 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
break;
case 2272:
#line 15012 "gram.y"
{ (yyval.list) = (yyvsp[(1) - (1)].list); ;}
break;
case 2273:
#line 15013 "gram.y"
{ (yyval.list) = NIL; ;}
break;
case 2274:
#line 15017 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
break;
case 2275:
#line 15018 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
break;
case 2276:
#line 15022 "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 2277:
#line 15038 "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 2278:
#line 15046 "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 2279:
#line 15054 "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 2280:
#line 15075 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;}
break;
case 2281:
#line 15076 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;}
break;
case 2282:
#line 15088 "gram.y"
{
(yyval.range) = makeRangeVar(NULL, (yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2283:
#line 15092 "gram.y"
{
check_qualified_name((yyvsp[(2) - (2)].list), yyscanner);
(yyval.range) = makeRangeVar(NULL, NULL, (yylsp[(1) - (2)]));
switch (list_length((yyvsp[(2) - (2)].list)))
{
case 1:
(yyval.range)->catalogname = NULL;
(yyval.range)->schemaname = (yyvsp[(1) - (2)].str);
(yyval.range)->relname = strVal(linitial((yyvsp[(2) - (2)].list)));
break;
case 2:
(yyval.range)->catalogname = (yyvsp[(1) - (2)].str);
(yyval.range)->schemaname = strVal(linitial((yyvsp[(2) - (2)].list)));
(yyval.range)->relname = strVal(lsecond((yyvsp[(2) - (2)].list)));
break;
default:
ereport(ERROR,
(errcode(ERRCODE_SYNTAX_ERROR),
errmsg("improper qualified name (too many dotted names): %s",
NameListToString(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)))),
parser_errposition((yylsp[(1) - (2)]))));
break;
}
;}
break;
case 2284:
#line 15119 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2285:
#line 15121 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
break;
case 2286:
#line 15125 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2287:
#line 15128 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2288:
#line 15131 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2289:
#line 15133 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2290:
#line 15135 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2291:
#line 15137 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2292:
#line 15148 "gram.y"
{ (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
break;
case 2293:
#line 15150 "gram.y"
{
(yyval.list) = check_func_name(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)),
yyscanner);
;}
break;
case 2294:
#line 15161 "gram.y"
{
(yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)]));
;}
break;
case 2295:
#line 15165 "gram.y"
{
(yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2296:
#line 15169 "gram.y"
{
(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2297:
#line 15173 "gram.y"
{
(yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
;}
break;
case 2298:
#line 15177 "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 2299:
#line 15186 "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 2300:
#line 15193 "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 2301:
#line 15225 "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 2302:
#line 15232 "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 2303:
#line 15264 "gram.y"
{
(yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam));
;}
break;
case 2304:
#line 15268 "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 2305:
#line 15274 "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 2306:
#line 15281 "gram.y"
{
(yyval.node) = makeParamRefCast((yyvsp[(2) - (2)].ival), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam));
;}
break;
case 2307:
#line 15285 "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 2308:
#line 15291 "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 2309:
#line 15299 "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(0, (yylsp[(5) - (5)]), t);
;}
break;
case 2310:
#line 15306 "gram.y"
{
(yyval.node) = makeBoolAConst(true, (yylsp[(1) - (1)]));
;}
break;
case 2311:
#line 15310 "gram.y"
{
(yyval.node) = makeBoolAConst(false, (yylsp[(1) - (1)]));
;}
break;
case 2312:
#line 15314 "gram.y"
{
(yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
;}
break;
case 2313:
#line 15319 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
break;
case 2314:
#line 15320 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2315:
#line 15322 "gram.y"
{ (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
break;
case 2316:
#line 15323 "gram.y"
{ (yyval.ival) = + (yyvsp[(2) - (2)].ival); ;}
break;
case 2317:
#line 15324 "gram.y"
{ (yyval.ival) = - (yyvsp[(2) - (2)].ival); ;}
break;
case 2318:
#line 15329 "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;
}
;}
break;
case 2319:
#line 15362 "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 2320:
#line 15389 "gram.y"
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)]));
;}
break;
case 2321:
#line 15393 "gram.y"
{
(yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[(1) - (1)]));
;}
break;
case 2322:
#line 15399 "gram.y"
{ (yyval.list) = list_make1((yyvsp[(1) - (1)].rolespec)); ;}
break;
case 2323:
#line 15401 "gram.y"
{ (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].rolespec)); ;}
break;
case 2324:
#line 15417 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2325:
#line 15418 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2326:
#line 15419 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2327:
#line 15424 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2328:
#line 15425 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2329:
#line 15426 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2330:
#line 15431 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2331:
#line 15432 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2332:
#line 15433 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2333:
#line 15434 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2334:
#line 15440 "gram.y"
{ (yyval.str) = (yyvsp[(1) - (1)].str); ;}
break;
case 2335:
#line 15441 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2336:
#line 15442 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2337:
#line 15443 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
case 2338:
#line 15444 "gram.y"
{ (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
break;
/* Line 1267 of yacc.c. */
#line 46266 "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 15951 "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 *
makeStringConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
n->val.val.str = str;
n->location = location;
return (Node *)n;
}
static Node *
makeStringConstCast(char *str, int location, TypeName *typename)
{
Node *s = makeStringConst(str, location);
return makeTypeCast(s, typename, -1);
}
static Node *
makeIntConst(int val, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Integer;
n->val.val.ival = val;
n->location = location;
return (Node *)n;
}
static Node *
makeFloatConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Float;
n->val.val.str = str;
n->location = location;
return (Node *)n;
}
static Node *
makeBitStringConst(char *str, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_BitString;
n->val.val.str = str;
n->location = location;
return (Node *)n;
}
static Node *
makeNullAConst(int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_Null;
n->location = location;
return (Node *)n;
}
static Node *
makeAConst(Value *v, int location)
{
Node *n;
switch (v->type)
{
case T_Float:
n = makeFloatConst(v->val.str, location);
break;
case T_Integer:
n = makeIntConst(v->val.ival, location);
break;
case T_String:
default:
n = makeStringConst(v->val.str, location);
break;
}
return n;
}
/* makeBoolAConst()
* Create an A_Const string node and put it inside a boolean cast.
*/
static Node *
makeBoolAConst(bool state, int location)
{
A_Const *n = makeNode(A_Const);
n->val.type = T_String;
n->val.val.str = (state ? "t" : "f");
n->location = location;
return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
}
/* makeParamRef
* Creates a new ParamRef node
*/
static Node* makeParamRef(int number, int location)
{
ParamRef *p = makeNode(ParamRef);
p->number = number;
p->location = location;
return (Node *) p;
}
static Node *
makeParamRefCast(int number, int location, TypeName *typename)
{
Node *p = makeParamRef(number, location);
return makeTypeCast(p, typename, -1);
}
/*
* Makes INTERVAL-like nodes for "INTERVAL ?" and "INTERVAL ? opt_interval", otherwise treat as A_EXPR
*/
static Node *
makeInterval_or_AExprOp(Node *lexpr, Node *rexpr, int location)
{
if (lexpr && IsA(lexpr, ColumnRef))
{
ColumnRef *c = (ColumnRef *) lexpr;
if (strcmp(strVal(linitial(c->fields)), "interval") == 0 )
{
TypeName *t = SystemTypeName("interval");
t->location = c->location;
/* Its too difficult to tell the parser to give us the right typemod,
* just use a dummy one if present
*/
if (rexpr)
t->typmods = list_make1(makeIntConst(0, -1));
return makeParamRefCast(0, location, t);
}
}
return (Node *) makeA_Expr(AEXPR_OP, list_make1(makeString("?")), lexpr, rexpr, location);
}
/* makeRoleSpec
* Create a RoleSpec with the given type
*/
static 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);
Value *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 && limitClause->limitOption != LIMIT_OPTION_DEFAULT)
{
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")));
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 (con->val.type == T_Integer)
{
con->val.val.ival = -con->val.val.ival;
return n;
}
if (con->val.type == T_Float)
{
doNegateFloat(&con->val);
return n;
}
}
return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
}
static void
doNegateFloat(Value *v)
{
char *oldval = v->val.str;
Assert(IsA(v, Float));
if (*oldval == '+')
oldval++;
if (*oldval == '-')
v->val.str = oldval+1; /* just strip the '-' */
else
v->val.str = psprintf("-%s", oldval);
}
static Node *
makeAndExpr(Node *lexpr, Node *rexpr, int location)
{
Node *lexp = lexpr;
/* Look through AEXPR_PAREN nodes so they don't affect flattening */
while (IsA(lexp, A_Expr) &&
((A_Expr *) lexp)->kind == AEXPR_PAREN)
lexp = ((A_Expr *) lexp)->lexpr;
/* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
if (IsA(lexp, BoolExpr))
{
BoolExpr *blexpr = (BoolExpr *) lexp;
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)
{
Node *lexp = lexpr;
/* Look through AEXPR_PAREN nodes so they don't affect flattening */
while (IsA(lexp, A_Expr) &&
((A_Expr *) lexp)->kind == AEXPR_PAREN)
lexp = ((A_Expr *) lexp)->lexpr;
/* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
if (IsA(lexp, BoolExpr))
{
BoolExpr *blexpr = (BoolExpr *) lexp;
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_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;
}
/* 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)));
}
}
/*----------
* 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 */
}