packages feed

postgresql-syntax-0.1: foreign/libpg_query/src/postgres/src_backend_parser_gram.c

/*--------------------------------------------------------------------
 * Symbols referenced in this file:
 * - parser_init
 * - base_yyparse
 * - SystemTypeName
 * - SystemFuncName
 * - yypact
 * - yytranslate
 * - yycheck
 * - yytable
 * - yydefact
 * - yyr2
 * - makeStringConst
 * - makeAConst
 * - makeStringConstCast
 * - makeIntConst
 * - processCASbits
 * - makeRangeVarFromAnyName
 * - SplitColQualList
 * - doNegateFloat
 * - extractAggrArgTypes
 * - makeRoleSpec
 * - extractArgTypes
 * - mergeTableFuncParameters
 * - TableFuncTypeName
 * - makeOrderedSetArgs
 * - makeRecursiveViewSelect
 * - check_indirection
 * - insertSelectOptions
 * - makeSetOp
 * - makeNullAConst
 * - makeTypeCast
 * - doNegate
 * - makeInterval_or_AExprOp
 * - makeAndExpr
 * - makeOrExpr
 * - makeNotExpr
 * - makeXmlExpr
 * - makeParamRef
 * - makeBoolAConst
 * - makeAArrayExpr
 * - makeColumnRef
 * - check_qualified_name
 * - check_func_name
 * - makeFloatConst
 * - makeBitStringConst
 * - makeParamRefCast
 * - yyr1
 * - yypgoto
 * - yydefgoto
 * - base_yyerror
 * - yydestruct
 * - yystos
 *--------------------------------------------------------------------
 */

/* A Bison parser, made by GNU Bison 2.3.  */

/* Skeleton implementation for Bison's Yacc-like parsers in C

   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
   Free Software Foundation, Inc.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.  */

/* As a special exception, you may create a larger work that contains
   part or all of the Bison parser skeleton and distribute that work
   under terms of your choice, so long as that work isn't itself a
   parser generator using the skeleton or a modified version thereof
   as a parser skeleton.  Alternatively, if you modify or redistribute
   the parser skeleton itself, you may (at your option) remove this
   special exception, which will cause the skeleton and the resulting
   Bison output files to be licensed under the GNU General Public
   License without this special exception.

   This special exception was added by the Free Software Foundation in
   version 2.2 of Bison.  */

/* C LALR(1) parser skeleton written by Richard Stallman, by
   simplifying the original so-called "semantic" parser.  */

/* All symbols defined below should begin with yy or YY, to avoid
   infringing on user name space.  This should be done even for local
   variables, as they might otherwise be expanded by user macros.
   There are some unavoidable exceptions within include files to
   define necessary library symbols; they are noted "INFRINGES ON
   USER NAME SPACE" below.  */

/* Identify Bison output.  */
#define YYBISON 1

/* Bison version.  */
#define YYBISON_VERSION "2.3"

/* Skeleton name.  */
#define YYSKELETON_NAME "yacc.c"

/* Pure parsers.  */
#define YYPURE 1

/* Using locations.  */
#define YYLSP_NEEDED 1

/* Substitute the variable and function names.  */
#define yyparse base_yyparse
#define yylex   base_yylex
#define yyerror base_yyerror
#define yylval  base_yylval
#define yychar  base_yychar
#define yydebug base_yydebug
#define yynerrs base_yynerrs
#define yylloc base_yylloc

/* Tokens.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
   /* Put the tokens into the symbol table, so that GDB and other debuggers
      know about them.  */
   enum yytokentype {
     IDENT = 258,
     FCONST = 259,
     SCONST = 260,
     BCONST = 261,
     XCONST = 262,
     Op = 263,
     ICONST = 264,
     PARAM = 265,
     TYPECAST = 266,
     DOT_DOT = 267,
     COLON_EQUALS = 268,
     EQUALS_GREATER = 269,
     LESS_EQUALS = 270,
     GREATER_EQUALS = 271,
     NOT_EQUALS = 272,
     ABORT_P = 273,
     ABSOLUTE_P = 274,
     ACCESS = 275,
     ACTION = 276,
     ADD_P = 277,
     ADMIN = 278,
     AFTER = 279,
     AGGREGATE = 280,
     ALL = 281,
     ALSO = 282,
     ALTER = 283,
     ALWAYS = 284,
     ANALYSE = 285,
     ANALYZE = 286,
     AND = 287,
     ANY = 288,
     ARRAY = 289,
     AS = 290,
     ASC = 291,
     ASSERTION = 292,
     ASSIGNMENT = 293,
     ASYMMETRIC = 294,
     AT = 295,
     ATTRIBUTE = 296,
     AUTHORIZATION = 297,
     BACKWARD = 298,
     BEFORE = 299,
     BEGIN_P = 300,
     BETWEEN = 301,
     BIGINT = 302,
     BINARY = 303,
     BIT = 304,
     BOOLEAN_P = 305,
     BOTH = 306,
     BY = 307,
     CACHE = 308,
     CALLED = 309,
     CASCADE = 310,
     CASCADED = 311,
     CASE = 312,
     CAST = 313,
     CATALOG_P = 314,
     CHAIN = 315,
     CHAR_P = 316,
     CHARACTER = 317,
     CHARACTERISTICS = 318,
     CHECK = 319,
     CHECKPOINT = 320,
     CLASS = 321,
     CLOSE = 322,
     CLUSTER = 323,
     COALESCE = 324,
     COLLATE = 325,
     COLLATION = 326,
     COLUMN = 327,
     COMMENT = 328,
     COMMENTS = 329,
     COMMIT = 330,
     COMMITTED = 331,
     CONCURRENTLY = 332,
     CONFIGURATION = 333,
     CONFLICT = 334,
     CONNECTION = 335,
     CONSTRAINT = 336,
     CONSTRAINTS = 337,
     CONTENT_P = 338,
     CONTINUE_P = 339,
     CONVERSION_P = 340,
     COPY = 341,
     COST = 342,
     CREATE = 343,
     CROSS = 344,
     CSV = 345,
     CUBE = 346,
     CURRENT_P = 347,
     CURRENT_CATALOG = 348,
     CURRENT_DATE = 349,
     CURRENT_ROLE = 350,
     CURRENT_SCHEMA = 351,
     CURRENT_TIME = 352,
     CURRENT_TIMESTAMP = 353,
     CURRENT_USER = 354,
     CURSOR = 355,
     CYCLE = 356,
     DATA_P = 357,
     DATABASE = 358,
     DAY_P = 359,
     DEALLOCATE = 360,
     DEC = 361,
     DECIMAL_P = 362,
     DECLARE = 363,
     DEFAULT = 364,
     DEFAULTS = 365,
     DEFERRABLE = 366,
     DEFERRED = 367,
     DEFINER = 368,
     DELETE_P = 369,
     DELIMITER = 370,
     DELIMITERS = 371,
     DESC = 372,
     DICTIONARY = 373,
     DISABLE_P = 374,
     DISCARD = 375,
     DISTINCT = 376,
     DO = 377,
     DOCUMENT_P = 378,
     DOMAIN_P = 379,
     DOUBLE_P = 380,
     DROP = 381,
     EACH = 382,
     ELSE = 383,
     ENABLE_P = 384,
     ENCODING = 385,
     ENCRYPTED = 386,
     END_P = 387,
     ENUM_P = 388,
     ESCAPE = 389,
     EVENT = 390,
     EXCEPT = 391,
     EXCLUDE = 392,
     EXCLUDING = 393,
     EXCLUSIVE = 394,
     EXECUTE = 395,
     EXISTS = 396,
     EXPLAIN = 397,
     EXTENSION = 398,
     EXTERNAL = 399,
     EXTRACT = 400,
     FALSE_P = 401,
     FAMILY = 402,
     FETCH = 403,
     FILTER = 404,
     FIRST_P = 405,
     FLOAT_P = 406,
     FOLLOWING = 407,
     FOR = 408,
     FORCE = 409,
     FOREIGN = 410,
     FORWARD = 411,
     FREEZE = 412,
     FROM = 413,
     FULL = 414,
     FUNCTION = 415,
     FUNCTIONS = 416,
     GLOBAL = 417,
     GRANT = 418,
     GRANTED = 419,
     GREATEST = 420,
     GROUP_P = 421,
     GROUPING = 422,
     HANDLER = 423,
     HAVING = 424,
     HEADER_P = 425,
     HOLD = 426,
     HOUR_P = 427,
     IDENTITY_P = 428,
     IF_P = 429,
     ILIKE = 430,
     IMMEDIATE = 431,
     IMMUTABLE = 432,
     IMPLICIT_P = 433,
     IMPORT_P = 434,
     IN_P = 435,
     INCLUDING = 436,
     INCREMENT = 437,
     INDEX = 438,
     INDEXES = 439,
     INHERIT = 440,
     INHERITS = 441,
     INITIALLY = 442,
     INLINE_P = 443,
     INNER_P = 444,
     INOUT = 445,
     INPUT_P = 446,
     INSENSITIVE = 447,
     INSERT = 448,
     INSTEAD = 449,
     INT_P = 450,
     INTEGER = 451,
     INTERSECT = 452,
     INTERVAL = 453,
     INTO = 454,
     INVOKER = 455,
     IS = 456,
     ISNULL = 457,
     ISOLATION = 458,
     JOIN = 459,
     KEY = 460,
     LABEL = 461,
     LANGUAGE = 462,
     LARGE_P = 463,
     LAST_P = 464,
     LATERAL_P = 465,
     LEADING = 466,
     LEAKPROOF = 467,
     LEAST = 468,
     LEFT = 469,
     LEVEL = 470,
     LIKE = 471,
     LIMIT = 472,
     LISTEN = 473,
     LOAD = 474,
     LOCAL = 475,
     LOCALTIME = 476,
     LOCALTIMESTAMP = 477,
     LOCATION = 478,
     LOCK_P = 479,
     LOCKED = 480,
     LOGGED = 481,
     MAPPING = 482,
     MATCH = 483,
     MATERIALIZED = 484,
     MAXVALUE = 485,
     MINUTE_P = 486,
     MINVALUE = 487,
     MODE = 488,
     MONTH_P = 489,
     MOVE = 490,
     NAME_P = 491,
     NAMES = 492,
     NATIONAL = 493,
     NATURAL = 494,
     NCHAR = 495,
     NEXT = 496,
     NO = 497,
     NONE = 498,
     NOT = 499,
     NOTHING = 500,
     NOTIFY = 501,
     NOTNULL = 502,
     NOWAIT = 503,
     NULL_P = 504,
     NULLIF = 505,
     NULLS_P = 506,
     NUMERIC = 507,
     OBJECT_P = 508,
     OF = 509,
     OFF = 510,
     OFFSET = 511,
     OIDS = 512,
     ON = 513,
     ONLY = 514,
     OPERATOR = 515,
     OPTION = 516,
     OPTIONS = 517,
     OR = 518,
     ORDER = 519,
     ORDINALITY = 520,
     OUT_P = 521,
     OUTER_P = 522,
     OVER = 523,
     OVERLAPS = 524,
     OVERLAY = 525,
     OWNED = 526,
     OWNER = 527,
     PARSER = 528,
     PARTIAL = 529,
     PARTITION = 530,
     PASSING = 531,
     PASSWORD = 532,
     PLACING = 533,
     PLANS = 534,
     POLICY = 535,
     POSITION = 536,
     PRECEDING = 537,
     PRECISION = 538,
     PRESERVE = 539,
     PREPARE = 540,
     PREPARED = 541,
     PRIMARY = 542,
     PRIOR = 543,
     PRIVILEGES = 544,
     PROCEDURAL = 545,
     PROCEDURE = 546,
     PROGRAM = 547,
     QUOTE = 548,
     RANGE = 549,
     READ = 550,
     REAL = 551,
     REASSIGN = 552,
     RECHECK = 553,
     RECURSIVE = 554,
     REF = 555,
     REFERENCES = 556,
     REFRESH = 557,
     REINDEX = 558,
     RELATIVE_P = 559,
     RELEASE = 560,
     RENAME = 561,
     REPEATABLE = 562,
     REPLACE = 563,
     REPLICA = 564,
     RESET = 565,
     RESTART = 566,
     RESTRICT = 567,
     RETURNING = 568,
     RETURNS = 569,
     REVOKE = 570,
     RIGHT = 571,
     ROLE = 572,
     ROLLBACK = 573,
     ROLLUP = 574,
     ROW = 575,
     ROWS = 576,
     RULE = 577,
     SAVEPOINT = 578,
     SCHEMA = 579,
     SCROLL = 580,
     SEARCH = 581,
     SECOND_P = 582,
     SECURITY = 583,
     SELECT = 584,
     SEQUENCE = 585,
     SEQUENCES = 586,
     SERIALIZABLE = 587,
     SERVER = 588,
     SESSION = 589,
     SESSION_USER = 590,
     SET = 591,
     SETS = 592,
     SETOF = 593,
     SHARE = 594,
     SHOW = 595,
     SIMILAR = 596,
     SIMPLE = 597,
     SKIP = 598,
     SMALLINT = 599,
     SNAPSHOT = 600,
     SOME = 601,
     SQL_P = 602,
     STABLE = 603,
     STANDALONE_P = 604,
     START = 605,
     STATEMENT = 606,
     STATISTICS = 607,
     STDIN = 608,
     STDOUT = 609,
     STORAGE = 610,
     STRICT_P = 611,
     STRIP_P = 612,
     SUBSTRING = 613,
     SYMMETRIC = 614,
     SYSID = 615,
     SYSTEM_P = 616,
     TABLE = 617,
     TABLES = 618,
     TABLESAMPLE = 619,
     TABLESPACE = 620,
     TEMP = 621,
     TEMPLATE = 622,
     TEMPORARY = 623,
     TEXT_P = 624,
     THEN = 625,
     TIME = 626,
     TIMESTAMP = 627,
     TO = 628,
     TRAILING = 629,
     TRANSACTION = 630,
     TRANSFORM = 631,
     TREAT = 632,
     TRIGGER = 633,
     TRIM = 634,
     TRUE_P = 635,
     TRUNCATE = 636,
     TRUSTED = 637,
     TYPE_P = 638,
     TYPES_P = 639,
     UNBOUNDED = 640,
     UNCOMMITTED = 641,
     UNENCRYPTED = 642,
     UNION = 643,
     UNIQUE = 644,
     UNKNOWN = 645,
     UNLISTEN = 646,
     UNLOGGED = 647,
     UNTIL = 648,
     UPDATE = 649,
     USER = 650,
     USING = 651,
     VACUUM = 652,
     VALID = 653,
     VALIDATE = 654,
     VALIDATOR = 655,
     VALUE_P = 656,
     VALUES = 657,
     VARCHAR = 658,
     VARIADIC = 659,
     VARYING = 660,
     VERBOSE = 661,
     VERSION_P = 662,
     VIEW = 663,
     VIEWS = 664,
     VOLATILE = 665,
     WHEN = 666,
     WHERE = 667,
     WHITESPACE_P = 668,
     WINDOW = 669,
     WITH = 670,
     WITHIN = 671,
     WITHOUT = 672,
     WORK = 673,
     WRAPPER = 674,
     WRITE = 675,
     XML_P = 676,
     XMLATTRIBUTES = 677,
     XMLCONCAT = 678,
     XMLELEMENT = 679,
     XMLEXISTS = 680,
     XMLFOREST = 681,
     XMLPARSE = 682,
     XMLPI = 683,
     XMLROOT = 684,
     XMLSERIALIZE = 685,
     YEAR_P = 686,
     YES_P = 687,
     ZONE = 688,
     NOT_LA = 689,
     NULLS_LA = 690,
     WITH_LA = 691,
     POSTFIXOP = 692,
     UMINUS = 693
   };
#endif
/* Tokens.  */
#define IDENT 258
#define FCONST 259
#define SCONST 260
#define BCONST 261
#define XCONST 262
#define Op 263
#define ICONST 264
#define PARAM 265
#define TYPECAST 266
#define DOT_DOT 267
#define COLON_EQUALS 268
#define EQUALS_GREATER 269
#define LESS_EQUALS 270
#define GREATER_EQUALS 271
#define NOT_EQUALS 272
#define ABORT_P 273
#define ABSOLUTE_P 274
#define ACCESS 275
#define ACTION 276
#define ADD_P 277
#define ADMIN 278
#define AFTER 279
#define AGGREGATE 280
#define ALL 281
#define ALSO 282
#define ALTER 283
#define ALWAYS 284
#define ANALYSE 285
#define ANALYZE 286
#define AND 287
#define ANY 288
#define ARRAY 289
#define AS 290
#define ASC 291
#define ASSERTION 292
#define ASSIGNMENT 293
#define ASYMMETRIC 294
#define AT 295
#define ATTRIBUTE 296
#define AUTHORIZATION 297
#define BACKWARD 298
#define BEFORE 299
#define BEGIN_P 300
#define BETWEEN 301
#define BIGINT 302
#define BINARY 303
#define BIT 304
#define BOOLEAN_P 305
#define BOTH 306
#define BY 307
#define CACHE 308
#define CALLED 309
#define CASCADE 310
#define CASCADED 311
#define CASE 312
#define CAST 313
#define CATALOG_P 314
#define CHAIN 315
#define CHAR_P 316
#define CHARACTER 317
#define CHARACTERISTICS 318
#define CHECK 319
#define CHECKPOINT 320
#define CLASS 321
#define CLOSE 322
#define CLUSTER 323
#define COALESCE 324
#define COLLATE 325
#define COLLATION 326
#define COLUMN 327
#define COMMENT 328
#define COMMENTS 329
#define COMMIT 330
#define COMMITTED 331
#define CONCURRENTLY 332
#define CONFIGURATION 333
#define CONFLICT 334
#define CONNECTION 335
#define CONSTRAINT 336
#define CONSTRAINTS 337
#define CONTENT_P 338
#define CONTINUE_P 339
#define CONVERSION_P 340
#define COPY 341
#define COST 342
#define CREATE 343
#define CROSS 344
#define CSV 345
#define CUBE 346
#define CURRENT_P 347
#define CURRENT_CATALOG 348
#define CURRENT_DATE 349
#define CURRENT_ROLE 350
#define CURRENT_SCHEMA 351
#define CURRENT_TIME 352
#define CURRENT_TIMESTAMP 353
#define CURRENT_USER 354
#define CURSOR 355
#define CYCLE 356
#define DATA_P 357
#define DATABASE 358
#define DAY_P 359
#define DEALLOCATE 360
#define DEC 361
#define DECIMAL_P 362
#define DECLARE 363
#define DEFAULT 364
#define DEFAULTS 365
#define DEFERRABLE 366
#define DEFERRED 367
#define DEFINER 368
#define DELETE_P 369
#define DELIMITER 370
#define DELIMITERS 371
#define DESC 372
#define DICTIONARY 373
#define DISABLE_P 374
#define DISCARD 375
#define DISTINCT 376
#define DO 377
#define DOCUMENT_P 378
#define DOMAIN_P 379
#define DOUBLE_P 380
#define DROP 381
#define EACH 382
#define ELSE 383
#define ENABLE_P 384
#define ENCODING 385
#define ENCRYPTED 386
#define END_P 387
#define ENUM_P 388
#define ESCAPE 389
#define EVENT 390
#define EXCEPT 391
#define EXCLUDE 392
#define EXCLUDING 393
#define EXCLUSIVE 394
#define EXECUTE 395
#define EXISTS 396
#define EXPLAIN 397
#define EXTENSION 398
#define EXTERNAL 399
#define EXTRACT 400
#define FALSE_P 401
#define FAMILY 402
#define FETCH 403
#define FILTER 404
#define FIRST_P 405
#define FLOAT_P 406
#define FOLLOWING 407
#define FOR 408
#define FORCE 409
#define FOREIGN 410
#define FORWARD 411
#define FREEZE 412
#define FROM 413
#define FULL 414
#define FUNCTION 415
#define FUNCTIONS 416
#define GLOBAL 417
#define GRANT 418
#define GRANTED 419
#define GREATEST 420
#define GROUP_P 421
#define GROUPING 422
#define HANDLER 423
#define HAVING 424
#define HEADER_P 425
#define HOLD 426
#define HOUR_P 427
#define IDENTITY_P 428
#define IF_P 429
#define ILIKE 430
#define IMMEDIATE 431
#define IMMUTABLE 432
#define IMPLICIT_P 433
#define IMPORT_P 434
#define IN_P 435
#define INCLUDING 436
#define INCREMENT 437
#define INDEX 438
#define INDEXES 439
#define INHERIT 440
#define INHERITS 441
#define INITIALLY 442
#define INLINE_P 443
#define INNER_P 444
#define INOUT 445
#define INPUT_P 446
#define INSENSITIVE 447
#define INSERT 448
#define INSTEAD 449
#define INT_P 450
#define INTEGER 451
#define INTERSECT 452
#define INTERVAL 453
#define INTO 454
#define INVOKER 455
#define IS 456
#define ISNULL 457
#define ISOLATION 458
#define JOIN 459
#define KEY 460
#define LABEL 461
#define LANGUAGE 462
#define LARGE_P 463
#define LAST_P 464
#define LATERAL_P 465
#define LEADING 466
#define LEAKPROOF 467
#define LEAST 468
#define LEFT 469
#define LEVEL 470
#define LIKE 471
#define LIMIT 472
#define LISTEN 473
#define LOAD 474
#define LOCAL 475
#define LOCALTIME 476
#define LOCALTIMESTAMP 477
#define LOCATION 478
#define LOCK_P 479
#define LOCKED 480
#define LOGGED 481
#define MAPPING 482
#define MATCH 483
#define MATERIALIZED 484
#define MAXVALUE 485
#define MINUTE_P 486
#define MINVALUE 487
#define MODE 488
#define MONTH_P 489
#define MOVE 490
#define NAME_P 491
#define NAMES 492
#define NATIONAL 493
#define NATURAL 494
#define NCHAR 495
#define NEXT 496
#define NO 497
#define NONE 498
#define NOT 499
#define NOTHING 500
#define NOTIFY 501
#define NOTNULL 502
#define NOWAIT 503
#define NULL_P 504
#define NULLIF 505
#define NULLS_P 506
#define NUMERIC 507
#define OBJECT_P 508
#define OF 509
#define OFF 510
#define OFFSET 511
#define OIDS 512
#define ON 513
#define ONLY 514
#define OPERATOR 515
#define OPTION 516
#define OPTIONS 517
#define OR 518
#define ORDER 519
#define ORDINALITY 520
#define OUT_P 521
#define OUTER_P 522
#define OVER 523
#define OVERLAPS 524
#define OVERLAY 525
#define OWNED 526
#define OWNER 527
#define PARSER 528
#define PARTIAL 529
#define PARTITION 530
#define PASSING 531
#define PASSWORD 532
#define PLACING 533
#define PLANS 534
#define POLICY 535
#define POSITION 536
#define PRECEDING 537
#define PRECISION 538
#define PRESERVE 539
#define PREPARE 540
#define PREPARED 541
#define PRIMARY 542
#define PRIOR 543
#define PRIVILEGES 544
#define PROCEDURAL 545
#define PROCEDURE 546
#define PROGRAM 547
#define QUOTE 548
#define RANGE 549
#define READ 550
#define REAL 551
#define REASSIGN 552
#define RECHECK 553
#define RECURSIVE 554
#define REF 555
#define REFERENCES 556
#define REFRESH 557
#define REINDEX 558
#define RELATIVE_P 559
#define RELEASE 560
#define RENAME 561
#define REPEATABLE 562
#define REPLACE 563
#define REPLICA 564
#define RESET 565
#define RESTART 566
#define RESTRICT 567
#define RETURNING 568
#define RETURNS 569
#define REVOKE 570
#define RIGHT 571
#define ROLE 572
#define ROLLBACK 573
#define ROLLUP 574
#define ROW 575
#define ROWS 576
#define RULE 577
#define SAVEPOINT 578
#define SCHEMA 579
#define SCROLL 580
#define SEARCH 581
#define SECOND_P 582
#define SECURITY 583
#define SELECT 584
#define SEQUENCE 585
#define SEQUENCES 586
#define SERIALIZABLE 587
#define SERVER 588
#define SESSION 589
#define SESSION_USER 590
#define SET 591
#define SETS 592
#define SETOF 593
#define SHARE 594
#define SHOW 595
#define SIMILAR 596
#define SIMPLE 597
#define SKIP 598
#define SMALLINT 599
#define SNAPSHOT 600
#define SOME 601
#define SQL_P 602
#define STABLE 603
#define STANDALONE_P 604
#define START 605
#define STATEMENT 606
#define STATISTICS 607
#define STDIN 608
#define STDOUT 609
#define STORAGE 610
#define STRICT_P 611
#define STRIP_P 612
#define SUBSTRING 613
#define SYMMETRIC 614
#define SYSID 615
#define SYSTEM_P 616
#define TABLE 617
#define TABLES 618
#define TABLESAMPLE 619
#define TABLESPACE 620
#define TEMP 621
#define TEMPLATE 622
#define TEMPORARY 623
#define TEXT_P 624
#define THEN 625
#define TIME 626
#define TIMESTAMP 627
#define TO 628
#define TRAILING 629
#define TRANSACTION 630
#define TRANSFORM 631
#define TREAT 632
#define TRIGGER 633
#define TRIM 634
#define TRUE_P 635
#define TRUNCATE 636
#define TRUSTED 637
#define TYPE_P 638
#define TYPES_P 639
#define UNBOUNDED 640
#define UNCOMMITTED 641
#define UNENCRYPTED 642
#define UNION 643
#define UNIQUE 644
#define UNKNOWN 645
#define UNLISTEN 646
#define UNLOGGED 647
#define UNTIL 648
#define UPDATE 649
#define USER 650
#define USING 651
#define VACUUM 652
#define VALID 653
#define VALIDATE 654
#define VALIDATOR 655
#define VALUE_P 656
#define VALUES 657
#define VARCHAR 658
#define VARIADIC 659
#define VARYING 660
#define VERBOSE 661
#define VERSION_P 662
#define VIEW 663
#define VIEWS 664
#define VOLATILE 665
#define WHEN 666
#define WHERE 667
#define WHITESPACE_P 668
#define WINDOW 669
#define WITH 670
#define WITHIN 671
#define WITHOUT 672
#define WORK 673
#define WRAPPER 674
#define WRITE 675
#define XML_P 676
#define XMLATTRIBUTES 677
#define XMLCONCAT 678
#define XMLELEMENT 679
#define XMLEXISTS 680
#define XMLFOREST 681
#define XMLPARSE 682
#define XMLPI 683
#define XMLROOT 684
#define XMLSERIALIZE 685
#define YEAR_P 686
#define YES_P 687
#define ZONE 688
#define NOT_LA 689
#define NULLS_LA 690
#define WITH_LA 691
#define POSTFIXOP 692
#define UMINUS 693




/* Copy the first part of user declarations.  */
#line 1 "gram.y"


/*#define YYDEBUG 1*/
/*-------------------------------------------------------------------------
 *
 * gram.y
 *	  POSTGRESQL BISON rules/actions
 *
 * Portions Copyright (c) 1996-2015, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 *
 * IDENTIFICATION
 *	  src/backend/parser/gram.y
 *
 * HISTORY
 *	  AUTHOR			DATE			MAJOR EVENT
 *	  Andrew Yu			Sept, 1994		POSTQUEL to SQL conversion
 *	  Andrew Yu			Oct, 1994		lispy code conversion
 *
 * NOTES
 *	  CAPITALS are used to represent terminal symbols.
 *	  non-capitals are used to represent non-terminals.
 *
 *	  In general, nothing in this file should initiate database accesses
 *	  nor depend on changeable state (such as SET variables).  If you do
 *	  database accesses, your code will fail when we have aborted the
 *	  current transaction and are just parsing commands to find the next
 *	  ROLLBACK or COMMIT.  If you make use of SET variables, then you
 *	  will do the wrong thing in multi-query strings like this:
 *			SET SQL_inheritance TO off; SELECT * FROM foo;
 *	  because the entire string is parsed by gram.y before the SET gets
 *	  executed.  Anything that depends on the database or changeable state
 *	  should be handled during parse analysis so that it happens at the
 *	  right time not the wrong time.  The handling of SQL_inheritance is
 *	  a good example.
 *
 * WARNINGS
 *	  If you use a list, make sure the datum is a node so that the printing
 *	  routines work.
 *
 *	  Sometimes we assign constants to makeStrings. Make sure we don't free
 *	  those.
 *
 *-------------------------------------------------------------------------
 */
#include "postgres.h"

#include <ctype.h>
#include <limits.h>

#include "catalog/index.h"
#include "catalog/namespace.h"
#include "catalog/pg_trigger.h"
#include "commands/defrem.h"
#include "commands/trigger.h"
#include "nodes/makefuncs.h"
#include "nodes/nodeFuncs.h"
#include "parser/gramparse.h"
#include "parser/parser.h"
#include "parser/parse_expr.h"
#include "storage/lmgr.h"
#include "utils/date.h"
#include "utils/datetime.h"
#include "utils/numeric.h"
#include "utils/xml.h"


/*
 * Location tracking support --- simpler than bison's default, since we only
 * want to track the start position not the end position of each nonterminal.
 */
#define YYLLOC_DEFAULT(Current, Rhs, N) \
	do { \
		if ((N) > 0) \
			(Current) = (Rhs)[1]; \
		else \
			(Current) = (-1); \
	} while (0)

/*
 * The above macro assigns -1 (unknown) as the parse location of any
 * nonterminal that was reduced from an empty rule.  This is problematic
 * for nonterminals defined like
 *		OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
 * because we'll set -1 as the location during the first reduction and then
 * copy it during each subsequent reduction, leaving us with -1 for the
 * location even when the list is not empty.  To fix that, do this in the
 * action for the nonempty rule(s):
 *		if (@$ < 0) @$ = @2;
 * (Although we have many nonterminals that follow this pattern, we only
 * bother with fixing @$ like this when the nonterminal's parse location
 * is actually referenced in some rule.)
 */

/*
 * Bison doesn't allocate anything that needs to live across parser calls,
 * so we can easily have it use palloc instead of malloc.  This prevents
 * memory leaks if we error out during parsing.  Note this only works with
 * bison >= 2.0.  However, in bison 1.875 the default is to use alloca()
 * if possible, so there's not really much problem anyhow, at least if
 * you're building with gcc.
 */
#define YYMALLOC palloc
#define YYFREE   pfree

/* Private struct for the result of privilege_target production */
typedef struct PrivTarget
{
	GrantTargetType targtype;
	GrantObjectType objtype;
	List	   *objs;
} PrivTarget;

/* Private struct for the result of import_qualification production */
typedef struct ImportQual
{
	ImportForeignSchemaType type;
	List	   *table_names;
} ImportQual;

/* ConstraintAttributeSpec yields an integer bitmask of these flags: */
#define CAS_NOT_DEFERRABLE			0x01
#define CAS_DEFERRABLE				0x02
#define CAS_INITIALLY_IMMEDIATE		0x04
#define CAS_INITIALLY_DEFERRED		0x08
#define CAS_NOT_VALID				0x10
#define CAS_NO_INHERIT				0x20


#define parser_yyerror(msg)  scanner_yyerror(msg, yyscanner)
#define parser_errposition(pos)  scanner_errposition(pos, yyscanner)

static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
						 const char *msg);
static Node *makeColumnRef(char *colname, List *indirection,
						   int location, core_yyscan_t yyscanner);
static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
static Node *makeStringConst(char *str, int location);
static Node *makeStringConstCast(char *str, int location, TypeName *typename);
static Node *makeIntConst(int val, int location);
static Node *makeFloatConst(char *str, int location);
static Node *makeBitStringConst(char *str, int location);
static Node *makeNullAConst(int location);
static Node *makeAConst(Value *v, int location);
static Node *makeBoolAConst(bool state, int location);
static Node *makeParamRef(int number, int location);
static Node *makeParamRefCast(int number, int location, TypeName *typename);
static Node *makeInterval_or_AExprOp(Node *lexpr, Node *rexpr, int location);
static Node *makeRoleSpec(RoleSpecType type, int location);
static void check_qualified_name(List *names, core_yyscan_t yyscanner);
static List *check_func_name(List *names, core_yyscan_t yyscanner);
static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
static List *extractArgTypes(List *parameters);
static List *extractAggrArgTypes(List *aggrargs);
static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
								core_yyscan_t yyscanner);
static void insertSelectOptions(SelectStmt *stmt,
								List *sortClause, List *lockingClause,
								Node *limitOffset, Node *limitCount,
								WithClause *withClause,
								core_yyscan_t yyscanner);
static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
static Node *doNegate(Node *n, int location);
static void doNegateFloat(Value *v);
static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
static Node *makeNotExpr(Node *expr, int location);
static Node *makeAArrayExpr(List *elements, int location);
static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
						 List *args, int location);
static List *mergeTableFuncParameters(List *func_args, List *columns);
static TypeName *TableFuncTypeName(List *columns);
static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
static void SplitColQualList(List *qualList,
							 List **constraintList, CollateClause **collClause,
							 core_yyscan_t yyscanner);
static void processCASbits(int cas_bits, int location, const char *constrType,
			   bool *deferrable, bool *initdeferred, bool *not_valid,
			   bool *no_inherit, core_yyscan_t yyscanner);
static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);



/* Enabling traces.  */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif

/* Enabling verbose error messages.  */
#ifdef YYERROR_VERBOSE
# undef YYERROR_VERBOSE
# define YYERROR_VERBOSE 1
#else
# define YYERROR_VERBOSE 0
#endif

/* Enabling the token table.  */
#ifndef YYTOKEN_TABLE
# define YYTOKEN_TABLE 0
#endif

#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 194 "gram.y"
{
	core_YYSTYPE		core_yystype;
	/* these fields must match core_YYSTYPE: */
	int					ival;
	char				*str;
	const char			*keyword;

	char				chr;
	bool				boolean;
	JoinType			jtype;
	DropBehavior		dbehavior;
	OnCommitAction		oncommit;
	List				*list;
	Node				*node;
	Value				*value;
	ObjectType			objtype;
	TypeName			*typnam;
	FunctionParameter   *fun_param;
	FunctionParameterMode fun_param_mode;
	FuncWithArgs		*funwithargs;
	DefElem				*defelt;
	SortBy				*sortby;
	WindowDef			*windef;
	JoinExpr			*jexpr;
	IndexElem			*ielem;
	Alias				*alias;
	RangeVar			*range;
	IntoClause			*into;
	WithClause			*with;
	InferClause			*infer;
	OnConflictClause	*onconflict;
	A_Indices			*aind;
	ResTarget			*target;
	struct PrivTarget	*privtarget;
	AccessPriv			*accesspriv;
	struct ImportQual	*importqual;
	InsertStmt			*istmt;
	VariableSetStmt		*vsetstmt;
}
/* Line 193 of yacc.c.  */
#line 1204 "gram.c"
	YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif

#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
typedef struct YYLTYPE
{
  int first_line;
  int first_column;
  int last_line;
  int last_column;
} YYLTYPE;
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
# define YYLTYPE_IS_DECLARED 1
# define YYLTYPE_IS_TRIVIAL 1
#endif


/* Copy the second part of user declarations.  */


/* Line 216 of yacc.c.  */
#line 1229 "gram.c"

#ifdef short
# undef short
#endif

#ifdef YYTYPE_UINT8
typedef YYTYPE_UINT8 yytype_uint8;
#else
typedef unsigned char yytype_uint8;
#endif

#ifdef YYTYPE_INT8
typedef YYTYPE_INT8 yytype_int8;
#elif (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
typedef signed char yytype_int8;
#else
typedef short int yytype_int8;
#endif

#ifdef YYTYPE_UINT16
typedef YYTYPE_UINT16 yytype_uint16;
#else
typedef unsigned short int yytype_uint16;
#endif

#ifdef YYTYPE_INT16
typedef YYTYPE_INT16 yytype_int16;
#else
typedef short int yytype_int16;
#endif

#ifndef YYSIZE_T
# ifdef __SIZE_TYPE__
#  define YYSIZE_T __SIZE_TYPE__
# elif defined size_t
#  define YYSIZE_T size_t
# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
#  define YYSIZE_T size_t
# else
#  define YYSIZE_T unsigned int
# endif
#endif

#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)

#ifndef YY_
# if defined YYENABLE_NLS && YYENABLE_NLS
#  if ENABLE_NLS
#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
#   define YY_(msgid) dgettext ("bison-runtime", msgid)
#  endif
# endif
# ifndef YY_
#  define YY_(msgid) msgid
# endif
#endif

/* Suppress unused-variable warnings by "using" E.  */
#if ! defined lint || defined __GNUC__
# define YYUSE(e) ((void) (e))
#else
# define YYUSE(e) /* empty */
#endif

/* Identity function, used to suppress warnings about constant conditions.  */
#ifndef lint
# define YYID(n) (n)
#else
#if (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
static int
YYID (int i)
#else
static int
YYID (i)
    int i;
#endif
{
  return i;
}
#endif

#if ! defined yyoverflow || YYERROR_VERBOSE

/* The parser invokes alloca or malloc; define the necessary symbols.  */

# ifdef YYSTACK_USE_ALLOCA
#  if YYSTACK_USE_ALLOCA
#   ifdef __GNUC__
#    define YYSTACK_ALLOC __builtin_alloca
#   elif defined __BUILTIN_VA_ARG_INCR
#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
#   elif defined _AIX
#    define YYSTACK_ALLOC __alloca
#   elif defined _MSC_VER
#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
#    define alloca _alloca
#   else
#    define YYSTACK_ALLOC alloca
#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
#     ifndef _STDLIB_H
#      define _STDLIB_H 1
#     endif
#    endif
#   endif
#  endif
# endif

# ifdef YYSTACK_ALLOC
   /* Pacify GCC's `empty if-body' warning.  */
#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
#  ifndef YYSTACK_ALLOC_MAXIMUM
    /* The OS might guarantee only one guard page at the bottom of the stack,
       and a page size can be as small as 4096 bytes.  So we cannot safely
       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
       to allow for a few compiler-allocated temporary stack slots.  */
#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
#  endif
# else
#  define YYSTACK_ALLOC YYMALLOC
#  define YYSTACK_FREE YYFREE
#  ifndef YYSTACK_ALLOC_MAXIMUM
#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
#  endif
#  if (defined __cplusplus && ! defined _STDLIB_H \
       && ! ((defined YYMALLOC || defined malloc) \
	     && (defined YYFREE || defined free)))
#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
#   ifndef _STDLIB_H
#    define _STDLIB_H 1
#   endif
#  endif
#  ifndef YYMALLOC
#   define YYMALLOC malloc
#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
#   endif
#  endif
#  ifndef YYFREE
#   define YYFREE free
#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
void free (void *); /* INFRINGES ON USER NAME SPACE */
#   endif
#  endif
# endif
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */


#if (! defined yyoverflow \
     && (! defined __cplusplus \
	 || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
	     && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))

/* A type that is properly aligned for any stack member.  */
union yyalloc
{
  yytype_int16 yyss;
  YYSTYPE yyvs;
    YYLTYPE yyls;
};

/* The size of the maximum gap between one aligned stack and the next.  */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)

/* The size of an array large to enough to hold all stacks, each with
   N elements.  */
# define YYSTACK_BYTES(N) \
     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
      + 2 * YYSTACK_GAP_MAXIMUM)

/* Copy COUNT objects from FROM to TO.  The source and destination do
   not overlap.  */
# ifndef YYCOPY
#  if defined __GNUC__ && 1 < __GNUC__
#   define YYCOPY(To, From, Count) \
      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
#  else
#   define YYCOPY(To, From, Count)		\
      do					\
	{					\
	  YYSIZE_T yyi;				\
	  for (yyi = 0; yyi < (Count); yyi++)	\
	    (To)[yyi] = (From)[yyi];		\
	}					\
      while (YYID (0))
#  endif
# endif

/* Relocate STACK from its old location to the new one.  The
   local variables YYSIZE and YYSTACKSIZE give the old and new number of
   elements in the stack, and YYPTR gives the new location of the
   stack.  Advance YYPTR to a properly aligned location for the next
   stack.  */
# define YYSTACK_RELOCATE(Stack)					\
    do									\
      {									\
	YYSIZE_T yynewbytes;						\
	YYCOPY (&yyptr->Stack, Stack, yysize);				\
	Stack = &yyptr->Stack;						\
	yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
	yyptr += yynewbytes / sizeof (*yyptr);				\
      }									\
    while (YYID (0))

#endif

/* YYFINAL -- State number of the termination state.  */
#define YYFINAL  755
/* YYLAST -- Last index in YYTABLE.  */
#define YYLAST   92266

/* YYNTOKENS -- Number of terminals.  */
#define YYNTOKENS  457
/* YYNNTS -- Number of nonterminals.  */
#define YYNNTS  616
/* YYNRULES -- Number of rules.  */
#define YYNRULES  2502
/* YYNRULES -- Number of states.  */
#define YYNSTATES  4948

/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
#define YYUNDEFTOK  2
#define YYMAXUTOK   693

#define YYTRANSLATE(YYX)						\
  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)

/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
static const yytype_uint16 yytranslate[] =
{
       0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,   445,     2,     2,
     451,   452,   443,   441,   455,   442,   453,   444,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,   456,   454,
     437,   439,   438,   447,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,   449,     2,   450,   446,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
       2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
       5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   440,   448
};

#if YYDEBUG
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
   YYRHS.  */
static const yytype_uint16 yyprhs[] =
{
       0,     0,     3,     5,     9,    11,    13,    15,    17,    19,
      21,    23,    25,    27,    29,    31,    33,    35,    37,    39,
      41,    43,    45,    47,    49,    51,    53,    55,    57,    59,
      61,    63,    65,    67,    69,    71,    73,    75,    77,    79,
      81,    83,    85,    87,    89,    91,    93,    95,    97,    99,
     101,   103,   105,   107,   109,   111,   113,   115,   117,   119,
     121,   123,   125,   127,   129,   131,   133,   135,   137,   139,
     141,   143,   145,   147,   149,   151,   153,   155,   157,   159,
     161,   163,   165,   167,   169,   171,   173,   175,   177,   179,
     181,   183,   185,   187,   189,   191,   193,   195,   197,   199,
     201,   203,   205,   207,   209,   211,   213,   215,   217,   219,
     221,   223,   225,   227,   229,   231,   233,   235,   237,   239,
     241,   243,   245,   247,   249,   251,   253,   255,   256,   262,
     264,   266,   267,   270,   271,   274,   275,   278,   281,   285,
     289,   291,   295,   299,   302,   304,   306,   309,   312,   315,
     319,   323,   329,   335,   336,   340,   346,   352,   358,   363,
     367,   373,   377,   383,   389,   396,   398,   400,   404,   410,
     417,   422,   432,   440,   442,   443,   446,   447,   449,   451,
     453,   455,   457,   459,   462,   466,   470,   473,   479,   481,
     485,   489,   493,   497,   499,   503,   507,   510,   513,   516,
     519,   523,   527,   531,   535,   537,   541,   543,   547,   549,
     551,   553,   556,   559,   562,   564,   566,   568,   570,   572,
     574,   576,   580,   586,   588,   590,   592,   594,   596,   597,
     599,   601,   604,   606,   609,   613,   616,   618,   620,   623,
     625,   628,   630,   633,   637,   642,   646,   649,   654,   656,
     658,   660,   662,   664,   667,   670,   673,   676,   679,   684,
     691,   702,   716,   721,   728,   739,   753,   758,   765,   770,
     777,   783,   791,   803,   818,   820,   824,   827,   831,   836,
     843,   850,   857,   863,   869,   876,   883,   888,   897,   902,
     905,   910,   914,   921,   926,   930,   934,   938,   942,   945,
     948,   952,   957,   962,   966,   970,   974,   978,   982,   986,
     991,   996,  1000,  1003,  1007,  1010,  1013,  1017,  1021,  1024,
    1027,  1031,  1036,  1041,  1046,  1052,  1054,  1058,  1061,  1063,
    1065,  1066,  1069,  1070,  1073,  1074,  1076,  1078,  1080,  1084,
    1088,  1091,  1092,  1094,  1098,  1102,  1104,  1110,  1114,  1119,
    1121,  1125,  1130,  1137,  1142,  1151,  1154,  1157,  1169,  1177,
    1179,  1181,  1183,  1184,  1186,  1188,  1190,  1192,  1196,  1199,
    1200,  1202,  1204,  1206,  1210,  1214,  1216,  1218,  1222,  1226,
    1230,  1234,  1239,  1243,  1246,  1248,  1249,  1252,  1253,  1257,
    1258,  1260,  1261,  1263,  1267,  1270,  1272,  1274,  1276,  1280,
    1281,  1283,  1287,  1289,  1301,  1316,  1327,  1341,  1343,  1345,
    1348,  1351,  1354,  1357,  1359,  1360,  1362,  1363,  1367,  1368,
    1370,  1374,  1376,  1380,  1382,  1384,  1386,  1388,  1390,  1395,
    1400,  1403,  1404,  1408,  1410,  1412,  1415,  1418,  1420,  1424,
    1429,  1435,  1438,  1444,  1446,  1449,  1452,  1455,  1459,  1463,
    1467,  1468,  1470,  1472,  1474,  1476,  1478,  1480,  1484,  1486,
    1492,  1500,  1504,  1513,  1518,  1528,  1540,  1543,  1544,  1548,
    1549,  1551,  1555,  1557,  1560,  1563,  1566,  1567,  1569,  1573,
    1577,  1584,  1589,  1590,  1592,  1594,  1597,  1600,  1601,  1605,
    1609,  1612,  1614,  1616,  1619,  1622,  1627,  1628,  1631,  1634,
    1637,  1638,  1642,  1647,  1652,  1653,  1656,  1657,  1662,  1663,
    1667,  1675,  1686,  1692,  1695,  1699,  1700,  1709,  1721,  1726,
    1728,  1729,  1736,  1742,  1751,  1756,  1763,  1765,  1766,  1768,
    1771,  1774,  1776,  1779,  1783,  1786,  1789,  1792,  1795,  1799,
    1803,  1805,  1809,  1811,  1812,  1814,  1817,  1819,  1821,  1825,
    1832,  1843,  1845,  1846,  1848,  1851,  1854,  1855,  1858,  1861,
    1863,  1864,  1870,  1878,  1880,  1881,  1889,  1892,  1893,  1897,
    1903,  1909,  1918,  1921,  1922,  1925,  1928,  1931,  1937,  1940,
    1941,  1944,  1952,  1963,  1970,  1977,  1984,  1991,  1999,  2007,
    2017,  2027,  2034,  2042,  2049,  2058,  2067,  2076,  2085,  2092,
    2099,  2107,  2115,  2124,  2131,  2141,  2148,  2156,  2159,  2162,
    2165,  2168,  2170,  2173,  2175,  2176,  2183,  2192,  2200,  2207,
    2212,  2213,  2215,  2219,  2224,  2226,  2230,  2232,  2235,  2238,
    2241,  2244,  2246,  2248,  2259,  2262,  2263,  2266,  2269,  2271,
    2272,  2277,  2284,  2290,  2295,  2300,  2312,  2327,  2333,  2341,
    2353,  2356,  2358,  2363,  2364,  2373,  2375,  2377,  2385,  2395,
    2404,  2414,  2423,  2430,  2439,  2444,  2445,  2451,  2452,  2455,
    2456,  2459,  2460,  2463,  2464,  2466,  2468,  2470,  2472,  2474,
    2490,  2511,  2513,  2515,  2518,  2520,  2524,  2526,  2528,  2530,
    2534,  2536,  2540,  2541,  2543,  2544,  2546,  2548,  2553,  2554,
    2556,  2560,  2561,  2563,  2565,  2567,  2569,  2572,  2573,  2574,
    2577,  2580,  2582,  2585,  2588,  2591,  2594,  2601,  2610,  2622,
    2636,  2638,  2642,  2648,  2650,  2654,  2660,  2662,  2665,  2668,
    2670,  2679,  2684,  2690,  2695,  2700,  2705,  2709,  2717,  2726,
    2733,  2740,  2747,  2754,  2761,  2766,  2772,  2776,  2778,  2782,
    2786,  2788,  2790,  2792,  2794,  2796,  2798,  2802,  2804,  2808,
    2812,  2814,  2815,  2817,  2821,  2829,  2839,  2849,  2853,  2854,
    2868,  2870,  2874,  2880,  2887,  2892,  2900,  2903,  2905,  2906,
    2909,  2910,  2913,  2918,  2919,  2921,  2922,  2929,  2938,  2947,
    2949,  2953,  2959,  2965,  2973,  2983,  2991,  3001,  3007,  3014,
    3021,  3026,  3031,  3038,  3043,  3050,  3056,  3064,  3066,  3068,
    3070,  3073,  3075,  3078,  3081,  3083,  3085,  3087,  3089,  3093,
    3097,  3101,  3105,  3107,  3111,  3113,  3116,  3119,  3123,  3125,
    3129,  3135,  3138,  3141,  3142,  3149,  3156,  3163,  3171,  3179,
    3187,  3196,  3206,  3215,  3224,  3231,  3241,  3250,  3260,  3270,
    3278,  3289,  3297,  3299,  3301,  3303,  3305,  3307,  3309,  3311,
    3314,  3316,  3318,  3320,  3322,  3324,  3327,  3329,  3333,  3336,
    3340,  3344,  3348,  3352,  3354,  3356,  3365,  3374,  3383,  3393,
    3403,  3413,  3423,  3426,  3427,  3429,  3431,  3434,  3437,  3439,
    3441,  3443,  3445,  3447,  3449,  3452,  3454,  3456,  3459,  3462,
    3464,  3467,  3471,  3475,  3479,  3483,  3488,  3493,  3497,  3501,
    3505,  3510,  3515,  3519,  3524,  3529,  3531,  3533,  3535,  3536,
    3544,  3552,  3563,  3565,  3567,  3570,  3575,  3581,  3583,  3587,
    3590,  3593,  3596,  3599,  3601,  3604,  3607,  3612,  3616,  3619,
    3622,  3625,  3628,  3632,  3635,  3638,  3641,  3647,  3653,  3659,
    3661,  3665,  3667,  3670,  3674,  3675,  3677,  3681,  3684,  3691,
    3698,  3708,  3712,  3713,  3717,  3718,  3724,  3727,  3728,  3732,
    3736,  3740,  3748,  3756,  3767,  3769,  3771,  3773,  3775,  3790,
    3808,  3810,  3811,  3813,  3814,  3816,  3817,  3820,  3821,  3823,
    3827,  3833,  3839,  3847,  3850,  3851,  3853,  3856,  3857,  3859,
    3861,  3862,  3865,  3868,  3869,  3879,  3892,  3900,  3903,  3904,
    3908,  3911,  3913,  3917,  3921,  3924,  3926,  3930,  3934,  3938,
    3941,  3944,  3946,  3948,  3950,  3952,  3955,  3957,  3959,  3961,
    3963,  3968,  3974,  3976,  3980,  3984,  3986,  3990,  3994,  4000,
    4007,  4009,  4013,  4015,  4018,  4023,  4029,  4031,  4033,  4035,
    4037,  4041,  4045,  4048,  4051,  4053,  4056,  4059,  4062,  4064,
    4067,  4070,  4073,  4075,  4077,  4079,  4083,  4087,  4093,  4096,
    4097,  4100,  4102,  4106,  4112,  4114,  4117,  4119,  4120,  4126,
    4134,  4140,  4148,  4154,  4162,  4166,  4172,  4178,  4184,  4186,
    4190,  4193,  4195,  4198,  4200,  4203,  4215,  4226,  4237,  4240,
    4243,  4244,  4254,  4257,  4258,  4269,  4281,  4293,  4299,  4305,
    4314,  4318,  4322,  4329,  4336,  4338,  4340,  4342,  4344,  4346,
    4348,  4352,  4354,  4360,  4366,  4374,  4381,  4388,  4395,  4402,
    4411,  4420,  4427,  4434,  4442,  4452,  4462,  4471,  4482,  4489,
    4496,  4503,  4512,  4519,  4528,  4535,  4544,  4552,  4562,  4569,
    4578,  4586,  4596,  4605,  4616,  4626,  4638,  4647,  4658,  4668,
    4680,  4689,  4698,  4706,  4713,  4720,  4727,  4736,  4745,  4754,
    4763,  4770,  4780,  4782,  4783,  4786,  4787,  4795,  4802,  4809,
    4816,  4823,  4830,  4838,  4848,  4858,  4865,  4874,  4883,  4892,
    4901,  4910,  4917,  4926,  4933,  4942,  4950,  4960,  4968,  4978,
    4985,  4993,  5000,  5007,  5014,  5021,  5028,  5036,  5044,  5052,
    5062,  5072,  5079,  5086,  5093,  5102,  5111,  5120,  5127,  5135,
    5149,  5151,  5153,  5157,  5161,  5163,  5165,  5167,  5169,  5171,
    5173,  5175,  5176,  5178,  5180,  5182,  5184,  5186,  5188,  5189,
    5196,  5205,  5209,  5212,  5213,  5216,  5219,  5222,  5225,  5229,
    5233,  5236,  5239,  5242,  5245,  5249,  5252,  5258,  5263,  5267,
    5271,  5275,  5277,  5279,  5280,  5284,  5287,  5290,  5292,  5295,
    5297,  5301,  5304,  5306,  5307,  5317,  5329,  5342,  5357,  5361,
    5366,  5371,  5372,  5375,  5381,  5383,  5384,  5386,  5389,  5393,
    5397,  5401,  5403,  5406,  5408,  5410,  5412,  5414,  5416,  5418,
    5419,  5425,  5430,  5437,  5442,  5446,  5452,  5457,  5462,  5469,
    5474,  5481,  5488,  5494,  5502,  5512,  5519,  5521,  5522,  5529,
    5541,  5553,  5565,  5579,  5589,  5601,  5603,  5605,  5616,  5621,
    5624,  5630,  5633,  5634,  5639,  5645,  5651,  5656,  5663,  5665,
    5669,  5671,  5673,  5675,  5677,  5680,  5685,  5687,  5689,  5691,
    5692,  5694,  5695,  5697,  5698,  5702,  5703,  5706,  5711,  5715,
    5721,  5723,  5725,  5727,  5729,  5731,  5733,  5735,  5737,  5739,
    5741,  5745,  5748,  5750,  5752,  5754,  5756,  5757,  5763,  5767,
    5768,  5770,  5772,  5774,  5776,  5780,  5790,  5794,  5795,  5798,
    5802,  5805,  5809,  5817,  5819,  5823,  5825,  5830,  5833,  5835,
    5839,  5842,  5851,  5857,  5858,  5863,  5867,  5868,  5871,  5872,
    5880,  5883,  5884,  5890,  5894,  5895,  5898,  5901,  5904,  5908,
    5910,  5914,  5916,  5919,  5921,  5922,  5924,  5927,  5928,  5937,
    5939,  5943,  5945,  5947,  5951,  5957,  5963,  5966,  5968,  5972,
    5980,  5982,  5983,  5987,  5990,  5993,  5996,  5997,  6000,  6003,
    6005,  6007,  6011,  6015,  6017,  6020,  6025,  6030,  6033,  6037,
    6043,  6049,  6051,  6053,  6063,  6073,  6075,  6078,  6083,  6088,
    6093,  6096,  6099,  6103,  6105,  6109,  6116,  6118,  6119,  6122,
    6123,  6127,  6131,  6136,  6141,  6146,  6151,  6155,  6158,  6160,
    6162,  6163,  6165,  6167,  6168,  6170,  6176,  6178,  6179,  6181,
    6182,  6186,  6188,  6192,  6197,  6201,  6204,  6207,  6209,  6211,
    6213,  6214,  6217,  6222,  6228,  6231,  6235,  6237,  6239,  6241,
    6243,  6247,  6248,  6250,  6252,  6254,  6256,  6258,  6262,  6263,
    6265,  6269,  6271,  6273,  6275,  6277,  6279,  6282,  6287,  6292,
    6298,  6301,  6302,  6304,  6308,  6310,  6311,  6313,  6316,  6320,
    6323,  6328,  6331,  6335,  6338,  6339,  6342,  6346,  6349,  6350,
    6352,  6356,  6359,  6363,  6366,  6370,  6373,  6377,  6379,  6384,
    6388,  6393,  6399,  6404,  6410,  6415,  6421,  6424,  6429,  6431,
    6433,  6434,  6436,  6441,  6447,  6452,  6453,  6456,  6459,  6462,
    6464,  6466,  6467,  6472,  6475,  6477,  6480,  6483,  6488,  6490,
    6494,  6496,  6499,  6503,  6510,  6515,  6516,  6519,  6526,  6529,
    6531,  6535,  6540,  6541,  6544,  6545,  6548,  6549,  6552,  6557,
    6558,  6560,  6561,  6563,  6567,  6571,  6574,  6578,  6584,  6591,
    6594,  6598,  6602,  6607,  6608,  6610,  6612,  6614,  6616,  6618,
    6621,  6626,  6628,  6630,  6632,  6634,  6637,  6641,  6645,  6646,
    6648,  6650,  6652,  6654,  6656,  6659,  6662,  6665,  6668,  6671,
    6673,  6677,  6678,  6680,  6682,  6684,  6686,  6692,  6695,  6697,
    6699,  6701,  6703,  6709,  6712,  6715,  6718,  6720,  6724,  6728,
    6731,  6733,  6734,  6738,  6739,  6745,  6748,  6754,  6757,  6759,
    6763,  6767,  6768,  6770,  6772,  6774,  6776,  6778,  6780,  6784,
    6788,  6792,  6796,  6800,  6804,  6808,  6809,  6811,  6816,  6818,
    6822,  6826,  6832,  6835,  6838,  6842,  6846,  6850,  6854,  6858,
    6862,  6866,  6870,  6874,  6878,  6882,  6886,  6890,  6893,  6897,
    6900,  6903,  6907,  6911,  6914,  6917,  6921,  6927,  6932,  6939,
    6943,  6949,  6954,  6961,  6966,  6973,  6979,  6987,  6991,  6994,
    6999,  7002,  7006,  7010,  7015,  7019,  7024,  7028,  7033,  7039,
    7046,  7053,  7061,  7068,  7076,  7083,  7091,  7095,  7100,  7105,
    7112,  7115,  7119,  7124,  7126,  7130,  7133,  7136,  7140,  7144,
    7148,  7152,  7156,  7160,  7164,  7168,  7172,  7176,  7180,  7184,
    7188,  7191,  7195,  7198,  7201,  7207,  7214,  7221,  7229,  7233,
    7238,  7240,  7242,  7245,  7248,  7253,  7255,  7257,  7259,  7262,
    7265,  7268,  7271,  7273,  7275,  7280,  7284,  7290,  7297,  7306,
    7313,  7320,  7325,  7330,  7332,  7334,  7336,  7342,  7344,  7346,
    7351,  7353,  7358,  7360,  7365,  7367,  7372,  7374,  7376,  7378,
    7380,  7382,  7384,  7391,  7396,  7401,  7406,  7411,  7418,  7424,
    7430,  7436,  7441,  7448,  7453,  7458,  7463,  7468,  7474,  7482,
    7490,  7500,  7506,  7511,  7518,  7524,  7532,  7540,  7548,  7551,
    7555,  7559,  7563,  7568,  7569,  7574,  7576,  7580,  7584,  7586,
    7588,  7590,  7593,  7596,  7597,  7600,  7605,  7610,  7617,  7623,
    7624,  7630,  7631,  7634,  7635,  7637,  7641,  7645,  7648,  7651,
    7652,  7659,  7661,  7662,  7666,  7667,  7670,  7673,  7674,  7676,
    7681,  7684,  7687,  7690,  7693,  7696,  7701,  7705,  7711,  7716,
    7720,  7726,  7728,  7730,  7732,  7734,  7736,  7738,  7740,  7742,
    7744,  7746,  7748,  7750,  7752,  7754,  7756,  7758,  7760,  7762,
    7764,  7769,  7771,  7776,  7778,  7783,  7785,  7788,  7790,  7793,
    7795,  7799,  7801,  7805,  7807,  7811,  7815,  7817,  7821,  7825,
    7829,  7832,  7834,  7838,  7842,  7846,  7847,  7849,  7851,  7853,
    7855,  7857,  7859,  7861,  7863,  7868,  7872,  7875,  7879,  7880,
    7884,  7888,  7891,  7894,  7896,  7897,  7900,  7903,  7907,  7910,
    7912,  7914,  7918,  7924,  7926,  7929,  7934,  7937,  7938,  7940,
    7941,  7943,  7946,  7949,  7952,  7956,  7962,  7964,  7967,  7968,
    7971,  7973,  7974,  7976,  7978,  7980,  7984,  7988,  7990,  7991,
    7993,  7997,  8001,  8004,  8006,  8008,  8010,  8014,  8016,  8019,
    8021,  8025,  8027,  8029,  8031,  8033,  8035,  8037,  8039,  8042,
    8044,  8046,  8048,  8050,  8052,  8055,  8062,  8065,  8069,  8075,
    8082,  8084,  8086,  8088,  8090,  8092,  8094,  8097,  8100,  8102,
    8104,  8106,  8108,  8110,  8114,  8116,  8118,  8120,  8122,  8124,
    8126,  8128,  8130,  8132,  8134,  8136,  8138,  8140,  8142,  8144,
    8146,  8148,  8150,  8152,  8154,  8156,  8158,  8160,  8162,  8164,
    8166,  8168,  8170,  8172,  8174,  8176,  8178,  8180,  8182,  8184,
    8186,  8188,  8190,  8192,  8194,  8196,  8198,  8200,  8202,  8204,
    8206,  8208,  8210,  8212,  8214,  8216,  8218,  8220,  8222,  8224,
    8226,  8228,  8230,  8232,  8234,  8236,  8238,  8240,  8242,  8244,
    8246,  8248,  8250,  8252,  8254,  8256,  8258,  8260,  8262,  8264,
    8266,  8268,  8270,  8272,  8274,  8276,  8278,  8280,  8282,  8284,
    8286,  8288,  8290,  8292,  8294,  8296,  8298,  8300,  8302,  8304,
    8306,  8308,  8310,  8312,  8314,  8316,  8318,  8320,  8322,  8324,
    8326,  8328,  8330,  8332,  8334,  8336,  8338,  8340,  8342,  8344,
    8346,  8348,  8350,  8352,  8354,  8356,  8358,  8360,  8362,  8364,
    8366,  8368,  8370,  8372,  8374,  8376,  8378,  8380,  8382,  8384,
    8386,  8388,  8390,  8392,  8394,  8396,  8398,  8400,  8402,  8404,
    8406,  8408,  8410,  8412,  8414,  8416,  8418,  8420,  8422,  8424,
    8426,  8428,  8430,  8432,  8434,  8436,  8438,  8440,  8442,  8444,
    8446,  8448,  8450,  8452,  8454,  8456,  8458,  8460,  8462,  8464,
    8466,  8468,  8470,  8472,  8474,  8476,  8478,  8480,  8482,  8484,
    8486,  8488,  8490,  8492,  8494,  8496,  8498,  8500,  8502,  8504,
    8506,  8508,  8510,  8512,  8514,  8516,  8518,  8520,  8522,  8524,
    8526,  8528,  8530,  8532,  8534,  8536,  8538,  8540,  8542,  8544,
    8546,  8548,  8550,  8552,  8554,  8556,  8558,  8560,  8562,  8564,
    8566,  8568,  8570,  8572,  8574,  8576,  8578,  8580,  8582,  8584,
    8586,  8588,  8590,  8592,  8594,  8596,  8598,  8600,  8602,  8604,
    8606,  8608,  8610,  8612,  8614,  8616,  8618,  8620,  8622,  8624,
    8626,  8628,  8630,  8632,  8634,  8636,  8638,  8640,  8642,  8644,
    8646,  8648,  8650,  8652,  8654,  8656,  8658,  8660,  8662,  8664,
    8666,  8668,  8670,  8672,  8674,  8676,  8678,  8680,  8682,  8684,
    8686,  8688,  8690,  8692,  8694,  8696,  8698,  8700,  8702,  8704,
    8706,  8708,  8710,  8712,  8714,  8716,  8718,  8720,  8722,  8724,
    8726,  8728,  8730,  8732,  8734,  8736,  8738,  8740,  8742,  8744,
    8746,  8748,  8750,  8752,  8754,  8756,  8758,  8760,  8762,  8764,
    8766,  8768,  8770,  8772,  8774,  8776,  8778,  8780,  8782,  8784,
    8786,  8788,  8790,  8792,  8794,  8796,  8798,  8800,  8802,  8804,
    8806,  8808,  8810,  8812,  8814,  8816,  8818,  8820,  8822,  8824,
    8826,  8828,  8830,  8832,  8834,  8836,  8838,  8840,  8842,  8844,
    8846,  8848,  8850,  8852,  8854,  8856,  8858,  8860,  8862,  8864,
    8866,  8868,  8870,  8872,  8874,  8876,  8878,  8880,  8882,  8884,
    8886,  8888,  8890,  8892,  8894,  8896,  8898,  8900,  8902,  8904,
    8906,  8908,  8910,  8912,  8914,  8916,  8918,  8920,  8922,  8924,
    8926,  8928,  8930,  8932,  8934,  8936,  8938,  8940,  8942,  8944,
    8946,  8948,  8950,  8952,  8954,  8956,  8958,  8960,  8962,  8964,
    8966,  8968,  8970,  8972,  8974,  8976,  8978,  8980,  8982,  8984,
    8986,  8988,  8990
};

/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
static const yytype_int16 yyrhs[] =
{
     458,     0,    -1,   459,    -1,   459,   454,   460,    -1,   460,
      -1,   664,    -1,   823,    -1,   824,    -1,   729,    -1,   828,
      -1,   678,    -1,   604,    -1,   607,    -1,   613,    -1,   627,
      -1,   629,    -1,   768,    -1,   476,    -1,   795,    -1,   796,
      -1,   638,    -1,   583,    -1,   826,    -1,   506,    -1,   791,
      -1,   518,    -1,   470,    -1,   468,    -1,   831,    -1,   830,
      -1,   636,    -1,   472,    -1,   471,    -1,   839,    -1,   504,
      -1,   521,    -1,   834,    -1,   703,    -1,   501,    -1,   522,
      -1,   575,    -1,   666,    -1,   779,    -1,   833,    -1,   827,
      -1,   601,    -1,   608,    -1,   622,    -1,   628,    -1,   745,
      -1,   475,    -1,   578,    -1,   680,    -1,   687,    -1,   688,
      -1,   637,    -1,   590,    -1,   479,    -1,   582,    -1,   538,
      -1,   598,    -1,   783,    -1,   646,    -1,   660,    -1,   461,
      -1,   467,    -1,   633,    -1,   817,    -1,   856,    -1,   879,
      -1,   668,    -1,   865,    -1,   505,    -1,   776,    -1,   667,
      -1,   781,    -1,   612,    -1,   626,    -1,   478,    -1,   691,
      -1,   692,    -1,   693,    -1,   639,    -1,   596,    -1,   804,
      -1,   695,    -1,   600,    -1,   785,    -1,   659,    -1,   473,
      -1,   474,    -1,   635,    -1,   825,    -1,   854,    -1,   845,
      -1,   710,    -1,   714,    -1,   725,    -1,   630,    -1,   734,
      -1,   857,    -1,   807,    -1,   581,    -1,   816,    -1,   867,
      -1,   805,    -1,   851,    -1,   694,    -1,   786,    -1,   772,
      -1,   771,    -1,   773,    -1,   792,    -1,   715,    -1,   726,
      -1,   797,    -1,   706,    -1,   883,    -1,   809,    -1,   701,
      -1,   808,    -1,   872,    -1,   836,    -1,   495,    -1,   483,
      -1,   500,    -1,   814,    -1,    -1,    88,   317,  1058,   462,
     463,    -1,   415,    -1,   436,    -1,    -1,   463,   466,    -1,
      -1,   464,   465,    -1,    -1,   277,  1063,    -1,   277,   249,
      -1,   131,   277,  1063,    -1,   387,   277,  1063,    -1,   185,
      -1,    80,   217,  1057,    -1,   398,   393,  1056,    -1,   395,
    1060,    -1,     3,    -1,   465,    -1,   360,  1055,    -1,    23,
    1060,    -1,   317,  1060,    -1,   180,   317,  1060,    -1,   180,
     166,  1060,    -1,    88,   395,  1058,   462,   463,    -1,    28,
     317,  1059,   462,   464,    -1,    -1,   180,   103,  1048,    -1,
      28,   317,  1059,   469,   498,    -1,    28,   317,    26,   469,
     498,    -1,    28,   395,  1059,   462,   464,    -1,    28,   395,
    1059,   498,    -1,   126,   317,  1060,    -1,   126,   317,   174,
     141,  1060,    -1,   126,   395,  1060,    -1,   126,   395,   174,
     141,  1060,    -1,    88,   166,  1058,   462,   463,    -1,    28,
     166,  1059,   477,   395,  1060,    -1,    22,    -1,   126,    -1,
     126,   166,  1060,    -1,   126,   166,   174,   141,  1060,    -1,
      88,   324,   480,    42,  1059,   481,    -1,    88,   324,  1065,
     481,    -1,    88,   324,   174,   244,   141,   480,    42,  1059,
     481,    -1,    88,   324,   174,   244,   141,  1065,   481,    -1,
    1065,    -1,    -1,   481,   482,    -1,    -1,   538,    -1,   734,
      -1,   582,    -1,   646,    -1,   714,    -1,   814,    -1,   336,
     484,    -1,   336,   220,   484,    -1,   336,   334,   484,    -1,
     375,   812,    -1,   334,    63,    35,   375,   812,    -1,   486,
      -1,   487,   373,   488,    -1,   487,   439,   488,    -1,   487,
     373,   109,    -1,   487,   439,   109,    -1,   485,    -1,   487,
     158,    92,    -1,   371,   433,   492,    -1,    59,  1056,    -1,
     324,  1062,    -1,   237,   493,    -1,   317,  1064,    -1,   334,
      42,  1064,    -1,   334,    42,   109,    -1,   421,   261,   988,
      -1,   375,   345,  1056,    -1,  1065,    -1,   487,   453,  1065,
      -1,   489,    -1,   488,   455,   489,    -1,   491,    -1,   588,
      -1,   447,    -1,   295,   386,    -1,   295,    76,    -1,   307,
     295,    -1,   332,    -1,   380,    -1,   146,    -1,   258,    -1,
     494,    -1,  1062,    -1,     3,    -1,   972,  1056,   974,    -1,
     972,   451,  1055,   452,  1056,    -1,   588,    -1,   109,    -1,
     220,    -1,  1056,    -1,   109,    -1,    -1,  1067,    -1,  1056,
      -1,   310,   496,    -1,   497,    -1,   371,   433,    -1,   375,
     203,   215,    -1,   334,    42,    -1,   487,    -1,    26,    -1,
     336,   484,    -1,   495,    -1,   336,   486,    -1,   495,    -1,
     340,   487,    -1,   340,   371,   433,    -1,   340,   375,   203,
     215,    -1,   340,   334,    42,    -1,   340,    26,    -1,   336,
      82,   502,   503,    -1,    26,    -1,  1044,    -1,   112,    -1,
     176,    -1,    65,    -1,   120,    26,    -1,   120,   366,    -1,
     120,   368,    -1,   120,   279,    -1,   120,   331,    -1,    28,
     362,   937,   507,    -1,    28,   362,   174,   141,   937,   507,
      -1,    28,   362,    26,   180,   365,  1047,   336,   365,  1047,
     870,    -1,    28,   362,    26,   180,   365,  1047,   271,    52,
    1060,   336,   365,  1047,   870,    -1,    28,   183,  1045,   507,
      -1,    28,   183,   174,   141,  1045,   507,    -1,    28,   183,
      26,   180,   365,  1047,   336,   365,  1047,   870,    -1,    28,
     183,    26,   180,   365,  1047,   271,    52,  1060,   336,   365,
    1047,   870,    -1,    28,   330,  1045,   507,    -1,    28,   330,
     174,   141,  1045,   507,    -1,    28,   408,  1045,   507,    -1,
      28,   408,   174,   141,  1045,   507,    -1,    28,   229,   408,
    1045,   507,    -1,    28,   229,   408,   174,   141,  1045,   507,
      -1,    28,   229,   408,    26,   180,   365,  1047,   336,   365,
    1047,   870,    -1,    28,   229,   408,    26,   180,   365,  1047,
     271,    52,  1060,   336,   365,  1047,   870,    -1,   508,    -1,
     507,   455,   508,    -1,    22,   546,    -1,    22,    72,   546,
      -1,    28,   793,  1065,   509,    -1,    28,   793,  1065,   126,
     244,   249,    -1,    28,   793,  1065,   336,   244,   249,    -1,
      28,   793,  1065,   336,   352,  1057,    -1,    28,   793,  1065,
     336,   514,    -1,    28,   793,  1065,   310,   514,    -1,    28,
     793,  1065,   336,   355,  1065,    -1,   126,   793,   174,   141,
    1065,   510,    -1,   126,   793,  1065,   510,    -1,    28,   793,
    1065,   794,   383,   952,   511,   512,    -1,    28,   793,  1065,
     616,    -1,    22,   555,    -1,    28,    81,  1047,   657,    -1,
     399,    81,  1047,    -1,   126,    81,   174,   141,  1047,   510,
      -1,   126,    81,  1047,   510,    -1,   336,   415,   257,    -1,
     336,   417,   257,    -1,    68,   258,  1047,    -1,   336,   417,
      68,    -1,   336,   226,    -1,   336,   392,    -1,   129,   378,
    1047,    -1,   129,    29,   378,  1047,    -1,   129,   309,   378,
    1047,    -1,   129,   378,    26,    -1,   129,   378,   395,    -1,
     119,   378,  1047,    -1,   119,   378,    26,    -1,   119,   378,
     395,    -1,   129,   322,  1047,    -1,   129,    29,   322,  1047,
      -1,   129,   309,   322,  1047,    -1,   119,   322,  1047,    -1,
     185,  1045,    -1,   242,   185,  1045,    -1,   254,   698,    -1,
     244,   254,    -1,   272,   373,  1059,    -1,   336,   365,  1047,
      -1,   336,   514,    -1,   310,   514,    -1,   309,   173,   513,
      -1,   129,   320,   215,   328,    -1,   119,   320,   215,   328,
      -1,   154,   320,   215,   328,    -1,   242,   154,   320,   215,
     328,    -1,   616,    -1,   336,   109,   976,    -1,   126,   109,
      -1,    55,    -1,   312,    -1,    -1,    70,   698,    -1,    -1,
     396,   976,    -1,    -1,   245,    -1,   159,    -1,   109,    -1,
     396,   183,  1047,    -1,   451,   516,   452,    -1,   415,   514,
      -1,    -1,   517,    -1,   516,   455,   517,    -1,  1068,   439,
     672,    -1,  1068,    -1,  1068,   453,  1068,   439,   672,    -1,
    1068,   453,  1068,    -1,    28,   383,   698,   519,    -1,   520,
      -1,   519,   455,   520,    -1,    22,    41,   951,   510,    -1,
     126,    41,   174,   141,  1065,   510,    -1,   126,    41,  1065,
     510,    -1,    28,    41,  1065,   794,   383,   952,   511,   510,
      -1,    67,   880,    -1,    67,    26,    -1,    86,   529,  1045,
     558,   530,   523,   524,   525,   531,   462,   526,    -1,    86,
     884,   373,   524,   525,   462,   526,    -1,   158,    -1,   373,
      -1,   292,    -1,    -1,  1056,    -1,   353,    -1,   354,    -1,
     527,    -1,   451,   533,   452,    -1,   527,   528,    -1,    -1,
      48,    -1,   257,    -1,   157,    -1,   115,   829,  1056,    -1,
     249,   829,  1056,    -1,    90,    -1,   170,    -1,   293,   829,
    1056,    -1,   134,   829,  1056,    -1,   154,   293,   559,    -1,
     154,   293,   443,    -1,   154,   244,   249,   559,    -1,   154,
     249,   559,    -1,   130,  1056,    -1,    48,    -1,    -1,   415,
     257,    -1,    -1,   532,   116,  1056,    -1,    -1,   396,    -1,
      -1,   534,    -1,   533,   455,   534,    -1,  1068,   535,    -1,
     491,    -1,   588,    -1,   443,    -1,   451,   536,   452,    -1,
      -1,   537,    -1,   536,   455,   537,    -1,   491,    -1,    88,
     539,   362,  1045,   451,   540,   452,   569,   570,   571,   572,
      -1,    88,   539,   362,   174,   244,   141,  1045,   451,   540,
     452,   569,   570,   571,   572,    -1,    88,   539,   362,  1045,
     254,   698,   541,   570,   571,   572,    -1,    88,   539,   362,
     174,   244,   141,  1045,   254,   698,   541,   570,   571,   572,
      -1,   368,    -1,   366,    -1,   220,   368,    -1,   220,   366,
      -1,   162,   368,    -1,   162,   366,    -1,   392,    -1,    -1,
     542,    -1,    -1,   451,   543,   452,    -1,    -1,   544,    -1,
     542,   455,   544,    -1,   545,    -1,   543,   455,   545,    -1,
     546,    -1,   552,    -1,   555,    -1,   547,    -1,   555,    -1,
    1065,   952,   614,   548,    -1,  1065,   415,   262,   548,    -1,
     548,   549,    -1,    -1,    81,  1047,   550,    -1,   550,    -1,
     551,    -1,    70,   698,    -1,   244,   249,    -1,   249,    -1,
     389,   765,   573,    -1,   287,   205,   765,   573,    -1,    64,
     451,   976,   452,   557,    -1,   109,   977,    -1,   301,  1045,
     558,   561,   565,    -1,   111,    -1,   244,   111,    -1,   187,
     112,    -1,   187,   176,    -1,   216,  1045,   553,    -1,   553,
     181,   554,    -1,   553,   138,   554,    -1,    -1,   110,    -1,
      82,    -1,   184,    -1,   355,    -1,    74,    -1,    26,    -1,
      81,  1047,   556,    -1,   556,    -1,    64,   451,   976,   452,
     657,    -1,   389,   451,   559,   452,   765,   573,   657,    -1,
     389,   574,   657,    -1,   287,   205,   451,   559,   452,   765,
     573,   657,    -1,   287,   205,   574,   657,    -1,   137,   738,
     451,   562,   452,   765,   573,   564,   657,    -1,   155,   205,
     451,   559,   452,   301,  1045,   558,   561,   565,   657,    -1,
     242,   185,    -1,    -1,   451,   559,   452,    -1,    -1,   560,
      -1,   559,   455,   560,    -1,  1065,    -1,   228,   159,    -1,
     228,   274,    -1,   228,   342,    -1,    -1,   563,    -1,   562,
     455,   563,    -1,   740,   415,   775,    -1,   740,   415,   260,
     451,   775,   452,    -1,   412,   451,   976,   452,    -1,    -1,
     566,    -1,   567,    -1,   566,   567,    -1,   567,   566,    -1,
      -1,   258,   394,   568,    -1,   258,   114,   568,    -1,   242,
      21,    -1,   312,    -1,    55,    -1,   336,   249,    -1,   336,
     109,    -1,   186,   451,  1044,   452,    -1,    -1,   415,   514,
      -1,   415,   257,    -1,   417,   257,    -1,    -1,   258,    75,
     126,    -1,   258,    75,   114,   321,    -1,   258,    75,   284,
     321,    -1,    -1,   365,  1047,    -1,    -1,   396,   183,   365,
    1047,    -1,    -1,   396,   183,  1051,    -1,    88,   539,   362,
     576,    35,   883,   577,    -1,    88,   539,   362,   174,   244,
     141,   576,    35,   883,   577,    -1,  1045,   558,   570,   571,
     572,    -1,   415,   102,    -1,   415,   242,   102,    -1,    -1,
      88,   580,   229,   408,   579,    35,   883,   577,    -1,    88,
     580,   229,   408,   174,   244,   141,   579,    35,   883,   577,
      -1,  1045,   558,   515,   572,    -1,   392,    -1,    -1,   302,
     229,   408,   736,  1045,   577,    -1,    88,   539,   330,  1045,
     584,    -1,    88,   539,   330,   174,   244,   141,  1045,   584,
      -1,    28,   330,  1045,   585,    -1,    28,   330,   174,   141,
    1045,   585,    -1,   585,    -1,    -1,   586,    -1,   585,   586,
      -1,    53,   588,    -1,   101,    -1,   242,   101,    -1,   182,
     587,   588,    -1,   230,   588,    -1,   232,   588,    -1,   242,
     230,    -1,   242,   232,    -1,   271,    52,   698,    -1,   350,
     462,   588,    -1,   311,    -1,   311,   462,   588,    -1,    52,
      -1,    -1,     4,    -1,   442,     4,    -1,  1057,    -1,   588,
      -1,   589,   455,   588,    -1,    88,   746,   591,   597,   207,
     494,    -1,    88,   746,   591,   597,   207,   494,   168,   592,
     593,   595,    -1,   382,    -1,    -1,  1047,    -1,  1047,   699,
      -1,   188,   592,    -1,    -1,   400,   592,    -1,   242,   400,
      -1,   594,    -1,    -1,   126,   597,   207,   494,   510,    -1,
     126,   597,   207,   174,   141,   494,   510,    -1,   290,    -1,
      -1,    88,   365,  1047,   599,   223,  1056,   515,    -1,   272,
    1059,    -1,    -1,   126,   365,  1047,    -1,   126,   365,   174,
     141,  1047,    -1,    88,   143,  1047,   462,   602,    -1,    88,
     143,   174,   244,   141,  1047,   462,   602,    -1,   602,   603,
      -1,    -1,   324,  1047,    -1,   407,   494,    -1,   158,   494,
      -1,    28,   143,  1047,   394,   605,    -1,   605,   606,    -1,
      -1,   373,   494,    -1,    28,   143,  1047,   477,    25,  1053,
     758,    -1,    28,   143,  1047,   477,    58,   451,   952,    35,
     952,   452,    -1,    28,   143,  1047,   477,    71,   698,    -1,
      28,   143,  1047,   477,    85,   698,    -1,    28,   143,  1047,
     477,   124,   952,    -1,    28,   143,  1047,   477,   160,   724,
      -1,    28,   143,  1047,   477,   597,   207,  1047,    -1,    28,
     143,  1047,   477,   260,   775,   774,    -1,    28,   143,  1047,
     477,   260,    66,   698,   396,  1049,    -1,    28,   143,  1047,
     477,   260,   147,   698,   396,  1049,    -1,    28,   143,  1047,
     477,   324,  1047,    -1,    28,   143,  1047,   477,   135,   378,
    1047,    -1,    28,   143,  1047,   477,   362,   698,    -1,    28,
     143,  1047,   477,   369,   326,   273,   698,    -1,    28,   143,
    1047,   477,   369,   326,   118,   698,    -1,    28,   143,  1047,
     477,   369,   326,   367,   698,    -1,    28,   143,  1047,   477,
     369,   326,    78,   698,    -1,    28,   143,  1047,   477,   330,
     698,    -1,    28,   143,  1047,   477,   408,   698,    -1,    28,
     143,  1047,   477,   229,   408,   698,    -1,    28,   143,  1047,
     477,   155,   362,   698,    -1,    28,   143,  1047,   477,   155,
     102,   419,  1047,    -1,    28,   143,  1047,   477,   333,  1047,
      -1,    28,   143,  1047,   477,   376,   153,   952,   207,  1047,
      -1,    28,   143,  1047,   477,   383,   952,    -1,    88,   155,
     102,   419,  1047,   611,   614,    -1,   168,   592,    -1,   242,
     168,    -1,   400,   592,    -1,   242,   400,    -1,   609,    -1,
     610,   609,    -1,   610,    -1,    -1,   126,   155,   102,   419,
    1047,   510,    -1,   126,   155,   102,   419,   174,   141,  1047,
     510,    -1,    28,   155,   102,   419,  1047,   611,   616,    -1,
      28,   155,   102,   419,  1047,   610,    -1,   262,   451,   615,
     452,    -1,    -1,   619,    -1,   615,   455,   619,    -1,   262,
     451,   617,   452,    -1,   618,    -1,   617,   455,   618,    -1,
     619,    -1,   336,   619,    -1,    22,   619,    -1,   126,   620,
      -1,   620,   621,    -1,  1068,    -1,  1056,    -1,    88,   333,
    1047,   623,   625,   155,   102,   419,  1047,   614,    -1,   383,
    1056,    -1,    -1,   407,  1056,    -1,   407,   249,    -1,   624,
      -1,    -1,   126,   333,  1047,   510,    -1,   126,   333,   174,
     141,  1047,   510,    -1,    28,   333,  1047,   624,   616,    -1,
      28,   333,  1047,   624,    -1,    28,   333,  1047,   616,    -1,
      88,   155,   362,  1045,   451,   540,   452,   569,   333,  1047,
     614,    -1,    88,   155,   362,   174,   244,   141,  1045,   451,
     540,   452,   569,   333,  1047,   614,    -1,    28,   155,   362,
     937,   507,    -1,    28,   155,   362,   174,   141,   937,   507,
      -1,   179,   155,   324,  1047,   632,   158,   333,  1047,   199,
    1047,   614,    -1,   217,   373,    -1,   136,    -1,   631,   451,
     938,   452,    -1,    -1,    88,   395,   227,   153,   634,   333,
    1047,   614,    -1,  1059,    -1,   395,    -1,   126,   395,   227,
     153,   634,   333,  1047,    -1,   126,   395,   227,   174,   141,
     153,   634,   333,  1047,    -1,    28,   395,   227,   153,   634,
     333,  1047,   616,    -1,    88,   280,  1047,   258,  1045,   644,
     642,   640,   641,    -1,    28,   280,  1047,   258,  1045,   643,
     640,   641,    -1,   126,   280,  1047,   258,   698,   510,    -1,
     126,   280,   174,   141,  1047,   258,   698,   510,    -1,   396,
     451,   976,   452,    -1,    -1,   415,    64,   451,   976,   452,
      -1,    -1,   373,  1060,    -1,    -1,   373,  1060,    -1,    -1,
     153,   645,    -1,    -1,    26,    -1,   329,    -1,   193,    -1,
     394,    -1,   114,    -1,    88,   378,  1047,   647,   648,   258,
    1045,   650,   653,   140,   291,  1053,   451,   654,   452,    -1,
      88,    81,   378,  1047,    24,   648,   258,  1045,   656,   657,
     153,   127,   320,   653,   140,   291,  1053,   451,   654,   452,
      -1,    44,    -1,    24,    -1,   194,   254,    -1,   649,    -1,
     648,   263,   649,    -1,   193,    -1,   114,    -1,   394,    -1,
     394,   254,   559,    -1,   381,    -1,   153,   651,   652,    -1,
      -1,   127,    -1,    -1,   320,    -1,   351,    -1,   411,   451,
     976,   452,    -1,    -1,   655,    -1,   654,   455,   655,    -1,
      -1,  1055,    -1,     4,    -1,  1056,    -1,  1068,    -1,   158,
    1045,    -1,    -1,    -1,   657,   658,    -1,   244,   111,    -1,
     111,    -1,   187,   176,    -1,   187,   112,    -1,   244,   398,
      -1,   242,   185,    -1,   126,   378,  1047,   258,   698,   510,
      -1,   126,   378,   174,   141,  1047,   258,   698,   510,    -1,
      88,   135,   378,  1047,   258,  1068,   140,   291,  1053,   451,
     452,    -1,    88,   135,   378,  1047,   258,  1068,   411,   661,
     140,   291,  1053,   451,   452,    -1,   662,    -1,   661,    32,
     662,    -1,  1065,   180,   451,   663,   452,    -1,     5,    -1,
     663,   455,     5,    -1,    28,   135,   378,  1047,   665,    -1,
     129,    -1,   129,   309,    -1,   129,    29,    -1,   119,    -1,
      88,    37,  1047,    64,   451,   976,   452,   657,    -1,   126,
      37,  1047,   510,    -1,    88,    25,  1053,   758,   669,    -1,
      88,    25,  1053,   673,    -1,    88,   260,   775,   669,    -1,
      88,   383,   698,   669,    -1,    88,   383,   698,    -1,    88,
     383,   698,    35,   451,   949,   452,    -1,    88,   383,   698,
      35,   133,   451,   676,   452,    -1,    88,   383,   698,    35,
     294,   669,    -1,    88,   369,   326,   273,   698,   669,    -1,
      88,   369,   326,   118,   698,   669,    -1,    88,   369,   326,
     367,   698,   669,    -1,    88,   369,   326,    78,   698,   669,
      -1,    88,    71,   698,   669,    -1,    88,    71,   698,   158,
     698,    -1,   451,   670,   452,    -1,   671,    -1,   670,   455,
     671,    -1,  1068,   439,   672,    -1,  1068,    -1,   755,    -1,
    1072,    -1,  1010,    -1,   588,    -1,  1056,    -1,   451,   674,
     452,    -1,   675,    -1,   674,   455,   675,    -1,     3,   439,
     672,    -1,   677,    -1,    -1,  1056,    -1,   677,   455,  1056,
      -1,    28,   383,   698,    22,   401,   679,  1056,    -1,    28,
     383,   698,    22,   401,   679,  1056,    44,  1056,    -1,    28,
     383,   698,    22,   401,   679,  1056,    24,  1056,    -1,   174,
     244,   141,    -1,    -1,    88,   260,    66,   698,   683,   153,
     383,   952,   396,  1049,   684,    35,   681,    -1,   682,    -1,
     681,   455,   682,    -1,   260,  1055,   775,   685,   686,    -1,
     260,  1055,   775,   774,   685,   686,    -1,   160,  1055,  1053,
     747,    -1,   160,  1055,   451,  1015,   452,  1053,   747,    -1,
     355,   952,    -1,   109,    -1,    -1,   147,   698,    -1,    -1,
     153,   326,    -1,   153,   264,    52,   698,    -1,    -1,   298,
      -1,    -1,    88,   260,   147,   698,   396,  1049,    -1,    28,
     260,   147,   698,   396,  1049,    22,   681,    -1,    28,   260,
     147,   698,   396,  1049,   126,   689,    -1,   690,    -1,   689,
     455,   690,    -1,   260,  1055,   451,  1015,   452,    -1,   160,
    1055,   451,  1015,   452,    -1,   126,   260,    66,   698,   396,
    1049,   510,    -1,   126,   260,    66,   174,   141,   698,   396,
    1049,   510,    -1,   126,   260,   147,   698,   396,  1049,   510,
      -1,   126,   260,   147,   174,   141,   698,   396,  1049,   510,
      -1,   126,   271,    52,  1060,   510,    -1,   297,   271,    52,
    1060,   373,  1059,    -1,   126,   696,   174,   141,   697,   510,
      -1,   126,   696,   697,   510,    -1,   126,   383,   700,   510,
      -1,   126,   383,   174,   141,   700,   510,    -1,   126,   124,
     700,   510,    -1,   126,   124,   174,   141,   700,   510,    -1,
     126,   183,    77,   697,   510,    -1,   126,   183,    77,   174,
     141,   697,   510,    -1,   362,    -1,   330,    -1,   408,    -1,
     229,   408,    -1,   183,    -1,   155,   362,    -1,   135,   378,
      -1,    71,    -1,    85,    -1,   324,    -1,   143,    -1,   369,
     326,   273,    -1,   369,   326,   118,    -1,   369,   326,   367,
      -1,   369,   326,    78,    -1,   698,    -1,   697,   455,   698,
      -1,  1065,    -1,  1065,   699,    -1,   453,  1050,    -1,   699,
     453,  1050,    -1,   952,    -1,   700,   455,   952,    -1,   381,
     894,   938,   702,   510,    -1,    84,   173,    -1,   311,   173,
      -1,    -1,    73,   258,   704,   698,   201,   705,    -1,    73,
     258,   383,   952,   201,   705,    -1,    73,   258,   124,   952,
     201,   705,    -1,    73,   258,    25,  1053,   758,   201,   705,
      -1,    73,   258,   160,  1053,   747,   201,   705,    -1,    73,
     258,   260,   775,   774,   201,   705,    -1,    73,   258,    81,
    1047,   258,   698,   201,   705,    -1,    73,   258,    81,  1047,
     258,   124,   698,   201,   705,    -1,    73,   258,   280,  1047,
     258,   698,   201,   705,    -1,    73,   258,   322,  1047,   258,
     698,   201,   705,    -1,    73,   258,   322,  1047,   201,   705,
      -1,    73,   258,   376,   153,   952,   207,  1047,   201,   705,
      -1,    73,   258,   378,  1047,   258,   698,   201,   705,    -1,
      73,   258,   260,    66,   698,   396,  1049,   201,   705,    -1,
      73,   258,   260,   147,   698,   396,  1049,   201,   705,    -1,
      73,   258,   208,   253,   588,   201,   705,    -1,    73,   258,
      58,   451,   952,    35,   952,   452,   201,   705,    -1,    73,
     258,   597,   207,   698,   201,   705,    -1,    72,    -1,   103,
      -1,   324,    -1,   183,    -1,   330,    -1,   362,    -1,   408,
      -1,   229,   408,    -1,    71,    -1,    85,    -1,   365,    -1,
     143,    -1,   317,    -1,   155,   362,    -1,   333,    -1,   155,
     102,   419,    -1,   135,   378,    -1,   369,   326,    78,    -1,
     369,   326,   118,    -1,   369,   326,   273,    -1,   369,   326,
     367,    -1,  1056,    -1,   249,    -1,   328,   206,   707,   258,
     708,   698,   201,   709,    -1,   328,   206,   707,   258,   383,
     952,   201,   709,    -1,   328,   206,   707,   258,   124,   952,
     201,   709,    -1,   328,   206,   707,   258,    25,  1053,   758,
     201,   709,    -1,   328,   206,   707,   258,   160,  1053,   747,
     201,   709,    -1,   328,   206,   707,   258,   208,   253,   588,
     201,   709,    -1,   328,   206,   707,   258,   597,   207,   698,
     201,   709,    -1,   153,   494,    -1,    -1,    72,    -1,   103,
      -1,   135,   378,    -1,   155,   362,    -1,   324,    -1,   330,
      -1,   362,    -1,   317,    -1,   365,    -1,   408,    -1,   229,
     408,    -1,  1056,    -1,   249,    -1,   148,   711,    -1,   235,
     711,    -1,   880,    -1,   712,   880,    -1,   241,   713,   880,
      -1,   288,   713,   880,    -1,   150,   713,   880,    -1,   209,
     713,   880,    -1,    19,  1057,   713,   880,    -1,   304,  1057,
     713,   880,    -1,  1057,   713,   880,    -1,    26,   713,   880,
      -1,   156,   713,   880,    -1,   156,  1057,   713,   880,    -1,
     156,    26,   713,   880,    -1,    43,   713,   880,    -1,    43,
    1057,   713,   880,    -1,    43,    26,   713,   880,    -1,   158,
      -1,   180,    -1,   712,    -1,    -1,   163,   716,   258,   719,
     373,   720,   722,    -1,   315,   716,   258,   719,   158,   720,
     510,    -1,   315,   163,   261,   153,   716,   258,   719,   158,
     720,   510,    -1,   717,    -1,    26,    -1,    26,   289,    -1,
      26,   451,   559,   452,    -1,    26,   289,   451,   559,   452,
      -1,   718,    -1,   717,   455,   718,    -1,   329,   558,    -1,
     301,   558,    -1,    88,   558,    -1,  1065,   558,    -1,  1044,
      -1,   362,  1044,    -1,   330,  1044,    -1,   155,   102,   419,
    1046,    -1,   155,   333,  1046,    -1,   160,   723,    -1,   103,
    1046,    -1,   124,   697,    -1,   207,  1046,    -1,   208,   253,
     589,    -1,   324,  1046,    -1,   365,  1046,    -1,   383,   697,
      -1,    26,   363,   180,   324,  1046,    -1,    26,   331,   180,
     324,  1046,    -1,    26,   161,   180,   324,  1046,    -1,   721,
      -1,   720,   455,   721,    -1,  1059,    -1,   166,  1059,    -1,
     415,   163,   261,    -1,    -1,   724,    -1,   723,   455,   724,
      -1,  1053,   747,    -1,   163,   717,   373,  1060,   727,   728,
      -1,   315,   717,   158,  1060,   728,   510,    -1,   315,    23,
     261,   153,   717,   158,  1060,   728,   510,    -1,   415,    23,
     261,    -1,    -1,   164,    52,  1059,    -1,    -1,    28,   109,
     289,   730,   732,    -1,   730,   731,    -1,    -1,   180,   324,
    1046,    -1,   153,   317,  1060,    -1,   153,   395,  1060,    -1,
     163,   716,   258,   733,   373,   720,   722,    -1,   315,   716,
     258,   733,   158,   720,   510,    -1,   315,   163,   261,   153,
     716,   258,   733,   158,   720,   510,    -1,   363,    -1,   161,
      -1,   331,    -1,   384,    -1,    88,   735,   183,   736,   737,
     258,  1045,   738,   451,   739,   452,   515,   572,   947,    -1,
      88,   735,   183,   736,   174,   244,   141,  1051,   258,  1045,
     738,   451,   739,   452,   515,   572,   947,    -1,   389,    -1,
      -1,    77,    -1,    -1,  1051,    -1,    -1,   396,  1049,    -1,
      -1,   740,    -1,   739,   455,   740,    -1,  1065,   741,   742,
     743,   744,    -1,   981,   741,   742,   743,   744,    -1,   451,
     976,   452,   741,   742,   743,   744,    -1,    70,   698,    -1,
      -1,   698,    -1,   396,   698,    -1,    -1,    36,    -1,   117,
      -1,    -1,   435,   150,    -1,   435,   209,    -1,    -1,    88,
     746,   160,  1053,   749,   314,   754,   760,   765,    -1,    88,
     746,   160,  1053,   749,   314,   362,   451,   767,   452,   760,
     765,    -1,    88,   746,   160,  1053,   749,   760,   765,    -1,
     263,   308,    -1,    -1,   451,   748,   452,    -1,   451,   452,
      -1,   751,    -1,   748,   455,   751,    -1,   451,   750,   452,
      -1,   451,   452,    -1,   756,    -1,   750,   455,   756,    -1,
     752,   753,   755,    -1,   753,   752,   755,    -1,   753,   755,
      -1,   752,   755,    -1,   755,    -1,   180,    -1,   266,    -1,
     190,    -1,   180,   266,    -1,   404,    -1,  1066,    -1,   755,
      -1,   952,    -1,  1066,   699,   445,   383,    -1,   338,  1066,
     699,   445,   383,    -1,   751,    -1,   751,   109,   976,    -1,
     751,   439,   976,    -1,   751,    -1,   451,   443,   452,    -1,
     451,   759,   452,    -1,   451,   264,    52,   759,   452,    -1,
     451,   759,   264,    52,   759,   452,    -1,   757,    -1,   759,
     455,   757,    -1,   762,    -1,   760,   762,    -1,    54,   258,
     249,   191,    -1,   314,   249,   258,   249,   191,    -1,   356,
      -1,   177,    -1,   348,    -1,   410,    -1,   144,   328,   113,
      -1,   144,   328,   200,    -1,   328,   113,    -1,   328,   200,
      -1,   212,    -1,   244,   212,    -1,    87,   588,    -1,   321,
     588,    -1,   499,    -1,    35,   763,    -1,   207,   494,    -1,
     376,   764,    -1,   414,    -1,   761,    -1,  1056,    -1,  1056,
     455,  1056,    -1,   153,   383,   952,    -1,   764,   455,   153,
     383,   952,    -1,   415,   669,    -1,    -1,   753,   755,    -1,
     766,    -1,   767,   455,   766,    -1,    28,   160,   724,   769,
     770,    -1,   761,    -1,   769,   761,    -1,   312,    -1,    -1,
     126,   160,  1053,   747,   510,    -1,   126,   160,   174,   141,
    1053,   747,   510,    -1,   126,    25,  1053,   758,   510,    -1,
     126,    25,   174,   141,  1053,   758,   510,    -1,   126,   260,
     775,   774,   510,    -1,   126,   260,   174,   141,   775,   774,
     510,    -1,   451,   952,   452,    -1,   451,   952,   455,   952,
     452,    -1,   451,   243,   455,   952,   452,    -1,   451,   952,
     455,   243,   452,    -1,  1007,    -1,  1065,   453,   775,    -1,
     122,   777,    -1,   778,    -1,   777,   778,    -1,  1056,    -1,
     207,   494,    -1,    88,    58,   451,   952,    35,   952,   452,
     415,   160,   724,   780,    -1,    88,    58,   451,   952,    35,
     952,   452,   417,   160,   780,    -1,    88,    58,   451,   952,
      35,   952,   452,   415,   190,   780,    -1,    35,   178,    -1,
      35,    38,    -1,    -1,   126,    58,   782,   451,   952,    35,
     952,   452,   510,    -1,   174,   141,    -1,    -1,    88,   746,
     376,   153,   952,   207,  1047,   451,   784,   452,    -1,   158,
     347,   415,   160,   724,   455,   373,   347,   415,   160,   724,
      -1,   373,   347,   415,   160,   724,   455,   158,   347,   415,
     160,   724,    -1,   158,   347,   415,   160,   724,    -1,   373,
     347,   415,   160,   724,    -1,   126,   376,   782,   153,   952,
     207,  1047,   510,    -1,   303,   787,  1045,    -1,   303,   788,
    1047,    -1,   303,   451,   789,   452,   787,  1045,    -1,   303,
     451,   789,   452,   788,  1047,    -1,   183,    -1,   362,    -1,
     324,    -1,   361,    -1,   103,    -1,   790,    -1,   789,   455,
     790,    -1,   406,    -1,    28,   365,  1047,   336,   514,    -1,
      28,   365,  1047,   310,   514,    -1,    28,    25,  1053,   758,
     306,   373,  1047,    -1,    28,    71,   698,   306,   373,  1047,
      -1,    28,    85,   698,   306,   373,  1047,    -1,    28,   103,
    1048,   306,   373,  1048,    -1,    28,   124,   698,   306,   373,
    1047,    -1,    28,   124,   698,   306,    81,  1047,   373,  1047,
      -1,    28,   155,   102,   419,  1047,   306,   373,  1047,    -1,
      28,   160,   724,   306,   373,  1047,    -1,    28,   166,  1058,
     306,   373,  1058,    -1,    28,   597,   207,  1047,   306,   373,
    1047,    -1,    28,   260,    66,   698,   396,  1049,   306,   373,
    1047,    -1,    28,   260,   147,   698,   396,  1049,   306,   373,
    1047,    -1,    28,   280,  1047,   258,  1045,   306,   373,  1047,
      -1,    28,   280,   174,   141,  1047,   258,  1045,   306,   373,
    1047,    -1,    28,   324,  1047,   306,   373,  1047,    -1,    28,
     333,  1047,   306,   373,  1047,    -1,    28,   362,   937,   306,
     373,  1047,    -1,    28,   362,   174,   141,   937,   306,   373,
    1047,    -1,    28,   330,  1045,   306,   373,  1047,    -1,    28,
     330,   174,   141,  1045,   306,   373,  1047,    -1,    28,   408,
    1045,   306,   373,  1047,    -1,    28,   408,   174,   141,  1045,
     306,   373,  1047,    -1,    28,   229,   408,  1045,   306,   373,
    1047,    -1,    28,   229,   408,   174,   141,  1045,   306,   373,
    1047,    -1,    28,   183,  1045,   306,   373,  1047,    -1,    28,
     183,   174,   141,  1045,   306,   373,  1047,    -1,    28,   155,
     362,   937,   306,   373,  1047,    -1,    28,   155,   362,   174,
     141,   937,   306,   373,  1047,    -1,    28,   362,   937,   306,
     793,  1047,   373,  1047,    -1,    28,   362,   174,   141,   937,
     306,   793,  1047,   373,  1047,    -1,    28,   229,   408,  1045,
     306,   793,  1047,   373,  1047,    -1,    28,   229,   408,   174,
     141,  1045,   306,   793,  1047,   373,  1047,    -1,    28,   362,
     937,   306,    81,  1047,   373,  1047,    -1,    28,   362,   174,
     141,   937,   306,    81,  1047,   373,  1047,    -1,    28,   155,
     362,   937,   306,   793,  1047,   373,  1047,    -1,    28,   155,
     362,   174,   141,   937,   306,   793,  1047,   373,  1047,    -1,
      28,   322,  1047,   258,  1045,   306,   373,  1047,    -1,    28,
     378,  1047,   258,  1045,   306,   373,  1047,    -1,    28,   135,
     378,  1047,   306,   373,  1047,    -1,    28,   317,  1058,   306,
     373,  1058,    -1,    28,   395,  1058,   306,   373,  1058,    -1,
      28,   365,  1047,   306,   373,  1047,    -1,    28,   369,   326,
     273,   698,   306,   373,  1047,    -1,    28,   369,   326,   118,
     698,   306,   373,  1047,    -1,    28,   369,   326,   367,   698,
     306,   373,  1047,    -1,    28,   369,   326,    78,   698,   306,
     373,  1047,    -1,    28,   383,   698,   306,   373,  1047,    -1,
      28,   383,   698,   306,    41,  1047,   373,  1047,   510,    -1,
      72,    -1,    -1,   336,   102,    -1,    -1,    28,    25,  1053,
     758,   336,   324,  1047,    -1,    28,    71,   698,   336,   324,
    1047,    -1,    28,    85,   698,   336,   324,  1047,    -1,    28,
     124,   698,   336,   324,  1047,    -1,    28,   143,   698,   336,
     324,  1047,    -1,    28,   160,   724,   336,   324,  1047,    -1,
      28,   260,   775,   774,   336,   324,  1047,    -1,    28,   260,
      66,   698,   396,  1049,   336,   324,  1047,    -1,    28,   260,
     147,   698,   396,  1049,   336,   324,  1047,    -1,    28,   362,
     937,   336,   324,  1047,    -1,    28,   362,   174,   141,   937,
     336,   324,  1047,    -1,    28,   369,   326,   273,   698,   336,
     324,  1047,    -1,    28,   369,   326,   118,   698,   336,   324,
    1047,    -1,    28,   369,   326,   367,   698,   336,   324,  1047,
      -1,    28,   369,   326,    78,   698,   336,   324,  1047,    -1,
      28,   330,  1045,   336,   324,  1047,    -1,    28,   330,   174,
     141,  1045,   336,   324,  1047,    -1,    28,   408,  1045,   336,
     324,  1047,    -1,    28,   408,   174,   141,  1045,   336,   324,
    1047,    -1,    28,   229,   408,  1045,   336,   324,  1047,    -1,
      28,   229,   408,   174,   141,  1045,   336,   324,  1047,    -1,
      28,   155,   362,   937,   336,   324,  1047,    -1,    28,   155,
     362,   174,   141,   937,   336,   324,  1047,    -1,    28,   383,
     698,   336,   324,  1047,    -1,    28,    25,  1053,   758,   272,
     373,  1059,    -1,    28,    71,   698,   272,   373,  1059,    -1,
      28,    85,   698,   272,   373,  1059,    -1,    28,   103,  1048,
     272,   373,  1059,    -1,    28,   124,   698,   272,   373,  1059,
      -1,    28,   160,   724,   272,   373,  1059,    -1,    28,   597,
     207,  1047,   272,   373,  1059,    -1,    28,   208,   253,   588,
     272,   373,  1059,    -1,    28,   260,   775,   774,   272,   373,
    1059,    -1,    28,   260,    66,   698,   396,  1049,   272,   373,
    1059,    -1,    28,   260,   147,   698,   396,  1049,   272,   373,
    1059,    -1,    28,   324,  1047,   272,   373,  1059,    -1,    28,
     383,   698,   272,   373,  1059,    -1,    28,   365,  1047,   272,
     373,  1059,    -1,    28,   369,   326,   118,   698,   272,   373,
    1059,    -1,    28,   369,   326,    78,   698,   272,   373,  1059,
      -1,    28,   155,   102,   419,  1047,   272,   373,  1059,    -1,
      28,   333,  1047,   272,   373,  1059,    -1,    28,   135,   378,
    1047,   272,   373,  1059,    -1,    88,   746,   322,  1047,    35,
     258,   802,   373,  1045,   947,   122,   803,   798,    -1,   245,
      -1,   800,    -1,   451,   799,   452,    -1,   799,   454,   801,
      -1,   801,    -1,   883,    -1,   857,    -1,   872,    -1,   865,
      -1,   805,    -1,   800,    -1,    -1,   329,    -1,   394,    -1,
     114,    -1,   193,    -1,   194,    -1,    27,    -1,    -1,   126,
     322,  1047,   258,   698,   510,    -1,   126,   322,   174,   141,
    1047,   258,   698,   510,    -1,   246,  1065,   806,    -1,   455,
    1056,    -1,    -1,   218,  1065,    -1,   391,  1065,    -1,   391,
     443,    -1,    18,   810,    -1,    45,   810,   813,    -1,   350,
     375,   813,    -1,    75,   810,    -1,   132,   810,    -1,   318,
     810,    -1,   323,  1065,    -1,   305,   323,  1065,    -1,   305,
    1065,    -1,   318,   810,   373,   323,  1065,    -1,   318,   810,
     373,  1065,    -1,   285,   375,  1056,    -1,    75,   286,  1056,
      -1,   318,   286,  1056,    -1,   418,    -1,   375,    -1,    -1,
     203,   215,   490,    -1,   295,   259,    -1,   295,   420,    -1,
     111,    -1,   244,   111,    -1,   811,    -1,   812,   455,   811,
      -1,   812,   811,    -1,   812,    -1,    -1,    88,   539,   408,
    1045,   558,   515,    35,   883,   815,    -1,    88,   263,   308,
     539,   408,  1045,   558,   515,    35,   883,   815,    -1,    88,
     539,   299,   408,  1045,   451,   559,   452,   515,    35,   883,
     815,    -1,    88,   263,   308,   539,   299,   408,  1045,   451,
     559,   452,   515,    35,   883,   815,    -1,   415,    64,   261,
      -1,   415,    56,    64,   261,    -1,   415,   220,    64,   261,
      -1,    -1,   219,  1052,    -1,    88,   103,  1048,   462,   818,
      -1,   819,    -1,    -1,   820,    -1,   819,   820,    -1,   821,
     822,  1057,    -1,   821,   822,   491,    -1,   821,   822,   109,
      -1,     3,    -1,    80,   217,    -1,   130,    -1,   223,    -1,
     272,    -1,   365,    -1,   367,    -1,   439,    -1,    -1,    28,
     103,  1048,   415,   818,    -1,    28,   103,  1048,   818,    -1,
      28,   103,  1048,   336,   365,  1047,    -1,    28,   103,  1048,
     498,    -1,   126,   103,  1048,    -1,   126,   103,   174,   141,
    1048,    -1,    28,   361,   336,   485,    -1,    28,   361,   310,
     497,    -1,    88,   124,   698,   829,   952,   548,    -1,    28,
     124,   698,   509,    -1,    28,   124,   698,   126,   244,   249,
      -1,    28,   124,   698,   336,   244,   249,    -1,    28,   124,
     698,    22,   555,    -1,    28,   124,   698,   126,    81,  1047,
     510,    -1,    28,   124,   698,   126,    81,   174,   141,  1047,
     510,    -1,    28,   124,   698,   399,    81,  1047,    -1,    35,
      -1,    -1,    28,   369,   326,   118,   698,   669,    -1,    28,
     369,   326,    78,   698,    22,   227,   153,  1046,   832,   697,
      -1,    28,   369,   326,    78,   698,    28,   227,   153,  1046,
     832,   697,    -1,    28,   369,   326,    78,   698,    28,   227,
     308,   698,   832,   698,    -1,    28,   369,   326,    78,   698,
      28,   227,   153,  1046,   308,   698,   832,   698,    -1,    28,
     369,   326,    78,   698,   126,   227,   153,  1046,    -1,    28,
     369,   326,    78,   698,   126,   227,   174,   141,   153,  1046,
      -1,   415,    -1,   436,    -1,    88,   683,    85,   698,   153,
    1056,   373,  1056,   158,   698,    -1,    68,   841,  1045,   835,
      -1,    68,   841,    -1,    68,   841,  1051,   258,  1045,    -1,
     396,  1051,    -1,    -1,   397,   842,   843,   841,    -1,   397,
     842,   843,   841,  1045,    -1,   397,   842,   843,   841,   839,
      -1,   397,   451,   837,   452,    -1,   397,   451,   837,   452,
    1045,   844,    -1,   838,    -1,   837,   455,   838,    -1,   840,
      -1,   406,    -1,   157,    -1,   159,    -1,   840,   841,    -1,
     840,   841,  1045,   844,    -1,    31,    -1,    30,    -1,   406,
      -1,    -1,   159,    -1,    -1,   157,    -1,    -1,   451,  1046,
     452,    -1,    -1,   142,   846,    -1,   142,   840,   841,   846,
      -1,   142,   406,   846,    -1,   142,   451,   847,   452,   846,
      -1,   883,    -1,   857,    -1,   872,    -1,   865,    -1,   879,
      -1,   575,    -1,   578,    -1,   581,    -1,   854,    -1,   848,
      -1,   847,   455,   848,    -1,   849,   850,    -1,  1067,    -1,
     840,    -1,   491,    -1,   588,    -1,    -1,   285,  1047,   852,
      35,   853,    -1,   451,  1015,   452,    -1,    -1,   883,    -1,
     857,    -1,   872,    -1,   865,    -1,   140,  1047,   855,    -1,
      88,   539,   362,   576,    35,   140,  1047,   855,   577,    -1,
     451,  1012,   452,    -1,    -1,   105,  1047,    -1,   105,   285,
    1047,    -1,   105,    26,    -1,   105,   285,    26,    -1,   891,
     193,   199,   858,   859,   862,   864,    -1,  1045,    -1,  1045,
      35,  1065,    -1,   883,    -1,   451,   860,   452,   883,    -1,
     109,   402,    -1,   861,    -1,   860,   455,   861,    -1,  1065,
    1036,    -1,   258,    79,   863,   122,   394,   336,   873,   947,
      -1,   258,    79,   863,   122,   245,    -1,    -1,   451,   739,
     452,   947,    -1,   258,    81,  1047,    -1,    -1,   313,  1042,
      -1,    -1,   891,   114,   158,   939,   866,   948,   864,    -1,
     396,   928,    -1,    -1,   224,   894,   938,   868,   870,    -1,
     180,   869,   233,    -1,    -1,    20,   339,    -1,   320,   339,
      -1,   320,   139,    -1,   339,   394,   139,    -1,   339,    -1,
     339,   320,   139,    -1,   139,    -1,    20,   139,    -1,   248,
      -1,    -1,   248,    -1,   343,   225,    -1,    -1,   891,   394,
     939,   336,   873,   927,   948,   864,    -1,   874,    -1,   873,
     455,   874,    -1,   875,    -1,   876,    -1,   877,   439,  1038,
      -1,   451,   878,   452,   439,  1040,    -1,   451,   878,   452,
     439,   884,    -1,  1065,  1036,    -1,   877,    -1,   878,   455,
     877,    -1,   108,   880,   881,   100,   882,   153,   883,    -1,
    1047,    -1,    -1,   881,   242,   325,    -1,   881,   325,    -1,
     881,    48,    -1,   881,   192,    -1,    -1,   415,   171,    -1,
     417,   171,    -1,   885,    -1,   884,    -1,   451,   885,   452,
      -1,   451,   884,   452,    -1,   887,    -1,   886,   899,    -1,
     886,   898,   920,   903,    -1,   886,   898,   902,   921,    -1,
     888,   886,    -1,   888,   886,   899,    -1,   888,   886,   898,
     920,   903,    -1,   888,   886,   898,   902,   921,    -1,   887,
      -1,   884,    -1,   329,   897,  1041,   892,   927,   947,   912,
     919,   993,    -1,   329,   896,  1042,   892,   927,   947,   912,
     919,   993,    -1,   926,    -1,   362,   937,    -1,   886,   388,
     895,   886,    -1,   886,   197,   895,   886,    -1,   886,   136,
     895,   886,    -1,   415,   889,    -1,   436,   889,    -1,   415,
     299,   889,    -1,   890,    -1,   889,   455,   890,    -1,  1047,
     844,    35,   451,   853,   452,    -1,   888,    -1,    -1,   199,
     893,    -1,    -1,   368,   894,  1045,    -1,   366,   894,  1045,
      -1,   220,   368,   894,  1045,    -1,   220,   366,   894,  1045,
      -1,   162,   368,   894,  1045,    -1,   162,   366,   894,  1045,
      -1,   392,   894,  1045,    -1,   362,  1045,    -1,  1045,    -1,
     362,    -1,    -1,    26,    -1,   121,    -1,    -1,   121,    -1,
     121,   258,   451,  1012,   452,    -1,    26,    -1,    -1,   899,
      -1,    -1,   264,    52,   900,    -1,   901,    -1,   900,   455,
     901,    -1,   976,   396,  1010,   744,    -1,   976,   743,   744,
      -1,   904,   905,    -1,   905,   904,    -1,   904,    -1,   905,
      -1,   902,    -1,    -1,   217,   906,    -1,   217,   906,   455,
     907,    -1,   148,   911,   908,   910,   259,    -1,   256,   907,
      -1,   256,   909,   910,    -1,   976,    -1,    26,    -1,   976,
      -1,  1057,    -1,   451,   976,   452,    -1,    -1,   978,    -1,
     320,    -1,   321,    -1,   150,    -1,   241,    -1,   166,    52,
     913,    -1,    -1,   914,    -1,   913,   455,   914,    -1,   976,
      -1,   915,    -1,   917,    -1,   916,    -1,   918,    -1,   451,
     452,    -1,   319,   451,  1012,   452,    -1,    91,   451,  1012,
     452,    -1,   167,   337,   451,   913,   452,    -1,   169,   976,
      -1,    -1,   922,    -1,   153,   295,   259,    -1,   920,    -1,
      -1,   923,    -1,   922,   923,    -1,   924,   925,   871,    -1,
     153,   394,    -1,   153,   242,   205,   394,    -1,   153,   339,
      -1,   153,   205,   339,    -1,   254,  1044,    -1,    -1,   402,
    1040,    -1,   926,   455,  1040,    -1,   158,   928,    -1,    -1,
     929,    -1,   928,   455,   929,    -1,   937,   932,    -1,   937,
     932,   940,    -1,   942,   933,    -1,   210,   942,   933,    -1,
     884,   932,    -1,   210,   884,   932,    -1,   930,    -1,   451,
     930,   452,   931,    -1,   451,   930,   452,    -1,   929,    89,
     204,   929,    -1,   929,   934,   204,   929,   936,    -1,   929,
     204,   929,   936,    -1,   929,   239,   934,   204,   929,    -1,
     929,   239,   204,   929,    -1,    35,  1065,   451,  1046,   452,
      -1,    35,  1065,    -1,  1065,   451,  1046,   452,    -1,  1065,
      -1,   931,    -1,    -1,   931,    -1,    35,   451,   950,   452,
      -1,    35,  1065,   451,   950,   452,    -1,  1065,   451,   950,
     452,    -1,    -1,   159,   935,    -1,   214,   935,    -1,   316,
     935,    -1,   189,    -1,   267,    -1,    -1,   396,   451,  1046,
     452,    -1,   258,   976,    -1,  1045,    -1,  1045,   443,    -1,
     259,  1045,    -1,   259,   451,  1045,   452,    -1,   937,    -1,
     938,   455,   937,    -1,   937,    -1,   937,  1065,    -1,   937,
      35,  1065,    -1,   364,  1053,   451,  1012,   452,   941,    -1,
     307,   451,   976,   452,    -1,    -1,   981,   946,    -1,   321,
     158,   451,   944,   452,   946,    -1,   981,   945,    -1,   943,
      -1,   944,   455,   943,    -1,    35,   451,   950,   452,    -1,
      -1,   436,   265,    -1,    -1,   412,   976,    -1,    -1,   412,
     976,    -1,   412,    92,   254,   880,    -1,    -1,   950,    -1,
      -1,   951,    -1,   950,   455,   951,    -1,  1065,   952,   511,
      -1,   954,   953,    -1,   338,   954,   953,    -1,   954,    34,
     449,  1055,   450,    -1,   338,   954,    34,   449,  1055,   450,
      -1,   954,    34,    -1,   338,   954,    34,    -1,   953,   449,
     450,    -1,   953,   449,  1055,   450,    -1,    -1,   956,    -1,
     958,    -1,   960,    -1,   964,    -1,   971,    -1,   972,   974,
      -1,   972,   451,  1055,   452,    -1,   958,    -1,   961,    -1,
     965,    -1,   971,    -1,  1066,   957,    -1,  1066,   699,   957,
      -1,   451,  1012,   452,    -1,    -1,   195,    -1,   196,    -1,
     344,    -1,    47,    -1,   296,    -1,   151,   959,    -1,   125,
     283,    -1,   107,   957,    -1,   106,   957,    -1,   252,   957,
      -1,    50,    -1,   451,  1055,   452,    -1,    -1,   962,    -1,
     963,    -1,   962,    -1,   963,    -1,    49,   969,   451,  1012,
     452,    -1,    49,   969,    -1,   966,    -1,   967,    -1,   966,
      -1,   967,    -1,   968,   451,  1061,   452,   970,    -1,   968,
     970,    -1,    62,   969,    -1,    61,   969,    -1,   403,    -1,
     238,    62,   969,    -1,   238,    61,   969,    -1,   240,   969,
      -1,   405,    -1,    -1,    62,   336,  1065,    -1,    -1,   372,
     451,  1055,   452,   973,    -1,   372,   973,    -1,   371,   451,
    1055,   452,   973,    -1,   371,   973,    -1,   198,    -1,   436,
     371,   433,    -1,   417,   371,   433,    -1,    -1,   431,    -1,
     234,    -1,   104,    -1,   172,    -1,   231,    -1,   975,    -1,
     431,   373,   234,    -1,   104,   373,   172,    -1,   104,   373,
     231,    -1,   104,   373,   975,    -1,   172,   373,   231,    -1,
     172,   373,   975,    -1,   231,   373,   975,    -1,    -1,   327,
      -1,   327,   451,  1055,   452,    -1,   978,    -1,   976,    11,
     952,    -1,   976,    70,   698,    -1,   976,    40,   371,   433,
     976,    -1,   441,   976,    -1,   442,   976,    -1,   976,   441,
     976,    -1,   976,   442,   976,    -1,   976,   443,   976,    -1,
     976,   444,   976,    -1,   976,   445,   976,    -1,   976,   446,
     976,    -1,   976,   437,   976,    -1,   976,   438,   976,    -1,
     976,   439,   976,    -1,   976,    15,   976,    -1,   976,    16,
     976,    -1,   976,    17,   976,    -1,   976,   447,   976,    -1,
     976,   447,    -1,   976,  1009,   976,    -1,  1009,   976,    -1,
     976,  1009,    -1,   976,    32,   976,    -1,   976,   263,   976,
      -1,   244,   976,    -1,   434,   976,    -1,   976,   216,   976,
      -1,   976,   216,   976,   134,   976,    -1,   976,   434,   216,
     976,    -1,   976,   434,   216,   976,   134,   976,    -1,   976,
     175,   976,    -1,   976,   175,   976,   134,   976,    -1,   976,
     434,   175,   976,    -1,   976,   434,   175,   976,   134,   976,
      -1,   976,   341,   373,   976,    -1,   976,   341,   373,   976,
     134,   976,    -1,   976,   434,   341,   373,   976,    -1,   976,
     434,   341,   373,   976,   134,   976,    -1,   976,   201,   249,
      -1,   976,   202,    -1,   976,   201,   244,   249,    -1,   976,
     247,    -1,  1003,   269,  1003,    -1,   976,   201,   380,    -1,
     976,   201,   244,   380,    -1,   976,   201,   146,    -1,   976,
     201,   244,   146,    -1,   976,   201,   390,    -1,   976,   201,
     244,   390,    -1,   976,   201,   121,   158,   976,    -1,   976,
     201,   244,   121,   158,   976,    -1,   976,   201,   254,   451,
    1015,   452,    -1,   976,   201,   244,   254,   451,  1015,   452,
      -1,   976,    46,  1037,   977,    32,   976,    -1,   976,   434,
      46,  1037,   977,    32,   976,    -1,   976,    46,   359,   977,
      32,   976,    -1,   976,   434,    46,   359,   977,    32,   976,
      -1,   976,   180,  1027,    -1,   976,   434,   180,  1027,    -1,
     976,  1011,  1006,   884,    -1,   976,  1011,  1006,   451,   976,
     452,    -1,   389,   884,    -1,   976,   201,   123,    -1,   976,
     201,   244,   123,    -1,   978,    -1,   977,    11,   952,    -1,
     441,   977,    -1,   442,   977,    -1,   977,   441,   977,    -1,
     977,   442,   977,    -1,   977,   443,   977,    -1,   977,   444,
     977,    -1,   977,   445,   977,    -1,   977,   446,   977,    -1,
     977,   437,   977,    -1,   977,   438,   977,    -1,   977,   439,
     977,    -1,   977,    15,   977,    -1,   977,    16,   977,    -1,
     977,    17,   977,    -1,   977,   447,   977,    -1,   977,   447,
      -1,   977,  1009,   977,    -1,  1009,   977,    -1,   977,  1009,
      -1,   977,   201,   121,   158,   977,    -1,   977,   201,   244,
     121,   158,   977,    -1,   977,   201,   254,   451,  1015,   452,
      -1,   977,   201,   244,   254,   451,  1015,   452,    -1,   977,
     201,   123,    -1,   977,   201,   244,   123,    -1,  1033,    -1,
    1054,    -1,   447,  1036,    -1,    10,  1036,    -1,   451,   976,
     452,  1036,    -1,  1028,    -1,   980,    -1,   884,    -1,   884,
    1035,    -1,   141,   884,    -1,    34,   884,    -1,    34,  1016,
      -1,  1004,    -1,  1005,    -1,   167,   451,  1012,   452,    -1,
    1053,   451,   452,    -1,  1053,   451,  1013,   898,   452,    -1,
    1053,   451,   404,  1014,   898,   452,    -1,  1053,   451,  1013,
     455,   404,  1014,   898,   452,    -1,  1053,   451,    26,  1013,
     898,   452,    -1,  1053,   451,   121,  1013,   898,   452,    -1,
    1053,   451,   443,   452,    -1,   979,   991,   992,   996,    -1,
     982,    -1,   979,    -1,   982,    -1,    71,   153,   451,   976,
     452,    -1,    94,    -1,    97,    -1,    97,   451,  1055,   452,
      -1,    98,    -1,    98,   451,  1055,   452,    -1,   221,    -1,
     221,   451,  1055,   452,    -1,   222,    -1,   222,   451,  1055,
     452,    -1,    95,    -1,    99,    -1,   335,    -1,   395,    -1,
      93,    -1,    96,    -1,    58,   451,   976,    35,   952,   452,
      -1,   145,   451,  1018,   452,    -1,   270,   451,  1020,   452,
      -1,   281,   451,  1022,   452,    -1,   358,   451,  1023,   452,
      -1,   377,   451,   976,    35,   952,   452,    -1,   379,   451,
      51,  1026,   452,    -1,   379,   451,   211,  1026,   452,    -1,
     379,   451,   374,  1026,   452,    -1,   379,   451,  1026,   452,
      -1,   250,   451,   976,   455,   976,   452,    -1,    69,   451,
    1012,   452,    -1,   165,   451,  1012,   452,    -1,   213,   451,
    1012,   452,    -1,   423,   451,  1012,   452,    -1,   424,   451,
     236,  1068,   452,    -1,   424,   451,   236,  1068,   455,   985,
     452,    -1,   424,   451,   236,  1068,   455,  1012,   452,    -1,
     424,   451,   236,  1068,   455,   985,   455,  1012,   452,    -1,
     425,   451,   978,   990,   452,    -1,   426,   451,   986,   452,
      -1,   427,   451,   988,   976,   989,   452,    -1,   428,   451,
     236,  1068,   452,    -1,   428,   451,   236,  1068,   455,   976,
     452,    -1,   429,   451,   976,   455,   983,   984,   452,    -1,
     430,   451,   988,   976,    35,   954,   452,    -1,   407,   976,
      -1,   407,   242,   401,    -1,   455,   349,   432,    -1,   455,
     349,   242,    -1,   455,   349,   242,   401,    -1,    -1,   422,
     451,   986,   452,    -1,   987,    -1,   986,   455,   987,    -1,
     976,    35,  1068,    -1,   976,    -1,   123,    -1,    83,    -1,
     284,   413,    -1,   357,   413,    -1,    -1,   276,   978,    -1,
     276,   978,    52,   300,    -1,   276,    52,   300,   978,    -1,
     276,    52,   300,   978,    52,   300,    -1,   416,   166,   451,
     899,   452,    -1,    -1,   149,   451,   412,   976,   452,    -1,
      -1,   414,   994,    -1,    -1,   995,    -1,   994,   455,   995,
      -1,  1065,    35,   997,    -1,   268,   997,    -1,   268,  1065,
      -1,    -1,   451,   998,   999,   898,  1000,   452,    -1,  1065,
      -1,    -1,   275,    52,  1012,    -1,    -1,   294,  1001,    -1,
     321,  1001,    -1,    -1,  1002,    -1,    46,  1002,    32,  1002,
      -1,   385,   282,    -1,   385,   152,    -1,    92,   320,    -1,
     976,   282,    -1,   976,   152,    -1,   320,   451,  1012,   452,
      -1,   320,   451,   452,    -1,   451,  1012,   455,   976,   452,
      -1,   320,   451,  1012,   452,    -1,   320,   451,   452,    -1,
     451,  1012,   455,   976,   452,    -1,    33,    -1,   346,    -1,
      26,    -1,     8,    -1,  1008,    -1,   441,    -1,   442,    -1,
     443,    -1,   444,    -1,   445,    -1,   446,    -1,   437,    -1,
     438,    -1,   439,    -1,    15,    -1,    16,    -1,    17,    -1,
     447,    -1,     8,    -1,   260,   451,   775,   452,    -1,  1007,
      -1,   260,   451,   775,   452,    -1,  1007,    -1,   260,   451,
     775,   452,    -1,   216,    -1,   434,   216,    -1,   175,    -1,
     434,   175,    -1,   976,    -1,  1012,   455,   976,    -1,  1014,
      -1,  1013,   455,  1014,    -1,   976,    -1,   753,    13,   976,
      -1,   753,    14,   976,    -1,   952,    -1,  1015,   455,   952,
      -1,   449,  1012,   450,    -1,   449,  1017,   450,    -1,   449,
     450,    -1,  1016,    -1,  1017,   455,  1016,    -1,  1019,   158,
     976,    -1,   447,   158,   976,    -1,    -1,     3,    -1,   431,
      -1,   234,    -1,   104,    -1,   172,    -1,   231,    -1,   327,
      -1,  1056,    -1,   976,  1021,  1024,  1025,    -1,   976,  1021,
    1024,    -1,   278,   976,    -1,   977,   180,   977,    -1,    -1,
     976,  1024,  1025,    -1,   976,  1025,  1024,    -1,   976,  1024,
      -1,   976,  1025,    -1,  1012,    -1,    -1,   158,   976,    -1,
     153,   976,    -1,   976,   158,  1012,    -1,   158,  1012,    -1,
    1012,    -1,   884,    -1,   451,  1012,   452,    -1,    57,  1032,
    1029,  1031,   132,    -1,  1030,    -1,  1029,  1030,    -1,   411,
     976,   370,   976,    -1,   128,   976,    -1,    -1,   976,    -1,
      -1,  1065,    -1,  1065,  1035,    -1,   453,  1050,    -1,   453,
     443,    -1,   449,   976,   450,    -1,   449,   976,   456,   976,
     450,    -1,  1034,    -1,  1035,  1034,    -1,    -1,  1036,  1034,
      -1,    39,    -1,    -1,   976,    -1,   109,    -1,  1038,    -1,
    1039,   455,  1038,    -1,   451,  1039,   452,    -1,  1042,    -1,
      -1,  1043,    -1,  1042,   455,  1043,    -1,   976,    35,  1068,
      -1,   976,     3,    -1,   976,    -1,   443,    -1,  1045,    -1,
    1044,   455,  1045,    -1,  1065,    -1,  1065,  1035,    -1,  1047,
      -1,  1046,   455,  1047,    -1,  1065,    -1,  1065,    -1,  1065,
      -1,  1068,    -1,  1065,    -1,  1056,    -1,  1066,    -1,  1065,
    1035,    -1,  1055,    -1,     4,    -1,  1056,    -1,     6,    -1,
       7,    -1,  1053,  1056,    -1,  1053,   451,  1013,   898,   452,
    1056,    -1,   955,  1056,    -1,   972,  1056,   974,    -1,   972,
     451,  1055,   452,  1056,    -1,   972,   451,   447,   452,   447,
     974,    -1,   380,    -1,   146,    -1,   249,    -1,     9,    -1,
       5,    -1,  1055,    -1,   441,  1055,    -1,   442,  1055,    -1,
    1059,    -1,  1067,    -1,    99,    -1,   335,    -1,  1059,    -1,
    1060,   455,  1059,    -1,  1055,    -1,   447,    -1,  1056,    -1,
     447,    -1,  1056,    -1,   447,    -1,   494,    -1,   447,    -1,
       3,    -1,  1069,    -1,  1070,    -1,     3,    -1,  1069,    -1,
    1071,    -1,     3,    -1,  1069,    -1,  1070,    -1,  1071,    -1,
       3,    -1,  1069,    -1,  1070,    -1,  1071,    -1,  1072,    -1,
      18,    -1,    19,    -1,    20,    -1,    21,    -1,    22,    -1,
      23,    -1,    24,    -1,    25,    -1,    27,    -1,    28,    -1,
      29,    -1,    37,    -1,    38,    -1,    40,    -1,    41,    -1,
      43,    -1,    44,    -1,    45,    -1,    52,    -1,    53,    -1,
      54,    -1,    55,    -1,    56,    -1,    59,    -1,    60,    -1,
      63,    -1,    65,    -1,    66,    -1,    67,    -1,    68,    -1,
      73,    -1,    74,    -1,    75,    -1,    76,    -1,    78,    -1,
      79,    -1,    80,    -1,    82,    -1,    83,    -1,    84,    -1,
      85,    -1,    86,    -1,    87,    -1,    90,    -1,    91,    -1,
      92,    -1,   100,    -1,   101,    -1,   102,    -1,   103,    -1,
     104,    -1,   105,    -1,   108,    -1,   110,    -1,   112,    -1,
     113,    -1,   114,    -1,   115,    -1,   116,    -1,   118,    -1,
     119,    -1,   120,    -1,   123,    -1,   124,    -1,   125,    -1,
     126,    -1,   127,    -1,   129,    -1,   130,    -1,   131,    -1,
     133,    -1,   134,    -1,   135,    -1,   137,    -1,   138,    -1,
     139,    -1,   140,    -1,   142,    -1,   143,    -1,   144,    -1,
     147,    -1,   149,    -1,   150,    -1,   152,    -1,   154,    -1,
     156,    -1,   160,    -1,   161,    -1,   162,    -1,   164,    -1,
     168,    -1,   170,    -1,   171,    -1,   172,    -1,   173,    -1,
     174,    -1,   176,    -1,   177,    -1,   178,    -1,   179,    -1,
     181,    -1,   182,    -1,   183,    -1,   184,    -1,   185,    -1,
     186,    -1,   188,    -1,   191,    -1,   192,    -1,   193,    -1,
     194,    -1,   200,    -1,   203,    -1,   205,    -1,   206,    -1,
     207,    -1,   208,    -1,   209,    -1,   212,    -1,   215,    -1,
     218,    -1,   219,    -1,   220,    -1,   223,    -1,   224,    -1,
     225,    -1,   226,    -1,   227,    -1,   228,    -1,   229,    -1,
     230,    -1,   231,    -1,   232,    -1,   233,    -1,   234,    -1,
     235,    -1,   236,    -1,   237,    -1,   241,    -1,   242,    -1,
     245,    -1,   246,    -1,   248,    -1,   251,    -1,   253,    -1,
     254,    -1,   255,    -1,   257,    -1,   260,    -1,   261,    -1,
     262,    -1,   265,    -1,   268,    -1,   271,    -1,   272,    -1,
     273,    -1,   274,    -1,   275,    -1,   276,    -1,   277,    -1,
     279,    -1,   280,    -1,   282,    -1,   285,    -1,   286,    -1,
     284,    -1,   288,    -1,   289,    -1,   290,    -1,   291,    -1,
     292,    -1,   293,    -1,   294,    -1,   295,    -1,   297,    -1,
     298,    -1,   299,    -1,   300,    -1,   302,    -1,   303,    -1,
     304,    -1,   305,    -1,   306,    -1,   307,    -1,   308,    -1,
     309,    -1,   310,    -1,   311,    -1,   312,    -1,   314,    -1,
     315,    -1,   317,    -1,   318,    -1,   319,    -1,   321,    -1,
     322,    -1,   323,    -1,   324,    -1,   325,    -1,   326,    -1,
     327,    -1,   328,    -1,   330,    -1,   331,    -1,   332,    -1,
     333,    -1,   334,    -1,   336,    -1,   337,    -1,   339,    -1,
     340,    -1,   342,    -1,   343,    -1,   345,    -1,   347,    -1,
     348,    -1,   349,    -1,   350,    -1,   351,    -1,   352,    -1,
     353,    -1,   354,    -1,   355,    -1,   356,    -1,   357,    -1,
     360,    -1,   361,    -1,   363,    -1,   365,    -1,   366,    -1,
     367,    -1,   368,    -1,   369,    -1,   375,    -1,   376,    -1,
     378,    -1,   381,    -1,   382,    -1,   383,    -1,   384,    -1,
     385,    -1,   386,    -1,   387,    -1,   390,    -1,   391,    -1,
     392,    -1,   393,    -1,   394,    -1,   397,    -1,   398,    -1,
     399,    -1,   400,    -1,   401,    -1,   405,    -1,   407,    -1,
     408,    -1,   409,    -1,   410,    -1,   413,    -1,   416,    -1,
     417,    -1,   418,    -1,   419,    -1,   420,    -1,   421,    -1,
     431,    -1,   432,    -1,   433,    -1,    46,    -1,    47,    -1,
      49,    -1,    50,    -1,    61,    -1,    62,    -1,    69,    -1,
     106,    -1,   107,    -1,   141,    -1,   145,    -1,   151,    -1,
     165,    -1,   167,    -1,   190,    -1,   195,    -1,   196,    -1,
     198,    -1,   213,    -1,   238,    -1,   240,    -1,   243,    -1,
     250,    -1,   252,    -1,   266,    -1,   270,    -1,   281,    -1,
     283,    -1,   296,    -1,   320,    -1,   338,    -1,   344,    -1,
     358,    -1,   371,    -1,   372,    -1,   377,    -1,   379,    -1,
     402,    -1,   403,    -1,   422,    -1,   423,    -1,   424,    -1,
     425,    -1,   426,    -1,   427,    -1,   428,    -1,   429,    -1,
     430,    -1,    42,    -1,    48,    -1,    71,    -1,    77,    -1,
      89,    -1,    96,    -1,   157,    -1,   159,    -1,   175,    -1,
     189,    -1,   201,    -1,   202,    -1,   204,    -1,   214,    -1,
     216,    -1,   239,    -1,   247,    -1,   267,    -1,   269,    -1,
     316,    -1,   341,    -1,   364,    -1,   406,    -1,    26,    -1,
      30,    -1,    31,    -1,    32,    -1,    33,    -1,    34,    -1,
      35,    -1,    36,    -1,    39,    -1,    51,    -1,    57,    -1,
      58,    -1,    64,    -1,    70,    -1,    72,    -1,    81,    -1,
      88,    -1,    93,    -1,    94,    -1,    95,    -1,    97,    -1,
      98,    -1,    99,    -1,   109,    -1,   111,    -1,   117,    -1,
     121,    -1,   122,    -1,   128,    -1,   132,    -1,   136,    -1,
     146,    -1,   148,    -1,   153,    -1,   155,    -1,   158,    -1,
     163,    -1,   166,    -1,   169,    -1,   180,    -1,   187,    -1,
     197,    -1,   199,    -1,   210,    -1,   211,    -1,   217,    -1,
     221,    -1,   222,    -1,   244,    -1,   249,    -1,   256,    -1,
     258,    -1,   259,    -1,   263,    -1,   264,    -1,   278,    -1,
     287,    -1,   301,    -1,   313,    -1,   329,    -1,   335,    -1,
     346,    -1,   359,    -1,   362,    -1,   370,    -1,   373,    -1,
     374,    -1,   380,    -1,   388,    -1,   389,    -1,   395,    -1,
     396,    -1,   404,    -1,   411,    -1,   412,    -1,   414,    -1,
     415,    -1
};

/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
static const yytype_uint16 yyrline[] =
{
       0,   737,   737,   744,   751,   761,   762,   763,   764,   765,
     766,   767,   768,   769,   770,   771,   772,   773,   774,   775,
     776,   777,   778,   779,   780,   781,   782,   783,   784,   785,
     786,   787,   788,   789,   790,   791,   792,   793,   794,   795,
     796,   797,   798,   799,   800,   801,   802,   803,   804,   805,
     806,   807,   808,   809,   810,   811,   812,   813,   814,   815,
     816,   817,   818,   819,   820,   821,   822,   823,   824,   825,
     826,   827,   828,   829,   830,   831,   832,   833,   834,   835,
     836,   837,   838,   839,   840,   841,   842,   843,   844,   845,
     846,   847,   848,   849,   850,   851,   852,   853,   854,   855,
     856,   857,   858,   859,   860,   861,   862,   863,   864,   865,
     866,   867,   868,   869,   870,   871,   872,   873,   874,   875,
     876,   877,   878,   879,   880,   881,   882,   884,   894,   905,
     906,   907,   916,   917,   921,   922,   926,   930,   934,   938,
     942,   946,   950,   955,   959,  1017,  1019,  1023,  1027,  1031,
    1035,  1049,  1067,  1078,  1079,  1083,  1091,  1109,  1121,  1142,
    1149,  1168,  1175,  1192,  1210,  1221,  1222,  1234,  1241,  1258,
    1268,  1278,  1293,  1311,  1312,  1316,  1323,  1331,  1332,  1333,
    1334,  1335,  1336,  1350,  1356,  1362,  1371,  1379,  1387,  1391,
    1399,  1407,  1414,  1423,  1424,  1432,  1443,  1451,  1459,  1470,
    1478,  1486,  1493,  1502,  1512,  1513,  1517,  1518,  1521,  1523,
    1525,  1529,  1530,  1531,  1532,  1536,  1537,  1538,  1544,  1556,
    1560,  1564,  1579,  1586,  1587,  1588,  1592,  1593,  1594,  1598,
    1599,  1603,  1607,  1608,  1615,  1622,  1632,  1639,  1649,  1650,
    1655,  1656,  1661,  1667,  1673,  1679,  1685,  1695,  1705,  1706,
    1710,  1711,  1719,  1734,  1740,  1746,  1752,  1758,  1777,  1786,
    1795,  1806,  1817,  1826,  1835,  1846,  1857,  1866,  1875,  1884,
    1893,  1902,  1911,  1922,  1936,  1937,  1942,  1950,  1958,  1967,
    1975,  1983,  1992,  2001,  2010,  2019,  2029,  2042,  2057,  2066,
    2074,  2089,  2097,  2107,  2117,  2124,  2131,  2139,  2147,  2154,
    2161,  2169,  2177,  2185,  2192,  2199,  2207,  2214,  2221,  2229,
    2237,  2245,  2253,  2261,  2269,  2279,  2286,  2294,  2302,  2310,
    2318,  2326,  2333,  2340,  2347,  2353,  2363,  2364,  2368,  2369,
    2370,  2374,  2382,  2386,  2387,  2391,  2398,  2405,  2412,  2422,
    2425,  2426,  2430,  2431,  2436,  2440,  2444,  2449,  2464,  2477,
    2478,  2483,  2492,  2502,  2512,  2538,  2544,  2574,  2603,  2625,
    2626,  2630,  2631,  2640,  2641,  2642,  2645,  2646,  2651,  2652,
    2656,  2660,  2664,  2668,  2672,  2676,  2680,  2684,  2688,  2692,
    2696,  2700,  2704,  2708,  2717,  2721,  2725,  2729,  2733,  2737,
    2741,  2742,  2747,  2751,  2758,  2765,  2766,  2767,  2768,  2769,
    2773,  2777,  2785,  2796,  2812,  2829,  2846,  2876,  2877,  2878,
    2879,  2880,  2887,  2894,  2895,  2899,  2900,  2904,  2905,  2909,
    2913,  2920,  2924,  2931,  2932,  2933,  2937,  2938,  2941,  2962,
    2983,  2984,  2988,  2996,  2997,  2998,  3029,  3036,  3043,  3054,
    3065,  3075,  3084,  3117,  3124,  3131,  3138,  3149,  3159,  3160,
    3161,  3165,  3166,  3167,  3168,  3169,  3170,  3179,  3187,  3191,
    3204,  3219,  3233,  3248,  3262,  3280,  3301,  3302,  3306,  3307,
    3311,  3312,  3315,  3321,  3325,  3333,  3338,  3344,  3345,  3349,
    3354,  3361,  3362,  3372,  3374,  3376,  3378,  3381,  3384,  3387,
    3391,  3392,  3393,  3394,  3395,  3398,  3399,  3404,  3405,  3406,
    3407,  3410,  3411,  3412,  3413,  3416,  3417,  3420,  3421,  3424,
    3439,  3452,  3468,  3482,  3483,  3484,  3496,  3509,  3525,  3538,
    3539,  3551,  3571,  3581,  3594,  3602,  3613,  3614,  3617,  3618,
    3621,  3625,  3629,  3633,  3637,  3641,  3645,  3649,  3653,  3657,
    3661,  3665,  3671,  3672,  3676,  3677,  3682,  3685,  3686,  3698,
    3710,  3725,  3726,  3734,  3735,  3739,  3740,  3744,  3745,  3749,
    3750,  3754,  3765,  3778,  3779,  3789,  3800,  3801,  3814,  3821,
    3838,  3846,  3857,  3860,  3864,  3868,  3872,  3884,  3894,  3897,
    3901,  3914,  3924,  3934,  3943,  3952,  3961,  3971,  3980,  3990,
    3999,  4008,  4017,  4026,  4035,  4044,  4053,  4062,  4071,  4080,
    4089,  4098,  4107,  4116,  4125,  4135,  4153,  4164,  4165,  4166,
    4167,  4171,  4172,  4176,  4177,  4187,  4198,  4218,  4226,  4238,
    4239,  4243,  4247,  4255,  4259,  4263,  4270,  4274,  4279,  4284,
    4291,  4298,  4303,  4313,  4327,  4328,  4333,  4334,  4338,  4339,
    4349,  4360,  4380,  4389,  4397,  4414,  4434,  4464,  4473,  4494,
    4509,  4510,  4514,  4522,  4537,  4548,  4549,  4559,  4567,  4584,
    4606,  4622,  4636,  4647,  4661,  4662,  4666,  4667,  4671,  4672,
    4676,  4677,  4681,  4682,  4686,  4687,  4688,  4689,  4690,  4702,
    4722,  4747,  4748,  4749,  4753,  4755,  4777,  4779,  4781,  4783,
    4785,  4790,  4795,  4805,  4806,  4810,  4811,  4815,  4816,  4820,
    4821,  4822,  4826,  4830,  4831,  4832,  4836,  4837,  4842,  4843,
    4870,  4871,  4872,  4873,  4874,  4875,  4880,  4891,  4914,  4924,
    4938,  4940,  4945,  4950,  4952,  4957,  4967,  4968,  4969,  4970,
    4982,  5002,  5025,  5035,  5046,  5056,  5066,  5077,  5086,  5093,
    5100,  5109,  5118,  5127,  5136,  5145,  5156,  5159,  5160,  5163,
    5167,  5174,  5175,  5176,  5177,  5178,  5181,  5184,  5185,  5193,
    5200,  5201,  5204,  5206,  5217,  5227,  5237,  5249,  5250,  5266,
    5281,  5282,  5286,  5296,  5307,  5316,  5326,  5335,  5336,  5339,
    5340,  5343,  5344,  5345,  5348,  5362,  5367,  5377,  5386,  5398,
    5399,  5403,  5411,  5423,  5433,  5446,  5456,  5478,  5488,  5506,
    5517,  5528,  5538,  5548,  5558,  5568,  5579,  5593,  5594,  5595,
    5596,  5597,  5598,  5599,  5600,  5601,  5602,  5603,  5604,  5605,
    5606,  5607,  5611,  5612,  5615,  5616,  5619,  5621,  5626,  5627,
    5637,  5648,  5649,  5650,  5683,  5692,  5701,  5710,  5719,  5728,
    5737,  5746,  5760,  5769,  5778,  5788,  5797,  5806,  5814,  5823,
    5832,  5841,  5853,  5854,  5855,  5856,  5857,  5858,  5859,  5860,
    5861,  5862,  5863,  5864,  5865,  5866,  5867,  5868,  5869,  5870,
    5871,  5872,  5873,  5877,  5878,  5892,  5903,  5914,  5925,  5936,
    5947,  5958,  5971,  5972,  5976,  5977,  5978,  5979,  5980,  5981,
    5982,  5983,  5984,  5985,  5986,  5989,  5990,  6000,  6006,  6014,
    6022,  6030,  6038,  6046,  6054,  6062,  6070,  6078,  6086,  6094,
    6102,  6110,  6118,  6126,  6134,  6144,  6145,  6148,  6149,  6159,
    6175,  6189,  6215,  6217,  6219,  6221,  6228,  6237,  6238,  6241,
    6248,  6255,  6262,  6276,  6284,  6292,  6300,  6308,  6316,  6324,
    6332,  6340,  6348,  6356,  6364,  6372,  6380,  6388,  6396,  6408,
    6409,  6413,  6414,  6419,  6420,  6424,  6425,  6430,  6446,  6459,
    6469,  6481,  6482,  6485,  6486,  6496,  6506,  6507,  6511,  6515,
    6519,  6530,  6543,  6557,  6574,  6575,  6576,  6577,  6589,  6615,
    6644,  6645,  6649,  6650,  6654,  6655,  6659,  6660,  6663,  6664,
    6672,  6683,  6694,  6707,  6708,  6711,  6712,  6713,  6716,  6717,
    6718,  6721,  6722,  6723,  6739,  6751,  6764,  6779,  6780,  6783,
    6784,  6788,  6789,  6797,  6798,  6802,  6803,  6818,  6827,  6836,
    6845,  6854,  6866,  6867,  6868,  6869,  6870,  6876,  6880,  6895,
    6896,  6902,  6912,  6916,  6921,  6929,  6970,  6974,  6978,  6982,
    6990,  6991,  6996,  6997,  7004,  7008,  7012,  7016,  7020,  7024,
    7028,  7032,  7036,  7040,  7044,  7048,  7052,  7056,  7060,  7068,
    7072,  7076,  7080,  7084,  7090,  7091,  7098,  7099,  7103,  7104,
    7107,  7119,  7123,  7138,  7149,  7150,  7155,  7156,  7171,  7182,
    7196,  7207,  7221,  7232,  7246,  7254,  7256,  7258,  7263,  7265,
    7278,  7287,  7288,  7292,  7296,  7308,  7319,  7330,  7343,  7344,
    7345,  7349,  7362,  7363,  7373,  7385,  7389,  7393,  7397,  7404,
    7425,  7434,  7443,  7452,  7463,  7464,  7467,  7468,  7469,  7472,
    7473,  7476,  7486,  7495,  7512,  7522,  7531,  7540,  7549,  7558,
    7567,  7576,  7586,  7595,  7604,  7613,  7622,  7632,  7642,  7651,
    7660,  7670,  7680,  7690,  7700,  7710,  7720,  7730,  7740,  7750,
    7760,  7770,  7780,  7791,  7802,  7813,  7824,  7834,  7844,  7855,
    7866,  7876,  7886,  7894,  7903,  7912,  7921,  7930,  7939,  7948,
    7957,  7966,  7980,  7981,  7984,  7985,  7995,  8005,  8014,  8023,
    8032,  8041,  8051,  8061,  8070,  8079,  8088,  8097,  8106,  8115,
    8124,  8133,  8142,  8151,  8160,  8169,  8178,  8187,  8196,  8205,
    8222,  8231,  8239,  8247,  8255,  8263,  8272,  8280,  8288,  8297,
    8305,  8313,  8321,  8329,  8337,  8345,  8353,  8361,  8369,  8386,
    8403,  8404,  8405,  8410,  8416,  8425,  8426,  8427,  8428,  8429,
    8433,  8434,  8437,  8438,  8439,  8440,  8444,  8445,  8446,  8451,
    8462,  8484,  8494,  8495,  8498,  8507,  8513,  8532,  8539,  8546,
    8553,  8560,  8567,  8574,  8582,  8590,  8598,  8606,  8614,  8621,
    8628,  8637,  8638,  8639,  8643,  8646,  8649,  8652,  8655,  8662,
    8664,  8666,  8671,  8673,  8685,  8698,  8711,  8729,  8750,  8751,
    8752,  8753,  8763,  8779,  8789,  8790,  8794,  8795,  8799,  8803,
    8807,  8825,  8826,  8827,  8828,  8829,  8830,  8831,  8838,  8839,
    8850,  8857,  8864,  8875,  8892,  8899,  8917,  8923,  8939,  8952,
    8961,  8969,  8977,  8986,  8997,  9008,  9018,  9019,  9030,  9040,
    9051,  9062,  9073,  9084,  9093,  9105,  9106,  9120,  9143,  9151,
    9160,  9171,  9172,  9184,  9198,  9212,  9224,  9232,  9245,  9246,
    9250,  9251,  9252,  9253,  9257,  9267,  9280,  9281,  9285,  9286,
    9289,  9290,  9293,  9294,  9298,  9299,  9312,  9319,  9329,  9336,
    9346,  9347,  9348,  9349,  9350,  9351,  9352,  9353,  9354,  9358,
    9362,  9369,  9376,  9377,  9381,  9382,  9383,  9393,  9403,  9404,
    9408,  9409,  9410,  9411,  9421,  9428,  9446,  9447,  9457,  9463,
    9469,  9475,  9491,  9509,  9513,  9521,  9527,  9533,  9542,  9544,
    9549,  9560,  9570,  9580,  9586,  9595,  9604,  9610,  9611,  9622,
    9636,  9637,  9648,  9659,  9660,  9663,  9664,  9665,  9666,  9667,
    9668,  9669,  9670,  9673,  9674,  9678,  9679,  9680,  9691,  9709,
    9710,  9714,  9715,  9719,  9735,  9761,  9794,  9805,  9806,  9816,
    9827,  9830,  9831,  9832,  9833,  9834,  9837,  9838,  9839,  9887,
    9888,  9892,  9893,  9908,  9909,  9916,  9924,  9932,  9940,  9948,
    9956,  9967,  9968,  9995, 10009, 10024, 10025, 10044, 10048, 10052,
   10069, 10076, 10083, 10093, 10094, 10097, 10109, 10110, 10114, 10126,
   10134, 10139, 10144, 10149, 10154, 10162, 10170, 10175, 10180, 10187,
   10188, 10192, 10193, 10194, 10201, 10202, 10206, 10207, 10211, 10212,
   10216, 10220, 10221, 10224, 10233, 10246, 10247, 10248, 10249, 10253,
   10254, 10258, 10260, 10270, 10275, 10278, 10283, 10284, 10292, 10302,
   10303, 10304, 10312, 10316, 10317, 10320, 10321, 10346, 10347, 10351,
   10352, 10356, 10357, 10358, 10359, 10360, 10364, 10377, 10384, 10391,
   10398, 10399, 10403, 10404, 10408, 10409, 10413, 10414, 10418, 10429,
   10430, 10431, 10432, 10436, 10437, 10442, 10448, 10466, 10467, 10471,
   10472, 10478, 10483, 10491, 10498, 10506, 10541, 10566, 10570, 10596,
   10600, 10612, 10625, 10639, 10650, 10665, 10671, 10676, 10682, 10689,
   10690, 10698, 10702, 10706, 10712, 10719, 10724, 10725, 10726, 10727,
   10731, 10732, 10744, 10745, 10750, 10757, 10764, 10771, 10782, 10783,
   10796, 10800, 10807, 10820, 10833, 10834, 10849, 10859, 10871, 10876,
   10877, 10880, 10881, 10884, 10885, 10890, 10891, 10896, 10897, 10905,
   10910, 10911, 10915, 10919, 10925, 10955, 10960, 10967, 10972, 10978,
   10983, 10992, 10994, 10997, 11001, 11002, 11003, 11004, 11005, 11006,
   11011, 11031, 11032, 11033, 11034, 11045, 11051, 11059, 11060, 11066,
   11071, 11076, 11081, 11086, 11091, 11096, 11101, 11107, 11113, 11119,
   11126, 11148, 11157, 11161, 11169, 11173, 11181, 11193, 11214, 11218,
   11224, 11228, 11241, 11252, 11267, 11269, 11271, 11273, 11275, 11277,
   11282, 11283, 11287, 11288, 11295, 11304, 11312, 11321, 11332, 11340,
   11341, 11342, 11346, 11348, 11350, 11352, 11354, 11356, 11358, 11363,
   11368, 11374, 11382, 11387, 11394, 11401, 11405, 11409, 11445, 11446,
   11448, 11456, 11471, 11473, 11475, 11477, 11479, 11481, 11483, 11485,
   11487, 11489, 11491, 11493, 11495, 11497, 11500, 11504, 11507, 11509,
   11511, 11514, 11516, 11518, 11520, 11523, 11528, 11536, 11541, 11549,
   11554, 11562, 11567, 11576, 11584, 11592, 11600, 11618, 11626, 11634,
   11642, 11650, 11666, 11674, 11682, 11690, 11698, 11706, 11714, 11718,
   11724, 11728, 11732, 11740, 11748, 11756, 11764, 11784, 11806, 11817,
   11824, 11840, 11845, 11862, 11864, 11866, 11868, 11870, 11872, 11874,
   11876, 11878, 11880, 11882, 11884, 11886, 11888, 11890, 11892, 11894,
   11898, 11900, 11902, 11904, 11906, 11910, 11916, 11920, 11924, 11929,
   11945, 11946, 11947, 11959, 11974, 12004, 12006, 12008, 12019, 12043,
   12054, 12065, 12073, 12083, 12093, 12102, 12106, 12112, 12119, 12126,
   12136, 12143, 12171, 12206, 12217, 12218, 12225, 12231, 12257, 12267,
   12280, 12288, 12301, 12311, 12324, 12334, 12347, 12351, 12355, 12359,
   12363, 12367, 12371, 12373, 12377, 12386, 12391, 12398, 12413, 12420,
   12424, 12428, 12432, 12436, 12443, 12451, 12459, 12463, 12467, 12471,
   12475, 12479, 12485, 12489, 12498, 12502, 12506, 12511, 12525, 12527,
   12531, 12533, 12535, 12538, 12541, 12544, 12545, 12548, 12556, 12566,
   12567, 12570, 12571, 12572, 12577, 12581, 12585, 12589, 12600, 12601,
   12605, 12606, 12614, 12615, 12619, 12620, 12625, 12633, 12635, 12649,
   12652, 12679, 12680, 12683, 12684, 12695, 12713, 12720, 12729, 12746,
   12791, 12799, 12807, 12815, 12823, 12844, 12845, 12846, 12849, 12850,
   12853, 12856, 12857, 12858, 12861, 12862, 12865, 12866, 12867, 12868,
   12869, 12870, 12871, 12872, 12873, 12874, 12875, 12876, 12877, 12880,
   12882, 12887, 12889, 12894, 12896, 12898, 12900, 12902, 12904, 12916,
   12920, 12927, 12931, 12937, 12941, 12950, 12961, 12962, 12965, 12969,
   12973, 12979, 12980, 12985, 12989, 12993, 13000, 13001, 13002, 13003,
   13004, 13005, 13006, 13007, 13017, 13021, 13028, 13035, 13036, 13052,
   13056, 13061, 13065, 13080, 13085, 13089, 13092, 13095, 13096, 13097,
   13100, 13107, 13117, 13131, 13132, 13136, 13147, 13148, 13151, 13152,
   13155, 13159, 13166, 13170, 13174, 13181, 13191, 13192, 13196, 13197,
   13200, 13201, 13212, 13213, 13222, 13223, 13231, 13241, 13242, 13246,
   13247, 13250, 13266, 13274, 13282, 13304, 13305, 13316, 13320, 13347,
   13349, 13354, 13357, 13360, 13362, 13364, 13366, 13376, 13378, 13389,
   13393, 13397, 13401, 13405, 13414, 13421, 13453, 13457, 13463, 13471,
   13483, 13487, 13491, 13497, 13498, 13500, 13501, 13502, 13506, 13536,
   13563, 13567, 13573, 13575, 13582, 13583, 13586, 13587, 13590, 13591,
   13594, 13595, 13611, 13612, 13613, 13618, 13619, 13620, 13625, 13626,
   13627, 13628, 13634, 13635, 13636, 13637, 13638, 13658, 13659, 13660,
   13661, 13662, 13663, 13664, 13665, 13666, 13667, 13668, 13669, 13670,
   13671, 13672, 13673, 13674, 13675, 13676, 13677, 13678, 13679, 13680,
   13681, 13682, 13683, 13684, 13685, 13686, 13687, 13688, 13689, 13690,
   13691, 13692, 13693, 13694, 13695, 13696, 13697, 13698, 13699, 13700,
   13701, 13702, 13703, 13704, 13705, 13706, 13707, 13708, 13709, 13710,
   13711, 13712, 13713, 13714, 13715, 13716, 13717, 13718, 13719, 13720,
   13721, 13722, 13723, 13724, 13725, 13726, 13727, 13728, 13729, 13730,
   13731, 13732, 13733, 13734, 13735, 13736, 13737, 13738, 13739, 13740,
   13741, 13742, 13743, 13744, 13745, 13746, 13747, 13748, 13749, 13750,
   13751, 13752, 13753, 13754, 13755, 13756, 13757, 13758, 13759, 13760,
   13761, 13762, 13763, 13764, 13765, 13766, 13767, 13768, 13769, 13770,
   13771, 13772, 13773, 13774, 13775, 13776, 13777, 13778, 13779, 13780,
   13781, 13782, 13783, 13784, 13785, 13786, 13787, 13788, 13789, 13790,
   13791, 13792, 13793, 13794, 13795, 13796, 13797, 13798, 13799, 13800,
   13801, 13802, 13803, 13804, 13805, 13806, 13807, 13808, 13809, 13810,
   13811, 13812, 13813, 13814, 13815, 13816, 13817, 13818, 13819, 13820,
   13821, 13822, 13823, 13824, 13825, 13826, 13827, 13828, 13829, 13830,
   13831, 13832, 13833, 13834, 13835, 13836, 13837, 13838, 13839, 13840,
   13841, 13842, 13843, 13844, 13845, 13846, 13847, 13848, 13849, 13850,
   13851, 13852, 13853, 13854, 13855, 13856, 13857, 13858, 13859, 13860,
   13861, 13862, 13863, 13864, 13865, 13866, 13867, 13868, 13869, 13870,
   13871, 13872, 13873, 13874, 13875, 13876, 13877, 13878, 13879, 13880,
   13881, 13882, 13883, 13884, 13885, 13886, 13887, 13888, 13889, 13890,
   13891, 13892, 13893, 13894, 13895, 13896, 13897, 13898, 13899, 13900,
   13901, 13902, 13903, 13904, 13905, 13906, 13907, 13908, 13909, 13910,
   13911, 13912, 13913, 13914, 13915, 13916, 13917, 13918, 13919, 13920,
   13921, 13922, 13923, 13924, 13925, 13939, 13940, 13941, 13942, 13943,
   13944, 13945, 13946, 13947, 13948, 13949, 13950, 13951, 13952, 13953,
   13954, 13955, 13956, 13957, 13958, 13959, 13960, 13961, 13962, 13963,
   13964, 13965, 13966, 13967, 13968, 13969, 13970, 13971, 13972, 13973,
   13974, 13975, 13976, 13977, 13978, 13979, 13980, 13981, 13982, 13983,
   13984, 13985, 13986, 14000, 14001, 14002, 14003, 14004, 14005, 14006,
   14007, 14008, 14009, 14010, 14011, 14012, 14013, 14014, 14015, 14016,
   14017, 14018, 14019, 14020, 14021, 14022, 14032, 14033, 14034, 14035,
   14036, 14037, 14038, 14039, 14040, 14041, 14042, 14043, 14044, 14045,
   14046, 14047, 14048, 14049, 14050, 14051, 14052, 14053, 14054, 14055,
   14056, 14057, 14058, 14059, 14060, 14061, 14062, 14063, 14064, 14065,
   14066, 14067, 14068, 14069, 14070, 14071, 14072, 14073, 14074, 14075,
   14076, 14077, 14078, 14079, 14080, 14081, 14082, 14083, 14084, 14085,
   14086, 14087, 14088, 14089, 14090, 14091, 14092, 14093, 14094, 14095,
   14096, 14097, 14098, 14099, 14100, 14101, 14102, 14103, 14104, 14105,
   14106, 14107, 14108
};
#endif

#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
static const char *const yytname[] =
{
  "$end", "error", "$undefined", "IDENT", "FCONST", "SCONST", "BCONST",
  "XCONST", "Op", "ICONST", "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS",
  "EQUALS_GREATER", "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS",
  "ABORT_P", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER",
  "AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE",
  "AND", "ANY", "ARRAY", "AS", "ASC", "ASSERTION", "ASSIGNMENT",
  "ASYMMETRIC", "AT", "ATTRIBUTE", "AUTHORIZATION", "BACKWARD", "BEFORE",
  "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P", "BOTH",
  "BY", "CACHE", "CALLED", "CASCADE", "CASCADED", "CASE", "CAST",
  "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", "CHARACTERISTICS", "CHECK",
  "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE", "COLLATE",
  "COLLATION", "COLUMN", "COMMENT", "COMMENTS", "COMMIT", "COMMITTED",
  "CONCURRENTLY", "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT",
  "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST",
  "CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG",
  "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME",
  "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P",
  "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE",
  "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P",
  "DELIMITER", "DELIMITERS", "DESC", "DICTIONARY", "DISABLE_P", "DISCARD",
  "DISTINCT", "DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH",
  "ELSE", "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE",
  "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXECUTE",
  "EXISTS", "EXPLAIN", "EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P",
  "FAMILY", "FETCH", "FILTER", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR",
  "FORCE", "FOREIGN", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION",
  "FUNCTIONS", "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P",
  "GROUPING", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P",
  "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P",
  "IMPORT_P", "IN_P", "INCLUDING", "INCREMENT", "INDEX", "INDEXES",
  "INHERIT", "INHERITS", "INITIALLY", "INLINE_P", "INNER_P", "INOUT",
  "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER",
  "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION",
  "JOIN", "KEY", "LABEL", "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P",
  "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT",
  "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION",
  "LOCK_P", "LOCKED", "LOGGED", "MAPPING", "MATCH", "MATERIALIZED",
  "MAXVALUE", "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P",
  "NAMES", "NATIONAL", "NATURAL", "NCHAR", "NEXT", "NO", "NONE", "NOT",
  "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P",
  "NUMERIC", "OBJECT_P", "OF", "OFF", "OFFSET", "OIDS", "ON", "ONLY",
  "OPERATOR", "OPTION", "OPTIONS", "OR", "ORDER", "ORDINALITY", "OUT_P",
  "OUTER_P", "OVER", "OVERLAPS", "OVERLAY", "OWNED", "OWNER", "PARSER",
  "PARTIAL", "PARTITION", "PASSING", "PASSWORD", "PLACING", "PLANS",
  "POLICY", "POSITION", "PRECEDING", "PRECISION", "PRESERVE", "PREPARE",
  "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE",
  "PROGRAM", "QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK",
  "RECURSIVE", "REF", "REFERENCES", "REFRESH", "REINDEX", "RELATIVE_P",
  "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET",
  "RESTART", "RESTRICT", "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE",
  "ROLLBACK", "ROLLUP", "ROW", "ROWS", "RULE", "SAVEPOINT", "SCHEMA",
  "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE",
  "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET",
  "SETS", "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP",
  "SMALLINT", "SNAPSHOT", "SOME", "SQL_P", "STABLE", "STANDALONE_P",
  "START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE",
  "STRICT_P", "STRIP_P", "SUBSTRING", "SYMMETRIC", "SYSID", "SYSTEM_P",
  "TABLE", "TABLES", "TABLESAMPLE", "TABLESPACE", "TEMP", "TEMPLATE",
  "TEMPORARY", "TEXT_P", "THEN", "TIME", "TIMESTAMP", "TO", "TRAILING",
  "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM", "TRUE_P",
  "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UNBOUNDED", "UNCOMMITTED",
  "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED",
  "UNTIL", "UPDATE", "USER", "USING", "VACUUM", "VALID", "VALIDATE",
  "VALIDATOR", "VALUE_P", "VALUES", "VARCHAR", "VARIADIC", "VARYING",
  "VERBOSE", "VERSION_P", "VIEW", "VIEWS", "VOLATILE", "WHEN", "WHERE",
  "WHITESPACE_P", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER",
  "WRITE", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT",
  "XMLEXISTS", "XMLFOREST", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE",
  "YEAR_P", "YES_P", "ZONE", "NOT_LA", "NULLS_LA", "WITH_LA", "'<'", "'>'",
  "'='", "POSTFIXOP", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "'?'",
  "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','", "':'",
  "$accept", "stmtblock", "stmtmulti", "stmt", "CreateRoleStmt",
  "opt_with", "OptRoleList", "AlterOptRoleList", "AlterOptRoleElem",
  "CreateOptRoleElem", "CreateUserStmt", "AlterRoleStmt",
  "opt_in_database", "AlterRoleSetStmt", "AlterUserStmt",
  "AlterUserSetStmt", "DropRoleStmt", "DropUserStmt", "CreateGroupStmt",
  "AlterGroupStmt", "add_drop", "DropGroupStmt", "CreateSchemaStmt",
  "OptSchemaName", "OptSchemaEltList", "schema_stmt", "VariableSetStmt",
  "set_rest", "generic_set", "set_rest_more", "var_name", "var_list",
  "var_value", "iso_level", "opt_boolean_or_string", "zone_value",
  "opt_encoding", "NonReservedWord_or_Sconst", "VariableResetStmt",
  "reset_rest", "generic_reset", "SetResetClause",
  "FunctionSetResetClause", "VariableShowStmt", "ConstraintsSetStmt",
  "constraints_set_list", "constraints_set_mode", "CheckPointStmt",
  "DiscardStmt", "AlterTableStmt", "alter_table_cmds", "alter_table_cmd",
  "alter_column_default", "opt_drop_behavior", "opt_collate_clause",
  "alter_using", "replica_identity", "reloptions", "opt_reloptions",
  "reloption_list", "reloption_elem", "AlterCompositeTypeStmt",
  "alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt",
  "copy_from", "opt_program", "copy_file_name", "copy_options",
  "copy_opt_list", "copy_opt_item", "opt_binary", "opt_oids",
  "copy_delimiter", "opt_using", "copy_generic_opt_list",
  "copy_generic_opt_elem", "copy_generic_opt_arg",
  "copy_generic_opt_arg_list", "copy_generic_opt_arg_list_item",
  "CreateStmt", "OptTemp", "OptTableElementList",
  "OptTypedTableElementList", "TableElementList", "TypedTableElementList",
  "TableElement", "TypedTableElement", "columnDef", "columnOptions",
  "ColQualList", "ColConstraint", "ColConstraintElem", "ConstraintAttr",
  "TableLikeClause", "TableLikeOptionList", "TableLikeOption",
  "TableConstraint", "ConstraintElem", "opt_no_inherit", "opt_column_list",
  "columnList", "columnElem", "key_match", "ExclusionConstraintList",
  "ExclusionConstraintElem", "ExclusionWhereClause", "key_actions",
  "key_update", "key_delete", "key_action", "OptInherit", "OptWith",
  "OnCommitOption", "OptTableSpace", "OptConsTableSpace", "ExistingIndex",
  "CreateAsStmt", "create_as_target", "opt_with_data", "CreateMatViewStmt",
  "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
  "AlterSeqStmt", "OptSeqOptList", "SeqOptList", "SeqOptElem", "opt_by",
  "NumericOnly", "NumericOnly_list", "CreatePLangStmt", "opt_trusted",
  "handler_name", "opt_inline_handler", "validator_clause",
  "opt_validator", "DropPLangStmt", "opt_procedural",
  "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
  "CreateExtensionStmt", "create_extension_opt_list",
  "create_extension_opt_item", "AlterExtensionStmt",
  "alter_extension_opt_list", "alter_extension_opt_item",
  "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
  "fdw_options", "opt_fdw_options", "DropFdwStmt", "AlterFdwStmt",
  "create_generic_options", "generic_option_list", "alter_generic_options",
  "alter_generic_option_list", "alter_generic_option_elem",
  "generic_option_elem", "generic_option_name", "generic_option_arg",
  "CreateForeignServerStmt", "opt_type", "foreign_server_version",
  "opt_foreign_server_version", "DropForeignServerStmt",
  "AlterForeignServerStmt", "CreateForeignTableStmt",
  "AlterForeignTableStmt", "ImportForeignSchemaStmt",
  "import_qualification_type", "import_qualification",
  "CreateUserMappingStmt", "auth_ident", "DropUserMappingStmt",
  "AlterUserMappingStmt", "CreatePolicyStmt", "AlterPolicyStmt",
  "DropPolicyStmt", "RowSecurityOptionalExpr",
  "RowSecurityOptionalWithCheck", "RowSecurityDefaultToRole",
  "RowSecurityOptionalToRole", "RowSecurityDefaultForCmd",
  "row_security_cmd", "CreateTrigStmt", "TriggerActionTime",
  "TriggerEvents", "TriggerOneEvent", "TriggerForSpec",
  "TriggerForOptEach", "TriggerForType", "TriggerWhen", "TriggerFuncArgs",
  "TriggerFuncArg", "OptConstrFromTable", "ConstraintAttributeSpec",
  "ConstraintAttributeElem", "DropTrigStmt", "CreateEventTrigStmt",
  "event_trigger_when_list", "event_trigger_when_item",
  "event_trigger_value_list", "AlterEventTrigStmt", "enable_trigger",
  "CreateAssertStmt", "DropAssertStmt", "DefineStmt", "definition",
  "def_list", "def_elem", "def_arg", "old_aggr_definition",
  "old_aggr_list", "old_aggr_elem", "opt_enum_val_list", "enum_val_list",
  "AlterEnumStmt", "opt_if_not_exists", "CreateOpClassStmt",
  "opclass_item_list", "opclass_item", "opt_default", "opt_opfamily",
  "opclass_purpose", "opt_recheck", "CreateOpFamilyStmt",
  "AlterOpFamilyStmt", "opclass_drop_list", "opclass_drop",
  "DropOpClassStmt", "DropOpFamilyStmt", "DropOwnedStmt",
  "ReassignOwnedStmt", "DropStmt", "drop_type", "any_name_list",
  "any_name", "attrs", "type_name_list", "TruncateStmt",
  "opt_restart_seqs", "CommentStmt", "comment_type", "comment_text",
  "SecLabelStmt", "opt_provider", "security_label_type", "security_label",
  "FetchStmt", "fetch_args", "from_in", "opt_from_in", "GrantStmt",
  "RevokeStmt", "privileges", "privilege_list", "privilege",
  "privilege_target", "grantee_list", "grantee", "opt_grant_grant_option",
  "function_with_argtypes_list", "function_with_argtypes", "GrantRoleStmt",
  "RevokeRoleStmt", "opt_grant_admin_option", "opt_granted_by",
  "AlterDefaultPrivilegesStmt", "DefACLOptionList", "DefACLOption",
  "DefACLAction", "defacl_privilege_target", "IndexStmt", "opt_unique",
  "opt_concurrently", "opt_index_name", "access_method_clause",
  "index_params", "index_elem", "opt_collate", "opt_class", "opt_asc_desc",
  "opt_nulls_order", "CreateFunctionStmt", "opt_or_replace", "func_args",
  "func_args_list", "func_args_with_defaults",
  "func_args_with_defaults_list", "func_arg", "arg_class", "param_name",
  "func_return", "func_type", "func_arg_with_default", "aggr_arg",
  "aggr_args", "aggr_args_list", "createfunc_opt_list",
  "common_func_opt_item", "createfunc_opt_item", "func_as",
  "transform_type_list", "opt_definition", "table_func_column",
  "table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
  "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
  "oper_argtypes", "any_operator", "DoStmt", "dostmt_opt_list",
  "dostmt_opt_item", "CreateCastStmt", "cast_context", "DropCastStmt",
  "opt_if_exists", "CreateTransformStmt", "transform_element_list",
  "DropTransformStmt", "ReindexStmt", "reindex_target_type",
  "reindex_target_multitable", "reindex_option_list",
  "reindex_option_elem", "AlterTblSpcStmt", "RenameStmt", "opt_column",
  "opt_set_data", "AlterObjectSchemaStmt", "AlterOwnerStmt", "RuleStmt",
  "RuleActionList", "RuleActionMulti", "RuleActionStmt",
  "RuleActionStmtOrEmpty", "event", "opt_instead", "DropRuleStmt",
  "NotifyStmt", "notify_payload", "ListenStmt", "UnlistenStmt",
  "TransactionStmt", "opt_transaction", "transaction_mode_item",
  "transaction_mode_list", "transaction_mode_list_or_empty", "ViewStmt",
  "opt_check_option", "LoadStmt", "CreatedbStmt", "createdb_opt_list",
  "createdb_opt_items", "createdb_opt_item", "createdb_opt_name",
  "opt_equal", "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
  "AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
  "AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with",
  "CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
  "VacuumStmt", "vacuum_option_list", "vacuum_option_elem", "AnalyzeStmt",
  "analyze_keyword", "opt_verbose", "opt_full", "opt_freeze",
  "opt_name_list", "ExplainStmt", "ExplainableStmt", "explain_option_list",
  "explain_option_elem", "explain_option_name", "explain_option_arg",
  "PrepareStmt", "prep_type_clause", "PreparableStmt", "ExecuteStmt",
  "execute_param_clause", "DeallocateStmt", "InsertStmt", "insert_target",
  "insert_rest", "insert_column_list", "insert_column_item",
  "opt_on_conflict", "opt_conf_expr", "returning_clause", "DeleteStmt",
  "using_clause", "LockStmt", "opt_lock", "lock_type", "opt_nowait",
  "opt_nowait_or_skip", "UpdateStmt", "set_clause_list", "set_clause",
  "single_set_clause", "multiple_set_clause", "set_target",
  "set_target_list", "DeclareCursorStmt", "cursor_name", "cursor_options",
  "opt_hold", "SelectStmt", "select_with_parens", "select_no_parens",
  "select_clause", "simple_select", "with_clause", "cte_list",
  "common_table_expr", "opt_with_clause", "into_clause",
  "OptTempTableName", "opt_table", "all_or_distinct", "distinct_clause",
  "opt_all_clause", "opt_sort_clause", "sort_clause", "sortby_list",
  "sortby", "select_limit", "opt_select_limit", "limit_clause",
  "offset_clause", "select_limit_value", "select_offset_value",
  "opt_select_fetch_first_value", "select_offset_value2", "row_or_rows",
  "first_or_next", "group_clause", "group_by_list", "group_by_item",
  "empty_grouping_set", "rollup_clause", "cube_clause",
  "grouping_sets_clause", "having_clause", "for_locking_clause",
  "opt_for_locking_clause", "for_locking_items", "for_locking_item",
  "for_locking_strength", "locked_rels_list", "values_clause",
  "from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
  "opt_alias_clause", "func_alias_clause", "join_type", "join_outer",
  "join_qual", "relation_expr", "relation_expr_list",
  "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
  "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
  "opt_ordinality", "where_clause", "where_or_current_clause",
  "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
  "Typename", "opt_array_bounds", "SimpleTypename", "ConstTypename",
  "GenericType", "opt_type_modifiers", "Numeric", "opt_float", "Bit",
  "ConstBit", "BitWithLength", "BitWithoutLength", "Character",
  "ConstCharacter", "CharacterWithLength", "CharacterWithoutLength",
  "character", "opt_varying", "opt_charset", "ConstDatetime",
  "ConstInterval", "opt_timezone", "opt_interval", "interval_second",
  "a_expr", "b_expr", "c_expr", "func_application", "func_expr",
  "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version",
  "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
  "xml_attribute_el", "document_or_content", "xml_whitespace_option",
  "xmlexists_argument", "within_group_clause", "filter_clause",
  "window_clause", "window_definition_list", "window_definition",
  "over_clause", "window_specification", "opt_existing_window_name",
  "opt_partition_clause", "opt_frame_clause", "frame_extent",
  "frame_bound", "row", "explicit_row", "implicit_row", "sub_type",
  "all_Op", "MathOp", "qual_Op", "qual_all_Op", "subquery_Op", "expr_list",
  "func_arg_list", "func_arg_expr", "type_list", "array_expr",
  "array_expr_list", "extract_list", "extract_arg", "overlay_list",
  "overlay_placing", "position_list", "substr_list", "substr_from",
  "substr_for", "trim_list", "in_expr", "case_expr", "when_clause_list",
  "when_clause", "case_default", "case_arg", "columnref", "indirection_el",
  "indirection", "opt_indirection", "opt_asymmetric", "ctext_expr",
  "ctext_expr_list", "ctext_row", "opt_target_list", "target_list",
  "target_el", "qualified_name_list", "qualified_name", "name_list",
  "name", "database_name", "access_method", "attr_name", "index_name",
  "file_name", "func_name", "AexprConst", "Iconst", "Sconst",
  "SignedIconst", "RoleId", "RoleSpec", "role_list",
  "Iconst_or_Normalized", "Sconst_or_Normalized",
  "Flat_Sconst_or_Normalized", "NonReservedWord_or_Sconst_or_Normalized",
  "ColId", "type_function_name", "NonReservedWord", "ColLabel",
  "unreserved_keyword", "col_name_keyword", "type_func_name_keyword",
  "reserved_keyword", 0
};
#endif

# ifdef YYPRINT
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
   token YYLEX-NUM.  */
static const yytype_uint16 yytoknum[] =
{
       0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
     455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
     545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
     555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
     565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
     575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
     585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
     595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
     605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
     615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
     625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
     635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
     645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
     655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
     665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
     675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
     685,   686,   687,   688,   689,   690,   691,    60,    62,    61,
     692,    43,    45,    42,    47,    37,    94,    63,   693,    91,
      93,    40,    41,    46,    59,    44,    58
};
# endif

/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
static const yytype_uint16 yyr1[] =
{
       0,   457,   458,   459,   459,   460,   460,   460,   460,   460,
     460,   460,   460,   460,   460,   460,   460,   460,   460,   460,
     460,   460,   460,   460,   460,   460,   460,   460,   460,   460,
     460,   460,   460,   460,   460,   460,   460,   460,   460,   460,
     460,   460,   460,   460,   460,   460,   460,   460,   460,   460,
     460,   460,   460,   460,   460,   460,   460,   460,   460,   460,
     460,   460,   460,   460,   460,   460,   460,   460,   460,   460,
     460,   460,   460,   460,   460,   460,   460,   460,   460,   460,
     460,   460,   460,   460,   460,   460,   460,   460,   460,   460,
     460,   460,   460,   460,   460,   460,   460,   460,   460,   460,
     460,   460,   460,   460,   460,   460,   460,   460,   460,   460,
     460,   460,   460,   460,   460,   460,   460,   460,   460,   460,
     460,   460,   460,   460,   460,   460,   460,   460,   461,   462,
     462,   462,   463,   463,   464,   464,   465,   465,   465,   465,
     465,   465,   465,   465,   465,   466,   466,   466,   466,   466,
     466,   467,   468,   469,   469,   470,   470,   471,   472,   473,
     473,   474,   474,   475,   476,   477,   477,   478,   478,   479,
     479,   479,   479,   480,   480,   481,   481,   482,   482,   482,
     482,   482,   482,   483,   483,   483,   484,   484,   484,   485,
     485,   485,   485,   486,   486,   486,   486,   486,   486,   486,
     486,   486,   486,   486,   487,   487,   488,   488,   489,   489,
     489,   490,   490,   490,   490,   491,   491,   491,   491,   492,
     492,   492,   492,   492,   492,   492,   493,   493,   493,   494,
     494,   495,   496,   496,   496,   496,   497,   497,   498,   498,
     499,   499,   500,   500,   500,   500,   500,   501,   502,   502,
     503,   503,   504,   505,   505,   505,   505,   505,   506,   506,
     506,   506,   506,   506,   506,   506,   506,   506,   506,   506,
     506,   506,   506,   506,   507,   507,   508,   508,   508,   508,
     508,   508,   508,   508,   508,   508,   508,   508,   508,   508,
     508,   508,   508,   508,   508,   508,   508,   508,   508,   508,
     508,   508,   508,   508,   508,   508,   508,   508,   508,   508,
     508,   508,   508,   508,   508,   508,   508,   508,   508,   508,
     508,   508,   508,   508,   508,   508,   509,   509,   510,   510,
     510,   511,   511,   512,   512,   513,   513,   513,   513,   514,
     515,   515,   516,   516,   517,   517,   517,   517,   518,   519,
     519,   520,   520,   520,   520,   521,   521,   522,   522,   523,
     523,   524,   524,   525,   525,   525,   526,   526,   527,   527,
     528,   528,   528,   528,   528,   528,   528,   528,   528,   528,
     528,   528,   528,   528,   529,   529,   530,   530,   531,   531,
     532,   532,   533,   533,   534,   535,   535,   535,   535,   535,
     536,   536,   537,   538,   538,   538,   538,   539,   539,   539,
     539,   539,   539,   539,   539,   540,   540,   541,   541,   542,
     542,   543,   543,   544,   544,   544,   545,   545,   546,   547,
     548,   548,   549,   549,   549,   549,   550,   550,   550,   550,
     550,   550,   550,   551,   551,   551,   551,   552,   553,   553,
     553,   554,   554,   554,   554,   554,   554,   555,   555,   556,
     556,   556,   556,   556,   556,   556,   557,   557,   558,   558,
     559,   559,   560,   561,   561,   561,   561,   562,   562,   563,
     563,   564,   564,   565,   565,   565,   565,   565,   566,   567,
     568,   568,   568,   568,   568,   569,   569,   570,   570,   570,
     570,   571,   571,   571,   571,   572,   572,   573,   573,   574,
     575,   575,   576,   577,   577,   577,   578,   578,   579,   580,
     580,   581,   582,   582,   583,   583,   584,   584,   585,   585,
     586,   586,   586,   586,   586,   586,   586,   586,   586,   586,
     586,   586,   587,   587,   588,   588,   588,   589,   589,   590,
     590,   591,   591,   592,   592,   593,   593,   594,   594,   595,
     595,   596,   596,   597,   597,   598,   599,   599,   600,   600,
     601,   601,   602,   602,   603,   603,   603,   604,   605,   605,
     606,   607,   607,   607,   607,   607,   607,   607,   607,   607,
     607,   607,   607,   607,   607,   607,   607,   607,   607,   607,
     607,   607,   607,   607,   607,   607,   608,   609,   609,   609,
     609,   610,   610,   611,   611,   612,   612,   613,   613,   614,
     614,   615,   615,   616,   617,   617,   618,   618,   618,   618,
     619,   620,   621,   622,   623,   623,   624,   624,   625,   625,
     626,   626,   627,   627,   627,   628,   628,   629,   629,   630,
     631,   631,   632,   632,   633,   634,   634,   635,   635,   636,
     637,   638,   639,   639,   640,   640,   641,   641,   642,   642,
     643,   643,   644,   644,   645,   645,   645,   645,   645,   646,
     646,   647,   647,   647,   648,   648,   649,   649,   649,   649,
     649,   650,   650,   651,   651,   652,   652,   653,   653,   654,
     654,   654,   655,   655,   655,   655,   656,   656,   657,   657,
     658,   658,   658,   658,   658,   658,   659,   659,   660,   660,
     661,   661,   662,   663,   663,   664,   665,   665,   665,   665,
     666,   667,   668,   668,   668,   668,   668,   668,   668,   668,
     668,   668,   668,   668,   668,   668,   669,   670,   670,   671,
     671,   672,   672,   672,   672,   672,   673,   674,   674,   675,
     676,   676,   677,   677,   678,   678,   678,   679,   679,   680,
     681,   681,   682,   682,   682,   682,   682,   683,   683,   684,
     684,   685,   685,   685,   686,   686,   687,   688,   688,   689,
     689,   690,   690,   691,   691,   692,   692,   693,   694,   695,
     695,   695,   695,   695,   695,   695,   695,   696,   696,   696,
     696,   696,   696,   696,   696,   696,   696,   696,   696,   696,
     696,   696,   697,   697,   698,   698,   699,   699,   700,   700,
     701,   702,   702,   702,   703,   703,   703,   703,   703,   703,
     703,   703,   703,   703,   703,   703,   703,   703,   703,   703,
     703,   703,   704,   704,   704,   704,   704,   704,   704,   704,
     704,   704,   704,   704,   704,   704,   704,   704,   704,   704,
     704,   704,   704,   705,   705,   706,   706,   706,   706,   706,
     706,   706,   707,   707,   708,   708,   708,   708,   708,   708,
     708,   708,   708,   708,   708,   709,   709,   710,   710,   711,
     711,   711,   711,   711,   711,   711,   711,   711,   711,   711,
     711,   711,   711,   711,   711,   712,   712,   713,   713,   714,
     715,   715,   716,   716,   716,   716,   716,   717,   717,   718,
     718,   718,   718,   719,   719,   719,   719,   719,   719,   719,
     719,   719,   719,   719,   719,   719,   719,   719,   719,   720,
     720,   721,   721,   722,   722,   723,   723,   724,   725,   726,
     726,   727,   727,   728,   728,   729,   730,   730,   731,   731,
     731,   732,   732,   732,   733,   733,   733,   733,   734,   734,
     735,   735,   736,   736,   737,   737,   738,   738,   739,   739,
     740,   740,   740,   741,   741,   742,   742,   742,   743,   743,
     743,   744,   744,   744,   745,   745,   745,   746,   746,   747,
     747,   748,   748,   749,   749,   750,   750,   751,   751,   751,
     751,   751,   752,   752,   752,   752,   752,   753,   754,   755,
     755,   755,   756,   756,   756,   757,   758,   758,   758,   758,
     759,   759,   760,   760,   761,   761,   761,   761,   761,   761,
     761,   761,   761,   761,   761,   761,   761,   761,   761,   762,
     762,   762,   762,   762,   763,   763,   764,   764,   765,   765,
     766,   767,   767,   768,   769,   769,   770,   770,   771,   771,
     772,   772,   773,   773,   774,   774,   774,   774,   775,   775,
     776,   777,   777,   778,   778,   779,   779,   779,   780,   780,
     780,   781,   782,   782,   783,   784,   784,   784,   784,   785,
     786,   786,   786,   786,   787,   787,   788,   788,   788,   789,
     789,   790,   791,   791,   792,   792,   792,   792,   792,   792,
     792,   792,   792,   792,   792,   792,   792,   792,   792,   792,
     792,   792,   792,   792,   792,   792,   792,   792,   792,   792,
     792,   792,   792,   792,   792,   792,   792,   792,   792,   792,
     792,   792,   792,   792,   792,   792,   792,   792,   792,   792,
     792,   792,   793,   793,   794,   794,   795,   795,   795,   795,
     795,   795,   795,   795,   795,   795,   795,   795,   795,   795,
     795,   795,   795,   795,   795,   795,   795,   795,   795,   795,
     796,   796,   796,   796,   796,   796,   796,   796,   796,   796,
     796,   796,   796,   796,   796,   796,   796,   796,   796,   797,
     798,   798,   798,   799,   799,   800,   800,   800,   800,   800,
     801,   801,   802,   802,   802,   802,   803,   803,   803,   804,
     804,   805,   806,   806,   807,   808,   808,   809,   809,   809,
     809,   809,   809,   809,   809,   809,   809,   809,   809,   809,
     809,   810,   810,   810,   811,   811,   811,   811,   811,   812,
     812,   812,   813,   813,   814,   814,   814,   814,   815,   815,
     815,   815,   816,   817,   818,   818,   819,   819,   820,   820,
     820,   821,   821,   821,   821,   821,   821,   821,   822,   822,
     823,   823,   823,   824,   825,   825,   826,   826,   827,   828,
     828,   828,   828,   828,   828,   828,   829,   829,   830,   831,
     831,   831,   831,   831,   831,   832,   832,   833,   834,   834,
     834,   835,   835,   836,   836,   836,   836,   836,   837,   837,
     838,   838,   838,   838,   839,   839,   840,   840,   841,   841,
     842,   842,   843,   843,   844,   844,   845,   845,   845,   845,
     846,   846,   846,   846,   846,   846,   846,   846,   846,   847,
     847,   848,   849,   849,   850,   850,   850,   851,   852,   852,
     853,   853,   853,   853,   854,   854,   855,   855,   856,   856,
     856,   856,   857,   858,   858,   859,   859,   859,   860,   860,
     861,   862,   862,   862,   863,   863,   863,   864,   864,   865,
     866,   866,   867,   868,   868,   869,   869,   869,   869,   869,
     869,   869,   869,   870,   870,   871,   871,   871,   872,   873,
     873,   874,   874,   875,   876,   876,   877,   878,   878,   879,
     880,   881,   881,   881,   881,   881,   882,   882,   882,   883,
     883,   884,   884,   885,   885,   885,   885,   885,   885,   885,
     885,   886,   886,   887,   887,   887,   887,   887,   887,   887,
     888,   888,   888,   889,   889,   890,   891,   891,   892,   892,
     893,   893,   893,   893,   893,   893,   893,   893,   893,   894,
     894,   895,   895,   895,   896,   896,   897,   897,   898,   898,
     899,   900,   900,   901,   901,   902,   902,   902,   902,   903,
     903,   904,   904,   904,   905,   905,   906,   906,   907,   908,
     908,   908,   909,   910,   910,   911,   911,   912,   912,   913,
     913,   914,   914,   914,   914,   914,   915,   916,   917,   918,
     919,   919,   920,   920,   921,   921,   922,   922,   923,   924,
     924,   924,   924,   925,   925,   926,   926,   927,   927,   928,
     928,   929,   929,   929,   929,   929,   929,   929,   929,   930,
     930,   930,   930,   930,   930,   931,   931,   931,   931,   932,
     932,   933,   933,   933,   933,   933,   934,   934,   934,   934,
     935,   935,   936,   936,   937,   937,   937,   937,   938,   938,
     939,   939,   939,   940,   941,   941,   942,   942,   943,   944,
     944,   945,   945,   946,   946,   947,   947,   948,   948,   948,
     949,   949,   950,   950,   951,   952,   952,   952,   952,   952,
     952,   953,   953,   953,   954,   954,   954,   954,   954,   954,
     954,   955,   955,   955,   955,   956,   956,   957,   957,   958,
     958,   958,   958,   958,   958,   958,   958,   958,   958,   958,
     959,   959,   960,   960,   961,   961,   962,   963,   964,   964,
     965,   965,   966,   967,   968,   968,   968,   968,   968,   968,
     969,   969,   970,   970,   971,   971,   971,   971,   972,   973,
     973,   973,   974,   974,   974,   974,   974,   974,   974,   974,
     974,   974,   974,   974,   974,   974,   975,   975,   976,   976,
     976,   976,   976,   976,   976,   976,   976,   976,   976,   976,
     976,   976,   976,   976,   976,   976,   976,   976,   976,   976,
     976,   976,   976,   976,   976,   976,   976,   976,   976,   976,
     976,   976,   976,   976,   976,   976,   976,   976,   976,   976,
     976,   976,   976,   976,   976,   976,   976,   976,   976,   976,
     976,   976,   976,   976,   976,   976,   976,   976,   976,   976,
     976,   976,   976,   977,   977,   977,   977,   977,   977,   977,
     977,   977,   977,   977,   977,   977,   977,   977,   977,   977,
     977,   977,   977,   977,   977,   977,   977,   977,   977,   977,
     978,   978,   978,   978,   978,   978,   978,   978,   978,   978,
     978,   978,   978,   978,   978,   979,   979,   979,   979,   979,
     979,   979,   980,   980,   981,   981,   982,   982,   982,   982,
     982,   982,   982,   982,   982,   982,   982,   982,   982,   982,
     982,   982,   982,   982,   982,   982,   982,   982,   982,   982,
     982,   982,   982,   982,   982,   982,   982,   982,   982,   982,
     982,   982,   982,   982,   982,   982,   982,   982,   983,   983,
     984,   984,   984,   984,   985,   986,   986,   987,   987,   988,
     988,   989,   989,   989,   990,   990,   990,   990,   991,   991,
     992,   992,   993,   993,   994,   994,   995,   996,   996,   996,
     997,   998,   998,   999,   999,  1000,  1000,  1000,  1001,  1001,
    1002,  1002,  1002,  1002,  1002,  1003,  1003,  1003,  1004,  1004,
    1005,  1006,  1006,  1006,  1007,  1007,  1008,  1008,  1008,  1008,
    1008,  1008,  1008,  1008,  1008,  1008,  1008,  1008,  1008,  1009,
    1009,  1010,  1010,  1011,  1011,  1011,  1011,  1011,  1011,  1012,
    1012,  1013,  1013,  1014,  1014,  1014,  1015,  1015,  1016,  1016,
    1016,  1017,  1017,  1018,  1018,  1018,  1019,  1019,  1019,  1019,
    1019,  1019,  1019,  1019,  1020,  1020,  1021,  1022,  1022,  1023,
    1023,  1023,  1023,  1023,  1023,  1024,  1025,  1026,  1026,  1026,
    1027,  1027,  1028,  1029,  1029,  1030,  1031,  1031,  1032,  1032,
    1033,  1033,  1034,  1034,  1034,  1034,  1035,  1035,  1036,  1036,
    1037,  1037,  1038,  1038,  1039,  1039,  1040,  1041,  1041,  1042,
    1042,  1043,  1043,  1043,  1043,  1044,  1044,  1045,  1045,  1046,
    1046,  1047,  1048,  1049,  1050,  1051,  1052,  1053,  1053,  1054,
    1054,  1054,  1054,  1054,  1054,  1054,  1054,  1054,  1054,  1054,
    1054,  1054,  1054,  1055,  1056,  1057,  1057,  1057,  1058,  1059,
    1059,  1059,  1060,  1060,  1061,  1061,  1062,  1062,  1063,  1063,
    1064,  1064,  1065,  1065,  1065,  1066,  1066,  1066,  1067,  1067,
    1067,  1067,  1068,  1068,  1068,  1068,  1068,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,  1069,
    1069,  1069,  1069,  1069,  1069,  1070,  1070,  1070,  1070,  1070,
    1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,
    1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,
    1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,
    1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,  1070,
    1070,  1070,  1070,  1071,  1071,  1071,  1071,  1071,  1071,  1071,
    1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,  1071,
    1071,  1071,  1071,  1071,  1071,  1071,  1072,  1072,  1072,  1072,
    1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
    1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
    1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
    1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
    1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
    1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
    1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,  1072,
    1072,  1072,  1072
};

/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
static const yytype_uint8 yyr2[] =
{
       0,     2,     1,     3,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     0,     5,     1,
       1,     0,     2,     0,     2,     0,     2,     2,     3,     3,
       1,     3,     3,     2,     1,     1,     2,     2,     2,     3,
       3,     5,     5,     0,     3,     5,     5,     5,     4,     3,
       5,     3,     5,     5,     6,     1,     1,     3,     5,     6,
       4,     9,     7,     1,     0,     2,     0,     1,     1,     1,
       1,     1,     1,     2,     3,     3,     2,     5,     1,     3,
       3,     3,     3,     1,     3,     3,     2,     2,     2,     2,
       3,     3,     3,     3,     1,     3,     1,     3,     1,     1,
       1,     2,     2,     2,     1,     1,     1,     1,     1,     1,
       1,     3,     5,     1,     1,     1,     1,     1,     0,     1,
       1,     2,     1,     2,     3,     2,     1,     1,     2,     1,
       2,     1,     2,     3,     4,     3,     2,     4,     1,     1,
       1,     1,     1,     2,     2,     2,     2,     2,     4,     6,
      10,    13,     4,     6,    10,    13,     4,     6,     4,     6,
       5,     7,    11,    14,     1,     3,     2,     3,     4,     6,
       6,     6,     5,     5,     6,     6,     4,     8,     4,     2,
       4,     3,     6,     4,     3,     3,     3,     3,     2,     2,
       3,     4,     4,     3,     3,     3,     3,     3,     3,     4,
       4,     3,     2,     3,     2,     2,     3,     3,     2,     2,
       3,     4,     4,     4,     5,     1,     3,     2,     1,     1,
       0,     2,     0,     2,     0,     1,     1,     1,     3,     3,
       2,     0,     1,     3,     3,     1,     5,     3,     4,     1,
       3,     4,     6,     4,     8,     2,     2,    11,     7,     1,
       1,     1,     0,     1,     1,     1,     1,     3,     2,     0,
       1,     1,     1,     3,     3,     1,     1,     3,     3,     3,
       3,     4,     3,     2,     1,     0,     2,     0,     3,     0,
       1,     0,     1,     3,     2,     1,     1,     1,     3,     0,
       1,     3,     1,    11,    14,    10,    13,     1,     1,     2,
       2,     2,     2,     1,     0,     1,     0,     3,     0,     1,
       3,     1,     3,     1,     1,     1,     1,     1,     4,     4,
       2,     0,     3,     1,     1,     2,     2,     1,     3,     4,
       5,     2,     5,     1,     2,     2,     2,     3,     3,     3,
       0,     1,     1,     1,     1,     1,     1,     3,     1,     5,
       7,     3,     8,     4,     9,    11,     2,     0,     3,     0,
       1,     3,     1,     2,     2,     2,     0,     1,     3,     3,
       6,     4,     0,     1,     1,     2,     2,     0,     3,     3,
       2,     1,     1,     2,     2,     4,     0,     2,     2,     2,
       0,     3,     4,     4,     0,     2,     0,     4,     0,     3,
       7,    10,     5,     2,     3,     0,     8,    11,     4,     1,
       0,     6,     5,     8,     4,     6,     1,     0,     1,     2,
       2,     1,     2,     3,     2,     2,     2,     2,     3,     3,
       1,     3,     1,     0,     1,     2,     1,     1,     3,     6,
      10,     1,     0,     1,     2,     2,     0,     2,     2,     1,
       0,     5,     7,     1,     0,     7,     2,     0,     3,     5,
       5,     8,     2,     0,     2,     2,     2,     5,     2,     0,
       2,     7,    10,     6,     6,     6,     6,     7,     7,     9,
       9,     6,     7,     6,     8,     8,     8,     8,     6,     6,
       7,     7,     8,     6,     9,     6,     7,     2,     2,     2,
       2,     1,     2,     1,     0,     6,     8,     7,     6,     4,
       0,     1,     3,     4,     1,     3,     1,     2,     2,     2,
       2,     1,     1,    10,     2,     0,     2,     2,     1,     0,
       4,     6,     5,     4,     4,    11,    14,     5,     7,    11,
       2,     1,     4,     0,     8,     1,     1,     7,     9,     8,
       9,     8,     6,     8,     4,     0,     5,     0,     2,     0,
       2,     0,     2,     0,     1,     1,     1,     1,     1,    15,
      20,     1,     1,     2,     1,     3,     1,     1,     1,     3,
       1,     3,     0,     1,     0,     1,     1,     4,     0,     1,
       3,     0,     1,     1,     1,     1,     2,     0,     0,     2,
       2,     1,     2,     2,     2,     2,     6,     8,    11,    13,
       1,     3,     5,     1,     3,     5,     1,     2,     2,     1,
       8,     4,     5,     4,     4,     4,     3,     7,     8,     6,
       6,     6,     6,     6,     4,     5,     3,     1,     3,     3,
       1,     1,     1,     1,     1,     1,     3,     1,     3,     3,
       1,     0,     1,     3,     7,     9,     9,     3,     0,    13,
       1,     3,     5,     6,     4,     7,     2,     1,     0,     2,
       0,     2,     4,     0,     1,     0,     6,     8,     8,     1,
       3,     5,     5,     7,     9,     7,     9,     5,     6,     6,
       4,     4,     6,     4,     6,     5,     7,     1,     1,     1,
       2,     1,     2,     2,     1,     1,     1,     1,     3,     3,
       3,     3,     1,     3,     1,     2,     2,     3,     1,     3,
       5,     2,     2,     0,     6,     6,     6,     7,     7,     7,
       8,     9,     8,     8,     6,     9,     8,     9,     9,     7,
      10,     7,     1,     1,     1,     1,     1,     1,     1,     2,
       1,     1,     1,     1,     1,     2,     1,     3,     2,     3,
       3,     3,     3,     1,     1,     8,     8,     8,     9,     9,
       9,     9,     2,     0,     1,     1,     2,     2,     1,     1,
       1,     1,     1,     1,     2,     1,     1,     2,     2,     1,
       2,     3,     3,     3,     3,     4,     4,     3,     3,     3,
       4,     4,     3,     4,     4,     1,     1,     1,     0,     7,
       7,    10,     1,     1,     2,     4,     5,     1,     3,     2,
       2,     2,     2,     1,     2,     2,     4,     3,     2,     2,
       2,     2,     3,     2,     2,     2,     5,     5,     5,     1,
       3,     1,     2,     3,     0,     1,     3,     2,     6,     6,
       9,     3,     0,     3,     0,     5,     2,     0,     3,     3,
       3,     7,     7,    10,     1,     1,     1,     1,    14,    17,
       1,     0,     1,     0,     1,     0,     2,     0,     1,     3,
       5,     5,     7,     2,     0,     1,     2,     0,     1,     1,
       0,     2,     2,     0,     9,    12,     7,     2,     0,     3,
       2,     1,     3,     3,     2,     1,     3,     3,     3,     2,
       2,     1,     1,     1,     1,     2,     1,     1,     1,     1,
       4,     5,     1,     3,     3,     1,     3,     3,     5,     6,
       1,     3,     1,     2,     4,     5,     1,     1,     1,     1,
       3,     3,     2,     2,     1,     2,     2,     2,     1,     2,
       2,     2,     1,     1,     1,     3,     3,     5,     2,     0,
       2,     1,     3,     5,     1,     2,     1,     0,     5,     7,
       5,     7,     5,     7,     3,     5,     5,     5,     1,     3,
       2,     1,     2,     1,     2,    11,    10,    10,     2,     2,
       0,     9,     2,     0,    10,    11,    11,     5,     5,     8,
       3,     3,     6,     6,     1,     1,     1,     1,     1,     1,
       3,     1,     5,     5,     7,     6,     6,     6,     6,     8,
       8,     6,     6,     7,     9,     9,     8,    10,     6,     6,
       6,     8,     6,     8,     6,     8,     7,     9,     6,     8,
       7,     9,     8,    10,     9,    11,     8,    10,     9,    11,
       8,     8,     7,     6,     6,     6,     8,     8,     8,     8,
       6,     9,     1,     0,     2,     0,     7,     6,     6,     6,
       6,     6,     7,     9,     9,     6,     8,     8,     8,     8,
       8,     6,     8,     6,     8,     7,     9,     7,     9,     6,
       7,     6,     6,     6,     6,     6,     7,     7,     7,     9,
       9,     6,     6,     6,     8,     8,     8,     6,     7,    13,
       1,     1,     3,     3,     1,     1,     1,     1,     1,     1,
       1,     0,     1,     1,     1,     1,     1,     1,     0,     6,
       8,     3,     2,     0,     2,     2,     2,     2,     3,     3,
       2,     2,     2,     2,     3,     2,     5,     4,     3,     3,
       3,     1,     1,     0,     3,     2,     2,     1,     2,     1,
       3,     2,     1,     0,     9,    11,    12,    14,     3,     4,
       4,     0,     2,     5,     1,     0,     1,     2,     3,     3,
       3,     1,     2,     1,     1,     1,     1,     1,     1,     0,
       5,     4,     6,     4,     3,     5,     4,     4,     6,     4,
       6,     6,     5,     7,     9,     6,     1,     0,     6,    11,
      11,    11,    13,     9,    11,     1,     1,    10,     4,     2,
       5,     2,     0,     4,     5,     5,     4,     6,     1,     3,
       1,     1,     1,     1,     2,     4,     1,     1,     1,     0,
       1,     0,     1,     0,     3,     0,     2,     4,     3,     5,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       3,     2,     1,     1,     1,     1,     0,     5,     3,     0,
       1,     1,     1,     1,     3,     9,     3,     0,     2,     3,
       2,     3,     7,     1,     3,     1,     4,     2,     1,     3,
       2,     8,     5,     0,     4,     3,     0,     2,     0,     7,
       2,     0,     5,     3,     0,     2,     2,     2,     3,     1,
       3,     1,     2,     1,     0,     1,     2,     0,     8,     1,
       3,     1,     1,     3,     5,     5,     2,     1,     3,     7,
       1,     0,     3,     2,     2,     2,     0,     2,     2,     1,
       1,     3,     3,     1,     2,     4,     4,     2,     3,     5,
       5,     1,     1,     9,     9,     1,     2,     4,     4,     4,
       2,     2,     3,     1,     3,     6,     1,     0,     2,     0,
       3,     3,     4,     4,     4,     4,     3,     2,     1,     1,
       0,     1,     1,     0,     1,     5,     1,     0,     1,     0,
       3,     1,     3,     4,     3,     2,     2,     1,     1,     1,
       0,     2,     4,     5,     2,     3,     1,     1,     1,     1,
       3,     0,     1,     1,     1,     1,     1,     3,     0,     1,
       3,     1,     1,     1,     1,     1,     2,     4,     4,     5,
       2,     0,     1,     3,     1,     0,     1,     2,     3,     2,
       4,     2,     3,     2,     0,     2,     3,     2,     0,     1,
       3,     2,     3,     2,     3,     2,     3,     1,     4,     3,
       4,     5,     4,     5,     4,     5,     2,     4,     1,     1,
       0,     1,     4,     5,     4,     0,     2,     2,     2,     1,
       1,     0,     4,     2,     1,     2,     2,     4,     1,     3,
       1,     2,     3,     6,     4,     0,     2,     6,     2,     1,
       3,     4,     0,     2,     0,     2,     0,     2,     4,     0,
       1,     0,     1,     3,     3,     2,     3,     5,     6,     2,
       3,     3,     4,     0,     1,     1,     1,     1,     1,     2,
       4,     1,     1,     1,     1,     2,     3,     3,     0,     1,
       1,     1,     1,     1,     2,     2,     2,     2,     2,     1,
       3,     0,     1,     1,     1,     1,     5,     2,     1,     1,
       1,     1,     5,     2,     2,     2,     1,     3,     3,     2,
       1,     0,     3,     0,     5,     2,     5,     2,     1,     3,
       3,     0,     1,     1,     1,     1,     1,     1,     3,     3,
       3,     3,     3,     3,     3,     0,     1,     4,     1,     3,
       3,     5,     2,     2,     3,     3,     3,     3,     3,     3,
       3,     3,     3,     3,     3,     3,     3,     2,     3,     2,
       2,     3,     3,     2,     2,     3,     5,     4,     6,     3,
       5,     4,     6,     4,     6,     5,     7,     3,     2,     4,
       2,     3,     3,     4,     3,     4,     3,     4,     5,     6,
       6,     7,     6,     7,     6,     7,     3,     4,     4,     6,
       2,     3,     4,     1,     3,     2,     2,     3,     3,     3,
       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
       2,     3,     2,     2,     5,     6,     6,     7,     3,     4,
       1,     1,     2,     2,     4,     1,     1,     1,     2,     2,
       2,     2,     1,     1,     4,     3,     5,     6,     8,     6,
       6,     4,     4,     1,     1,     1,     5,     1,     1,     4,
       1,     4,     1,     4,     1,     4,     1,     1,     1,     1,
       1,     1,     6,     4,     4,     4,     4,     6,     5,     5,
       5,     4,     6,     4,     4,     4,     4,     5,     7,     7,
       9,     5,     4,     6,     5,     7,     7,     7,     2,     3,
       3,     3,     4,     0,     4,     1,     3,     3,     1,     1,
       1,     2,     2,     0,     2,     4,     4,     6,     5,     0,
       5,     0,     2,     0,     1,     3,     3,     2,     2,     0,
       6,     1,     0,     3,     0,     2,     2,     0,     1,     4,
       2,     2,     2,     2,     2,     4,     3,     5,     4,     3,
       5,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       4,     1,     4,     1,     4,     1,     2,     1,     2,     1,
       3,     1,     3,     1,     3,     3,     1,     3,     3,     3,
       2,     1,     3,     3,     3,     0,     1,     1,     1,     1,
       1,     1,     1,     1,     4,     3,     2,     3,     0,     3,
       3,     2,     2,     1,     0,     2,     2,     3,     2,     1,
       1,     3,     5,     1,     2,     4,     2,     0,     1,     0,
       1,     2,     2,     2,     3,     5,     1,     2,     0,     2,
       1,     0,     1,     1,     1,     3,     3,     1,     0,     1,
       3,     3,     2,     1,     1,     1,     3,     1,     2,     1,
       3,     1,     1,     1,     1,     1,     1,     1,     2,     1,
       1,     1,     1,     1,     2,     6,     2,     3,     5,     6,
       1,     1,     1,     1,     1,     1,     2,     2,     1,     1,
       1,     1,     1,     3,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
       1,     1,     1
};

/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
   means the default is an error.  */
static const yytype_uint16 yydefact[] =
{
    1477,  1263,   564,  1347,  1346,  1263,   252,     0,  1349,     0,
    1263,   385,  1008,     0,     0,     0,     0,   564,  1263,     0,
    1477,     0,     0,     0,     0,     0,  1490,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1263,     0,     0,  1497,
       0,     0,     0,     0,  1490,     0,  1351,     0,     0,     0,
       0,     0,     2,     4,    64,    65,    27,    26,    32,    31,
      89,    90,    50,    17,    78,    57,   124,   123,   125,    38,
      34,    72,    23,    25,    35,    39,    59,    40,    51,   102,
      58,    21,    56,    83,    60,    86,    45,    11,    12,    46,
      76,    13,    47,    77,    14,    48,    15,    98,    66,    91,
      30,    55,    20,    82,    62,    88,    63,     5,    41,    74,
      70,    10,    52,    53,    54,    79,    80,    81,   107,    85,
     119,    37,   116,    95,    96,   113,    97,   114,     8,    99,
      49,    16,   110,   109,   111,    73,    42,    75,    61,    87,
     108,    24,   112,    18,    19,   115,    84,   105,   101,   120,
     118,   126,   103,    67,     6,     7,    92,    22,    44,     9,
      29,    28,    43,    36,   122,    33,  1349,    94,   106,    93,
      68,   100,    71,   104,   121,    69,   117,  1450,  1449,  1499,
    1453,  1476,     0,  1465,  1262,  1261,  1247,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   563,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1273,  2072,
    2087,  2088,  2089,  2090,  2091,  2092,  2093,  2094,   356,  2095,
    2096,  2097,  2098,  2099,  2100,  2101,  2102,  2103,  2104,  2355,
    2356,  2357,  2358,  2105,  2106,  2107,  2108,  2109,  2110,  2111,
    2359,  2360,  2112,  2113,  2114,  2115,  2116,  2361,  2117,  2118,
    2119,  2120,  2121,  2122,  2123,  2124,  2125,  2126,  2127,  2128,
    2129,  2130,  2131,  2132,  2133,  2134,  2135,  2136,  2137,  2138,
    2362,  2363,  2139,  2140,  2141,  2142,  2143,  2144,  2145,  2146,
    2147,  2148,  2149,  2150,  2151,  2152,  2153,  2154,  2155,  2156,
    2157,  2158,  2159,  2160,  2161,  2162,  2163,  2364,  2164,  2165,
    2166,  2365,  2167,  2168,  2169,  2366,  2170,  2171,  2172,  2173,
    2174,  2175,  2176,  2367,  2368,  2177,  2178,  2179,  2180,  2181,
    2182,  2183,  2184,  2185,  2186,  2187,  2188,  2189,  2190,  2191,
    2192,  2193,  2369,  2194,  2195,  2196,  2197,  2370,  2371,  2372,
    2198,  2199,  2200,  2201,  2202,  2203,  2204,  2205,  2373,  2206,
    2207,  2208,  2209,  2210,  2211,  2212,  2213,  2214,  2215,  2216,
    2217,  2218,  2219,  2220,  2221,  2222,  2223,  2224,  2374,  2375,
    2225,  2226,  2376,  2227,  2228,  2229,  2377,  2230,  2378,  2231,
    2232,  2233,  2234,  2235,  2236,  2237,  2238,  2379,  2239,  2380,
    2240,  2241,  2242,  2243,  2244,  2245,  2246,  2247,  2248,  2381,
    2249,  2382,  2252,  2250,  2251,  2253,  2254,  2255,  2256,  2257,
    2258,  2259,  2260,  2383,  2261,  2262,  2263,  2264,  2265,  2266,
    2267,  2268,  2269,  2270,  2271,  2272,  2273,  2274,  2275,  2276,
    2277,  2278,  2279,  2280,  2384,  2281,  2282,  2283,  2284,  2285,
    2286,  2287,  2288,  2289,  2290,  2291,  2292,  2293,  2294,  2295,
    2385,  2296,  2297,  2298,  2299,  2386,  2300,  2301,  2302,  2303,
    2304,  2305,  2306,  2307,  2308,  2309,  2310,  2311,  2387,  2312,
    2313,  2314,  2315,  2316,  2317,  2318,  2319,  2388,  2389,  2320,
    2321,  2390,  2322,  2391,  2323,  2324,  2325,  2326,  2327,  2328,
    2329,  2330,  2331,  2332,  2333,  2334,  2335,  2336,  2337,  2338,
    2339,  2392,  2393,  2340,  2341,  2342,  2343,  2344,  2345,  2346,
    2347,  2348,  2349,  2350,  2351,  2394,  2395,  2396,  2397,  2398,
    2399,  2400,  2401,  2402,  2352,  2353,  2354,   355,  1440,  2031,
    2073,  2074,  1348,  1329,   564,     0,  1250,   384,     0,     0,
       0,     0,     0,     0,     0,     0,   777,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   174,     0,
       0,   408,   407,     0,     0,     0,   980,   413,     0,     0,
       0,     0,     0,   552,  1390,  2250,  1388,  1441,   253,   256,
     257,   254,   255,  2054,     0,  1090,  1091,  1093,     0,     0,
    1103,   814,   815,     0,     0,     0,   817,     0,     0,     0,
     811,     0,     0,     0,     0,     0,     0,   816,   808,     0,
     807,     0,     0,  1103,     0,     0,     0,   809,     0,     0,
    1251,  1387,   414,  1477,     0,  1365,  1366,  1367,  1349,  1356,
    1368,  1361,  1363,  1362,  1364,  1360,  2053,  2088,   918,   918,
     918,   918,   915,   916,   918,   918,   918,  2267,     0,     0,
     897,     0,   899,  2055,   918,   923,   469,   469,   469,     0,
     922,   927,   469,     0,  1244,  1282,  2036,  1489,     0,   898,
    1243,  2320,  1379,     0,     0,  1118,  1114,  1116,  1117,  1115,
       0,     0,     0,  2283,  1255,   237,  2293,  2388,  2320,   236,
     231,   232,   204,  2092,     0,     0,   922,     0,  1252,  1253,
     883,  1496,  1494,     0,  2018,  2110,  2124,  2209,   228,  2278,
    2284,  2293,  2388,  2320,  2351,   183,   193,   188,     0,   246,
    2293,  2388,  2320,   242,  1273,     0,  1466,  1594,  2027,     0,
    1246,  1245,  1350,     0,  1353,     0,  1555,  2263,  1470,  1473,
    1355,  1471,  1462,     0,     0,     1,  1477,  1344,  1493,  1493,
       0,  1493,     0,  1454,  1462,  1457,  1461,     0,     0,     0,
       0,  2072,  2403,  2404,  2405,  2406,  2407,  2408,  2409,  2410,
    2411,  2412,  2413,  2414,  2415,  2416,  2417,  2418,  2419,  2420,
    2421,  2422,  2423,  2424,  2425,     0,     0,  2037,  2073,  2077,
       0,   824,     0,  1285,  2032,   967,     0,     0,     0,     0,
    2031,     0,     0,     0,     0,  2078,  2060,  2061,     0,  2058,
    2059,  2079,  2080,  2081,     0,  2182,     0,     0,     0,  1924,
    1935,  1936,  1937,  2114,  2167,  1932,  1933,  1934,  1926,  1927,
    1928,  1929,  1930,  1931,  1938,     0,  1088,  1925,     0,  2182,
       0,   153,     0,   131,     0,     0,  2182,     0,     0,     0,
       0,     0,  2182,     0,     0,     0,     0,     0,  2214,     0,
     131,  2182,     0,     0,  1267,     0,     0,     0,  1269,  1272,
    1248,  1332,     0,  2027,     0,     0,   860,   852,     0,   861,
     853,     0,     0,   863,     0,     0,   855,     0,     0,     0,
       0,   864,     0,   854,   856,   866,   857,   862,     0,     0,
       0,     0,   858,     0,     0,  1259,   469,   362,     0,     0,
       0,     0,     0,   131,  1317,     0,  2182,   131,     0,     0,
     412,   411,   131,  2058,   410,   409,  2114,  2167,     0,  1007,
       0,   131,  2182,     0,   176,   635,   567,     0,     0,   736,
    2214,   131,     0,     0,     0,     0,     0,     0,   983,     0,
       0,     0,   551,   564,  1391,  1389,     0,  1094,   230,   229,
    1092,  2182,     0,   330,     0,     0,  2182,  1304,  2075,  1652,
    1681,  1659,  1681,  1681,  1648,  1648,  2151,  1661,  2182,  1649,
    1650,  1688,     0,  1681,  1648,  1653,     0,  1651,  1691,  1691,
    1676,   330,   828,  1633,  1634,  1635,  1636,  1662,  1663,  1637,
    1668,  1669,  1683,  1638,  1705,  1648,  2076,   813,     0,   812,
    2182,     0,  2182,  2062,   167,     0,   810,  2114,  2167,  2182,
       0,     0,  2182,     0,  2182,   159,  2182,     0,  2182,   330,
    2182,   568,     0,     0,  2182,     0,  2182,   330,  2182,  2214,
     161,     0,  2182,   330,   822,     0,  1384,     0,  1358,  2392,
    1373,     0,  1369,  1376,  1372,  1477,   918,   917,     0,   918,
       0,   918,     0,   918,     0,   918,     0,     0,     0,   918,
    2056,  2057,   900,     0,   924,     0,     0,   931,   930,   929,
       0,     0,     0,   932,     0,  1598,  1414,     0,  1241,  1258,
       0,     0,     0,   983,  1121,     0,  1119,  1110,  1111,  1254,
     235,   233,     0,     0,     0,     0,     0,     0,  1260,     0,
       0,     0,     0,  2040,  2042,  2043,  1939,  2008,     0,  2356,
    2357,  2358,  1999,     0,  2359,  2360,  2361,  2405,  1840,  1827,
    1836,  1841,  1828,  1830,  1837,  2362,  2363,  2364,  2365,  2051,
    2366,  2367,  2368,  2370,  2371,  2372,  2373,  1832,  1834,  2374,
    2375,     0,  2052,  2377,  2378,  2235,  2380,  2381,  2383,  2384,
    1838,  2386,  2387,  2388,  2389,  2390,  2391,  2050,     0,  1839,
    2393,  2395,  2396,  2397,  2398,  2399,  2400,  2401,  2402,     0,
       0,     0,  2024,  2008,     0,  1807,     0,  1641,  1642,  1664,
    1665,  1643,  1670,  1671,  1644,     0,  2023,  1708,  1889,  1806,
    1823,     0,  1812,  1813,     0,  1805,  1800,  1479,  2019,     0,
    1801,  2039,  2041,  2000,  1479,  2017,   196,   248,     0,   249,
    2025,  2293,   184,   227,   198,   226,  2071,  2070,   199,  2067,
    2066,   197,     0,  2112,   185,     0,     0,   186,     0,     0,
       0,     0,   245,   243,     0,  1249,     0,  1596,  1595,     0,
       0,  2006,  2028,   833,  1342,  1343,  1341,     0,  1338,  1340,
    1352,  1349,  2013,  2012,  2014,     0,  1472,     0,     0,     0,
    1452,  1451,     3,  1355,  1491,  1492,     0,     0,     0,     0,
       0,     0,     0,     0,  1545,  1507,  1508,  1510,  1542,  1546,
    1554,     0,  1458,     0,     0,  1600,     0,  1556,     0,     0,
    2038,     0,     0,     0,     0,   825,     0,     0,     0,  1291,
       0,  1293,  1294,  1295,     0,     0,  1296,  1297,  1285,   239,
    1303,  1301,  1284,  1286,  1299,     0,     0,     0,     0,     0,
       0,     0,  1309,     0,     0,   165,   166,   579,   564,     0,
    2182,     0,     0,     0,     0,  1047,  1054,     0,     0,     0,
       0,     0,     0,     0,  1048,  1046,  1049,   241,  1058,  1074,
    1077,     0,   957,     0,     0,     0,     0,     0,  1173,     0,
       0,  1173,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   262,   274,   325,   544,     0,
       0,   546,     0,  2182,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   129,   130,   135,     0,     0,
       0,     0,     0,     0,   531,   543,     0,     0,     0,     0,
       0,   540,     0,   131,   266,   524,   528,     0,     0,     0,
     644,   643,  1307,  1306,     0,     0,     0,  1173,     0,   258,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   348,   349,     0,     0,     0,
     135,   158,     0,     0,     0,   268,     0,     0,  1268,  1265,
    1266,     0,  1271,     0,  1328,     0,     0,     0,     0,     0,
     868,     0,   865,     0,     0,   859,  2114,  2167,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   387,   361,     0,
       0,   733,     0,     0,     0,     0,     0,   744,     0,  1285,
    1316,     0,     0,     0,   573,     0,  2182,     0,   133,   778,
       0,   734,   413,     0,     0,   133,     0,     0,   170,     0,
     639,     0,     0,     0,     0,     0,     0,   682,   681,     0,
       0,     0,   735,     0,   133,     0,  2182,   527,  2182,     0,
     469,   469,     0,     0,   982,   985,     0,     0,     0,     0,
    1444,  1446,  1445,     0,  1443,     0,   330,   328,   329,   731,
    1102,     0,     0,  1680,  1667,  1675,  1674,     0,  1657,  1656,
    1655,     0,  1654,     0,  1681,  1681,  1679,  1658,  1633,     0,
       0,     0,  1687,     0,  1685,     0,   803,  1629,  1625,     0,
       0,  1673,  1694,  1695,  1696,  1693,  1706,  1692,     0,  1639,
    1697,  1648,  1645,     0,     0,   330,     0,     0,  2182,   330,
    2182,     0,  2182,     0,     0,   330,   330,     0,     0,     0,
       0,     0,     0,   640,     0,   821,   819,   818,   820,     0,
       0,     0,     0,   801,     0,     0,     0,  2182,   330,     0,
       0,   800,  1949,     0,     0,  1477,     0,   216,   217,   215,
    1374,   218,  1375,  1371,  1357,     0,   908,     0,   912,     0,
     903,     0,   909,     0,   904,   901,   902,     0,   907,     0,
       0,   470,   472,     0,     0,  2136,  2150,     0,  2173,  2202,
    2203,  2284,  2289,     0,  2315,  2325,     0,   933,   962,   928,
     653,     0,     0,  1424,  1242,  1956,     0,  1477,     0,     0,
       0,     0,   234,   205,     0,     0,     0,   964,  2283,  1257,
     882,   564,     0,  1803,     0,  1810,  1811,  1998,     0,     0,
       0,     0,     0,     0,  1809,  1965,     0,     0,     0,     0,
       0,  1733,     0,     0,     0,  1978,     0,  1984,     0,     0,
    1770,     0,     0,     0,     0,     0,     0,     0,     0,  1734,
    1712,  1713,  1802,  1807,  1949,     0,  1808,  2046,     0,  1705,
    2022,  1939,     0,  1935,  1936,  1937,     0,     0,     0,  2011,
       0,  1947,     0,     0,  1748,  1945,  1750,     0,     0,     0,
       0,  1932,  1933,  1934,  1926,  1927,  1928,  1929,  1930,  1931,
    1727,  1943,  1730,     0,     0,  1891,     0,  1729,     0,     0,
    1558,     0,  2044,  2001,  1558,   250,   251,   247,     0,     0,
     201,   200,     0,   220,   224,   225,   195,   223,     0,   219,
     203,  1880,  1879,   202,   194,   191,   210,   189,   206,   208,
     209,   192,   190,   244,     0,     0,  2082,  2426,  2427,  2428,
    2429,  2430,  2431,  2432,  2433,  2434,  2435,  2436,  2437,  2438,
    2439,  2440,  2441,  2442,  2443,  2444,  2445,  2446,  2447,  2448,
    2449,  2450,  2451,  2452,  2453,  2454,  2455,  2456,  2457,  2458,
    2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,  2467,  2468,
    2469,  2470,  2471,  2472,  2473,  2474,  2475,  2476,  2477,  2478,
    2479,  2480,  2481,  2482,  2483,  2484,  2485,  2486,  2487,  2488,
    2489,  2490,  2491,  2492,  2493,  2494,  2495,  2496,  2497,  2498,
    2499,  2500,  2501,  2502,  2003,  2002,  2034,  2083,  2084,  2085,
    2086,  2007,     0,     0,   330,  1336,     0,  1333,  2016,     0,
    1474,     0,  2029,     0,  1345,  1469,  1468,  1500,  1501,  1000,
    1467,  1525,  1526,  1521,     0,     0,     0,  1551,  1549,  1517,
    1511,  1516,  1514,     0,  1518,  1708,  1544,  1456,  1505,  1506,
    1509,  1455,     0,  1547,     0,  1427,  1545,  1510,  1411,     0,
    1393,     0,  1601,     0,  1022,  1024,     0,  1023,     0,  1026,
       0,  1035,     0,     0,  1021,  1040,     0,  1029,  1027,     0,
       0,     0,     0,     0,     0,   826,     0,     0,     0,     0,
    1292,     0,     0,  2315,   238,  1295,  1300,  1287,  1298,     0,
       0,     0,     0,     0,   966,   965,     0,     0,   987,     0,
       0,     0,  1312,   458,     0,   327,     0,     0,     0,     0,
       0,     0,     0,     0,   729,   726,     0,     0,   725,     0,
     577,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     614,     0,  1173,     0,   647,     0,  1056,     0,  1055,     0,
       0,     0,  1057,  1052,  1053,  2284,  2293,  2320,   240,  1076,
       0,  1075,  1073,  1010,     0,  1011,     0,     0,     0,     0,
       0,  2160,   276,   289,     0,  1172,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     312,     0,     0,   315,   314,     0,     0,     0,     0,     0,
     319,   298,     0,   299,     0,     0,   318,     0,     0,   545,
       0,     0,     0,  1173,     0,   270,     0,     0,     0,     0,
       0,     0,  1089,     0,   671,     0,   156,     0,   152,   155,
       0,     0,     0,     0,   530,   542,     0,   534,   535,   532,
     536,   537,     0,     0,     0,     0,     0,     0,   529,     0,
       0,   637,   636,   642,     0,     0,     0,     0,     0,     0,
       0,     0,  1123,  1122,     0,     0,     0,     0,     0,     0,
     768,     0,     0,     0,     0,     0,     0,     0,   656,     0,
     655,     0,   157,     0,     0,     0,     0,     0,     0,     0,
     214,  1264,  1270,  1331,  2035,  1330,     0,     0,     0,     0,
     867,     0,     0,     0,     0,     0,     0,     0,     0,   869,
     870,   871,   872,     0,     0,     0,     0,     0,     0,     0,
     364,   365,   131,   363,  2075,     0,   757,   732,     0,     0,
     745,     0,   747,   750,     0,  1283,   431,     0,     0,   570,
     614,     0,   416,   163,     0,     0,     0,     0,   673,   128,
     174,   176,   414,     0,   175,   177,   179,   180,   181,   178,
     182,   634,   638,     0,   566,     0,     0,     0,     0,     0,
     683,   687,   686,   690,   688,     0,   684,     0,     0,  1621,
       0,   151,     0,     0,   522,   526,     0,     0,     0,   416,
     500,   341,  2182,     0,   469,     0,  2182,     0,   984,     0,
       0,     0,     0,     0,     0,     0,     0,  1442,     0,  1080,
       0,  1305,     0,     0,     0,   330,  1678,  1677,  1630,  1626,
       0,     0,     0,     0,   829,     0,     0,     0,  2065,  2064,
       0,     0,     0,     0,     0,     0,     0,  1646,  2182,   330,
       0,  1078,   168,  2063,     0,   805,     0,     0,     0,     0,
       0,  1082,   797,     0,   330,   160,     0,   330,   330,   569,
       0,     0,   330,   330,   162,     0,     0,     0,   561,   330,
     823,  1386,     0,  2182,   469,  1359,  1370,   905,   914,   913,
     911,   910,   906,     0,   925,     0,   468,     0,     0,     0,
     939,   940,     0,     0,   938,   955,   941,     0,   943,   935,
     934,   944,   945,     0,     0,   964,   651,     0,     0,     0,
       0,  1421,     0,  1419,     0,  1599,  1423,  1412,  1378,     0,
    1377,  1381,  1383,  1382,  1380,     0,   515,     0,     0,  1120,
       0,     0,   922,     0,     0,   330,  1256,     0,   884,   885,
       0,     0,     0,     0,     0,     0,   891,   888,   889,   890,
     892,     0,   893,     0,     0,     0,  2009,  1960,     0,  1961,
       0,     0,  1997,  1993,     0,     0,     0,     0,     0,  1966,
    1969,  1970,  1971,  1968,  1972,  1967,     0,     0,     0,  1973,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  2384,
       0,     0,     0,     0,  1773,     0,     0,  1919,     0,  1949,
    1983,     0,     0,     0,     0,     0,     0,  1949,  1989,     0,
       0,     0,     0,  1878,     0,  1875,     0,     0,     0,     0,
    2008,     0,     0,     0,  2047,  1709,  1723,  1724,  1725,  1731,
    2021,     0,  2010,     0,     0,  1710,  1739,     0,  1990,  1766,
       0,  1771,  1754,     0,  1747,     0,  1752,  1756,  1735,     0,
    1732,     0,  2011,  1948,     0,  1946,     0,  1720,  1721,  1722,
    1714,  1715,  1716,  1717,  1718,  1719,  1726,  1728,  1923,  1921,
    1922,     0,     0,     0,  1899,     0,     0,  1751,  2175,  2209,
       0,  1490,  1490,  1490,  1478,  1488,  2020,     0,  1616,     0,
       0,     0,     0,  1815,     0,  1953,  1499,  1951,  1027,  1616,
    2026,     0,     0,  1705,     0,  1597,  2004,     0,   831,   832,
     830,  1355,  1339,  1335,  1334,  2015,  1354,     0,  1477,     0,
     998,   999,     0,  1003,     0,     0,  1519,  1552,     0,  1543,
       0,  1523,  1524,  1515,  1553,  1425,     0,  1548,  1460,  1459,
       0,  1619,     0,     0,  1403,  1395,     0,  1602,     0,  1558,
    1429,  1431,  1432,     0,  2008,  1025,     0,  1648,  1036,     0,
    1020,     0,  1019,  1648,     0,  1037,     0,  1648,     0,     0,
       0,  1201,  1125,  1177,   827,  1202,  1126,  1178,  1203,  1127,
    1302,  1290,  1289,  1288,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   708,  2182,
     330,  1310,  1204,     0,  1128,   326,  1311,  1179,  1315,   728,
     727,     0,     0,  1180,     0,   578,     0,     0,   583,   584,
     585,     0,     0,     0,   586,     0,  2114,  2167,     0,   591,
     598,   603,   593,     0,     0,   605,   599,     0,     0,     0,
       0,     0,     0,   611,   618,     0,     0,     0,     0,     0,
       0,  1050,  1051,  1205,  1131,     0,  1181,  1009,     0,  1132,
     164,     0,     0,   263,   277,   620,   708,  1175,   296,     0,
     311,   306,   307,   305,  2182,   330,  2182,   330,     0,     0,
       0,     0,     0,   308,   303,   304,   300,     0,     0,   313,
    2091,  2152,  2294,     0,   624,   626,     0,   631,   316,  1148,
     337,   336,   335,     0,   320,     0,   342,   345,   317,   294,
     297,   295,   291,   275,     0,     0,     0,     0,     0,     0,
       0,  2033,     0,     0,  1084,     0,     0,     0,     0,     0,
       0,   665,   154,  1163,   144,     0,     0,   140,     0,     0,
       0,     0,   134,     0,  1211,  1138,     0,     0,   267,   525,
     533,   538,  1142,   541,  1191,   539,  1217,  1139,     0,  1173,
       0,   259,     0,  1140,     0,  1185,  1213,  1165,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1318,     0,     0,
       0,     0,     0,   330,     0,     0,     0,  1175,  2182,   330,
    1212,     0,  1170,  1199,     0,   350,     0,  1164,     0,     0,
     269,  1144,  1193,     0,     0,   212,   211,   213,     0,     0,
    2150,     0,   874,   836,   873,     0,     0,     0,     0,     0,
       0,   844,     0,     0,     0,   835,     0,   834,   386,   359,
     360,   362,   369,     0,   756,     0,     0,     0,   746,     0,
       0,     0,  1308,     0,   131,     0,     0,     0,   572,   613,
     620,     0,     0,     0,   415,   419,   423,   424,   425,     0,
       0,     0,     0,   145,   132,     0,   786,     0,   469,     0,
     669,     0,   176,   169,     0,     0,     0,   341,   743,   741,
     740,   742,     0,     0,     0,   761,   739,     0,  1620,  1622,
       0,     0,     0,     0,     0,   515,   418,     0,   472,     0,
       0,   504,     0,     0,     0,     0,   341,     0,     0,     0,
    1014,     0,  1032,  1015,     0,     0,     0,     0,  1062,  1069,
    1063,  1042,     0,     0,   549,  1447,  1448,     0,   330,     0,
       0,  1647,  1660,   804,     0,  1690,  1689,  1691,  1691,     0,
    1631,     0,  1682,  1683,  1699,  1700,  1701,  1702,  1703,  1704,
       0,  1698,  1640,     0,   615,   330,   330,     0,   330,     0,
     330,   330,     0,   662,     0,  1239,   641,     0,     0,   716,
     802,     0,     0,   330,   799,  1950,     0,   926,   471,     0,
       0,     0,     0,   937,     0,   547,   942,     0,   954,   949,
     951,     0,   958,   650,     0,     0,  1422,  1415,  1417,  1416,
       0,     0,  1413,  1957,   798,     0,   521,  1112,  1113,     0,
       0,   330,     0,   959,     0,     0,   886,   887,     0,     0,
     894,     0,     0,     0,  1495,  1958,  1959,     0,     0,     0,
    1994,     0,     0,  1853,     0,  1829,  1831,     0,  1843,     0,
    1854,  1814,  1855,  1833,  1835,     0,  1940,     0,     0,  1844,
       0,  1775,  1776,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1790,  1793,  1792,  1845,  1918,     0,     0,  1981,  1982,  1846,
       0,     0,  1988,     0,     0,     0,  1851,  1856,     0,     0,
       0,     0,  1862,     0,  1883,     0,     0,     0,  1804,  1950,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1772,
    1755,  1749,     0,  1753,  1757,     0,     0,     0,  1743,     0,
       0,  1741,  1767,  1737,     0,     0,  1768,     0,     0,     0,
    1822,     0,     0,  1490,  1490,  1490,  1490,  1487,     0,     0,
       0,     0,  2281,     0,  1580,  1557,  1559,  1567,  1580,  1585,
    1824,  1614,  1825,     0,  2027,     0,  1528,  1499,  1499,  1499,
    1821,     0,     0,     0,     0,  1498,  1528,   187,     0,   221,
     207,     0,  1337,  2030,     0,  1502,     0,  1941,  1003,     0,
    1504,     0,     0,  1550,  1512,  1426,  1410,     0,  1408,  1397,
       0,  1398,  2008,     0,  1408,  1394,  1437,     0,     0,  1619,
       0,  1436,     0,  1648,  1017,  1018,     0,  1041,     0,  1200,
    1124,  1176,   969,   970,     0,   968,     0,     0,     0,   457,
     986,     0,     0,     0,   708,     0,     0,   461,     0,  1313,
       0,  1218,  1162,   580,   581,     0,   592,     0,   601,   600,
       0,     0,   588,     0,     0,     0,     0,     0,   587,   607,
     553,   608,   610,     0,     0,   609,   612,   617,  1173,     0,
     648,  1150,     0,  1197,  1044,     0,  1012,     0,     0,     0,
       0,   431,   290,     0,     0,     0,   278,   288,     0,   322,
       0,   293,     0,   286,   309,   301,   310,   302,   321,   323,
       0,   628,   629,   627,   623,     0,   630,   632,     0,   339,
       0,     0,     0,  1207,     0,  1173,     0,   271,  1146,     0,
    1195,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1208,  1182,     0,     0,   670,     0,   667,     0,
       0,   137,  2069,  2068,   136,     0,   143,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   351,   332,     0,   764,     0,     0,     0,
     353,     0,     0,     0,     0,  1206,  1133,   837,     0,     0,
       0,   838,   849,     0,     0,   839,     0,     0,     0,     0,
     851,     0,     0,   358,   366,  2235,  1926,  1927,   754,   759,
     751,   753,   755,   752,     0,   758,   708,     0,   748,   749,
       0,     0,     0,     0,     0,   443,     0,     0,   437,     0,
       0,  1069,   430,   433,   434,     0,     0,   573,   576,   574,
     575,   606,     0,   450,   496,     0,   147,     0,     0,   148,
     146,     0,     0,   341,   674,   678,   676,   675,   677,   672,
       0,   665,     0,   172,   414,     0,     0,   565,   689,   692,
     685,     0,   760,   762,   737,     0,   620,     0,   527,     0,
     469,  1387,   510,     0,   500,   496,   498,   497,   499,     0,
     506,   340,     0,     0,   515,   506,     0,     0,   987,  1013,
       0,     0,     0,  1059,  1064,  1060,     0,     0,  1028,     0,
    1061,     0,  1043,  1006,  1234,  1235,  1232,  1233,     0,     0,
       0,  1439,  1081,     0,  1666,     0,  1686,  1684,  1627,  1632,
    1672,  1707,   330,  1079,   806,     0,   793,     0,   795,  1083,
     330,   330,   330,   330,   657,     0,   562,     0,     0,     0,
       0,   936,   956,     0,   952,     0,     0,   919,   961,     0,
       0,  1420,  1418,   513,     0,   964,     0,   920,   963,     0,
       0,     0,     0,     0,     0,     0,  1962,     0,  1996,  1992,
       0,  1826,  1964,  1963,     0,  1976,  1975,  1919,     0,     0,
    1774,  1786,  1787,  1788,  1977,     0,  1798,     0,     0,  1783,
    1784,  1785,  1777,  1778,  1779,  1780,  1781,  1782,  1789,  1791,
    1986,  1985,  1979,  1980,     0,  1848,  1849,  1850,  1987,  1857,
       0,  2105,  1884,  1861,  1877,  1876,     0,     0,     0,  1864,
       0,     0,  1873,     0,  1920,  1705,  2048,  1711,     0,     0,
    1740,  1991,  1758,     0,     0,     0,  1736,  1940,     0,     0,
       0,     0,     0,  1745,     0,     0,     0,  1902,  1897,  1898,
    1916,     0,     0,     0,     0,     0,     0,  1481,  1480,  1486,
    1580,  1585,     0,  1462,     0,  1567,     0,  1579,  1565,  1578,
       0,     0,  1591,  1589,     0,  1591,     0,  1591,     0,  1561,
       0,  1581,  1563,  1578,     0,  1606,     0,  2028,  1615,     0,
    1541,     0,     0,     0,     0,  1954,  1955,     0,  1952,  1816,
    1541,     0,  2005,  1475,     0,  1503,  1001,  1002,  1520,  1513,
    2132,  1617,     0,  1409,     0,     0,  1400,  1406,  1392,     0,
       0,  1430,  1408,  1433,  1038,     0,     0,  1030,   975,   976,
     974,   977,     0,     0,     0,   708,     0,     0,   477,     0,
     994,   994,     0,     0,   463,   509,  1069,   711,     0,     0,
       0,   709,   330,  1129,     0,   602,     0,     0,   597,   595,
     594,   596,     0,   554,  1216,  1130,     0,     0,     0,     0,
    1045,     0,     0,  1149,     0,   428,     0,   283,  1174,     0,
       0,     0,   282,     0,   330,   330,   324,   625,   338,   343,
     344,   347,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   787,   770,     0,     0,   788,   789,
       0,     0,     0,  1086,  1087,  1085,     0,  1136,     0,     0,
     661,   141,   138,   139,   142,  1160,  1143,  1192,     0,     0,
       0,  1141,     0,  1186,  1156,  1152,     0,     0,     0,     0,
       0,  1215,  1169,  1190,  1214,  1167,  1188,  1166,  1187,  1168,
    1189,  1161,     0,  1624,   767,     0,     0,     0,   330,   330,
     659,  1145,  1194,     0,     0,   840,     0,     0,   842,   843,
       0,   846,   389,     0,   392,   399,   370,   375,  1317,     0,
    1317,     0,   372,   376,  1317,   371,  1317,   368,   730,     0,
       0,   707,     0,   435,     0,   441,   445,   446,   444,   436,
    1069,   469,   508,     0,     0,   720,     0,   571,   416,   447,
       0,     0,   420,   150,   149,     0,     0,     0,   668,   667,
     176,  2182,     0,     0,   694,   698,   738,     0,  1623,   654,
     341,   523,     0,     0,   416,   515,     0,   421,   426,   427,
       0,   504,   500,     0,     0,   512,  1281,     0,   516,   518,
       0,     0,     0,  1016,  1033,  1034,     0,     0,  1069,     0,
       0,  1068,     0,     0,   556,   330,  1628,   616,   330,   330,
     663,  1240,  1109,   717,     0,   948,   947,   946,   548,     0,
     950,   652,     0,   514,   330,     0,     0,   896,   877,   895,
       0,     0,   876,     0,   875,  1995,  1842,  1852,  1974,  1918,
    1950,     0,     0,  1799,     0,     0,  1847,  2394,     0,     0,
       0,     0,  1881,  1882,  1863,     0,  2226,  1868,     0,     0,
       0,  2049,  1764,  1762,  1759,     0,  1760,  1744,     0,     0,
    1742,  1738,     0,  1769,  1888,     0,  1904,  1901,  1915,  1950,
    1485,  1484,  1483,  1482,  1566,  1564,     0,  1569,  1576,     0,
    1560,     0,  1590,  1586,     0,  1587,     0,     0,  1588,     0,
       0,  1562,     0,  1576,     0,  1613,  1499,     0,     0,  1893,
    1819,  1820,  1817,  1499,  2045,  1893,   222,     0,     0,  1407,
    1396,  1399,     0,     0,     0,     0,  1438,  1428,  1031,  1039,
       0,     0,     0,   459,     0,  1069,     0,     0,     0,   997,
     997,     0,  1069,   508,   713,   712,   715,   710,   714,  1314,
       0,   589,   590,   604,  1151,     0,  1198,  1158,     0,  1424,
       0,   621,   279,   280,   281,   284,   332,   292,   285,     0,
       0,     0,  1147,     0,  1196,  1154,  1209,  1134,  1183,     0,
       0,   776,     0,     0,     0,     0,  1210,  1135,  1184,     0,
       0,     0,     0,  1424,     0,     0,     0,     0,     0,  1323,
       0,   331,   766,   765,   332,   352,  1171,     0,   841,   847,
     848,   845,   390,   131,     0,   367,     0,   397,     0,   395,
     394,   396,     0,   383,     0,     0,     0,     0,     0,     0,
       0,  1100,  1100,     0,   708,     0,     0,   432,   508,   476,
       0,   438,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   660,   171,     0,   416,   620,   693,
       0,     0,     0,   763,     0,   515,   418,     0,  1385,   417,
       0,     0,   506,   504,     0,   501,     0,   505,     0,  1274,
       0,     0,     0,     0,  1065,     0,  1071,     0,  1027,  1004,
    1066,     0,  1616,     0,     0,     0,     0,   560,  1101,   794,
     796,   658,   953,     0,   960,   330,   878,   879,   880,   881,
    1920,  1794,     0,     0,     0,     0,  1858,     0,  1859,  1886,
    1885,  1865,  1869,     0,  1866,  1867,  1761,  1765,  1763,  1746,
    1890,     0,  1499,  1917,  1609,     0,  1612,  1568,     0,     0,
    1570,     0,     0,  1572,  1574,     0,     0,     0,     0,     0,
       0,  2031,     0,  2131,  2368,  2280,     0,  1527,  1529,  1532,
    1534,  1533,  1535,  1531,  1540,     0,  1464,     0,  1463,  1942,
    1618,     0,     0,   988,     0,     0,  1435,  1434,   954,     0,
     330,   994,   508,   478,  2235,   479,   993,     0,   995,  1000,
    1000,     0,   508,   708,   582,     0,     0,   264,   619,     0,
     334,   346,     0,  1424,     0,     0,     0,   783,   771,     0,
       0,   790,  1137,   664,     0,     0,   260,  1157,  1153,  1325,
    1326,     0,     0,     0,     0,     0,   330,   850,   369,     0,
     393,   402,     0,   400,   373,   378,     0,   382,   380,   379,
     374,   377,  1100,     0,  1097,  1096,   706,     0,   467,   439,
       0,   487,     0,     0,   721,     0,     0,   496,   456,   455,
     452,   451,   453,   454,   449,   448,     0,   620,   780,   341,
    1281,     0,   633,   695,   696,   691,     0,     0,     0,   511,
     500,   496,   422,   431,   405,   506,   502,   503,     0,     0,
       0,   515,  1327,   987,     0,  1070,     0,     0,     0,     0,
       0,     0,  1104,   555,     0,     0,   559,   550,   620,   921,
    1795,     0,  1796,     0,     0,     0,  1871,  1870,     0,  1907,
    1614,     0,     0,  1608,     0,  1577,  1593,     0,  1573,  1571,
       0,  1582,     0,  1584,  1816,     0,     0,     0,  1536,     0,
    1892,  1894,     0,  1818,  1405,  1616,     0,  1402,     0,   971,
       0,   972,   997,   482,     0,   996,  1003,  1003,   469,   708,
     460,  1159,     0,   622,     0,   287,     0,   272,  1155,     0,
     774,     0,   785,   783,     0,     0,     0,     0,  1319,     0,
    1320,  1321,  1324,   354,   357,   388,   398,     0,   381,  1095,
    1099,  1098,     0,     0,   440,   473,   474,   475,     0,   442,
     483,   484,     0,   718,     0,   723,     0,     0,   495,   645,
       0,     0,     0,  1275,     0,     0,     0,  1281,   504,   500,
     429,   403,     0,  1278,     0,   517,     0,   341,  1069,  1072,
    1067,  1238,     0,     0,   558,   557,   649,  1797,  1874,  1860,
    1887,  1872,  1903,     0,     0,     0,  1607,  1610,     0,  1575,
       0,     0,  1583,     0,     0,     0,  1530,     0,     0,  1404,
     989,     0,     0,  1000,     0,   708,     0,   991,   990,   476,
     462,  1424,   333,     0,     0,     0,   781,   784,   772,   785,
     792,   791,   666,  1424,     0,   401,     0,   466,     0,     0,
       0,   485,     0,   486,   507,     0,   722,     0,     0,   779,
       0,     0,   416,   697,     0,  1276,   506,   504,  1279,  1280,
       0,   506,  1005,  1237,  1236,  1477,     0,     0,  2355,  2132,
    2327,     0,  1905,  1908,  1906,  1900,     0,  1592,  1605,  1538,
       0,  1537,  1895,  1896,  1616,   330,  1003,     0,   464,   480,
     487,   265,  1424,     0,     0,   773,   261,  1322,   698,   492,
       0,   491,     0,   489,   488,   719,   724,   620,   769,  1281,
     701,   406,   506,     0,  1616,  1220,  1477,  1219,  1221,  1229,
    1226,  1228,  1227,  1225,  1107,  1108,     0,  1912,  1911,  1910,
    1914,  1913,  1611,     0,  1603,  1539,  1401,   973,   992,     0,
     708,   273,   775,   782,     0,   490,   494,   493,   646,  1277,
     703,     0,   699,   702,   704,   705,   404,   341,   978,     0,
    1230,  1224,  1462,  1449,     0,     0,     0,     0,   481,   465,
       0,   679,     0,   506,  1222,  1477,     0,     0,  1909,     0,
       0,   700,  1616,  1223,     0,     0,  1604,     0,   979,     0,
       0,   701,     0,     0,     0,  1105,  1106,   680
};

/* YYDEFGOTO[NTERM-NUM].  */
static const yytype_int16 yydefgoto[] =
{
      -1,    51,    52,    53,    54,  1417,  2283,  2168,  3003,  3004,
      55,    56,  1413,    57,    58,    59,    60,    61,    62,    63,
    1348,    64,    65,   943,  1538,  2294,    66,  2024,   726,   727,
     728,  1847,  1848,  2231,  1849,  1836,  1234,  1671,  1367,   700,
     701,  1330,  1368,    68,    69,  1228,  1827,    70,    71,    72,
    1395,  1396,  1342,  1579,  3993,  4665,  2844,  2146,  3043,  2845,
    2846,    73,  1465,  1466,    74,    75,  2971,  1509,  2262,  3533,
    3534,  4027,   548,  2259,  4313,  4314,  4013,  4014,  4320,  4532,
    4533,  2295,  1533,  3037,  3614,  2994,  4076,  2995,  4077,  2996,
    4078,  2982,  3562,  3563,  3564,  2997,  4049,  4564,  2998,  2043,
    4694,  2330,  1693,  1691,  4551,  3877,  3878,  4765,  4699,  4700,
    4701,  4853,  4051,  3041,  3620,  4085,  4341,  2738,   635,  1559,
    3146,   636,  2333,   580,   637,  2296,    81,  2324,  2325,  1436,
    2176,  3538,  3126,    82,   963,  3389,  4397,  4606,  4607,    83,
     217,    84,  1542,    85,    86,  2279,  2988,    87,  2060,  2755,
      88,    89,  2783,  2784,  2785,    90,    91,  3411,  4260,  1397,
    2833,  2834,  2835,  2836,  3436,    92,  1540,  1441,  2303,    93,
      94,    95,    96,    97,  2448,  2449,    98,  2219,    99,   100,
     101,   102,   103,  3468,  3960,  3591,  2871,  3010,  3589,  2297,
    1550,  2315,  2316,  4065,  4360,  4575,  4362,  4901,  4902,  4334,
    3367,  3891,   105,   106,  4044,  4045,  4706,   107,  2058,   108,
     109,   110,  1517,  2271,  2272,  3539,  1511,  2265,  2266,  3601,
    3602,   111,  2926,   112,  3944,  3945,   581,  4711,  4672,  4778,
     113,   114,  3948,  3949,   115,   116,   117,   118,   119,   629,
    1053,  1054,  1315,  1001,   120,  1944,   121,   914,  2953,   122,
    1121,  2494,  4128,   123,   660,  1067,  1068,  2298,   125,   669,
    2472,   671,  1706,  3128,  3129,  3687,  2434,   813,   126,   127,
    2445,  2475,   128,  1335,  2034,  2035,  3872,  2299,   582,  1565,
    2337,  2733,  4472,  4473,  4239,  4489,  2663,  3320,   130,   583,
    1372,  2104,  2340,  3051,  2001,  2002,  2003,  3637,  2004,  3053,
    2005,  1309,  2006,  3059,  3060,  3061,  3633,  3640,  3643,  4386,
    4387,   131,  1370,  2102,   132,   133,   134,  1408,   845,   135,
     595,   596,   136,  4544,   137,   975,   138,  4395,   139,   140,
     691,   692,  1105,  1106,   141,   142,  2117,  3418,   143,   144,
     145,  4867,  4909,  4910,  4911,  3648,  4815,   146,  4869,  1098,
     148,   149,   150,   186,   878,   879,   880,  2300,  4379,   152,
     153,  1331,  1332,  1333,  1334,  2029,   154,   155,   156,   157,
     158,   159,  1521,   160,   161,  4521,   162,   163,  1484,   164,
    1267,  1268,   165,   166,   543,   744,  1271,  1279,   167,   639,
    1061,  1062,  1063,  1673,   168,  1101,  2460,   640,  1056,   170,
     641,  1989,  2684,  3330,  3331,  3334,  4224,  3853,   642,  2681,
     173,  1713,  2454,  2457,  2677,   643,  2689,  2690,  2691,  2692,
    2693,  3337,   644,   662,   966,  2346,   645,  1195,   178,   179,
     180,   754,   748,   749,   182,  1820,  2624,   678,  1286,   713,
     714,   762,  3305,  1957,  1958,  1980,  1981,  1295,  1296,  1970,
    1972,  2665,  1973,  2673,  1963,  3830,  4457,  4458,  4459,  4460,
    4461,  4462,  4209,  1976,  1977,  1298,  1299,  1300,  1985,   183,
    2628,  3285,  3286,  3287,  3807,  3808,  3822,  3818,  4193,  4443,
    3288,  1096,  1306,  4201,  4884,  3289,  4434,  4435,  4623,  3825,
    3296,  3328,  3027,  3028,  3029,  2007,  1608,  1003,  1196,  1004,
    1622,  1197,  1592,  1006,  1198,  1199,  1200,  1009,  1201,  1202,
    1203,  1012,  1584,  1611,  1204,  1205,  1602,  1619,  1620,  1662,
    2533,  1207,  1208,  1209,  3291,  1210,  3762,  4159,  4148,  2554,
    2555,  1843,  3758,  3230,  1815,  2614,  4466,  4640,  4641,  3270,
    3788,  4176,  4432,  4745,  4822,  4823,  1211,  1212,  1213,  2611,
    1811,   847,  1214,  3541,  1813,  2548,  2636,  2637,  1716,  1736,
    2500,  2517,  2518,  2528,  3188,  2536,  2541,  3217,  3218,  2549,
    2579,  1215,  2502,  2503,  3171,  1738,  1216,  1261,  1262,  1733,
    2574,  1274,  1275,   746,  1224,  1217,  1218,  1707,   737,  4439,
     538,   803,  2860,  1935,   882,   675,  1219,  1220,  1221,  1222,
    1401,   818,  1023,  1024,  2370,  1241,  3474,  1238,   539,   797,
     820,  2837,   540,   541,   799,  1940
};

/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
   STATE-NUM.  */
#define YYPACT_NINF -4149
static const int yypact[] =
{
    5506,    25,  7646, -4149, -4149,    25, -4149, 63926,   465,   660,
      29,   170, 13876, 64357, 70822,   748,   295, 14366,    25, 70822,
    1573, 49703, 60909,   891, 70822,  1252,  1055, 49703, 70822, 71253,
    1158,  1211,   837, 71684, 64788, 59616,  1124, 70822,  1330,  1162,
   72115, 65219,  1237, 65650,  1055, 47127,    93,  1206, 72546, 70822,
    2042,  1664,  1232, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149,   465, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149,  1606, -4149,   963,
    2206,  1141,   777,  1241, -4149, -4149, -4149, 57461, 70822, 70822,
   70822,  1455, 70822,  1357, 70822,   277, 57461, 53582, 66081,  1553,
    1359, 43164, 72977, -4149, 52289, 70822, 70822, 73408, 70822,   112,
   62202, 70822,  1519, 70822, 70822, 54013, 73839,  1593,  1617, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, 70822, 11044,  1252, -4149, -4149, 70822,  1484,
   57461, 70822,  1431, 70822,  1560, 70822, -4149, 70822,  1564, 74270,
     430,  1183, 53582,  1483, 43609,  1622, 70822, 53582, 74701, 70822,
   70822, -4149, -4149,  1670, 70822, 70822, -4149,  1778, 54444,  1025,
    1810,  1960,  1807,   133, -4149, 66512, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, 56599,   295, -4149, -4149, 57892, 70822,
    1837, -4149, -4149, 75132, 89738,  1671, -4149,   707, 58323, 54875,
    1988,  1678, 44054,  2030, 75563, 55306, 75994, -4149, -4149, 76425,
   -4149, 76856,  1768,  1837, 77287, 90157, 55737, -4149,  1892, 77718,
   -4149,  1658,  1675,  1696, 37535, -4149, -4149, -4149,   465, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149,   199,  1311,   331,
     204,   345, -4149, -4149,   206,   207,   217,   199,  2101,  2101,
   -4149, 70822, -4149, -4149,  1311,   568,  1683,  1683,  1683,  1891,
     851, -4149,  1683,  1829, -4149, -4149, -4149, -4149, 65650, -4149,
    1711,  1252,  1716,  2121,  1752, -4149, -4149, -4149, -4149, -4149,
    1780, 70822, 70822, 70822, -4149, -4149,  2139,  1754,  1990,  1751,
   -4149, -4149, -4149,  1956,  1967,  1977,    98,  1252,  1871, -4149,
    2096, -4149,  2010, 26879, 26879,  1252, 66943, 78149,   216, 42731,
     210, 67374,  1862,  1563,  2044, -4149, -4149, -4149,   127, -4149,
    2284,  1881,  2130,  1751,  1617, 38837, -4149,  1896,  1380, 65650,
   -4149, -4149, -4149,   361,  2177, 27328, -4149, 70822,  1889, -4149,
    1923,  1889,  1930,  1935,  1141, -4149,  5506, 70822,  1174,  1174,
    2326,  1174,  1448,  1598, -4149,  2319, -4149,  2247,  2196, 65650,
    1206,   225, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149,  1958,  1380, -4149,   229, -4149,
    1257,  1966,  1382,  1404, -4149, -4149,   483, 70822,  2095,   333,
      33,  2006, 67805,  2631,  1994, -4149, -4149, -4149,  2152,   359,
   -4149, -4149, -4149, -4149,  2305,  2348,  3282,   309, 68236, -4149,
   -4149, -4149, -4149, 70822, 70822, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149,  2045, -4149, -4149,  2048,  2370,
    2264,  2338,  2217,  1492,  2266,  1130,  2387, 10528,  1411, 68667,
   70822,  2352,  2406,  4723,  1710,   757,  2293,   895,  2400,  2258,
    1152,  2429,  5907, 70822, -4149,  2357,  2471,   710, -4149,   801,
   -4149,  2191,  2333,   793, 57461,  2148, -4149, -4149, 70822, -4149,
   -4149, 90576,  2233, -4149,   727, 57461, -4149,  2354,  2205, 44499,
   70822, -4149, 70822, -4149, -4149, -4149, -4149, -4149,  2292,  2466,
   70822, 90576, -4149,  2436, 70822, -4149,  1683,  2358,  2200,  2603,
   90576,   125, 70822,  1428,  2637, 70822,  2435,  1428,  2255, 78580,
   -4149, -4149,  1428, -4149, -4149, -4149, 70822, 70822,  2253,  1247,
    2422,  1428,  2444,  2656,  2666,  2327,  2440,   771,   840,   179,
    2561,  1428,  2307, 79011, 79442, 70822,  2311, 70822,  2646, 57461,
   70822,  2572, -4149,  2438, -4149, -4149,   832, -4149, -4149, -4149,
   -4149,  2589,  1958,   807,  2590,  2282,  2594, -4149, -4149, -4149,
    2331, -4149,  2331,  2331,  2290,  2290,  2460,  2294,  2605, -4149,
   -4149, -4149,  1906,  2331,  2290, -4149, 91414, -4149,  1435,  1505,
   -4149,   161, -4149,  2710, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149,   149, -4149,  1014,  1663, -4149, -4149,  2328, -4149,
    2607,  1994,  2608, -4149,  2297, 79873, -4149, 80304, 80735,  2615,
    2045, 53582,  2617,  2501,  2620,  2297,  2621,  2505,  2623,   807,
    2625, -4149,   812,  2614,  2628,  2512,  2630,   161,  2632,  1700,
    2297, 57030,  2635,   168, -4149, 29124, -4149,  2410, -4149,  1206,
   -4149,   874, -4149, 48841, -4149,  1696,  1311, -4149, 70822,  1311,
   70822,  1311, 70822,  1311, 70822,  1311, 70822, 70822, 70822,  1311,
   -4149, -4149, -4149, 70822,  2329, 70822, 70822, -4149, -4149, -4149,
   61340, 53582, 61771, -4149, 70822, -4149,   232,  1252, -4149, -4149,
   90576,  2742, 53582,  2646, -4149,  1474, -4149, -4149, -4149, -4149,
   -4149, -4149,  2563, 70822,  2626,  2640, 61340, 53582, -4149, 81166,
   56599,  2523,  2346, -4149, -4149, -4149, -4149, -4149,  1674,  2779,
     208,  2793, 29124,  2359,   228,   228,  2360,  2652, -4149, -4149,
   -4149,   231,  2361,  2362, -4149,   241,   241,  2363,  2364, -4149,
     246,  2365,  2367,  2818,  2819,   250,  2376,  2377,  2378,  1906,
     228, 29124, -4149,  2381,   241,  2382,  2383,  2385,  2832,  2388,
   -4149,  2835,  2390,   329,   347,  2395,  2397, -4149,  2363, -4149,
     230,  2399,  2403,  2407,  2408,  2409,  2413,  2414,  2415, 29124,
   29124, 29124, -4149, -4149, 25532,  1380,  1252, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149,   254,  4686, -4149,  2445, -4149,
   -4149,  2599, -4149, -4149, 29124, -4149, -4149,   645, -4149,   255,
   -4149, -4149, -4149,  1380,  2670,  2416, -4149, -4149,   749,  2417,
   -4149,  1876, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, 42300,  2839, -4149,   373,  1252,   801,   328,  2778,
   41007, 41438, -4149, -4149,  2661, -4149, 70822, -4149, -4149, 29124,
   46696, -4149,  1380,   187, -4149, -4149, -4149,  1580, -4149, -4149,
   -4149,   465, -4149, 14843, -4149,  1582,  1889, 70822, 70822,  2842,
   -4149, -4149, -4149,  1923, -4149, -4149,  1141,  1141, 29124,  1141,
    1128,  1571, 27777, 29124,  2730,  2639,   235,  1331,  2731, -4149,
    2634,  1448,  1598, 65650, 70822, 81597,  2557, -4149, 47558,  1444,
    1380,  2524,  2525,  2575, 50565,  2447,  2531,  2532,  2583, -4149,
    2691, -4149, -4149,  2536,  2539, 82028, -4149, -4149,   902, -4149,
   -4149, -4149,   902, -4149,  2475,  1552,  1246,  1060,  2542,   218,
     811,  2836, -4149,  1229,  2596, -4149, -4149, -4149,  2732, 70822,
    2780,  6245,  2664,   309,  2597, -4149, -4149,  2712,  2553,  2554,
    2680,   309,   257, 82459, -4149, -4149, -4149, -4149, -4149, -4149,
    2178, 24245, -4149,  2560,  2535,  2570, 70822, 58754,   358,  2678,
    1360,  1538,   190,  2618, 70822,  1412,  2688, 70822,  2493,  2576,
    2580,  2775,  2503,  1933,  2874,  2511, -4149, -4149, -4149,   419,
    2684, -4149,  2788,  2817,  6389,  2564,  2578, 88900,   939, 44944,
   70822, 70822,  2869,  1389,  2602, -4149, -4149, -4149,  1389, 70822,
    2611,  2624, 70822,   309, -4149,  2929,   309,   309,  2041,  2938,
    2629,   410,  1425,  1428,  2511,  2287, -4149,  2633,  2641,   275,
   -4149,  2729, -4149, -4149,  1213,  2636, 65650,   181,  1500,  2511,
    2642,  2643,  2503,  2503, 70822, 70822, 70822, 70822, 70822,   184,
    2952,  2953,  2645,   183,  2672,  2543, -4149, 52720,  2647, 78149,
   -4149, -4149, 70822,  2651,  1926,  2511,  1625,  1549, -4149, -4149,
   -4149,  1617, -4149, 70822, -4149, 70822,  1958, 90576,  2741,  2803,
   -4149,  2588, -4149,  1994,   309, -4149, 70822, 70822,  2045,  2750,
     205,   828, 90576,  2752,  2810, 70822,  2811,  2598, -4149,   394,
   47984, -4149,  2253,  2568,  2990, 70822, 50565, -4149,  3003,   902,
   -4149, 90576,  2770,  2889, -4149, 70822,  2787,  2581, -4149,  2924,
    2644, -4149, -4149,   883, 70822, -4149,  2893, 53582,  1194,  1252,
    2648, 53582,  2812, 70822, 70822, 70822, 70822, -4149, -4149,  2783,
    1012,   107, -4149, 52720, -4149, 70822,  2798,  2287,  2800,  3010,
      40,  1683, 82890,  2896, -4149, 83321,  2595,  3016, 90576,  2847,
   -4149,  1825, -4149,  2733, -4149, 57461,   807, -4149, -4149, -4149,
   -4149, 90576, 70822, -4149,  2606, -4149, -4149, 29124, -4149, -4149,
   -4149,  2101, -4149, 90576,  2331,  2331, -4149, -4149,  3027,  2692,
    2693,  2101, -4149,  2101, -4149, 90576, -4149,  2619,  2622,  2737,
     200, -4149,  2694,  2702,  2703, -4149,  2649,  2704,  2101, -4149,
   -4149,  1811, -4149, 83752, 57461,   807, 53582, 53582,  2925,   168,
    2939,  2683,  2940,  2686, 44944,   807,   176, 70822, 70822, 53582,
   70822, 70822, 70822, -4149, 70822, -4149, -4149, -4149, -4149, 90576,
   70822, 70822, 90576, -4149, 53582, 52720,  2942,  2943,   807, 70822,
   70822, -4149, 14843,  1607, 84183,  1696, 56168, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, 70822, -4149, 70822, -4149, 70822,
   -4149, 70822, -4149, 70822, -4149, -4149, -4149, 70822, -4149, 70822,
    1619, -4149, -4149,  1669,   687, 70822, 70822,   195, 57461, 70822,
    2833, 70822, 70822, 70822, 70822, 70822,  2715,  2417,  1337, -4149,
     849,   268, 65650,  2837, -4149, -4149,  1684,  2042,  1032, 70822,
    1087,  1780, -4149, -4149, 61771, 60909,  2941,   142, 70822, -4149,
   -4149,  3086, 29124,  1380, 26430, -4149, -4149, 14843,  2685, 29124,
   29124,  2658,  2101,  2101, -4149,   305, 29124, 29124, 29124,  2101,
    2101,  3337, 29124, 44944, 29124, 32267, 22475, 29124, 29124, 25981,
   -4149, 29124,  2861, 33614, 29124,   328,  2862, 29124,   328,  3337,
    3091,  3091,  1380,  1920,  5894,  2655,  1380, -4149,   248,   934,
   -4149,   272, 90576, 29124, 29124, 29124, 29124, 50565,  2736,   215,
   70822, 29124,  2663,  1639, -4149, 29124, -4149,  2665, 29124,  2744,
     817, 29124, 29124, 29124, 29124, 29124, 29124, 29124, 29124, 29124,
   34048, -4149, 34931,   288,  2937,  2970,   550,   457, 69098, 26879,
    2962, 21575, -4149,   284,  2962, -4149, -4149, -4149, 70822,  2839,
   -4149, -4149,  2746, -4149, -4149, -4149, -4149, -4149,   273, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149,  2669, -4149, -4149,
   -4149, -4149,  2669, -4149,  2673,  3122, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149,  2955,  2956,   807, 70822,   361, 62633, -4149, 27328,
   -4149,  1686, -4149,  2675, -4149,  2934, -4149,  2677, -4149,  5029,
    2934, -4149, -4149,   327,  2795,  2930,  2877, -4149, -4149, -4149,
    2690, 14843, -4149,  1660, 14843,  1749, -4149, -4149, -4149, -4149,
   -4149, -4149,  1161, -4149, 70822,   965,  2730,  1331,  2745,   804,
    3120, 70822, -4149, 39271,  2897, -4149,  3107, -4149, 91414, -4149,
    2714, -4149, 90995, 87631, -4149, -4149,   739, -4149,  1043,  2791,
    2799,  2849, 53582, 70822, 70822, -4149, 50565, 53582, 70822, 70822,
   -4149, 53582, 70822, 70822, -4149, -4149, -4149, -4149, -4149, 49272,
     628, 60909,  2852, 60047, -4149, -4149,  2720, 70822,  2782,  2976,
    2977,  1057, -4149, -4149, 84614, -4149,  2926, 53582, 70822, 70822,
   29124,  2936, 70822, 70822, -4149,   467,  2813,  2815, -4149, 70822,
    2820, 57461,  2739, 70822, 70822, 90576,  2805,   745, 57461,  2786,
   45389, 70822, 70822, 70822, 70822,  2870,  3042, 90576, 70822,  2991,
    1388, 65650,   191,  2135,  2511,  2948, -4149,  1009, -4149, 53582,
   70822,  2944, -4149, -4149, -4149, 46265,  3161,  2859, -4149, -4149,
   85045, -4149, -4149, -4149,  1691, -4149, 53582, 53582, 70822,  7004,
   70822,  1144, -4149, -4149, 90576, -4149, 70822, 70822, 70822,  2992,
   70822, 63064, 85476, 85907,    88,   921,  2993, 70822, 63495,  2994,
   -4149,  2886, 70822, -4149, -4149, 50996, 53582, 70822,   906, 50565,
   -4149, -4149, 70822, -4149,  2954,   264, -4149, 70822,  2851, -4149,
    2840,  2850, 70822,   192,  2150,  2511, 70822, 70822,  2761,  1709,
    2853,  2898, -4149,  2965,  1040, 70822, -4149, 53582,  1073, -4149,
    2914, 53582, 70822, 13665, -4149, -4149,   309, -4149, -4149, -4149,
   -4149, -4149, 70822, 70822,   309, 70822,   309,  1280, -4149, 53582,
   70822, -4149, -4149, -4149, 70822,  7551, 70822, 70822, 70822, 70822,
   53582, 70822, -4149, -4149,  1258,  1285,  1401,  1541,  2918, 70822,
    3054, 70822, 86338, 53582, 70822, 70822, 70822,  1522, -4149,  2899,
   -4149, 53582,  1073,  7901, 70822, 70822,  2857,  2858,   189,  2945,
   -4149, -4149, -4149, -4149, -4149, -4149,  3032,  3199, 86769,   281,
   -4149,  3034,  3035,  2841,  2843,  3037, 70822,   281, 70822, -4149,
   -4149, -4149, -4149,  3036, 70822,   281,  3041,   281,  2995,   653,
   -4149, -4149,  1428, -4149,  2808,  1713, -4149, -4149, 29124, 90576,
   -4149,  1722, -4149,  2809,  1012, -4149, -4149, 50565, 70822,   126,
     841,  3108, 59185,  1823,  3098, 70822,  2845, 70822,  3101,  1823,
   70822, -4149,  1136, 60909, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149,  3100, -4149,  1252,  2253,  2253,  2253,  2253,
   -4149, -4149, -4149, -4149,  3004,  1086, -4149,  2826,  2253, 70822,
    2927,  1823,  2827,  3118, -4149,  2287,  3121,  1346, 70822, 59185,
    1855,  2846,  3019,  3234,  1683,  1252,  3043,  3013, -4149, 24664,
    5684,  3022,  3074, 56599,  3114,  3119,  3136, -4149,  1958, -4149,
    3256, -4149, 29124,  1733,  2844,   161, -4149, -4149,  2854,  2622,
    2865,  2866,  2848,  2855, -4149,  2101,   203, 70822, -4149, -4149,
    2856,  1191,  1001,  2968,  2101,  3058,  2864, -4149,  3160,   807,
    1994, -4149,  2297, -4149, 70822, -4149, 70822, 70822, 70822, 70822,
    2045, -4149, -4149,  3048,   807,  2297,  3051,   807,   807, -4149,
    3104,  3055,   807,   161,  2297,  2981,  3164, 56599, -4149,   168,
   -4149, -4149, 29124,  3075,  1683, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149,  1753, -4149, 70822, -4149,  3138,  3140,  3141,
    2867,  2871,  2906, 70822,  2872, -4149,  2867,   309,  2867,  2417,
    2417,  2867,  2871, 53151,  3305,  3165, -4149,  2957,  2880,  3174,
     162, -4149,   756,   829,  3102, -4149, -4149, -4149, -4149, 90576,
   -4149, -4149, -4149, -4149, -4149, 53582,  2921, 70822, 70822, -4149,
     114,  3079,  2878, 53151,  3288,   807, -4149, 57461, -4149, -4149,
   90576,  2963,  2980, 57461,  3094,  2947, -4149, -4149, -4149, -4149,
   -4149, 90576, -4149,  3137, 70822,  1759, -4149, -4149,  1470, -4149,
    1550, 29124,   146, -4149, 11594,  1761, 29124,  2904,  2909, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149,  3193,  2910,  3205, -4149,
    1767,  1775,  1782,  2912,  2913,  3406,  2915, 12290,  2916,  2919,
   32267, 32267, 25532,  1199, -4149, 32267,  2920,  3097,  1822,  8082,
    2923,  2922, 12575, 28226, 29124, 28226, 28226, 12652,  2923,  2928,
    1828, 50565,  3095, 13171,  1830, -4149, 29124, 50565,  4355, 29124,
   -4149, 29124,  2932,  2935, -4149, -4149,  5178,  5178,  5178,  3337,
   -4149,  2946, -4149, 32267, 32267, -4149,  3159, 25532, -4149, -4149,
    3215, -4149, -4149,  1853, -4149,  2949, -4149, -4149,  3479, 44944,
    5951, 29124,   222, 29124,  2663, 29124,  3008,  5178,  5178,  5178,
     520,   520,   355,   355,   355,   319,   457,   457, -4149, -4149,
   -4149,  2951,  2958,  2961,  3124,  2964, 29124, -4149,  1910,  1922,
   70822,  2437,  2638,  2765, -4149, -4149, -4149, 35799,  2974, 29124,
   29124, 29124,  2966, -4149,  2063, 14843,   747, -4149,   291,  2974,
   -4149,  1617,  2101,   934, 41869, -4149, -4149, 29124, -4149, -4149,
   -4149,  1923, -4149, -4149, -4149, -4149, -4149, 70822,  2042, 29124,
   -4149, -4149,  1969,  2959, 29124,  1660, -4149, -4149,  3001, -4149,
   29124, -4149, -4149, -4149,  2417, -4149,  3163, -4149, -4149, -4149,
   35799,  2984,  2987, 38403,  3139, -4149, 70822, -4149, 70822,   115,
   -4149, -4149, -4149,  2960, -4149, -4149, 87631,  1663, -4149, 90995,
   -4149, 90995, -4149,  1663,  3346, -4149, 87631,  1585, 53582, 70822,
   70822, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149, 53582, 53582,  3146, 70822,  3144,  3148,
   29124,   950, 70822,  2969,  2973,  1156,  3230, 70822, -4149,  3285,
     807, -4149, -4149,  3056, -4149, 14843, -4149, -4149, -4149, -4149,
   -4149, 53582, 70822, -4149, 56599, -4149,  1958, 90576, -4149, -4149,
   -4149, 70822,  3009, 70822, -4149, 70822, 70822, 70822,  2045, -4149,
   -4149, -4149, -4149,   910, 90576, -4149, -4149, 70822, 70822,   134,
    3057,  3059, 70822, -4149,   143,  2729,  8623, 70822, 70822, 70822,
    3236, -4149, -4149, -4149, -4149,  3182, -4149, -4149, 87631, -4149,
    2297,   109,  3061,  2511, -4149,  3173, -4149,   882, -4149,  3109,
   -4149, -4149, -4149, -4149,  3298,   807,  3299,   807, 70822, 70822,
   70822, 70822,  3113, -4149, -4149, -4149, -4149,  3116,  3227, -4149,
   50565, 50565, 50565,  1832, -4149, -4149,  1252, -4149, -4149, -4149,
   -4149, -4149, -4149,  3262, -4149,  1852, -4149,  1106, -4149, -4149,
   -4149, -4149, -4149, -4149, 53582, 70822,  8996, 70822, 70822, 70822,
    1583, -4149,  1058, 90576, -4149, 89319, 53582, 70822, 70822,  3076,
   53582,  3064, -4149, -4149, -4149,  3238,  3170, -4149,   197,  3176,
   53582,  3071, -4149,  3084, -4149, -4149,  3099,  2260,  2511,  2287,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,  1023,   186,
    2317,  2511,  3106, -4149,  3110, -4149, -4149, -4149,  3244,  3246,
    3247,  3112,  3115,  3151,  3125,  3126,  3156, -4149,  3128,  3157,
    3129,  3167,  3130,   807, 90576,  3245,  1252,  3169,  3351,   807,
   -4149,  3133, -4149, -4149,  3454, -4149, 70822, -4149,  3134,  2427,
    2511, -4149, -4149, 53582, 70822, -4149, -4149, -4149,   281, 90576,
   70822,  3296, -4149, -4149, -4149,   281,   281, 70822, 70822,   281,
    3307, -4149,  3308, 70822,  3313, -4149,   281, -4149, -4149, -4149,
   -4149,  2358,  3065, 40576, -4149,  3515,  6002,  3068, -4149, 50565,
   40576,  1739,  1547,   368,  1428, 56599, 70822, 56599, -4149,   841,
    3173, 70822, 70822,  3069,  3067, -4149, -4149, -4149, -4149, 53582,
     167, 53582,  2101, -4149, -4149,  3145, -4149, 70822,  1683,   814,
    3150,  3485,  2666,  1194,  3221,  1581,  3428,  2846, -4149, -4149,
   -4149, -4149, 70822, 70822,  1012,  1252, -4149,  3081,  3080, -4149,
   70822, 70822, 70822, 70822, 70822,  2921,  3083,  3088, 90576,    72,
    3274,  3283,  2503,  3507,  3402,  2042,  2846,  3175,  3405, 70822,
   -4149,  1860,   128, -4149,  1252, 56599, 88050,  3397, -4149,  5522,
   -4149, -4149,   209, 70822,  3387, -4149, -4149,  2042,   807, 90576,
    1868, -4149, -4149, -4149,  2101, -4149, -4149,  1496,  1496,  3123,
   -4149,  3127, -4149,  3495, -4149, -4149, -4149, -4149, -4149, -4149,
    3131, -4149, -4149, 70822, -4149,   807,   168,  3162,   807,  3166,
     807,   807, 70822, -4149, 70822, -4149, -4149, 70822, 70822, -4149,
   -4149, 70822, 52720,   807, -4149, 14843,  3429, -4149, -4149,  3250,
    3251,  3252, 70822,  2867, 57461, -4149,  3132, 53582,  1423, -4149,
   -4149,  3310, -4149, -4149, 65650,  3249, -4149, -4149, -4149, -4149,
    3441,  3450, -4149, -4149, -4149,   237, -4149, -4149, -4149, 53582,
   61340,   283, 53582, -4149,  1958,  3389, -4149, -4149,  1994,   309,
   -4149,  3393, 70822,  3394, -4149, -4149, -4149,  3147, 14278, 29124,
   -4149,  3466, 90576, -4149,  6567, -4149, -4149, 29124, -4149, 29124,
   -4149, -4149, -4149, -4149, -4149, 29124, -4149, 29124,  3451, -4149,
   22925,  3588,  3588,  3168, 90576, 32267, 32267, 32267, 32267,  1231,
    2382, 32267, 32267, 32267, 32267, 32267, 32267, 32267, 32267, 32267,
   33165, 33165,   616, -4149,  3347, 29124, 29124,  3462,  3451, -4149,
   90576,  3177,  2923,  3178,  3179, 29124, -4149, -4149,  1880, 34497,
    3180, 50565, -4149, 29124, 11456,  1905,  3210, 14570,  1380,  7162,
    3172,  1252, 29124,  2705,  3738, 29124,  1911, 29124,  3463, -4149,
   -4149, -4149,  3184, -4149, -4149, 90576, 29124,  3186,  3831, 32267,
   32267,  4117, -4149,  4329, 29124, 25532, -4149,  3356,  3214, 39705,
   -4149, 23375,  3181,  1055,  1055,  1055,  1055, -4149, 70822, 70822,
   70822, 36233,  3469, 35365, 69529,  3185,  1986, -4149, 69529, 69960,
   -4149,  3192, -4149,  3188,  1380, 29124,  3475,   789,   789,  3356,
   -4149, 29124, 29124, 28675,  3190, -4149,  3475,   801,  3191, -4149,
   -4149, 11138, -4149, -4149,  3195, -4149,  3194, -4149,  2959,   244,
   -4149,  7190,  3385, -4149, -4149, -4149,  3185, 29573,  3336, -4149,
    1912, -4149, -4149,  3571,  3336, -4149, -4149,  1913, 39271,  2984,
   27328,  1380,  1931,  1650, -4149, -4149, 87631, -4149,  3268, -4149,
   -4149, -4149,  2297,  2297,  1011,  2867,  3499,  1011,  7277, -4149,
   -4149, 36667, 70822, 70822, -4149, 70822,  1965,  1568, 70822, -4149,
   70822, -4149, -4149, -4149, -4149,  3620, -4149, 70822, -4149, -4149,
    3261,  3264, -4149, 70822, 70822, 70822, 70822,  3455, -4149, -4149,
    1966, -4149, -4149, 53582, 70822, -4149, -4149, -4149,   219,  2430,
    2511, -4149,  3290, -4149, -4149,  3467, -4149,  3609,  3300, 70822,
    3213, -4149,  1568,   249,  2503,   785, -4149, -4149,  3284, -4149,
   70822, -4149, 70822, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
    3340, -4149, -4149, -4149, -4149, 50996, -4149, -4149, 70822, -4149,
   50565, 40576, 50565, -4149,  1026,   398,  2465,  2511, -4149,  3297,
   -4149,  3301,  3302,  3348,  1027,   201,  3303,  3304,  3355,  3219,
    3228,  3231, -4149, -4149,  3376, 70822,  2297,  3239,  3276,   199,
     242, -4149, -4149, -4149, -4149,   242,  2297,  1252, 70822, 70822,
   70822,  3640,  3328, 70822, 70822, 70822, 70822, 70822, 70822,  3544,
     705,  1784, 53582, 70822, 70822, 53582, 70822, 70822, 70822, 70822,
   70822, 70822, 70822, -4149,  3629,  3559,   396,  3599,  3319, 70822,
   -4149, 70822,  2729, 70822, 70822, -4149, -4149, -4149,  3255,  3502,
     281, -4149, -4149,  3503,  3508, -4149,   281,   281,  3509,   281,
   -4149,   394, 50565, -4149,  3740,  3194,  2101,   419, -4149, -4149,
   -4149, -4149, -4149, -4149,  2808, -4149, -4149,  1882, -4149, -4149,
   70822,  3257, 70822, 70822, 32267, -4149,  1471,   238, -4149,  3510,
   70822,  3306, -4149, -4149, -4149,  3421, 70822, -4149, -4149, -4149,
   -4149, -4149,  3263, -4149,  3530, 59185,  2297, 53582, 53582,  2297,
   -4149, 90576,  3269,  2846, -4149, -4149, -4149, -4149, -4149, -4149,
   53582,  3064, 53582,  1194,  1147, 87200,  3312, -4149,  3267,  3572,
   -4149,  3272,  3271, -4149, -4149, 70822,  3173,  1974,  2287,  3692,
      53,  1658, -4149, 60478,  1855,  3530, -4149, -4149, -4149,  3658,
    3369, -4149,  2042, 70822,  2921,  3369,  1252, 70822,  2782, -4149,
   87631, 29124, 29124, -4149,  3286, -4149,  3291,  6258, -4149,  3360,
    3289,  2253, -4149, -4149, -4149, -4149, -4149, -4149,  3372,  3309,
   70822, -4149, -4149,  3311, -4149,  3314, -4149, -4149, -4149, -4149,
   -4149, -4149,   807, -4149, -4149, 70822, -4149, 70822, -4149, -4149,
     807,   807,   807,   807, -4149,  3417, -4149, 70822, 70822, 70822,
   70822,  2867, -4149,   309, -4149,  3593, 53151, -4149, -4149,  1980,
   70822, -4149, -4149, -4149,  3649,   142,  3600, -4149, -4149,  3556,
     298,  3558,  3561,   298,  3564,   298, -4149, 29124, 14843, -4149,
    3315, -4149, 14843, 14843,  7750, 14843,  3462, -4149,  1981, 29124,
   -4149,   534,   534,   534,  1131,  3608, -4149,   875,  3317,   534,
     534,   534,   515,   515,   357,   357,   357,   276,   616,   616,
   14843, 14843, -4149, -4149,  3320, -4149, -4149, -4149,  2923, -4149,
   30022,  3473,  3717, -4149, -4149, -4149,  3364,  3373,  3333, -4149,
   29124, 30471,  3332, 91414,  3522,   934, -4149,  1446, 29124, 29124,
    4666, -4149,  8160, 29124, 90576,  2008,  4666,   481, 29124,  4054,
    4647, 29124, 29124,  4471,  8110,  3341, 29124, 88469, -4149, -4149,
   -4149,  2016, 29124, 70822, 70822, 70822, 70822, -4149, -4149, -4149,
   69529, 69960,  3343, 23810,  1986,  3345, 70822, -4149, -4149,  3349,
   35799,  3594,  3532, -4149, 35799,  3532,  1395,  3532,  3598,  3439,
   40139, -4149, -4149,  3353,  3540, -4149, 21575,  1561, 14843,  3754,
    3638, 29124,  3357,  3358,  3362, 14843, 14843, 29124, -4149,  1252,
    3638,  1252, -4149, -4149, 44944, -4149, -4149, -4149, -4149, -4149,
    3554, 14843, 26879, -4149,  2042, 70822,  1380,    86, -4149,  3377,
   70822, -4149,  3336, -4149, -4149,  3432,  2021, -4149, -4149, -4149,
   -4149, -4149,  3445, 60909,  3654, -4149, 29124,  2025, -4149,  3404,
    3751,   152,  2027,  2032,  1568, -4149,  3306, -4149,  1514,  3637,
     164, -4149,   807, -4149, 90576, -4149, 70822, 70822, -4149, -4149,
   -4149, -4149, 70822,  2447, -4149, -4149, 70822, 70822, 70822, 70822,
   -4149, 53582, 70822, -4149, 50565,  1547,  3575, -4149, -4149,  3577,
     199, 70822, -4149, 90576,   807,   807, -4149, -4149, -4149, -4149,
   -4149,  3388,  3776,  3464, 70822, 70822, 70822, 70822, 53582, 70822,
   70822,  2101,  2101, 90576,  3379, -4149,  2101,  2101,  3380, -4149,
   53582, 70822, 70822, -4149, -4149, -4149,  3458, -4149, 29124,  3768,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, 53582, 70822,
    3465, -4149,  3468, -4149, -4149, -4149, 70822, 70822, 70822, 70822,
    3696, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, 70822, -4149, -4149,  1252,  1252, 90576,   807,   807,
   -4149, -4149, -4149,  3653,   281, -4149,   281,   281, -4149, -4149,
     281, -4149,   400,  2053, -4149, 37101, -4149, -4149,  2637,  1252,
    2637,  1586, -4149, -4149,  2637, -4149,  2637, -4149,  1568,   243,
    3698,  3702, 29124, -4149,   984,  1131, -4149, -4149, -4149, -4149,
    3306,  1683,  3471, 57461,  1080, -4149,  3682,   126, 59185,  1409,
    3412,  3531, -4149,  2297,  2297,  3472, 70822,  3830,  2297,  3276,
   -4149,  3625,    97, 70822,  3745,  3470, -4149,  1252, -4149, -4149,
    2846, -4149,  2042, 70822, 59185,  2921,  2055, -4149, -4149, -4149,
    3460,  3283,  1855,   752, 70822, -4149,  3461,  3843, -4149, -4149,
    3721,  3622,  3435, -4149, 14843, 14843,  1252, 91833,  5522, 90576,
    3735, -4149, 70822,   738,  3704,   807, -4149, -4149,   807,   807,
   -4149, -4149, -4149, -4149, 70822,  2867,  2867,  2867, -4149,  3634,
   -4149, -4149,  3691, -4149,   807, 53151,   298, -4149, -4149, -4149,
     298,   298, -4149,   298, -4149, 14843, -4149, -4149, -4149, -4149,
    8384, 32267,  3741, -4149,  3447, 90576, -4149,  3449,  2057,  2078,
   33614,  3603, -4149, -4149, -4149,  8460,  3505, 14843,  3555,  3456,
    3476, -4149,  4666,  4666,  8160,  2085, -4149,  4666, 29124, 29124,
    4666,  4666, 29124, -4149, -4149,  8750,  3632, -4149, -4149,  8907,
   -4149, -4149, -4149, -4149, -4149, -4149, 51427, 69529,  3478, 70822,
    1986, 35799, -4149, -4149,  1473, -4149, 35799,  3708, -4149, 35799,
   57461, -4149, 70822,  3480, 70822, -4149,   747, 30920, 29124,  3500,
   -4149, -4149, -4149,  3356, -4149,  3500, -4149,  3481, 70822,  2416,
   -4149, -4149,  3834, 36667,  3794,  3483, -4149, -4149, -4149, -4149,
   53151,  3659, 53151,  1568,  9030,  3306, 36667, 45834, 70822, 70391,
   70391,  3617,  3306,  3471, -4149, -4149, -4149, -4149, -4149, -4149,
    3484, -4149, -4149, -4149, -4149,  3557, -4149, -4149,    20,  2837,
    2089, -4149, -4149, -4149, -4149, -4149,  3629, -4149, -4149, 40576,
   53582, 70822, -4149,  3565, -4149, -4149, -4149, -4149, -4149, 37969,
   44944, -4149,  1027,  3486,  3489,   201, -4149, -4149, -4149, 70822,
    9203,  3490,   588,  2837, 70822, 70822,  1214,  1143,  1533,  2867,
    3774, -4149, -4149, -4149,  3629, -4149, -4149,   281, -4149, -4149,
   -4149, -4149, -4149,  1428,  3816, -4149, 50565, -4149, 51858, -4149,
   -4149, -4149,  1252, -4149,  1252,  3693, 70822, 48410,  1252,  1252,
   57461,  3908,  3908, 70822, -4149,  9499,  3697, -4149,  3471,  3716,
    3762, -4149,  3496, 70822,  3657,  3498,  3501,   253,   253, 70822,
   70822, 70822,  2093,  2042, -4149,  1194,  3809, 59185,  3173, -4149,
    1443,  3504,  3811, -4149,  3917,  2921,  3083,  3506, -4149, -4149,
   60478,  3701,  3369,  3283,  3639, -4149,  3643, -4149,   332, -4149,
    2042, 70822, 70822, 36667, -4149, 90995, -4149,  2094, -4149, -4149,
   -4149,  3576,  2974,  3619,  3621,  3517, 70822,   770, -4149, -4149,
   -4149, -4149, -4149, 70822, -4149,   283, -4149, -4149, -4149, -4149,
   -4149,  1955, 32267, 90576,  2105, 29124, -4149, 29124, -4149,  3915,
   -4149, -4149, -4149,   608, -4149, -4149, -4149,  4666,  4666,  4666,
   -4149,  3918,  3356, -4149, -4149,  2114,  3936, -4149, 70822,  2116,
   -4149, 29124,  3521, -4149, -4149, 35799,  1473,  3523,  2122, 70822,
    2124, 90576,  3525,  3524,    23,  3527, 22025,  3518, -4149, -4149,
   -4149, -4149, -4149, 14843, 14843, 70822, -4149,  3529, -4149, -4149,
   -4149, 70822,  2126, -4149,   622, 25083, -4149, -4149,  1423,  1011,
     283,  3751,  3471, -4149,  3533, -4149, -4149, 70822, -4149,  1243,
    1243, 70822,  3471, -4149, -4149, 70822,  3618, -4149, -4149, 50565,
    3586, -4149,   809,  2837, 70822, 90576,  1994,    95, -4149, 90576,
   90576, -4149, -4149, -4149, 29124,  3627, -4149, -4149, -4149, -4149,
   -4149, 70822, 70822, 70822, 70822, 70822,   807, -4149,  3065,  1252,
   -4149, -4149,  2137, -4149, -4149, -4149, 70822,  3267, -4149,  3267,
   -4149, -4149,  3908,   312, -4149, -4149, -4149,  1672,  3743, -4149,
     880,  3728,  3628,  3535, -4149, 57461,  3990,  3530, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149,  2141,  3173,  3849,  2846,
    3461, 70822, -4149, -4149, -4149, -4149, 29124,  3709,  2042, -4149,
    1855,  3530, -4149, -4149, -4149,  3369, -4149, -4149,  3937,  3744,
    3938,  2921, -4149,  2782,  2153, -4149,  6258, 91833, 90576,  3882,
    3592,  3595, -4149, -4149,  3612, 70822, -4149, -4149,  3173, -4149,
    1955,  2157, -4149,  2165,  2172,  3713,  3614, -4149, 29124,  1186,
    3192, 51427,  3566, -4149,  2174, -4149, 14843, 70822, -4149, -4149,
   29124, -4149,  2180, -4149, -4149, 29124,  3567, 29124, -4149, 30920,
    3569, -4149,  3981, -4149, -4149,  2974, 36667, -4149,  3684, -4149,
    3863, -4149, 70391,  3613, 44944, -4149,  2959,  2959,  1683, -4149,
    1568, -4149, 70822, -4149, 29124, -4149,  3661, -4149, -4149,  2181,
   -4149,   975,  3729,  3875,  2187,  2203,  9541, 70822,  2871,  1533,
    2871, -4149,  2867, -4149, -4149, -4149, -4149, 51858,  3267, -4149,
   -4149, -4149,  3902,  3846, -4149, -4149, -4149, -4149,   447, -4149,
    3777,  3778, 70822, -4149,  3581, -4149,  2214,  3705, -4149, -4149,
   70822,  3999,  4002, -4149,   591,  9849, 57461,  3461,  3283,  1855,
    1547, -4149,  3779, -4149,  3780, -4149,  3591,  2846,  5522, -4149,
   -4149,   282,  3879,  3883, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149,  2923, 31369, 31369,  3596, -4149, -4149, 70822, -4149,
    2216,  2221, -4149,  2229, 30920,  2235, -4149, 70822,  3601, -4149,
   -4149, 39271, 53151,  1243,  3602, -4149,  3597, -4149, -4149,  3716,
    1568,  2837, 14843, 70822, 57461,  3992, -4149, -4149, -4149,  3729,
   -4149, -4149, -4149,  2837, 70822, -4149,  3725, -4149,   913,   913,
    3940, -4149,  3656, -4149, -4149,  3604, -4149,  4050, 70822, -4149,
    1027,  2042, 59185, -4149,  3606, -4149,  3369,  3283, -4149, -4149,
   36667,  3369, -4149, -4149, -4149,  1934, 57461, 57461, 32716,  3747,
     196, 11910, -4149, -4149, -4149, -4149,  2237, -4149,  3753, -4149,
    2242, -4149, -4149, -4149,  1159,   283,  2959, 29124,  1568, -4149,
    3728, -4149,  2837,  1994, 70822, -4149, -4149, -4149,  3470, -4149,
    4037, -4149,   788, -4149, -4149, -4149, -4149,  3173,  3379,  3461,
   50134, -4149,  3369,  2244,  2974, -4149,  1718, -4149, -4149, -4149,
   -4149, -4149, -4149, -4149,  3623,  3624,  4029, -4149, -4149, -4149,
   -4149, -4149, -4149,  3626, -4149, -4149, -4149, -4149, -4149, 10457,
   -4149, -4149, -4149, -4149,  3923, -4149, -4149, -4149, -4149, -4149,
   -4149,  2251, -4149, -4149, -4149, -4149, -4149,  2846, -4149,  1899,
   -4149, -4149,  2002,  1935,  3699,  3906, 31818, 29124, -4149,  1568,
    3782, -4149, 50134,  3369, -4149,  1718,  3737,  3742, -4149, 10645,
   57461, -4149,  2974, -4149,  3667,  3670, -4149,  3636, -4149,  3916,
    3928, 50134, 57461, 57461,  2272, -4149, -4149, -4149
};

/* YYPGOTO[NTERM-NUM].  */
static const yytype_int16 yypgoto[] =
{
   -4149, -4149, -4149,  3334, -4149,  -827, -1119,  2627, -1751, -4149,
   -4149, -4149,  3240, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
    3275, -4149, -4149,  1805, -2219, -4149, -4149,   139,  3208, -1193,
     135,  2860,  1452, -4149, -1039, -4149, -4149,  -534,   113, -4149,
    3241,  -674, -4149, -4149, -4149, -4149, -4149, -4149, -4149, -4149,
    -734,  1951,  1294,  -313, -3868, -4149, -4149, -1309, -2906, -4149,
     663, -4149, -4149,  1888, -4149, -4149, -4149,  1135,   576,  -420,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149,  -204, -4149, -4149,
    -574,   154,    46, -2247,  -250, -4149, -4149,   543,  -247, -1222,
   -4149, -3278, -4149,    90, -4149, -4149, -4149,  -222, -1296,  1396,
   -4149,  -650, -1070,  1704,  -638, -4149,  -104, -4149,  -707,  -567,
    -565,  -653, -3454, -3457, -3892, -3491, -3179,  1402,   158, -2846,
   -2913,   163,   516, -4149,   165,   166, -4149,   530,  -739, -1336,
   -4149,  -710, -4149, -4149, -4149, -2711, -4149, -4149, -4149, -4149,
      68, -4149, -4149, -4149, -4149,   573, -4149, -4149, -4149, -4149,
   -4149, -4149, -2467,  1861,  1863, -4149, -4149, -2908, -4149,  -812,
   -4149,   709, -2729,  1314, -4149, -4149, -4149,  2609, -4149, -4149,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -1463, -4149, -4149,
   -4149, -4149, -4149,   555,    89, -4149, -4149, -4149, -4149,   171,
   -4149,  1873,  1126, -4149, -4149, -4149,  -697,  -789,  -768, -4149,
   -2712, -4149, -4149, -4149, -4149,  -188, -4149, -4149, -4149, -4149,
   -4149, -4149,  -888, -4149,  1177, -2854, -4149, -4149,  1184, -4149,
   -4149, -4149, -4149, -4149,  -642,  -122,  2657, -4149,  -512,  -617,
   -4149, -4149, -4149,  -121, -4149, -4149, -4149, -4149, -4149, -4149,
    -976,  -119,  -956,  -476, -4149, -4149, -4149, -4149, -2083, -4149,
   -4149, -4149, -3377, -4149,  4138,   847,  1123,   173, -4149,   -27,
      84,  3077, -1053, -2416,   480,  -310, -4149, -1660, -4149, -4149,
   -4149, -2315, -4149, -4149, -4149, -4149, -3229,   175, -4149,  3070,
   -4149, -3480, -4114, -3234, -3691, -4030, -4148, -3202, -4149, -4149,
   -1010, -4149, -4149, -4149, -1317,  2167, -1776, -4149, -1924,   541,
    1468,  -851, -2510, -3486,  -625, -2983, -4149, -4149, -3414,  -419,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -1029,  -532, -4149,
   -4149,  3610, -4149, -4050, -4149,  3568, -4149, -4149, -4149, -4149,
    2468,  2469, -4149,  2472, -4149, -4149, -1294,  1263, -4149, -4149,
   -4149, -4149, -4149,  -623,  -730, -4149, -4149, -4149,   177, -4149,
   -4149, -4149, -4149,  2108,  -832,  -658,  3474,   178, -3731, -4149,
   -4149, -1024, -4149,  2875, -4149, -4149, -4149, -4149, -4149, -4149,
   -4149, -4149, -2003, -4149, -4149, -4069, -4149, -4149, -4149, -4149,
   -4149,  2252,  2250,    87,   -24, -4149, -4149, -1168, -4149,  -488,
   -4149,  2537, -4149, -4149, -4149, -4149,  1546,   180,   598, -4149,
       4, -4149, -4149, -4149,   356, -4149, -4149, -3131,     6, -4149,
   -4149, -4149, -4149, -4061, -4149,     7,  -551,   876, -4149, -4149,
   -2549, -4149,   182,    14, -4149, -4149,     2,     3,   -38,   -35,
     -13,     5,   132,  2950, -4149,  2988, -4149,     0,  1705, -4149,
   -4149,  -736,  -145, -4149,  1556,  -571,  2230,  2933,  2931, -4149,
    1548, -4149, -4149,  1551, -4149,   914,  -535,  -418, -4149, -4149,
   -4149, -4149,   382,  -569,  2238, -4149,  2971, -4149, -4149, -4149,
   -1672,  1543, -3124,   942, -3133, -3088,   429,   415, -1320,  -213,
      31,  -688,  2978, -4149, -4149,   953,  -386, -4149, -4149,  -384,
   -2553,   898, -4149, -4005, -2100,  -309,  2659,  -957, -4149, -4149,
    -896, 12954, -4149, -4149, -4149, 14385, 14454, -4149, -4149, 15303,
   15533, -4149,  -788,  1157, 15909, 12573,  -947, -1717,    67, 13175,
   -2254,  -950, -2290, -4149, -3249, -2108, -4149, -4149, -4149,  -176,
    1008,   656, -4149, -4149, -4149, -4149,    27, -4149,  -513, -4149,
    -511, -4149, -4149, -4149,  -498, -3932,  2433, -4149, -4149, -4149,
    -171, -4149, 16718,  1592, -4149,  -924, -2493, -2506, -3120, -1630,
   -4149, -4149, -4149, -4149, -4149, -4149, -4149, -1328, -3016, -2119,
    1662, -4149, -4149,  1756, -4149, -4149, -4149, -1178,  -763, -1129,
    1668, -1829, -4149,  -743, -4149,  -683,  2442,  -703,  5666, -1237,
    6665,  -462, -2065, -1131, -1415, -4149,  -177, -4149,    15,   -16,
      -1,  -113,  -149,  -518, -4149,  3021, -1444,  3025,  3695,  8184,
    -557, -1204,  9216, 11654, 12648, -2813
};

/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
   positive, shift that token.  If negative, reduce the rule which
   number is the opposite.  If zero, do what YYDEFACT says.
   If YYTABLE_NINF, syntax error.  */
#define YYTABLE_NINF -2409
static const yytype_int16 yytable[] =
{
     597,  1635,   176,   177,   171,   181,   172,   174,   705,   676,
     795,  1625,   753,  1229,   549,  1690,  1087,  1088,  1089,   814,
     664,   537,  1093,   177,  1670,   181,   664,  1307,   587,  1301,
     846,  1225,   938,  1310,   763,  2993,   663,   969,  2435,  1598,
    2042,  1951,   663,  1470,   739,  2634,  1440,  1482,   819,  1629,
    1531,  1263,  1604,   752,  2105,   853,  1936,  3151,   579,  1621,
     967,  1552,  2564,  1726,  1772,  1247,   870,  1512,  2233,   800,
     802,  3395,  3013,   806,   736,   808,  3642,  1064,  2700,  2702,
    1030,  2113,  3571,  2140,  1941,   628,  3306,  2123,  1588,  1589,
    2320,   852,  2862,   923,  3412,   867,  1519,  1035,  1597,  2188,
    1524,  3431,   869,  3433,  2499,  1528,   670,   638,  1050,  2923,
    1936,  3597,  3880,    67,  1535,  1954,  3845,  1400,  1435,   706,
    2655,  1576,  3612,  1434,  1554,  3299,  3549,  3879,  3874,  1449,
    3132,  1663,  1941,  3915,  4089,  3775,  3297,  3298,  1475,  3336,
    3625,   977,   757,  2202,  2203,  1058,   765,  4042,  4092,  1047,
    2338,  4098,  2639,  2198,    76,  2112,  3821,  4081,    77,  3804,
    3543,  4082,   969,    78,  2961,    79,    80,  3543,   766,   699,
    2098,   104,  2965,   124,  2967,   129,   733,   147,   151,   725,
     169,   751,   175,  2015,   764,  1237,  3342,  3609,  1369,  4372,
    4240,  1294,  2405,  1297,  1585,  1586,  1471,  4448,  4497,  4450,
    3819,  3742,   593,  3858, -2169,  1596, -2204, -2225,   646,   646,
    4490,  1609,   646, -1681,  1551,   593,  1577, -2253,   547,  2124,
    3006,   593,  4238,  1577,  2214,  2209,  2699,  1604,  4523,  4524,
   -2075,  1577,  4516, -1681, -2076, -1676, -2408,  3631, -2075, -2075,
    2317,   863, -2076, -2076, -2408, -2408, -1648,   593,  4671,  1588,
    1589, -1661,   742,  2115,  2572, -1688,  1117,   646,  2115,   593,
     593,  2572,  2196,  2115,  2115,  2945,  1507,  3483,  1597,  4594,
    1775,  1942,  3149,  2627,  3169,  4247,  3191,  3192,   593,  4558,
     593,  3212,  4545,  1515,  2985,  1249,   593,  3194,  2450, -2038,
   -1681,  2115, -1676,   959,  2328,  1002, -2037,  2432, -1924,  2048,
     593,  3136,  3391,   593,  2026, -1924,  2474,  4073,  2509,  4813,
     593,  2778,  2273,  1398,  2608,   545,  1002,  3396,   646,  3243,
    3244,  2609,  3098,  3644,  3100,  1233,  4132,  4559,  4134,  3616,
    1782, -2102,  2850,  3577, -1691,  4560,   646,  3290,  1577,  3693,
     646,  4656,  4657,  1975,  4222, -2172,  1585,  1586,  4878,  4038,
    4690,  2328, -1691,  1672,   646,  1345,  4496,  1069,  2045,  1788,
    4636,  3946,   652,  4561,   652,   652,  1782,  1498,  3194,  -824,
    2093,  1073,  1596,   918, -2224,   652,  1833,  1398,   593,   811,
    3407,  1345,   646,  1290,   653,  2779,   653,   653,  4588,  1790,
    3290,     3,     4,   846,  3846,  1788,  4589,   653,  4500,   593,
     184,  2318,  3645,  4330,   184,  -613,  2247,  2451,  2764,  2510,
    2818,  1841,  1711,   933,  -131,  1482,  2289,  2882,   933,  -131,
    3995,   972,   859,  2149,  3221,  1790,  3223,  3224,   646,   933,
    2115,  1021,  1776,  4331,   921,  2321,  4526,  4562,   924,  2116,
    3996,   846,  4667,   185,  4632,  3408,  3471,   185,   860,   932,
    2986,  1842,  1292,  3847,   941,   960,   949,  2094,  2430,  1346,
    1823,  3947,  2436,  2248,  2438,   951,  2819,  2441,  1782,  2245,
    2115,  2882,  4243,  1578,  1747,  1627,  4814,  2511,  4879,  3694,
    1578,  4585,  1834,  2241,  3578,  1346,  1314,  4039,  1578,   652,
    4691,  2329,  4689,  3916,   969,  2275,  2749,  1788,  1943,  2125,
    1250,  3137,   594,   652,  4074,  1336,   969, -1944,  3565,   961,
    2126,   653,  2127,  1636, -1944,   962,  -391,  1658,  1264,  3292,
    1265,  2851,  3396,  2139,  2191,   653,  3194,  1790,  2433,   915,
    2952,  1782,   928,  2987,  3392,  1837,  2512,  4223,  3646,  2513,
    1850,  1850,  1126,  2782,   743,  3194,  1407,  4127,  4357, -2409,
   -2409, -2409,  4590,  1092,  2197,  2496,  2215,  2501,  2319,  3484,
    1788,  4788,  4248,   969,  2787,  2857,  1251,  3632,  2128,  1092,
    3338,   991,  3292,  1708,  2573,  2946,  1516,  1674,   968,   597,
    1113,  3259,  1489,  2570,  1718,  2210,  1730,  3930,  2452, -2224,
    1790,  2049,  3906,  1835,  2496,  1578,   753,  1627,  1941,  1727,
    1610,  1259,  1504,  3647,  2184,  1260,  2186,  2453,  4563,  1337,
    4784,  1514,   913,  1583,  1065,  4836,  1605,  2084, -1924,  2423,
    1302,    50,  4763,  1660,  2267,  4373,  4338,  3194,  3543,  2193,
    1516,  1627,  2514,  1583,  2610,  2236,   177,   752,   181,   812,
     658,   659,  1712,  2086,  3472,  1941,  1066,  2368,  1071,  2232,
    1075,  2092,  3884,  3080,  4165, -2224,  1079,  1239, -2169, -1681,
   -2204, -2225,   663,  2353,   663,  1099,   663,  3360,  3821, -2224,
    2155, -2253,   663,  1080,  1081,  1082, -2075,  4057,  1057, -1681,
   -2076, -1676, -2408,  2409,  4389,   969,  4190,  1712,  1606,  3472,
    4194,  1118,  1587,   969,   969,  2562,  4863,  1591,  4069,  1226,
    4138, -1688,  1235,   968,  1240,  1778,  1821,  1486,  1237,  1095,
    4841,  4088,  4184,  2174,  1405,  1406,  2177,  2178,  1493,   765,
    2431,  1060,  4846,  3210,  2642,  2377,  1643,  1347,   846,  2442,
    1986,  4227,  1987,  1259,  1653, -2038,  2515,  1260,  3686,  2166,
    1661,   766, -2037,  4826,  2169,  2101,  1599,  2260,  2261,  4406,
     658,  1399,  2516,  4407,  4408,  1338,  4409,   764,   176,   177,
     171,   181,   172,   174,  1599,  1600,  1810,  1266,   658,   659,
    1095,  3934,   658,   659,   588,  3344,  2750,  3345,  2664,  3566,
    1601,  4891,  1566,  1600,  2242, -2102,   658,   659,  2788,  1339,
    4652,  1715,   929,  3593,  3200,  1506,  4312,  3838,  1603, -2172,
    1305,  1809,  1810,  3209,  3210,  2534,  2356,  2357,  2495,  1018,
    2498,  2969,  1936,  2552,   658,  1399,  2505,  1529,  1530,  1340,
    1239,  4482,  2520,  2521,  2522,  1415,  4806, -1944,  4492,  1491,
    1269,  3609,  2538,  2540,  4028,  1454,  3866,  2550,  1563,  4713,
    3584,  4789,   663,  1351,  1818,  4073,  1416,  2762,  2427,  1543,
    4616,  -131,  -131,  2634,  2634,  2634,  1232,  1084,  3977,  2858,
    1244,  1825,  1577,  2592,  1547,  3517,  4374,  4647,   661,    67,
    2615,   542,  3521,  3522,   661,  1455,  3525,  2162,  4375,  1276,
    1570,  4584,  1341,  3530,  1548,  2714,  4876,  3918,  2804,  1544,
    1645,   767,  3523,  3524,  2050,  3138,  4393,  4896,  1804,  1805,
    1806,  1807,  1808,  1809,  1810,  1319,  2249,  2098,  1631,  1633,
      76,  2331,   874,  2682,    77,  4862,  1329,  1459,   544,    78,
    2050,    79,    80,  1460,  4515,  1826,  3309,   104,  3585,   124,
    1646,   129,  1571,   147,   151,  2847,   169,  4436,   175,  4104,
     685,  3721,  3722,  3723,  3724,  2724,  2250,  3729,  3730,  3731,
    3732,  3733,  3734,  3735,  3736,  3737,  3738,  3739,  3206,  3207,
    3208,  3209,  3210,  1806,  1807,  1808,  1809,  1810,  4849,  1479,
     768, -2409, -2409, -2409,  3880,  3204,  3205,  3206,  3207,  3208,
    3209,  3210,  1320,  1329,  4928,  2446,  4805,  3880,  3383,  2188,
    2722,  3290,  2593,  3290,   699,  1444,  4142,  2594,  4143,  2439,
    2440,  2616,  3879,  2704,   875,  3779,  3780,  3586,  3413,  2778,
    1776,   760,  4604,  3978,  2036,  2840,  4648,  3339,  2428,  1085,
     686,  1461,  3052,  2725,  1572,  4414,  2970,   589,  3384,  3919,
    1456,  1569,  1321,  2595,  1549,   968,  4376,  4897,  1612,  4695,
    4617,  1598,  4802,  1627,  1545,   876,   673,   968,  3551,  3540,
    2429, -2035,  2707,   760,  4437,  2051,  3540,  3204,  3205,  3206,
    3207,  3208,  3209,  3210,  4493,  2841,  2447,  4440,   177,  1019,
     181,  3290,  4444,  2983,  1573,  4446,  2874, -1648,   663,   590,
    3454,  1714,  1676,  2779,  1678,  1647,  1680,  2038,  1682,  1492,
    1684,  1685,  1686,  3554,  4721,  3139,   877,  1688,  2159,   758,
    1819,  2251,  2390,  4707,   968,  2039,  1613,  2763,  2382,  1064,
    4728,  4394,  4343,  4726,   591,  3642,   592,  2355,  1612,  1578,
    2351,  2395,  2791,  4718,  1457,  1322,  2311,  4719,  4899,  4144,
    1480,  1735,  3638,    39,  3880,  2052,  2404,  3920,  1546,  1126,
    3921,  2044,  3194,  3587,  1388,  4666,  3195,  3196,  3197,  3140,
    1744,  2842, -1648,  2875,  4696,  4850,   753,  1574,  2596,  4549,
     759,   687,  4368,  4233,  4364,  1614,    43,  1462,  1615,  2045,
    4605,   769,  3868,  3292,  2025,  3292,  2403,  2415,  2237,  1648,
    1777,  1760,  2286,  3385,  3455,  4261,  1613,  3941,   711,  1779,
     685,  2705,  3414,  2253,  2706,  2252,  3123,  1773,   688,   689,
    1284,  1463,  3303,  1822,  2876,  2312,    47,  1126,  3588,  2792,
    3194,  2160,  2276,  2675,  3195,  3196,  3197,   554,  3415,    48,
    4344,  2526,  4697,  3141,  1091,  4851,   968,   760,  4336,  1240,
    1840,  1464,  3087,  3558,   968,   968,  2139,  2040,   846,  4775,
      49,  2782,  1259,  2820,  3831,  1614,  1260,  1947,  1615,  4852,
    4650,  1955,  1956,  3292,  1960,  2683,  1481,   593,  2877,  2342,
     663,  1616,  4807,  2349,  1627,   663,   663,  1326,  2134,  1327,
     686,  3559,  2350,   766,   766,  2161,   766,  3386,  1961,  2660,
    2908,  2674,  2292,   712,  1002,  3560,  2909,  3942,   690,   764,
     764,  2287,   764,  4611,  3481,  1285,  2364,  3932,   561,  2821,
    4035,  4776,  2843,  4653,  2046,  4720,  1092, -1648,  2676,   561,
    2036,  4226,  2381,  4659,  4812,  4861,  2385,  2917,  2220,  -981,
    4864,  4628,  2391,  2392,   952,  3838,  1665,  2037,  1616,  1666,
    3456,  4213,  3199,  4206,  1305,  2204,  2205,  2206,  2207,  2041,
    2400,  1616,  3869,  1002,  3023,  2408,  2869,  3228,  2054,  3024,
    2878,   761,  3725,  3235,  3726,   953,   563,  2293,  2055,  3482,
    2661,  3101,  3933,  3084,  3457,  1617,  1964,   563,   663,  1962,
    3095,  4906,  4436,  3561,  3870,  2803,   663,  2243,  2244,  3198,
    4124,  2179,  3943,  2038,  2910,  4669,  2256,   954,  2291,  4674,
    4675,  3200,  2304,  2313,  3458,  3871,  2270,  3880,  2348,  3014,
    3199,  2039,  1420,  1965,  2220,  2465,  2314,  1319,  3096,   561,
     707,   687,  4760,  2870,  1081,  4501,  2079,   677,  3018,  3019,
    3020,  3021,  3085,  2192,  2306,  2307,  2308,  2309,  3070,   683,
    3026,  3238,  4932,   955,  2889,  2972,  1421,  4005,   663,  2888,
     684,   663,   663,  4008,  4009,  1617,  4011,  2380,   688,   689,
    4572,  4522,  4579,  2736,  4767,  4768,  3543,  1782, -2058,  3200,
    2879,  2901,    34,   846,  3682,  1618,  2890,   563,  2880,   652,
      39,  2881,   969,  2565,  2893,  3727,  2895,  2195,  2383,  1290,
    4743,  3406, -1648,  3312,  1320,  3728,  3034,  1627,  1469,  2940,
    3355,   653, -1648,  2263,  1587, -1648,  1314,  3068, -1648,   184,
    1967,  2056,   571,    43,   572,  4068,  2220,  4744,  2737,   663,
    2180,  3863,  2181,   571,   574,   572,  1790,  3540,  1616,  2394,
    3290,   814,  2397,  2301,  3290,   576,  1329,  2634,  1532,  1311,
    2911,  1329,  2402,  2040,  1321,  2057,   710,  3706,  2768,  1532,
    2732,  2410,   185,    47,  2934,  3441,  -414,  4347,  1292,   930,
    1460,   931,  2736,  2188,  3812,  1968,  2778,  2914,  4519,  3442,
    2719,  3880,  3811,  1312,  2912,  3341,  2131,  1415,  3201,  3202,
    3203,  3295,  3204,  3205,  3206,  3207,  3208,  3209,  3210,  4520,
    2534,  2534,   846,  4036,  3813,  2534,  1250,  1293,  1416,  2800,
    4348,  2915,    50,  1313,  2913,  -987,  1290,  2132,  2657,  4196,
    4108,  1291,  4109,     3,     4,  3485,  2354,  3363,  3193,  3815,
    2115,  3551,   734,   571,  3338,   572,  2362,  3552,  2363,  2122,
    3222,  2916,  4547,  2534,  2534,  2369,  4244,  1322,  3553,  4519,
    2779,  2650,  3812,  2376,  4888,  2041,  3201,  3202,  3203,  1532,
    3204,  3205,  3206,  3207,  3208,  3209,  3210,  4037,  1461,  3675,
    4520,  2141,  1251,  3246,  1316,  -414,  3554,   745,  3555,  4709,
    2780,   632,  3813,  4712,   755,  1292,  1113,  3366,   177,  2657,
     181,  2575,  1412,  1388,   874,    39,  1323,  3814,  4725,  3887,
    2119,    14,  2120,  1437,  3046,  4603,   756,  3815,  1317,  2417,
    4245,  2418,  3272,  2419,  2781,  2420,   770,  2421,  2471,    34,
    4736,  2422,  3292,  2872,  1293,  2030,  3292,  2918,    43,  4405,
    1324,  3817,  3816,    19,    34,  2031,  2009,  1438,  1318,  2464,
     177,  2461,   181,  2462,  2463,  1469,  2141,  3125,   874,  2519,
    3617,  4441,  2032,  3621,  3556,   807,  1516,  2919,  2121,  3382,
    1325,  3343, -1462,  2455,   805,  3642, -1498,  2707,    47,  2185,
    2010, -1498,  2444,  1060, -1462,  3888,  2760,  2507,  2508, -1462,
    2580,    48,  2581,  4573,  2523,  2524,   875,   828,  2775,  1326,
    4663,  1327,  1070,  1072,  1074,  2273,  1964,  1076,  1077,  1078,
    2011,  4660,    49,  3887,   632,  2582,   969,  1083,  2782,  3817,
    2142,  3557,  1627,  2563,  4574,  2578,  3558,    50, -2058,  2493,
     873,  4346,  -153, -1462,    14,  2805,   827,   876,  2470,  3064,
    3889,  2377,  3890,  1965,  4478, -1498,  4480,  2143,  1439,  1328,
     875,  4811,  2643, -1462,  2199,  4692,  2874,  4367,  -153,  1259,
    4325,  4251,  4252,  1260,  3559,  4326,    19,   561,  3685,  4599,
    2144,  4355,  2145,  1415,  2228,   865,  2999,  2920,  3560,   934,
     969,   935,  1599,  1655, -1498,  3451,  2229,   917,   877,  3888,
    3716,   876, -1462,  2711,  1416,  2142,  1966,  2033,  2715,  4442,
   -1462,  1600,  2718,  3113,  1656,    31,  2139,  2921,  3686,  4327,
     952,  2230,   920,  2583,  2756,  3681,  1601,  4411,  2584,  3452,
    3743,   814,  2143,  2585,  4735,   563,  3290,  2226,  2742,   846,
    3304,  3290,    39,  2875,  -520,  3374,  3290,  1415,  1246,  3290,
    1967,   953,   877,  1599,  3889,  2144,  3890,  2145,  1242,  3453,
    3165,  4308,  1599,  4309,  4310,  2412,  1720,  4311,  1416,  1721,
     939,  2227,  1600,  3290,  1850,    43,  3561,  3979,   922,  1829,
    2793,  1600,   925,  3595,  2758,  2759,  3290,  4770,  4519,  4898,
    3885,  2139,  3598,  2770,  2876,  2772,  1603,   933,  3980,  2776,
    2977,  3607,  2666,  1126,    28,  1968,  3194,  1594,  1595,  4520,
    3195,  3196,  3197,  3397,  3248,    47,  3249,   829,   663,   633,
    2671,  2672,  1450,  3307,   830,   831,   832,  2838,    48,   955,
     958,  2685,   177,  2799, -1462,  3417,   947,  3550,    31,  3250,
    3166,  4923,  3024,  3000,  2726,  3167,  2729,  -519,  2877,    49,
    1259,   974, -2038,   968,  1260,  4322,  1451,  4324,   933,  2586,
    1452,  4328,  2884,  4329,   634,    39,  3962,  3754,  2723,  2587,
    3348,  3963,  1945,  1269,  1948,  1946,  1587,  1949,  2016,   956,
    2896,   571,  3073,   572,   663,   957,  1453,    39,  4161,  1017,
    2634,  2906,  3400,  4838,  2873,  2634, -1462,  3257,    43,  2411,
    2496,  2634,  2412,  2891,  2930,  1025,  3094,   577, -1462, -1522,
   -1522,  2424,   933, -1462,  2425,  3811,  3301,  3302,  3292,  1240,
      43,  3103,  1031,  3292,  3105,  3106,  1026,   969,  3292,  3109,
    3110,  3292,  4759,  3290,  1042,  3865,  3114,  3696,    47,  1051,
    2878,  1587,  3251,  2016,  3907,  3917,  3922,  3252,  2937,  1055,
     646,    48,  2786,   218,  1587,  3292,  1314, -1462,   546,  2951,
      47,  2426,  3447,  1734,  2425,    50,   630,  2960,  3292,  2962,
    3656,  3657,    49,    48,  1086,  2964,  2458, -1462,  2656,  2459,
    3001,  2657,  2179,  2797,   708,  3812,  2798,    50,  3701,  1090,
    3143,  3935,  2141,  1094,    49,  3290, -2409,  3567,  4610,  2141,
    1103,  2864,  3153,  2496,  2865,  2974,  1097,  1100,  2975,    50,
   -1231,  3155, -1231,  1102,  2978,  3813, -1462,  2979,  4919,  4865,
      28,  1110,  3161,  3002, -1462,  3071,  1104,  1111,  2412,  1675,
    3814,   663,  1677,  1112,  1679,  2131,  1681,   969,  1683,   663,
    3815,   663,  1687,  3856,  1113,  3117,  3352,  3353,  2425,  3036,
    2879,  3164,  4091,  3173,  2412,  3200,  2412,  1114,  2880,  3180,
    3373,  2881,  2412,  2954,  4527,  3816,  2132,  3181,  1115,  3316,
    2412,  2954,  1352,  3253,  3182,  1116,  2847,  2412,  3931,  2954,
    2344,  2954,  2345,  3254,  1119,  2534,  2534,  2534,  2534,  1120,
    2225,  2534,  2534,  2534,  2534,  2534,  2534,  2534,  2534,  2534,
    2534,  2534,  1587,    39,  2016,  1353,  3718,  3097,  1122,  3099,
    3039,  2180,  3040,  2181,  3214,  3292,  3273,  2412,  3274,  3752,
    3227,  4886,  3232,  2412,  3434,  3233,  4568,  3435,  3275,  3017,
    3276,  2142,  3882,  3883,  3130,  1245,    43,  4029,  2142,  4030,
    3154,  3748,  3817,  3699,  3439,  1248,  3158,  3440, -1462,  2534,
    2534,  4908,  3629,  3052,  1253,  3630,  3144,  4079,  2143,  3047,
    3654,  4385,  1354,  2412,  3130,  2143,  1252,   968,  4015,  3035,
     177,  3290,  3749,  1254,  1270,  3750,    47,  3292,  3015,  1258,
    1423,  2144, -1461,  2145,  1277,  3540,  4835,  3791,  2144,    48,
    2145,  4924,  3466,  4925, -1461,  1355,  3290,  3759,  3583, -1461,
    3760,  2141,  3476,  3771,  3854,  3859,  2412,  3855,  3860,  1259,
      49,    39,  1280,  1260,  1278,  3163,  2141,  2139,  1288,  4938,
    3079,  3081,  1280,  3864,  2139,  4866,  2706,  1281,  1424,  3090,
    1356,   968,  3201,  3202,  3203,  1304,  3204,  3205,  3206,  3207,
    3208,  3209,  3210, -1461,    43,  1303,   835,   836,   837,  1308,
     838,   839,   840,   841,   842,   843,   844,  3886,   846,  1314,
    2425,  2556,  1357, -1461,  2559,  1349,  4070,  3369,   969,  2425,
     969,  1344,  4121,  4139,  3903,  1712,  2412, -2316,  3086,  3088,
    3089,  4115,  4116,  4117,    47,  1371,  3689,  2377,  3375,  3702,
    3293,  3568,   663,  3570,  1280,   758, -1450,    48,  1373,  2789,
    4166,  4595, -1461,  2459,  1287,  3387,  1289, -1499,  4178,  1425,
   -1461,  2412, -1499,  4229,  2859,  1482,  2706,  4235,    49,  4241,
    4236,  3576,  2425,  3579,  4242,  1375,  2141,  2425,    34,  1376,
    2099,  3317,  1360,    50,   753,  4195,  1407,  4198,   969,  1361,
    2142,  1409,  3421,  3293,  3423,  4315,  1362,  4369,  4316,  4416,
    4370,  1410,  4417,  3292,  2100,  2142,   759,  1426,  1412,  1427,
    3290,  3635,  1411,  1414,  1419, -2316,  1364,  2143,  1422,  2187,
    4418,  3827,  1445,  2412,  1365,  1773, -1499,  4426,  3292,   753,
    2459,  4498,  2143,  2141,  4499,  4569,  4596,  1446,  2425,  4597,
    2144,  1458,  2145,  1467,  3459,  4367,  3461,  4612,  1429,  3349,
    2459,  3832,  3833,  3834,  1468,  2144,  4620,  2145,  4625,  4621,
    1472,  2657,  1477, -2316,  4631, -1499,  4633,  3605,  4645,  3605,
    1773,  4646,  1478,   760,  3480, -2316,  2139,  1483,  1366,  4686,
   -2316,  1485,  4687,  4708, -1461, -2316,  1828,  2578,  1431,  1487,
   -2316,  2139,  3371, -2316,  2534,  4727, -2316,  1494,  4646,  4737,
    3503,  1490,  2459,  1495,  3266,  3504,  3510,  4738,  1501,  1502,
    3233,  3278,  3279,  3280,  4739,  2142,  4749,  2412,   968,  2657,
    3284,  3695,  4752,  4774, -2316,  3605,  2459,  1433, -2318,  4780,
    3518,  3486,  2459,  1505,  3378,   753,  3379,  3380,  3381,  1941,
    1508,  1510,  2143,  2141, -2316,  4781,  2141,  3308,  2459,   663,
    2464,   177,  2461,   181,  2462,  2463,  4796,  1513,  4827,  4797,
    4542,  2657,  1520,  4828,  1525,  2144,  2412,  2145,  2496,  1523,
    1534,  4829,  2142,  3284,  2412,  1352,   752,  4831,  1536,  4882,
    2412,  2141,  3605, -2316,  4885, -2316,  4907,  4639,  1537,  4646,
    4000, -2316,  3292,  4921,  1516,  3443,  4922,   761,  -173,  2143,
    1539,  2139,  1541,  1126,  1553,  1555,  3194,  3462,  1353,  1562,
    3195,  3196,  3197,  1564,  4947,  1568, -2318,  4922,   203,  2805,
    1575,  1580,  2144,  1581,  2145,  1582,  1583,  3768,   968,  4296,
    4297,  1587,  4299,  1590,  1607,  1591,  1593,  1623,  1624,  1626,
   -2316,  3514,  1627,  4101,  3908,  3652,  1634,  2061,  1637,  1638,
    3653,  1639,  1640,  1641,  1642, -2332,  1644,  1649,  2139,  1650,
    1651,  1652,  1664,  1654, -2318,  1354,  1659,  1717,  1722,  1724,
    1689,  1731,  3663,  3664, -1652,  3666, -2318,  3668,  3669,  3936,
    2062, -2318,  2142,  1725,  3515,  2142, -2318,  1732, -1659,   677,
    3676, -2318,  3317,  2063, -2318,  1741,  4160, -2318,  1355,  3317,
    1739,  1740,  1742,  1743,    50,  1745,  1746,  2064,  1747,  2143,
    3437,  4385,  2143, -1649, -1650, -2316,  4149,  1748,  1749,  1750,
    2142,  3519,  1752,  1753,  1754, -2318,  1755, -1653,  3697,  1756,
   -1651,  1757,  2144,  1356,  2145,  2144,  1758,  2145,  1759, -2316,
    1761, -2316, -2316, -2332,  1762, -2318,  2065,  2143,  1763,  1764,
    1765,  1814,  3473,  3710,  1766,  1767,  1768,  2066,  1816,  1818,
    1844,  1819,  1828,  1377,  1832,  1357,  1853,  1953,  2139,  1378,
    2144,  2139,  2145,  1291,  1982,  3720, -2316,  2067,  1984, -2316,
   -2316, -2316,  2068,  1993, -2318,  1293, -2318,  2012,  2013,  2014,
    2016, -2332, -2318,  1358,  2017,  2018,  3199,  2019,  2020,  2021,
    3506,  3744,  2022, -2332,  2028,  2047,  2139,  2053, -2332,  1379,
    2059,  2081,  2085, -2332,  2088,  2087,  2089,  2090, -2332,  2091,
    2107, -2332,  2954,  2106, -2332,  2108,  2118,  1359,  2129,  2954,
    2954,    34,  2133,  2954,  2135,  1360,  1715,   814,  2138,  2136,
    2954, -2318,  1361,  2137,  2139,  2147,  2150,  3542,  2152,  1362,
    2156,  2069, -2332,  2220,  3542,  3200,  2148,  1363,  2151,   968,
    1380,   968,  2165,  4118,  2157,  2167,  4319,  1381,  3684,  1364,
    1382,  2175, -2332,  3670,  2171,  3671,  4352,  1365,   663,  3673,
    2182,  1388,  2070,  2211,  2212,   663,  2216,  2172,  2217,  2238,
     677,  2194,  2183,  3698,  2239,  1383,  2189,  2240,  2246,  3603,
    2254,  2255,  2257,  2258,  2190,  2200,  2201,  3580,  2213,  2268,
    2221, -2332,   203, -2332,  2224,  2269, -2318,  2274,  2277, -2332,
    2278,  2281,  2282,   556,  2290,  2305,  1384,  2310,  3634,   968,
    2285,  1366,  2323,  3704,  2326,  2327,  2339,  3624,   177,  2335,
   -2318,  2341, -2318, -2318,  2343,  1439,  2071,  2352,  2347,  4053,
    4054,  2358,  2072,  2360,  2361,  2073,  2384,  2371,  2365,  3651,
     177,  2366,  4058,  2367,  4079,  2372,  2373,  2375, -2332,  2387,
    2386,  2388,  2389,  2406,  2407,  2456,  2437, -2318,  2443,  3655,
   -2318, -2318, -2318,  1385,  2074,  1386,  2501,  2551,  2557,  2473,
    2374,  2075,  1782,  2612,  3293,  1387,  3293,  2571,  2076,  2506,
    2561,  2477,  4015,  1388,  2577,  2077,  2589,  2591,  1310,  2613,
    2627,  2641,  3785,  1389,  2644,  2645,  2658,   677,  2648,  2649,
    1781,   759,  2659,  1782,  2667,  2668,  2669,  1783,  1784,  1785,
    2078,  2680,  3201,  3202,  3203,  2670,  3204,  3205,  3206,  3207,
    3208,  3209,  3210, -2332,  1786,  2686,  4874,  4875,  2478,  2696,
    1391,  1392,  1788,  2695,  2708,  1095,  2698,  1781,  1789,  4219,
    1782,  2730,  2709,  2710,   663,  2741,  2727, -2332,  2732, -2332,
   -2332,  2734,  2735,  2761,  3293,  2746,  2751,  1393,  2752,  2479,
    2757,  2534,  1790,  2754,  2765,  2774,  2773,  2790,  2777,  1788,
    4419,  4624,  2795,  1242,  1246, -2409,  2828,  2809,  2822,  2827,
    2480,  2849,  4624,  2854, -2332,  2855,  2863, -2332, -2332, -2332,
    2883,  2481,  2867,  2868,  2922,  3766,  2866,   753,  2925,  1790,
    2943,  2944,  2936,  2948,  2949,  2955,  2956,  2957,  2959,  2958,
    2947,  2482,  2966,  2963,  3904,   753,  2483,  2973,  2980,  2991,
    1394,  3005,  2968,  3007,  3009,  3016,  4537,  4539,  3022,  3032,
    3030,  3042,  3033,  3044,  3898,  3899,  3900,  3901,  1773,  3045,
    3317,  3049,  4055,  3793,  3794,  3795,  3796,  3025,  3031,  4531,
    3062,  3063,  4945,  4946,  3800,  3065,  3803,  3048,  4682,  3067,
    3066,  3069,  3091,  3245,  2484,  1616,  3072,  1791,  3075,  3076,
    3077,  3093,  1792,  3074,  1377,  4321,  3102,  3078,  3083,  3104,
    1378,  3107,  4217,  3108,  3111,  2485,  3092,  3112,  3119,  3116,
    3120,  3121,  2657,  1793,  1794,  3122,  1660,  3124,  3131,  2474,
    3133,  3134,  3135,  1092, -2409,  3142,  3145,  3150,  1795, -2409,
    3152,  3156,  3157,  3981,  3162,  1781,  3984,  3159,  1782,  4107,
    1379,  3177,  1783,  1784,  1785,  3160,  3175,  4110,  4111,  4112,
    4113,  3176,  3178,  3179,  3183,  3184, -1916,  3186,  3189,  1796,
    3190,  3229,  3213,  3247,  3219, -2409,   203,  1788,  2412,  3242,
    3226,  3264,  1797,  1789,  3240,  1798,  3295,  3241,  3325,  3329,
    4750,  4339,  3269,  4258,  3319,  3323,  3327,  3333,  3346,  3340,
    3255,  1380,  3265,  2486,  3354,  3356,  3357,  1790,  1381,  3267,
    2487,  1382,  3268,  3365,  1781,  3271,  2488,  1782,  3300,  1797,
    3361,  1783,  1784,  1785,  3362,  3542,  3368,  3404,  3377,  3370,
    3393,  3405,  3394,  4033,  3409,  3410,  1383,  3419,  1786,  3420,
    3422,  3428,  3430,  4060,  3429,  3438,  1788,  3470,  2489,  3465,
    4292,  2490,  1789,  3475,  3473,  3469,   663,  3478,   969,  3473,
    3467,  3964,  2534,  1799,  3477,  1715,  4688,  1384,  3961,  2491,
    4452,  3489,  3479,  3490,  3491,  3494,  1790,  4467,  4673,  3487,
    3497,  3499,  4477,  3488,   663,  3492,  4528,  1781,  3493,  3505,
    1782,  3501,  3509,  4614,  2492,  2209,  4670,  3520,  3495,  3496,
   -2409,  3498,  3500,  3502,  2954,  3507,  3511,  3513,  3526,  3527,
    2954,  2954,  1791,  2954,  3529,  2263,  3532,  1792,  3544,  1788,
    3547,  3574,  3575,  3590,  1385, -2409,  1386,  3592,  3581,  3594,
    3596,  3618,  1775,  3604,  3613,  3605,  1387,  3130,  1793,  1794,
    3615,  3619,  3622,  3623,  1388,  4678,  3627,  4680,  3626,  1790,
    3639,  1080,  1081,  1795,  1389,  3650,  1800,  1609,  3665,  1801,
    1802,  1803,  3667,  1804,  1805,  1806,  1807,  1808,  1809,  1810,
    3677,  3688,  2646,  3658,  3678,  3679,  3680,  3659,  2647,  4249,
    3691,  1791,  3690,  3661,  1796,  4250,  1792,  3683,  1390,  3692,
    3700,  1391,  1392, -2409,  3703,  3705,  1734,  1797,  3709,  3194,
    1804,  1805,  1806,  1807,  1808,  1809,  1810,  1793,  1794,  3216,
    4090,  4267,  4268,  3256,  4266,  3215, -1915,  3761,  1393,  3765,
     760,  3773,  1795,  3719,  4086,   177,  3786,  3802,  3824,  3745,
    3746,  3747,  3753,  3293,  4281,  3774,  3792,  3293,  3777,  3826,
    3810,  3829,  3839,  3841,  3849,  3844,  4566,  3843,  4531,  3852,
    3857,  3867,  3873,  1796, -2409,  3894,  4905,  3896,  3910, -2409,
    3897,  3911,  3902,  3909,  3914,  3912,  1797,  3923,  3926,  1798,
    3937,  3953,  3940,   846,  3938,  3939,  3950,  3951,  1799,  3952,
    3954,  1394,  3956,  3955,  4129,  4305,  4306,  4129,  4304,  4129,
    3958,  3959,  3968,  3969,  4742, -2409,  4619,  3976,   663,  3992,
    3994,  3918,  3997,  4004,  4006,  4485,  4751,  4003,  4032,  4007,
    4010,  4753,  4043,  4755,  4048,  4040,  4050,   672,  4905,   674,
    4056,  3641,  2425,   680,  4066,  4064,  4067,  4072,   694,   702,
     672,  4063,   709,  4083,  4084,   702,   702,  4905,   738,  1797,
     741,  4096,  4097,  4099,  4100,  4102,  1126,  1799,  4507,  3194,
    4114,  4123,  4502,  3195,  3196,  3197,  4119,  4126,  4125,  4130,
    4103,   969,  4131,  4105,  4106,  4133,  4141,  4136,  4145,  4151,
    3769,  1800,  4146,  4150,  1801,  1802,  1803,  4152,  1804,  1805,
    1806,  1807,  1808,  1809,  1810,  4154,  4153,  4158,  4016,  4276,
    4390, -1917,  4398,  4174,  4186,  4399,  4400,  4187,  4191,  4192,
    4189,  4286,  4199,  4200,  4204,  4205,  4207,  4208,  4218,  4210,
    4211,  4404,  4232,  3284,  4212,  4228,  4225,  3284,  4230,  4237,
   -2409,  4238,  4246,  4214,  4262,  4216,  4263,  4269,  4270,  4271,
    4017,  4289,  4291,  4892,  4282,  4285,  1715,  4300,  4294,  1781,
    1800,  4295,  1782,  1801,  1802,  1803,  4231,  1804,  1805,  1806,
    1807,  1808,  1809,  1810,  4307,  4018,  4220,   177,  4332,  4298,
    4333,  3185,  4345,  4349,  4350,  4353,  4342,  4340,  4351,  4356,
    4019,  1788,  4359,  4301,  4020,  4371,  4378, -2409,  4380,  4381,
    4382,  4361,   796,   801,   801,   804,  4383,   801,  4391,   810,
    4403,   796,  4396,   738,  4021,  4402,   848,  4022,  4413,  4412,
    4415,  1790,   738,  4420,  4423,   738,  4422,  4431,  4424,   801,
    4023,   738,  4445, -2409,  4465,  4471,  4474,  4479,  4491,  4264,
    1804,  1805,  1806,  1807,  1808,  1809,  1810,  4525,  4425,  4438,
    4495,  4449,  4529,  4469,  4475,   663,  4494,  4509,  4504,  3199,
    4510,  4514,  4536,  4543,  4550,  4552,  4039,  4553,  4555,  4556,
    4571,  4577,  4578,  4557,  4366,  4576,  4279,  4280,  4581,  4598,
    4586,  4283,  4284,  4583,  4587,  3778,  4600,  4615,  4601,  4602,
    4618,  4622,  4627,  4639,  4630,  4635,  3130,  4634,  4637,  4302,
    4303,  4643,  4664,  4662,  4654,  4693,  4698,  4703,  2954,  4024,
    2954,  2954,  4677,  4702,  2954,  4705,  4710,  4025,  3200,   968,
    4716,  4722,  4724,  4323,  4731,  4723, -2409,  4732,  4769,  3293,
    4733, -2409,  4734,  4740,  3293,  4741,  4758,  4748,  4754,  3293,
    4761,  4762,  3293,  4447,  4757,  4764,  4773,  4777,  4671,  4786,
     663,  4787,  4795,  4026,  4800,  4790,  4792,  4801,  4798,  4816,
    4808,  4809,  4810,  4817,  4844,  4848,  3293, -2409,  4825,  4839,
    4789,  4363,  3787,  4837,  4788,  4856,  4855,  4860,  4895,  3293,
    4883,  4916,  1126,  4920,  4927,  3194,   846,  4877,  1443,  3195,
    3196,  3197,  4926,  4930,  4365,   177,  4942,  4917,  4914,  4915,
    4384,  3130,  4939,  3130,  4934,  4940,  4168,  4941,  4943,  4935,
    1282,  1797,  4609,  1418,  1374,  3011,  3310,  2222,  3317,  2853,
    1442,  3416,  4506,  3929,  1715,  2935,  3531,  4012,  4684,   846,
    4129,  1852,  4530,  4785,  4129,  4129,  4580,  4129,  4052,  4486,
    4488,  4488,  4766,  4582,  4337,  1781,  4565,  3359,  1782,  3118,
     969,  4840,  4483,  4890,  4793,  4791,  4854,  3364,  4071,  4087,
    4047,  2989,  3504,  2990,  3927,  3432,  4059,  2981,  4354,  2302,
    3600,  4894,  4944,   814,  4931,  4554,  3548,  1788,  4858,  3545,
    4508,  4779,  4845, -2409,  4511,   679,  4120,  4651,  4649,  1709,
    2701,  4093, -2409,  1719,  3347,  3201,  3202,  3203,  4729,  3204,
    3205,  3206,  3207,  3208,  3209,  3210,  2284,  1790,  2467,  2468,
    3508,  1043,  4868,  2469,  3284,  4933,  1715,  2653,  2652,  3284,
    1715,  1715,  3284,  2416,  3314,   970,  3293,  2027,  1255,  4075,
    4834,  4221,  1824,  4683,  3861,  3315,  3322,  2679,  3324,  4830,
    3840,  4756,  4215,  3326,  2678,  3805,  1978,  1950,  4476,  1979,
    4185,  4197,  4470,  4629,  3801,  4747,  4746,  3862,   883,  4613,
    3660,  3755,  4468,   738,  4832,   796,  4824,  4833,   801,  2617,
     804,  3781,   801,  3542,  3318,  3199,  3262,  2359,  3170,   848,
    3260,  2626,  4592,   944,     0, -2409,  1839,  1831,  3293,  1983,
     801,     0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,
       0,  1988,     0,     0,   663,     0,     0,     0,     0,  4730,
       0,  2954, -2409,   796,     0,     0,     0, -2409,   804,     0,
       0,     0,   968,   796,     0,     0,  4534,   848,  4535,     0,
       0,     0,  4540,  4541,  3200,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   801,     0,     0,     0,     0,     0,
       0,     0,     0, -2409,     0,     0,     0,  1781,     0,     0,
    1782,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  4570,   177,     0,     0,     0,
       0,     0,     0,  1781,     0,     0,  1782,     0,  4655,  1788,
    1783,  1784,  1785,   738,     0, -2409,     0,  1797,  4704,     0,
       0,     0,  4591,   177,     0,     0,   738,  1786,  1109,     0,
       0,     0,     0,     0,     0,  1788,     0,     0,     0,  1790,
       0,  1789,     0,  4679,     0,  4681,     0,     0,  1223,  1223,
       0,   738,   702,     0,     0,     0,   702,     0,   753,     0,
       0,     0,     0,     0,     0,  1790,     0,     0,     0,     0,
     738,     0,     0,     0,   738,     0,     0,   753,     0,     0,
    1223,     0,     0,     0,  3293,     0,     0,     0,  3284,     0,
       0,     0,   738,     0,     0,     0,     0,     0, -2409,  1773,
       0,     0,     0,  3782,   738,     0,     0,     0,     0,  3293,
       0,     0,     0,     0,     0,     0,     0,     0,  1773,  1781,
       0,     0,  1782,   846,     0,     0,     0,     0,     0,     0,
       0,  3201,  3202,  3203,     0,  3204,  3205,  3206,  3207,  3208,
    3209,  3210,     0,     0, -2409,     0,     0,   738,     0, -2409,
       0,  1788,     0,  4685,     0,     0,     0, -2409,     0,     0,
       0,     0,  4887,   738,     0,     0,     0,     0,   801,   801,
    1791,     0,     0,  4488,     0,  1792,     0,     0,     0,  4804,
       0,  1790,     0,     0,     0, -2409,     0,     0,     0,     0,
       0, -2409,     0,     0,   702,   702,  1793,  1794,  1804,  1805,
    1806,  1807,  1808,  1809,  1810,     0,     0,     0,     0,     0,
       0,  1795,     0,     0,     0,     0,     0,     0,     0,   796,
    4717,   177,     0,     0,     0,     0,     0,     0,     0,  1797,
     796,  4799,     0,     0,   848,     0,     0,  4843,     0,     0,
       0,     0,  1796,     0,     0,  4172,     0,     0,     0,   801,
       0,     0,     0,  3130,     0,  1797,     0,     0,  1798,     0,
       0,     0,     0,     0,   738,     0,     0,     0,     0,     0,
       0,   801,   801,  3293,     0,     0,     0,     0,     0,   814,
     814,     0,     0,     0,     0,     0, -2409,     0,   738,   738,
     738, -2409,   801,     0,   796,  1126,     0,     0,  3194,     0,
       0,     0,  3195,  3196,  3197,  4847,     0,     0,     0,     0,
   -2409,   968,     0,     0,  1781,     0,     0,  1782,     0,  4169,
       0,     0,     0,     0,     0,     0,     0, -2409,     0,  1780,
       0,     0,     0,     0,  1781,     0,  1799,  1782,     0,     0,
       0,  1783,  1784,  1785,     0,     0,  1788,     0,     0,     0,
       0,     0, -2409,     0,     0,     0,     0,     0,  1786,     0,
     801,  1787,   801,   801,     0,  4893,  1788,     0,     0,     0,
       0,  1797,  1789,     0,     0,     0,  1790,     0,     0,     0,
       0,     0,     0,     0,     0,  1377,     0,     0,     0,     0,
    1223,  1378,     0,  4937,     0,     0,  1790,     0,     0,     0,
       0,     0,     0, -2409,     0,   814,   814,     0,     0,     0,
    1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,     0,     0,
    1692,  1692,     0,     0,     0,   738,     0,   672,     0,  1800,
       0,  1379,  1801,  1802,  1803,     0,  1804,  1805,  1806,  1807,
    1808,  1809,  1810,  4859,   177,     0,     0,     0,  1723,     0,
    3236,   738, -2409,     0,  1729,     0,     0,  4873,   177,  4870,
     181,  4871,  4872,     0,     0,     0,     0,  1223,  4913,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0, -2409,  1380,     0,  4904,     0, -2409,     0,  3199,  1381,
       0,     0,  1382,     0,     0,     0,  1223,     0,     0,     0,
       0,  1791,     0,     0,     0,     0,  1792,     0,  4873,  4912,
    4870,   181,  4871,  4872,     0,  4903,     0,  1383,     0,     0,
       0,     0, -2409,     0,  1223,  1223,  1223,  1793,  1794,  1223,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1795,     0,     0, -2409,  4904,  3200,  1384,  1223,
       0,     0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,
       0,     0,     0,     0,     0,  4904,  1797,  4873,   177,  4870,
     181,  4871,  4872,  1796,     0,     0,     0,  4903,     0,     0,
       0,     0,     0,     0,     0,     0,  1797,     0,     0,  1798,
       0,   738,     0,     0,  1223,     0,  4903,     0,     0,     0,
       0,     0,     0,     0,     0,  1385,     0,  1386,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1387,     0,     0,
       0,     0,     0,  1223,     0,  1388,     0,  1223,  1223,     0,
       0,     0,     0,     0,     0,  1389,     0,     0,   738,   738,
    1992,     0,     0,     0,     0,     0,     0, -2409,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     702,     0,     0,     0,     0,     0,     0,  1799,     0,  1447,
       0,     0,  1391,  1392,     0,     0,     0,  1781,     0,     0,
    1782,     0,     0,     0,  1783,  1784,  1785,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   702,  1448,
       0,  1786,     0,     0,     0,  2660,     0,     0,     0,  1788,
       0,   738,  2114,     0,     0,  1789,     0,     0,     0,   738,
       0,     0,   801,     0,  3201,  3202,  3203,     0,  3204,  3205,
    3206,  3207,  3208,  3209,  3210,     0,     0,     0,     0,  1790,
   -2409,     0,     0,     0,   848,     0,   738,  1804,  1805,  1806,
    1807,  1808,  1809,  1810,   738,     0,     0,   738,     0,     0,
    1800,     0,  1394,  1801,  1802,  1803,     0,  1804,  1805,  1806,
    1807,  1808,  1809,  1810,     0,     0,     0,     0,     0,     0,
       0,   738,     0,     0,     0,     0,  2661,     0,     0,   801,
     801,   801,   801,   738,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   702,     0,     0,   738,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  2234,     0,
     738,     0,     0,     0,     0,     0,  1781,     0,     0,  1782,
       0,   801,   801, -2409, -2409, -2409,     0,     0,     0,     0,
     801,     0,     0,     0,  1791,     0,     0,     0,     0,  1792,
     801,     0,     0,     0,     0,     0,     0,     0,  1788,     0,
       0,     0,     0,     0,  1789,     0,     0,     0,     0,   738,
    1793,  1794,     0,     0,     0,     0,     0,     0,   801,   801,
     801,   801,     0,     0,     0,  1795,     0,     0,  1790,     0,
     738,     0,     0,     0,     0,     0,     0,   738,     0,     0,
    2234,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     796,     0,     0,     0,     0,     0,  1796,   804,     0,     0,
       0,     0,  1223,     0,     0,     0,     0,     0,     0,  1797,
       0,     0,  1798,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   796,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   848,
       0,     0,     0,   801,     0,     0,   801,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   801,     0,     0,     0,
       0,     0,     0,  1791,   801,   801,     0,     0,  1792,   738,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1799,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1692,     0,     0,     0,     0,     0,
       0,   801,     0,   796,  1795,     0,     0,   738,   738,     0,
     801,     0,     0,     0,     0,     0,     0,   738,     0,     0,
       0,     0,     0,     0,   738,     0,     0,     0,     0,   672,
     672,     0,     0,  2476,     0,  2662,     0,  1223,     0,  1223,
       0,     0,     0,     0,  1223,  1223,     0,     0,  1797,     0,
       0,  1223,  1223,  1223,     0,     0,     0,  1223,   848,  1223,
    1223,  1223,  1223,  1223,  1223,     0,  1223,     0,  1223,  1223,
       0,     0,  1223,  1800,     0,     0,  1801,  1802,  1803,     0,
    1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,  1223,  1223,
    1223,  1223,     0,     0,     0,   801,  1223,     0,     0,     0,
    1223,     0,     0,  1223,     0,     0,  1223,  1223,  1223,  1223,
    1223,  1223,  1223,  1223,  1223,  1223,  -127,  1223,     0,     0,
       0,     0,     0,   738,  1223,     0,  1223,     0,     0,  1799,
       0,     0,     0,   738,     1,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     2,     0,     3,     4,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     5,     0,     0,     0,     0,     0,  3054,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     6,     0,     7,     8,     0,  1352,     0,     0,     9,
       0,    10,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,    11,     0,    12,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1353,
       0,    13,  1800,     0,    14, -2409, -2409, -2409,     0,  1804,
    1805,  1806,  1807,  1808,  1809,  1810,    15,     0,    16,     0,
       0,     0,    17,     0,     0,     0,     0,     0,    18,     0,
     738,     0,   738,     0,  1223,     0,    19,     0,    20,     0,
       0,     0,     0,     0,    21,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1354,     0,     0,    22,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   738,
       0,     0,     0,     0,     0,    23,  2687,     0,  2694,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1355,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   804,     0,  3054,
       0,     0,     0,     0,    24,    25,   672,     0,   672,  3055,
      26,     0,     0,     0,  1356,     0,     0,     0,  1352,     0,
       0,    27,     0,     0,     0,  1223,     0,     0,     0,     0,
       0,     0,    28,     0,     0,     0,   796,     0,   801,   801,
       0,     0,     0,   796,     0,   848,  1357,   801,     0,   801,
       0,  1353,     0,   801,     0,     0,   738,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,    29,     0,     0,     0,   702,     0,     0,     0,     0,
       0,     0,     0,    30,     0,  2114,     0,     0,    31,    32,
       0,    33,  2807,     0,     0,     0,    34,     0,  2817,     0,
       0,    35,     0,     0,    36,     0,     0,   738,  1354,    37,
       0,     0,    34,     0,    38,    39,  1360,     0,     0,     0,
       0,     0,    40,  1361,     0,     0,    41,   738,     0,     0,
    1362,  2861,  2861,     0,     0,     0,    42,     0,  2100,     0,
     804,  1355,     0,     0,   826,     0,     0,     0,    43,     0,
    1364,     0,     0,   857,     0,     0,     0,   801,  1365,     0,
       0,     0,   872,     0,     0,     0,     0,    44,     0,     0,
       0,  3055,     0,     0,     0,     0,  1356,    45,  3057,     0,
       0,     0,  1781,    46,  2924,  1782,  2927,  2929,    47,  1783,
    1784,  1785,     0,     0,     0,     0,     0,     0,     0,     0,
       0,    48,     0,     0,     0,     0,  1786,     0,  1357,  1377,
       0,     0,  1366,   801,  1788,  1378,  3058,  3641,     0,     0,
    1789,   801,    49,   801,     0,     0,     0,     0,     0,   801,
       0,     0,     0,     0,     0,     0,     0,    50,     0,  1781,
    -127,     0,  1782,  1223,  1790,     0,  1783,  1784,  1785,     0,
       0,     0,     0,     0,     0,  1379,     0,  2114,     0,     0,
    2861,     0,   738,  1786,     0,  3012,     0,     0,   672,     0,
       0,  1788,     0,     0,    34,     0,     0,  1789,  3056,     0,
       0,     0,     0,     0,     0,  1361,     0,     0,     0,     0,
    1781,     0,  1362,  1782,  2924,     0,     0,  1783,  1784,  1785,
    2100,  1790,     0,   801,  3038,     0,  1380,     0,     0,     0,
       0,     0,  1364,  1381,  1786,     0,  1382,     0,     0,     0,
    1365,     0,  1788,     0,     0,     0,     0,  1223,  1789,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3057,  1383,  3082,     0,     0,     0,     0,     0,     0,  1791,
       0,     0,  1790,     0,  1792,     0,     0,     0,     0,   801,
       0,   801,  2861,   801,  2861,     0,     0,     0,     0,     0,
       0,     0,  1384,     0,  1366,  1793,  1794,     0,  3058,     0,
       0,     0,     0,     0,     0,     0,     0,  1223,     0,     0,
    1795,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1692,     0,     0,     0,     0,     0,  1791,     0,     0,     0,
       0,  1792,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1796,     0,     0,     0,     0,     0,     0,     0,  1385,
       0,  1386,  1793,  1794,  1797,     0,     0,  1798,     0,     0,
       0,  1387,   738,     0,     0,     0,     0,  1795,     0,  1388,
       0,     0,   796,     0,     0,     0,     0,  1791,   796,  1389,
       0,     0,  1792,     0,     0,     0,     0,     0,     0,   801,
       0,     0,     0,     0,     0,     0,  1223,     0,  1796,     0,
       0,  1223,     0,  1793,  1794,     0,     0,     0,     0,   881,
       0,  1797,     0,  1473,   916,     0,  1391,  1392,  1795,     0,
       0,     0,     0,     0,     0,  1223,  1223,  1223,     0,     0,
    1223,     0,     0,     0,     0,  1799,     0,     0,  1223,  1223,
    1223,  1223,     0,  1474,     0,     0,     0,     0,     0,  1796,
       0,  1223,     0,     0,  1223,     0,  1223,     0,     0,     0,
       0,     0,  1797,     0,     0,  1798,     0,  1377,  1223,  1223,
       0,     0,  1223,  1378,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   848,     0,  1223,     0,  1223,     0,
    1223,     0,  1799,  3054,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1394,     0,     0,     0,
       0,  1223,  1352,  1379,     0,   738,     0,     0,     0,     0,
       0,     0,  3294,     0,  1223,  1223,  1223,     0,  1800,     0,
       0,  1801,  1802,  1803,     0,  1804,  1805,  1806,  1807,  1808,
    1809,  1810,  1223,  1799,     0,  1353,  2560,     0,     0,     0,
       0,     0,     0,     0,  1223,     0,     0,  1107,     0,  1223,
       0,     0,     0,     0,  1380,  1223,     0,     0,     0,     0,
       0,  1381,     0,     0,  1382,  3294,     0,     0,  3332,     0,
       0,  3335,  1230,  2694,     0,  1800,     0,     0,  1801,  1802,
    1803,     0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,  1383,
       0,  1257,  1354,     0,     0,     0,     0,     0,     0,     0,
       0,  1377,     0,     0,     0,     0,     0,  1378,     0,     0,
       0,     0,     0,  1283,     0,  1223,     0,  2861,     0,     0,
    1384,     0,  1692,     0,     0,  1355,  1800,     0,     0,  1801,
    1802,  1803,     0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,
       0,     0,     0,     0,  3546,     0,     0,  1379,   801,     0,
     801,   801,   801,     0,     0,  3055,     0,     0,     0,     0,
    1356,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1385,     0,  1386,
       0,     0,     0,     0,  1404,     0,     0,     0,     0,  1387,
       0,     0,  1357,     0,     0,     0,     0,  1388,  1380,     0,
       0,     0,     0,     0,     0,  1381,     0,  1389,  1382,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1383,     0,     0,     0,     0,     0,     0,
       0,  2082,     0,     0,  1391,  1392,     0,     0,     0,     0,
       0,     0,     0,   738,     0,     0,     0,     0,    34,     0,
       0,     0,  1360,     0,  1384,  1781,     0,     0,  1782,  1361,
       0,  2083,  1783,  1784,  1785,     0,  1362,     0,     0,     0,
       0,     0,     0,     0,  2100,  1527,     0,     0,     0,  1786,
       0,     0,     0,     0,     0,     0,  1364,  1788,     0,     0,
       0,     0,     0,  1789,  1365,     0,     0,     0,     0,  1557,
    1560,  1561,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1385,     0,  1386,  3057,     0,     0,  1790,     0,     0,
       0,     0,     0,  1387,  1394,   801,     0,     0,     0,     0,
       0,  1388,  2861,  2861,     0,     0,     0,     0,     0,     0,
       0,  1389,     0,     0,     0,     0,     0,     0,  1366,     0,
       0,     0,  3058,     0,     0,     0,     0,     0,   586,     0,
       0,     0,     0,     0,   631,     0,   738,   738,     0,     0,
       0,     0,     0,     0,   682,  2153,     0,     0,  1391,  1392,
       0,     0,   738,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   750,   750,     0,     0,  1692,   738,     0,
       0,     0,     0,     0,     0,  2154,  1692,   738,   738,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1791,     0,   738,     0,     0,  1792,     0,     0,
       0,     0,     0,     0,     0,     0,  1230,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1793,  1794,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1230,  1795,     0,     0,     0,     0,  1394,     0,
       0,     0,     0,     0,     0,     0,     0,   801,     0,   801,
       0,     0,     0,   801,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1796,     0,     0,     0,     0,   796,
       0,     0,     0,     0,     0,     0,     0,  1797,     0,   738,
    1798,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   738,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   801,     0,   809,
       0,     0,     0,     0,  1223,     0,     0,   850,     0,     0,
     854,   855,  1223,   858,  1223,     0,   864,     0,   866,     0,
    1223,     0,  1223,     0,     0,  1223,     0,     0,     0,     0,
    1223,  1223,  1223,  1223,     0,     0,  1223,  1223,  1223,  1223,
    1223,  1223,  1223,  1223,  1223,  1223,  1223,     0,  1799,     0,
    1223,  1223,     0,     0,     0,     0,     0,     0,     0,     0,
    1223,     0,  1854,     0,  1223,     0,     0,     0,  1223,     0,
       0,     0,     0,     0,     0,     0,     0,  1223,     0,     0,
    1223,     0,  1223,     0,     0,     0,     0,     0,     0,     0,
       0,  1223,     0,     0,  1223,  1223,     0,     0,     0,  1223,
    1223,     0,     0,     0,  3789,     0,  1223,     0,     0,     0,
    1990,     0,     0,   738,   738,   738,   796,     0,  3294,  3809,
       0,     0,     0,  3809,  3823,     0,     0,     0,     0,     0,
    1223,     0,     0,     0,     0,     0,  1223,  1223,  1223,     0,
       0,  1800,     0,     0,  1801,  1802,  1803,     0,  1804,  1805,
    1806,  1807,  1808,  1809,  1810,     0,     0,     0,     0,  3711,
       0,     0,  1223,     0,     0,     0,  1377,     0,     0,     0,
       0,     0,  1378,  2694,     0,  1223,     0,     0,     0,     0,
       0,     0,  2109,     0,     0,     0,     0,     0,     0,     0,
    2130,     0,     0,     0,     0,     0,  3881,  1692,  1692,     0,
    2234,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1379,     0,     0,     0,     0,  2164,   801,   801,
     801,   801,     0,     0,     0,  2170,     0,     0,  2173,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  3925,     0,     0,
       0,     0,     0,  1380,  2208,     0,     0,     0,     0,     0,
    1381,     0,     0,  1382,     0,     0,     0,     0,  2223,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  2235,     0,     0,     0,     0,     0,     0,  1383,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1781,     0,     0,  1782,     0,     0,     0,  1783,  1784,  1785,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1384,
       0,     0,     0,     0,  1786,     0,     0,     0,  1781,     0,
    2288,  1782,  1788,     0,  3998,  1783,  1784,  1785,  1789,     0,
       0,     0,     0,     0,     0,     0,   919,     0,     0,     0,
       0,  2322,  1786,     0,   927,     0,     0,     0,  2334,     0,
    1788,   940,  1790,     0,   945,   946,  1789,     0,     0,   948,
       0,     0,     0,     0,     0,   738,  1385,   801,  1386,  1223,
     965,     0,     0,     0,     0,   738,     0,     0,  1387,     0,
    1790,  4046,     0,     0,   973,     0,  1388,     0,     0,     0,
    2114,     0,     0,     0,     0,     0,  1389,     0,     0,  1033,
       0,  1037,     0,     0,  1039,  1781,  1041,     0,  1782,  1045,
     738,     0,  1783,  1784,  1785,     0,     0,     0,     0,     0,
    2924,     0,     0,     0,     0,     0,     0,     0,  4080,  1786,
    2802,     0,     0,  1391,  1392,     0,     0,  1788,   738,     0,
       0,     0,  2234,  1789,     0,     0,  1223,  1223,     0,     0,
    2414,     0,     0,     0,     0,     0,     0,  1791,     0,     0,
    1393,     0,  1792,     0,     0,     0,     0,  1790,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1108,     0,     0,
    2861,     0,  2861,  1793,  1794,  1791,     0,     0,  1230,  1230,
    1792,     0,   738,     0,     0,     0,     0,     0,  1795,     0,
       0,     0,     0,     0,     0,  2466,     0,     0,     0,     0,
       0,  1793,  1794,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1223,  1394,     0,     0,  1795,     0,     0,  1796,
       0,     0,   750,     0,  1223,     0,     0,     0,     0,     0,
       0,     0,  1797,     0,     0,  1798,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1796,     0,     0,
       0,     0,     0,     0,     0,  1223,     0,     0,     0,     0,
    1797,     0,  1791,  1798,     0,  1223,  1223,  1792,     0,     0,
       0,     0,     0,  1223,  1223,     0,     0,     0,  1223,     0,
       0,     0,  1343,  1223,     0,     0,  1223,  1223,  1793,  1794,
       0,  1223,  4177,     0,  2625,     0,     0,  1223,   738,   738,
     738,   738,     0,  1795,  2640,  3809,  3823,     0,  3809,     0,
       0,  4188,     0,  1799,     0,  3294,     0,     0,     0,  3294,
       0,     0,     0,     0,     0,  4203,     0,     0,     0,     0,
       0,  1223,     0,     0,  1796,     0,  1223,     0,     0,     0,
       0,  1799,  1223,     0,     0,     0,     0,  1797,  1476,   848,
    1798,     0,     0,     0,     0,     0,     0,  1223,     0,     0,
    3332,     0,     0,  1488,     0,  2694,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1499,     0,  1500,   672,     0,
       0,  1223,     0,  1377,     0,  1503,     0,     0,     0,  1378,
       0,     0,     0,     0,     0,     0,     0,  1518,     0,     0,
    1522,  2861,  2861,     0,     0,     0,  1800,     0,     0,  1801,
    1802,  1803,     0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,
       0,  2651,     0,  2654,  3764,     0,  4265,     0,  1799,  1379,
       0,     0,     0,     0,  1800,  1567,     0,  1801,  1802,  1803,
       0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,     0,
       0,     0,  3848,     0,     0,     0,     0,     0,     0,     0,
    1230,     0,     0,  1223,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1380,   187,     0,   801,     0,     0,     0,  1381,     0,     0,
    1382,     0,     0,     0,     0,     0,     0,   801,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1383,     0,     0,     0,     0,
       0,  1800,     0,     0,  1801,  1802,  1803,   188,  1804,  1805,
    1806,  1807,  1808,  1809,  1810,     0,     0,  1223,     0,  3875,
       0,   189,     0,     0,     0,     0,  1384,     0,   796,     0,
       0,     0,     0,  2114,     0,     0,     0,     0,     0,   190,
       0,  1692,     0,     0,     0,   191,     0,     0,  1781,  1710,
       0,  1782,     0,     0,     0,  1783,  1784,  1785,   801,  3038,
     192,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   193,  1786,     0,     0,     0,     0,     0,     0,   194,
    1788,     0,     0,  1385,     0,  1386,  1789,   738,  2829,     0,
       0,   195,     0,     0,     0,  1387,   196,     0,     0,     0,
       0,     0,   197,  1388,     0,     0,     0,     0,  2856,     0,
    1790,     0,     0,  1389,     0,     0,     0,     0,     0,   198,
       0,     0,     0,     0,     0,     0,  1223,     0,     0,     0,
       0,     0,     0,     0,     0,  1223,     0,     0,     0,     0,
       0,     0,     0,     0,   199,     0,     0,  2899,     0,     0,
    1391,  1392,     0,  1223,  1223,     0,     0,  1223,     0,     0,
       0,     0,     0,     0,     0,   200,     0,     0,     0,     0,
       0,   796,  3809,     0,     0,     0,  3294,  2900,     0,     0,
       0,  3294,     0,     0,  3294,   796,     0,  2924,     0,  4451,
       0,     0,  1223,  1223,     0,     0,   201,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  3881,     0,
       0,     0,     0,  1377,     0,  1791,   202,     0,     0,  1378,
    1792,  3881,   848,   801,   801,   801,   203,     0,     0,     0,
       0,     0,   750,  1952,     0,     0,     0,     0,     0,     0,
    1394,  1793,  1794,  3008,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   204,     0,     0,  1795,     0,   205,  1379,
     206,     0,     0,     0,   796,   848,   207,     0,     0,   208,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1796,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   209,   210,     0,
    1797,   211,     0,  1798,  2080,   212,     0,     0,     0,     0,
    1380,  1692,  1692,     0,   213,   796,     0,  1381,   738,   214,
    1382,     0,     0,     0,     0,     0,     0,     0,  4046,     0,
       0,   215,     0,     0,   738,     0,  2861,     0,     0,     0,
       0,     0,  2114,     0,   216,  1383,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  4080,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  2163,   801,   738,  3881,     0,
       0,     0,     0,     0,     0,     0,  1384,     0,     0,     0,
    1781,  1799,     0,  1782,     0,     0,     0,  1783,  1784,  1785,
       0,     0,     0,     0,     0,     0,     0,  1223,     0,     0,
    1223,     0,  1223,     0,  1786,     0,     0,     0,  1781,     0,
       0,  1782,  1788,     0,     0,  1783,  1784,  1785,  1789,     0,
       0,     0,     0,  3147,     0,     0,  1223,     0,     0,     0,
    3294,     0,  1786,  1385,  4451,  1386,     0,     0,     0,     0,
    1788,  1223,  1790,     0,     0,  1387,  1789,     0,     0,     0,
    4642,     0,     0,  1388,     0,     0,     0,     0,  1781,     0,
    1223,  1782,     0,  1389,     0,  1783,  1784,  1785,     0,     0,
    1790,     0,   801,     0,  1800,     0,   738,  1801,  1802,  1803,
    2280,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,     0,
    1788,     0,  4137,     0,     0,     0,  1789,  2938,     0,  1223,
    1391,  1392,     0,     0,     0,     0,   801,   801,   801,   801,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1790,  1692,     0,     0,     0,  3215,     0,  2939,     0,     0,
    3216,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     796,     0,     0,     0,     0,     0,     0,  1791,     0,     0,
       0,     0,  1792,     0,     0,     0,   738,     0,     0,     0,
       0,  1223,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1793,  1794,  1791,  3277,     0,  2379,     0,
    1792,     0,     0,     0,     0,     0,     0,     0,  1795,     0,
    1394,     0,  2393,     0,     0,  2396,     0,  2398,     0,  2399,
       0,  1793,  1794,  1223,     0,  2401,   796,     0,     0,     0,
       0,     0,     0,     0,     0,  1223,  1795,     0,     0,  1796,
    1223,     0,  1223,     0,  1223,  1791,     0,     0,     0,     0,
    1792,  3881,  1797,     0,     0,  1798,     0,   801,     0,   848,
       0,     0,     0,     0,     0,     0,     0,  1796,     0,  1223,
    1952, -2409, -2409,     0,  1952,     0,  1952,     0,     0,  1952,
    1797,     0,     0,  1798,     0,     0,  1795,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1781,     0,     0,  1782,     0,     0,     0,  1783,
    1784,  1785,     0,     0,     0,   801,     0, -2409,     0,     0,
       0,   796,     0,     0,     0,     0,  1786,     0,     0,     0,
    1797,     0,     0,  1799,  1788,     0,     0,     0,     0,     0,
    1789,     0,     0,     0,     0,     0,     0,     0,  1223,  1223,
       0,     0,     0,  2924,     0,     0,     0,     0,     0,  1223,
       0,  1799,  4642,     0,  1790,     0,  2694,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1781,   796,
       0,  1782,     0,     0,     0,  1783,  1784,  1785,     0,   801,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1786,     0,     0,     0,     0,  2114,     0,     0,
    1788,  1799,     0,     0,     0,  3881,  1789,     0,     0,     0,
       0,   796,   796,  1223,     0,     0,  1800,     0,     0,  1801,
    1802,  1803,     0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,
    1790,     0,  1223,     0,  3464,     0,     0,     0,     0,   801,
       0,     0,     0,     0,  1800,     0,     0,  1801,  1802,  1803,
       0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,  1791,
       0,     0,  4173,     0,  1792,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1793,  1794,     0,     0,     0,
       0,     0,     0,     0,  1800,     0,     0,  1801,  1802,  1803,
    1795,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,     0,
       0,  1223,  1223,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   796,     0,     0,     0,     0,
       0,  1796,     0,     0,     0,  1791,     0,   796,   796,     0,
    1792,     0,     0,     0,  1797,  1377,     0,  1798,     0,     0,
       0,  1378,     0,     0,     0,     0,     0,  3572,  3573,     0,
       0,  1793,  1794,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  3582,     0,     0,  1795,     0,  2712,  2713,
       0,     0,     0,  2716,  2717,     0,     0,     0,  2720,  3599,
       0,  1379,     0,     0,     0,     0,     0,     0,  3608,  3610,
       0,     0,  2731,     0,     0,     0,     0,  1796,     0,  2740,
       0,     0,     0,  2743,  2744,  3628,     0,  2747,  2748,     0,
    1797,     0,     0,  1798,  2753,  1799,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  2769,     0,  2771,     0,
       0,     0,  1380,     0,     0,     0,     0,     0,     0,  1381,
       0,     0,  1382,     0,     0,  2794,     0,     0,  1781,     0,
    2796,  1782,     0,     0,     0,  1783,  1784,  1785,     0,     0,
       0,     0,     0,  2801,     0,     0,     0,  1383,     0,     0,
       0,  2806,  1786,  2808,     0,  2810,  2813,  2815,  1015,     0,
    1788,     0,  2823,  2826,     0,     0,  1789,     0,     0,     0,
       0,  1799,  2839,     0,     0,     0,     0,  2848,  1384,  1015,
       0,     0,  2852,     0,     0,     0,  1230,     0,  1800,     0,
    1790,  1801,  1802,  1803,     0,  1804,  1805,  1806,  1807,  1808,
    1809,  1810,     0,     0,     0,     0,  4410,  2885,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  2892,     0,
    2894,     0,     0,     0,     0,  2897,     0,     0,     0,  2898,
       0,  2902,  2903,  2904,  2905,  1385,  2907,  1386,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1387,     0,  2931,
    2932,  2933,     0,     0,     0,  1388,     0,     0,     0,  2941,
    2942,     0,     0,     0,  1800,  1389,     0,  1801,  1802,  1803,
       0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,     0,
       0,     0,  4421,     0,     0,  1781,     0,     0,  1782,     0,
       0,     0,  1783,  1784,  1785,  1791,     0,     0,     0,  3398,
    1792,     0,  1391,  1392,     0,     0,     0,     0,     0,  1786,
       0,     0,     0,  2984,  3797,  3798,  3799,  1788,     0,     0,
       0,  1793,  1794,  1789,     0,     0,     0,     0,     0,  3399,
       0,     0,     0,     0,     0,     0,  1795,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1790,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1796,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1797,     0,     0,  1798,     0,     0,     0,     0,  1377,     0,
       0,     0,  1394,     0,  1378,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1781,     0,
       0,  1782,     0,     0,     0,  1783,  1784,  1785,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1786,     0,  1379,     0,     0,     0,     0,     0,
    1788,     0,     0,     0,     0,  1015,  1789,     0,     0,     0,
       0,     0,  1791,     0,     0,     0,     0,  1792,     0,     0,
       0,  1799,     0,     0,     0,  1015,     0,     0,  1952,     0,
    1790,     0,     0,     0,  1015,     0,     0,     0,  1793,  1794,
       0,     0,     0,     0,     0,  1380,     0,     0,     0,     0,
       0,     0,  1381,  1795,     0,  1382,     0,     0,     0,     0,
       0,     0,     0,  3148,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1383,     0,     0,     0,  1796,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1797,     0,     0,
    1798,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1015,  1384,     0,     0,  1800,     0,     0,  1801,  1802,  1803,
       0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,     0,
       0,     0,  4430,     0,     0,  1791,     0,     0,     0,     0,
    1792,  1781,     0,     0,  1782,     0,  4031,     0,  1783,  1784,
    1785,     0,     0,     0,     0,     0,  4041,     0,     0,     0,
       0,  1793,  1794,     0,     0,  1786,     0,     0,  1385,     0,
    1386,     0,     0,  1788,     0,     0,  1795,     0,  1799,  1789,
    1387,     0,     0,     0,     0,     0,     0,     0,  1388,     0,
       0,  4062,     0,     0,     0,     0,     0,     0,  1389,     0,
       0,     0,     0,  1790,     0,     0,     0,  1796,     0,     0,
       0,     0,     0,     0,  1015,     0,     0,     0,     0,  2334,
    1797,     0,     0,  1798,     0,     0,     0,     0,     0,     0,
       0,     0,  3445,     0,     0,  1391,  1392,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  3313,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  3446,     0,     0,     0,     0,     0,     0,     0,
       0,  1800,     0,  2414,  1801,  1802,  1803,     0,  1804,  1805,
    1806,  1807,  1808,  1809,  1810,     0,     0,     0,     0,  4433,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1799,     0,     0,  3350,  3351,     0,     0,  1791,     0,
       0,     0,     0,  1792,     0,     0,     0,     0,     0,     0,
       0,     0,  1952,     0,     0,  1394,     0,     0,     0,     0,
       0,     0,     0,   798,  1793,  1794,     0,     0,     0,     0,
       0,     0,   798,   821,     0,     0,     0,  3372,     0,  1795,
     821,     0,     0,     0,     0,     0,  3376,     0,     0,     0,
       0,   821,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  3388,  3390,     0,     0,     0,  3390,     0,     0,
    1796,     0,  3401,  3402,  3403,     0,     0,     0,     0,  4180,
    4181,  4182,  4183,  1797,  1800,     0,  1798,  1801,  1802,  1803,
       0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,     0,
       0,     0,  4481,  3424,  3425,  3426,  3427,     0,     0,     0,
       0,     0,  2008,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1781,     0,     0,
    1782,     0,     0,     0,  1783,  1784,  1785,     0,     0,     0,
    3444,     0,  3448,  3449,  3450,     0,     0,     0,     0,     0,
       0,  1786,  3463,     0,     0,     0,     0,     0,     0,  1788,
       0,     0,     0,     0,  1799,  1789,     0,     0,     0,  1781,
       0,     0,  1782,     0,     0,  2008,  1783,  1784,  1785,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1790,
       0,     0,     0,  1786,     0,     0,     0,     0,     0,     0,
       0,  1788,     0,     0,     0,     0,     0,  1789,     0,     0,
       0,  1015,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  3512,     0,     0,     0,     0,     0,     0,     0,  3516,
       0,  1790,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  3528,     0,
       0,     0,     0,     0,     0,     0,     0,  1800,     0,     0,
    1801,  1802,  1803,     0,  1804,  1805,  1806,  1807,  1808,  1809,
    1810,  3569,     0,     0,     0,  4513,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1015,     0,     0,  1791,     0,     0,     0,     0,  1792,
       0,     0,     0,     0,     0,     0,  1015,     0,     0,     0,
       0,     0,     0,     0,  2008,  3606,     0,     0,     0,  3611,
    1793,  1794,     0,     0,     0,  1015,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1795,  1791,     0,     0,     0,
       0,  1792,     0,     0,     0,     0,     0,     0,  3649,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1793,  1794,     0,     0,  1796,     0,     0,     0,
       0,     0,  1015,     0,     0,     0,     0,  1795,  3662,  1797,
       0,     0,  1798,     0,     0,  1015,   798,     0,  4392,     0,
       0,     0,  3672,     0,     0,     0,  3674,  1015,   821,     0,
       0,     0,     0,   821,     0,     0,     0,  1952,  1796,  1015,
       0,     0,     0,     0,   821,     0,     0,     0,     0,     0,
       0,  1797,     0,     0,  1798,     0,     0,     0,     0,     0,
     821,     0,     0,     0,   798,     0,     0,     0,     0,     0,
    1016,     0,     0,     0,   798,   821,     0,     0,     0,     0,
       0,   821,     0,  1015,     0,     0,  1015,     0,     0,     0,
    1799,  1016,   821,     0,     0,     0,     0,     0,     0,     0,
     821,     0,     0,     0,     0,     0,     0,  1781,     0,     0,
    1782,     0,     0,     0,  1783,  1784,  1785,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1786,  1799,     0,     0,     0,     0,     0,     0,  1788,
       0,     0,     0,     0,     0,  1789,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1790,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   798,
     798,     0,     0,  1800,     0,   821,  1801,  1802,  1803,     0,
    1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,     0,     0,
       0,  4548,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   798,     0,     0,     0,     0,  1015,     0,     0,     0,
       0,     0,     0,     0,     0,  1800,     0,     0,  1801,  1802,
    1803,     0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,
       0,     0,     0,  4782,     0,     0,     0,     0,     0,  4546,
       0,     0,     0,     0,     0,  2638,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1230,     0,     0,     0,     0,
       0,     0,     0,     0,  1791,     0,     0,     0,     0,  1792,
       0,     0,     0,  3892,     0,  3893,     0,     0,     0,     0,
       0,     0,  3895,     0,     0,     0,     0,     0,  4593,     0,
    1793,  1794,     0,     0,     0,     0,     0,     0,     0,  3905,
       0,     0,     0,     0,     0,  1795,     0,     0,     0,     0,
       0,     0,     0,     0,  3913,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  3924,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1796,     0,     0,     0,
     798,     0,     0,  3928,     0,     0,     0,  1016,     0,  1797,
       0,   798,  1798,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1016,     0,     0,
    3957,     0,     0,     0,     0,     0,  1016,     0,     0,     0,
       0,     0,     0,  3965,  3966,  3967,     0,     0,  3970,  3971,
    3972,  3973,  3974,  3975,     0,     0,     0,  4658,  3982,  3983,
       0,  3985,  3986,  3987,  3988,  3989,  3990,  3991,     0,     0,
       0,     0,     0,     0,     0,   798,  3999,     0,  4001,  4002,
       0,     0,  2697,     0,     0,     0,  2008,  2703,     0,     0,
    1799,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1016,     0,     0,     0,     0,     0,  4034,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  4714,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   821,     0,  1015,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1015,     0,     0,     0,     0,     0,   821,     0,     0,
       0,   798,     0,     0,     0,     0,     0,     0,     0,   821,
       0,     0,     0,  1800,     0,     0,  1801,  1802,  1803,     0,
    1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,  1015,     0,
       0,  4803,     0,     0,     0,     0,     0,   821,     0,     0,
       0,     0,     0,     0,     0,  3390,  1016,     0,   821,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   821,     0,     0,   821,     0,     0,     0,
       0,     0,     0,  1952,  1952,  1952,     0,     0,   798,     0,
       0,     0,     0,     0,     0,  4122,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   798,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   798,   798,   798,     0,     0,
     798,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     798,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1015,     0,     0,     0,     0,   821,     0,
       0,     0,     0,     0,     0,  1781,   821,   821,  1782,     0,
       0,     0,  1783,  1784,  1785,   798,  1937,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1786,
       0,     0,     0,     0,     0,     0,     0,  1788,     0,     0,
       0,     0,     0,  1789,   798,     0,     0,     0,   798,   798,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  2008,  1016,     0,     0,  1790,     0,     0,
    1937,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1377,     0,     0,     0,     0,     0,  1378,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  4253,     0,     0,
       0,  4254,  4255,  4256,  4257,     0,     0,  4259,     0,     0,
       0,  1423,     0,     0,     0,     0,     0,  1016,     0,     0,
       0,     0,     0,     0,     0,     0,  1379,     0,     0,  4272,
    4273,  4274,  4275,     0,  4277,  4278,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  4287,  4288,     0,     0,
       0,     0,     0,  1016,     0,     0,     0,     0,     0,  1424,
       0,     0,  1791,     0,  4293,     0,     0,  1792,     0,     0,
       0,  1952,  1952,  1015,  1952,     0,     0,  1380,     0,     0,
       0,     0,     0,  1781,  1381,     0,  1782,  1382,  1793,  1794,
    1783,  1784,  1785,     0,  1015,     0,     0,     0,     0,     0,
       0,     0,     0,  1795,     0,  1015,     0,  1786,     0,     0,
       0,     0,  1383,   821,     0,  1788,     0,     0,     0,     0,
       0,  1789,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1016,  1796,     0,     0,     0,     0,     0,
    1425,     0,     0,  1384,     0,  1790,     0,  1797,  1016,     0,
    1798,     0,     0,     0,     0,     0,  1016,     0,  4358,     0,
       0,     0,  1937,     0,     0,     0,     0,  1016,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  4377,
       0,     0,     0,   821,     0,     0,     0,   821,  1426,     0,
    1427,     0,     0,     0,     0,     0,     0,     0,     0,   821,
    1428,     0,  1386,     0,     0,     0,     0,     0,     0,  4401,
       0,     0,  1387,     0,  1016,     0,     0,     0,     0,     0,
    1388,   798,     0,     0,     0,     0,     0,  1016,  1799,  1429,
    1389,     0,     0,   798,     0,     0,     0,     0,     0,  1016,
       0,     0,     0,  2638,  2638,  2638,     0,     0,     0,     0,
    1791,  1016,     0,     0,     0,  1792,     0,     0,     0,     0,
       0,     0,     0,     0,  1430,     0,     0,  1391,  1392,  1431,
     798,     0,   821,   821,     0,     0,  1793,  1794,     0,     0,
       0,     0,     0,     0,  1952,   821,     0,     0,     0,     0,
       0,  1795,     0,     0,  1432,  1016,     0,     0,  1016,  1952,
     821,   821,     0,     0,     0,     0,     0,     0,  1433,     0,
    2008,     0,   821,  2703,     0,  2703,     0,     0,     0,     0,
    2008,  1800,  1796,     0,  1801,  1802,  1803,     0,  1804,  1805,
    1806,  1807,  1808,  1809,  1810,  1797,     0,     0,  1798,  4918,
       0,     0,     0,     0,   798,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1394,     0,     0,
       0,     0,     0,     0,     0,     0,  4503,     0,     0,     0,
       0,  1015,     0,     0,     0,     0,     0,     0,   798,     0,
     798,     0,     0,     0,  4512,   798,   798,     0,  1015,  4517,
    4518,     0,   798,   798,   798,     0,     0,     0,   798,     0,
     798,   798,   798,   798,   798,   798,     0,   798,     0,   798,
     798,     0,  2008,   798,     0,     0,  1799,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1016,   798,
     798,   798,   798,  1937,     0,     0,     0,   798,     0,     0,
       0,   798,     0,     0,   798,  4567,     0,   798,   798,   798,
     798,   798,   798,   798,   798,   798,   798,     0,   798,     0,
       0,     0,     0,     0,     0,   798,     0,   798,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1015,     0,  1015,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  3390,     0,     0,     0,     0,     0,     0,  4608,   884,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1800,
       0,     0,  1801,  1802,  1803,     0,  1804,  1805,  1806,  1807,
    1808,  1809,  1810,     0,     0,     0,     0,  4936,     0,     0,
       0,     0,   885,  1952,     0,     0,     0,     0,  1015,     0,
       0,     0,     0,     0,  1952,   886,   887,     0,     0,     0,
       0,     0,     0,     0,     0,   888,     0,     0,     0,   889,
       0,     0,     0,  1015,     0,     0,  4644,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1781,   890,     0,  1782,
       0,     0,     0,  1783,  1784,  1785,     0,  2703,     0,     0,
    4661,     0,     0,     0,  2703,   798,     0,     0,   891,  4668,
    1786,     0,     0,     0,     0,     0,     0,     0,  1788,   892,
       0,     0,     0,     0,  1789,     0,     0,   893,     0,     0,
    1952,     0,     0,     0,     0,     0,     0,     0,     0,   894,
       0,     0,     0,     0,   895,     0,     0,     0,  1790,     0,
       0,     0,     0,     0,  1016,     0,     0,     0,  1016,  1016,
       0,     0,  1015,     0,     0,     0,     0,   896,   821,     0,
       0,     0,  1937,   821,     0,     0,     0,   821,     0,     0,
    2703,     0,     0,     0,     0,   821,     0,     0,     0,     0,
       0,     0,   897,  1015,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   821,     0,     0,   798,     0,     0,     0,
    3390,     0,     0,   898,     0,     0,     0,   798,     0,     0,
       0,  1016,     0,     0,   798,     0,     0,     0,     0,     0,
       0,     0,  1952,  1016,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   899,   821,     0,     0,     0,     0,
       0,     0,     0,  1791,     0,     0,     0,     0,  1792,     0,
       0,     0,   821,   821,   900,     0,     0,  4771,     0,     0,
    1016,     0,     0,     0,   203,     0,     0,     0,     0,  1793,
    1794,     0,  4783,     0,     0,     0,     0,     0,     0,     0,
       0,  1937,   821,     0,  1795,  1937,  1015,     0,     0,     0,
       0,   901,     0,     0,     0,     0,   902,  4794,   903,     0,
       0,     0,     0,     0,   904,     0,     0,   905,  1015,     0,
       0,     0,     0,   821,     0,  1796,     0,   821,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1797,     0,
       0,  1798,     0,     0,  1015,   821,   906,     0,     0,   907,
       0,     0,     0,   908,     0,     0,   821,     0,     0,     0,
     909,     0,   910,     0,     0,     0,     0,   911,     0,   821,
       0,     0,     0,     0,     0,     0,     0,   821,  4842,  1015,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   912,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  4857,  1781,     0,     0,  1782,     0,     0,
       0,  1783,  1784,  1785,     0,     0,     0,     0,     0,  1799,
       0,     0,     0,     0,   798,  1016,     0,  2638,  1786,     0,
       0,     0,     0,  1937,     0,     0,  1788,     0,     0,     0,
       0,     0,  1789,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1790,     0,     0,     0,
    2008,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1016,     0,     0,     0,   821,
       0,     0,     0,     0,     0,     0,     0,     0,   798,     0,
       0,     0,  1800,     0,     0,  1801,  1802,  1803,     0,  1804,
    1805,  1806,  1807,  1808,  1809,  1810,     0,     0,  3842,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1781,     0,     0,  1782,     0,     0,     0,  1783,
    1784,  1785,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   821,     0,  2703,  1786,     0,   798,  3172,
       0,  1791,     0,     0,  1788,     0,  1792,     0,     0,     0,
    1789,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1793,  1794,   821,
       0,     0,     0,     0,  1790,     0,     0,     0,     0,     0,
       0,     0,  1795,     0,     0,  1016,     0,     0,     0,     0,
       0,   821,     0,     0,     0,     0,     0,     0,     0,   821,
       0,     0,     0,   798,     0,     0,  1016,     0,     0,   798,
       0,     0,     0,  1796,     0,     0,     0,  1016,     0,     0,
       0,     0,     0,     0,     0,     0,  1797,   798,     0,  1798,
       0,     0,   798,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3756,     0,     0,     0,     0,     0,   798,   798,   798,     0,
       0,   798,     0,     0,     0,     0,     0,     0,     0,   798,
     798,   798,   798,     0,     0,  1015,     0,  1937,     0,  1791,
       0,     0,   798,  1937,  1792,   798,     0,   798,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   798,
     798,     0,     0,   798,     0,  1793,  1794,  1799,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   798,     0,   798,
    1795,   798,     0,  3757,  2008,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   798,     0,     0,     0,     0,     0,     0,     0,
       0,  1796,     0,   798,     0,   798,   798,   798,     0,     0,
       0,   822,     0,     0,  1797,     0,     0,  1798,   822,     0,
     821,     0,     0,   798,     0,     0,     0,     0,     0,   822,
       0,     0,     0,     0,     0,   798,     0,     0,     0,     0,
     798,     0,     0,     0,     0,     0,   798,     0,     0,     0,
    1800,     0,     0,  1801,  1802,  1803,   798,  1804,  1805,  1806,
    1807,  1808,  1809,  1810,     0,     0,     0,     0,     0,     0,
       0,     0,  1016,     0,     0,  1016,     0,  1016,  1781,     0,
       0,  1782,  1016,     0,   821,  1783,  1784,  1785,     0,     0,
       0,     0,     0,     0,     0,  1799,     0,     0,     0,     0,
     821,   821,  1786,     0,     0,     0,   798,  1015,     0,     0,
    1788,     0,     0,     0,     0,     0,  1789,     0,  1015,     0,
       0,     0,     0,     0,     0,     0,     0,   821,     0,     0,
     821,     0,     0,  1016,     0,     0,     0,     0,     0,     0,
    1790,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1016,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    2638,     0,     0,     0,  1016,  2638,     0,     0,     0,     0,
       0,  2638,     0,     0,     0,     0,     0,     0,  1800,     0,
       0,  1801,  1802,  1803,     0,  1804,  1805,  1806,  1807,  1808,
    1809,  1810,     0,     0,     0,     0,  1937,  1937,  1937,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  4880,     0,     0,     0,     0,     0,     0,     0,
     821,     0,     0,     0,     0,     0,     0,     0,  1015,  1016,
       0,  1016,   821,     0,     0,  1791,   821,     0,     0,     0,
    1792,     0,     0,     0,     0,     0,   821,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1015,     0,     0,
       0,  1793,  1794,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1795,  1015,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1016,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1796,     0,   821,
       0,     0,     0,     0,     0,  1016,     0,     0,     0,     0,
    1797,     0,     0,  1798,     0,     0,     0,     0,     0,     0,
       0,  1015,     0,     0,     0,     0,     0,     0,     0,  1016,
       0,     0,  4881,     0,     0,  1937,  1016,     0,     0,     0,
       0,   821,     0,   821,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   821,   822,   821,     0,     0,
       0,   822,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   822,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   822,     0,
       0,  1799,     0,     0,  1016,     0,     0,     0,     0,     0,
       0,     0,     0,   822,     0,     0,     0,     0,     0,   822,
       0,   821,  1016,     0,     0,     0,     0,     0,     0,     0,
     822,  4388,     0,  1015,     0,  1016,     0,     0,   822,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1781,     0,
       0,  1782,     0,     0,     0,  1783,  1784,  1785,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1786,     0,     0,     0,     0,     0,   821,  1015,
    1788,     0,     0,     0,     0,     0,  1789,     0,     0,     0,
     798,     0,     0,   821,  1800,     0,     0,  1801,  1802,  1803,
       0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,     0,
    1790,     0,     0,     0,     0,   821,     0,     0,   821,     0,
       0,     0,     0,   822,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   798,     0,     0,  1016,     0,
       0,     0,     0,   798,     0,   798,     0,     0,     0,     0,
       0,   798,     0,   798,     0,     0,   798,     0,     0,     0,
    1016,   798,   798,   798,   798,     0,     0,   798,   798,   798,
     798,   798,   798,   798,   798,   798,   798,   798,     0,     0,
       0,   798,   798,     0,     0,     0,  1016,     0,     0,     0,
       0,   798,     0,     0,     0,   798,     0,  1937,     0,   798,
       0,     0,     0,  2703,     0,     0,     0,     0,   798,     0,
       0,   798,     0,   798,     0,  1791,     0,     0,     0,     0,
    1792,  1016,   798,     0,     0,   798,   798,     0,     0,     0,
     798,   798,     0,     0,     0,     0,     0,   798,     0,     0,
       0,  1793,  1794,     0,     0,     0,     0,   798,     0,   798,
       0,     0,     0,     0,     0,     0,  1795,     0,     0,     0,
       0,   798,     0,     0,     0,     0,     0,   798,   798,   798,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1796,     0,     0,
       0,     0,     0,   798,     0,     0,     0,     0,     0,     0,
    1797,     0,     0,  1798,     0,     0,   798,     0,     0,     0,
       0,     0,  1016,     0,     0,     0,     0,     0,  3187,  2703,
       0,     0,     0,     0,     0,     0,     0,   798,     0,     0,
       0,     0,     0,  1781,     0,     0,  1782,     0,     0,     0,
    1783,  1784,  1785,     0,     0,     0,     0,  1015,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1786,     0,   821,
    3220,     0,     0,     0,     0,  1788,     0,     0,     0,     0,
       0,  1789,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1799,     0,     0,     0,  1015,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1790,     0,     0,     0,     0,
       0,  1937,     0,     0,     0,     0,  1937,  1016,  1937,     0,
    1781,     0,     0,  1782,     0,     0,     0,  1783,  1784,  1785,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1786,   822,     0,     0,     0,  1015,
       0,     0,  1788,  1015,  1015,     0,     0,     0,  1789,     0,
       0,     0,     0,     0,     0,   822,     0,     0,   821,     0,
       0,   821,     0,     0,     0,     0,     0,   822,     0,     0,
       0,     0,  1790,     0,  1800,     0,     0,  1801,  1802,  1803,
       0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,     0,
       0,     0,     0,     0,     0,   822,     0,     0,  1937,     0,
    1791,     0,     0,     0,     0,  1792,   822,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     798,   822,     0,     0,   822,     0,  1793,  1794,     0,     0,
       0,  4388,  1015,     0,     0,     0,     0,     0,     0,     0,
       0,  1795,     0,   821,   821,     0,     0,  1016,     0,     0,
       0,     0,     0,     0,     0,     0,   821,     0,   821,     0,
    3225,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1796,     0,     0,     0,     0,  1791,     0,     0,
       0,     0,  1792,     0,     0,  1797,     0,     0,  1798,     0,
       0,     0,     0,     0,     0,   823,  1016,   798,   798,     0,
       0,     0,   823,  1793,  1794,     0,     0,     0,     0,     0,
       0,     0,     0,   823,     0,     0,     0,     0,  1795,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   822,     0,     0,  1796,
       0,     0,   821,     0,   822,   822,     0,     0,     0,     0,
       0,     0,  1797,     0,  1938,  1798,  1799,     0,     0,     0,
       0,     0,     0,   798,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   798,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   798,     0,  1938,     0,
       0,     0,     0,     0,     0,     0,   798,   798,     0,  1016,
       0,     0,     0,     0,   798,   798,     0,     0,     0,   798,
    1016,     0,     0,  1799,   798,     0,     0,   798,   798,     0,
       0,     0,   798,     0,     0,     0,     0,     0,   798,  1800,
       0,     0,  1801,  1802,  1803,     0,  1804,  1805,  1806,  1807,
    1808,  1809,  1810,     0,     0,     0,   798,     0,     0,     0,
     798,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   798,     0,     0,     0,     0,   798,     0,     0,
       0,     0,     0,   798,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   798,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1800,     0,     0,  1801,
    1802,  1803,   798,  1804,  1805,  1806,  1807,  1808,  1809,  1810,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1016,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   822,     0,     0,     0,     0,     0,   821,     0,     0,
    1937,     0,     0,     0,     0,     0,     0,     0,     0,  1016,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   821,     0,     0,     0,     0,  1016,
       0,     0,     0,     0,     0,     0,   821,     0,     0,     0,
    1938,     0,     0,     0,   798,     0,     0,  1014,     0,  1781,
       0,     0,  1782,     0,   821,     0,  1783,  1784,  1785,     0,
       0,   822,     0,     0,     0,   822,     0,     0,  1014,     0,
       0,     0,     0,  1786,     0,     0,  3231,   822,     0,     0,
     823,  1788,     0,  1016,     0,   823,     0,  1789,     0,     0,
       0,     0,     0,     0,     0,     0,   823,     0,     0,     0,
       0,   821,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1790,   823,     0,     0,     0,     0,     0,   798,     0,
       0,     0,     0,     0,     0,     0,     0,   823,     0,   798,
       0,     0,     0,   823,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   823,     0,     0,     0,     0,     0,
     822,   822,   823,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   822,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   822,   822,
       0,     0,     0,  1016,     0,  1016,     0,     0,     0,     0,
     822,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   821,     0,     0,     0,     0,  1791,     0,     0,     0,
       0,  1792,     0,     0,     0,     0,     0,   798,     0,     0,
       0,  1016,     0,     0,     0,     0,   798,   823,     0,     0,
       0,     0,  1793,  1794,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   798,   798,     0,  1795,   798,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   798,     0,     0,     0,     0,   798,     0,     0,
       0,     0,   798,     0,     0,   798,   798,     0,  1796,     0,
       0,     0,     0,   798,   798,     0,     0,     0,     0,     0,
       0,  1797,     0,     0,  1798,     0,     0,     0,     0,   798,
       0,  1938,     0,     0,     0,     0,   821,     0,   821,     0,
       0,     0,   798,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1014,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1014,  1016,   821,     0,     0,     0,
       0,     0,     0,  1014,     0,   798,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1799,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1937,     0,   821,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   798,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1005,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1014,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1005,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   798,
       0,  1016,     0,     0,     0,  1800,     0,     0,  1801,  1802,
    1803,     0,  1804,  1805,  1806,  1807,  1808,  1809,  1810,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   798,  1016,
       0,   798,     0,   798,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   798,     0,     0,
       0,   798,     0,     0,     0,     0,   822,  1016,     0,     0,
    1938,   822,   798,  1014,     0,   822,     0,     0,     0,   823,
       0,     0,     0,   822,     0,     0,     0,  1377,     0,     0,
       0,   798,     0,  1378,     0,     0,     0,     0,     0,   823,
       0,   822,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   823,     0,     0,     0,  1937,     0,     0,  1423,     0,
       0,  1016,     0,     0,     0,  1016,  1016,     0,     0,     0,
     798,     0,     0,  1379,     0,     0,     0,     0,     0,   823,
       0,     0,     0,   822,     0,     0,     0,     0,     0,     0,
     823,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     822,   822,     0,     0,     0,   823,  1424,     0,   823,     0,
       0,   798,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1380,     0,     0,     0,     0,  1938,
     822,  1381,   798,  1938,  1382,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1016,  1016,     0,     0,     0,  1838,  1383,
       0,   822,     0,     0,     0,   822,     0,     0,     0,     0,
       0,     0,     0,     0,   798,     0,     0,   798,     0,     0,
       0,     0,     0,   822,     0,  1005,   798,  1425,     0,     0,
    1384,   798,     0,   798,   822,   798,     0,     0,     0,     0,
       0,     0,   798,     0,     0,  1005,     0,   822,     0,     0,
       0,     0,     0,     0,  1005,   822,     0,     0,     0,     0,
     798,  1014,     0,     0,     0,     0,     0,     0,  1206,  1206,
     823,     0,     0,     0,     0,  1426,     0,  1427,   823,   823,
       0,   550,     0,   821,     0,     0,     0,  1428,  1939,  1386,
       0,     0,     0,   551,     0,     0,     0,     0,     0,  1387,
    1273,     0,     0,     0,     0,     0,     0,  1388,     0,     0,
       0,  1938,   798,     0,   552,     0,  1429,  1389,     0,     0,
       0,     0,     0,     0,  1014,     0,     0,   553,     0,     0,
    1005,     0,     0,     0,     0,     0,     0,   554,     0,   798,
     798,  -778,  1939,     0,     0,     0,     0,     0,     0,     0,
     798,  2886,     0,     0,  1391,  1392,  1431,     0,   821,   555,
    1014,     0,     0,     0,     0,   556,     0,     0,     0,     0,
     798,     0,     0,     0,     0,     0,     0,   822,     0,     0,
     557,  2887,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   558,     0,     0,     0,  1433,     0,     0,     0,   559,
       0,     0,     0,     0,     0,     0,   798,     0,     0,     0,
       0,   560,   798,   798,   798,     0,     0,     0,   561,     0,
       0,     0,   562,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   798,  1005,     0,     0,     0,     0,  -981,
    1014,   822,     0,     0,  1394,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1014,  1937,     0,     0,     0,
       0,     0,     0,  1014,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1014,     0,   563,   822,     0,     0,
       0,     0,     0,     0,     0,  -520,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   823,     0,     0,     0,   822,
       0,     0,     0,     0,     0,     0,     0,   822,     0,     0,
       0,     0,   798,   798,     0,     0,   564,     0,  1937,   565,
       0,  1014,     0,     0,     0,     0,   798,     0,     0,     0,
       0,     0,     0,     0,  1014,     0,   566,  1937,   798,   798,
       0,     0,     0,     0,  1939,     0,  1014,     0,     0,     0,
       0,     0,     0,     0,     0,  -414,     0,     0,  1014,     0,
       0,     0,     0,     0,     0,   823,     0,     0,     0,   823,
       0,     0,     0,   567,     0,     0,     0,     0,     0,     0,
     568,   823,     0,     0,     0,  1938,  -414,     0,     0,   569,
       0,  1938,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1014,     0,     0,  1014,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  -414,     0,
       0,   570,   571,     0,   572,   573,     0,     0,     0,     0,
       0,     0,     0,     0,   574,     0,     0,     0,     0,   575,
       0,     0,  1005,     0,     0,   576,     0,     0,   577,     0,
       0,   578,     0,     0,   823,   823,     0,     0,     0,     0,
       0,     0,     0,     0,  -414,     0,  1781,   823,     0,  1782,
       0,     0,     0,  1783,  1784,  1785,     0,     0,   822,     0,
       0,     0,   823,   823,     0,     0,     0,  1737,     0,     0,
    1786,     0,     0,     0,   823,     0,     0,     0,  1788,     0,
       0,     0,     0,     0,  1789,  1005,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1751,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1790,     0,
       0,     0,     0,     0,     0,  1014,     0,     0,     0,     0,
       0,  1005,   822,     0,  1769,  1770,  1771,     0,     0,  1774,
       0,     0,     0,     0,     0,     0,     0,     0,   822,   822,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1817,
       0,   598,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   599,     0,   822,     0,     0,   822,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   600,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1855,  1939,     0,   601,     0,     0,
       0,  1005,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   602,     0,  1791,     0,     0,  1005,     0,  1792,     0,
       0,     0,     0,  1959,  1005,     0,     0,  1971,  1974,   603,
       0,     0,     0,     0,     0,  1005,     0,     0,     0,  1793,
    1794,     0,     0,     0,  1938,  1938,  1938,     0,     0,     0,
     604,     0,     0,     0,  1795,     0,     0,     0,     0,     0,
       0,   605,     0,     0,     0,     0,     0,     0,   822,   606,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     822,   607,  1005,     0,   822,  1796,   608,     0,     0,     0,
       0,     0,   609,     0,   822,  1005,     0,     0,  1797,     0,
       0,  1798,     0,     0,     0,     0,     0,  1005,     0,   610,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1005,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1014,     0,     0,     0,  1014,  1014,     0,  1781,     0,
       0,  1782,     0,     0,     0,  1783,  1784,  1785,     0,     0,
       0,     0,     0,     0,     0,   611,     0,   822,     0,     0,
       0,     0,  1786,  1005,     0,  3763,  1005,     0,     0,     0,
    1788,     0,     0,     0,     0,     0,  1789,     0,     0,  1799,
       0,     0,     0,     0,     0,     0,   612,     0,     0,     0,
       0,     0,     0,  1938,     0,     0,     0,   613,  1014,   822,
    1790,   822,     0,     0,     0,     0,   614,     0,  3707,     0,
    1014,     0,     0,   822,     0,   822,   203,     0,     0,     0,
     823,     0,     0,     0,  1939,   823,     0,     0,     0,   823,
       0,     0,     0,     0,     0,     0,     0,   823,     0,     0,
       0,     0,     0,   615,     0,     0,     0,  1014,   616,     0,
     617,     0,     0,     0,     0,   823,   618,     0,     0,   619,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   822,
       0,     0,  1800,     0,     0,  1801,  1802,  1803,     0,  1804,
    1805,  1806,  1807,  1808,  1809,  1810,     0,     0,   620,     0,
       0,   621,     0,     0,     0,   622,  1005,   823,     0,     0,
       0,     0,   623,     0,   624,  1791,     0,     0,     0,   625,
    1792,     0,     0,     0,   823,   823,     0,     0,     0,     0,
       0,   626,     0,     0,     0,     0,   822,     0,     0,     0,
       0,  1793,  1794,     0,   627,     0,     0,     0,     0,     0,
       0,   822,     0,  1939,   823,     0,  1795,  1939,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   822,     0,     0,   822,     0,     0,     0,
       0,     0,     0,     0,     0,   823,     0,  1796,     0,   823,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1797,     0,     0,  1798,     0,     0,     0,   823,     0,     0,
       0,     0,  1014,     0,     0,     0,     0,     0,   823,     0,
       0,  1781,     0,     0,  1782,     0,     0,     0,  1783,  1784,
    1785,   823,     0,     0,     0,     0,     0,     0,     0,   823,
       0,     0,     0,     0,     0,  1786,     0,     0,     0,     0,
       0,     0,     0,  1788,     0,  1938,     0,     0,     0,  1789,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1799,  1014,  1790,  2504,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1939,     0,  2525,     0,  2527,
       0,     0,  2539,  2542,  2547,     0,     0,     0,     0,  2553,
       0,     0,  2558,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1005,     0,     0,     0,  1005,  1005,  2566,  2567,
    2568,  2569,     0,     0,     0,     0,  2576,     0,     0,     0,
    2588,     0,     0,  2590,     0,     0,  2597,  2598,  2599,  2600,
    2601,  2602,  2603,  2604,  2605,  2606,     0,  2607,     0,  1007,
       0,   823,     0,     0,  1206,     0,  2635,     0,     0,     0,
       0,     0,     0,     0,  1800,     0,     0,  1801,  1802,  1803,
    1007,  1804,  1805,  1806,  1807,  1808,  1809,  1810,  1791,  1005,
       0,     0,     0,  1792,     0,     0,     0,     0,     0,     0,
       0,  1005,  1014,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1793,  1794,     0,   822,     0,     0,
       0,     0,     0,  1014,     0,   823,     0,     0,  1008,  1795,
       0,     0,     0,     0,  1014,     0,     0,     0,  1005,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1008,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1938,
    1796,   823,     0,     0,  1938,     0,  1938,     0,     0,     0,
       0,     0,     0,  1797,     0,     0,  1798,     0,     0,     0,
       0,     0,     0,   823,     0,     0,     0,     0,     0,     0,
       0,   823,     0,     0,  1273,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   822,     0,     0,   822,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1799,     0,  1938,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1939,
       0,     0,     0,     0,     0,  1939,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1005,     0,  2745,     0,     0,     0,     0,
       0,   822,   822,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   822,     0,   822,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1014,
       0,     0,  1014,     0,  1014,     0,  1007,  1800,     0,  1014,
    1801,  1802,  1803,     0,  1804,  1805,  1806,  1807,  1808,  1809,
    1810,     0,   823,  1005,     0,     0,  1007,     0,     0,     0,
       0,     0,     0,     0,     0,  1007,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1014,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     822,     0,     0,     0,     0,  1008,     0,  1014,     0,     0,
       0,     0,     0,     0,     0,     0,   823,     0,     0,     0,
       0,     0,     0,     0,     0,  1008,     0,     0,     0,     0,
       0,  1014,   823,   823,  1008,     0,     0,     0,     0,     0,
       0,  1007,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   823,
       0,     0,   823,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1005,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1005,     0,  1014,     0,  1014,     0,
       0,     0,     0,  2976,     0,  1005,     0,     0,     0,     0,
    1008,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1939,  1939,
    1939,     0,     0,     0,     0,  1007,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1014,     0,     0,
       0,     0,   823,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   823,     0,     0,     0,   823,     0,
       0,     0,  1014,     0,     0,     0,     0,     0,   823,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1014,     0,     0,     0,
       0,     0,     0,  1014,  1008,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   822,     0,     0,  1938,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  3115,     0,     0,
       0,   823,   822,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   822,     0,     0,     0,     0,     0,
       0,  1014,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   822,     0,     0,     0,     0,  1939,     0,  1014,
       0,     0,     0,   823,     0,   823,     0,     0,     0,     0,
       0,     0,  1014,     0,     0,     0,     0,   823,     0,   823,
    1005,     0,     0,  1005,     0,  1005,     0,     0,     0,     0,
    1005,     0,     0,     0,     0,     0,     0,     0,     0,   822,
       0,     0,     0,     0,     0,     0,  3168,     0,     0,     0,
       0,  3174,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1007,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   823,     0,     0,     0,  1774,     0,     0,
       0,  1005,     0,     0,     0,     0,     0,     0,  2547,     0,
    2547,  2547,     0,     0,     0,     0,     0,     0,  1005,     0,
       0,  3234,     0,     0,  3237,     0,  3239,     0,     0,     0,
       0,     0,     0,     0,     0,  1014,     0,     0,     0,     0,
       0,     0,  1005,     0,     0,     0,  1007,     0,     0,     0,
     823,     0,  1008,     0,     0,     0,  3258,  1014,  3261,     0,
    3263,     0,     0,     0,     0,   823,     0,     0,     0,   822,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1007,  1014,     0,     0,     0,   823,     0,     0,
     823,     0,     0,     0,  2635,  2635,  2635,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1005,     0,  1005,
       0,     0,  3311,     0,     0,  1008,     0,     0,  1014,     0,
       0,     0,     0,     0,  1959,     0,     0,     0,     0,  3321,
       0,     0,     0,     0,     0,  1974,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1008,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1007,     0,     0,     0,     0,     0,  1005,  1939,
       0,     0,     0,     0,   822,     0,   822,  1007,     0,     0,
       0,     0,     0,     0,     0,  1007,     0,     0,     0,     0,
       0,     0,     0,  1005,     0,  3358,  1007,  1010,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1014,
       0,     0,     0,     0,   822,     0,     0,  1005,  1010,     0,
       0,     0,     0,     0,  1005,     0,     0,     0,     0,     0,
       0,  1008,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1007,     0,     0,  1008,     0,     0,     0,
       0,     0,     0,     0,  1008,     0,  1007,     0,     0,     0,
    1938,     0,   822,     0,     0,  1008,     0,     0,  1007,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1007,     0,  1005,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1005,     0,     0,     0,  1014,     0,     0,     0,     0,     0,
       0,     0,  1008,  1005,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1007,  1008,     0,  1007,     0,     0,
       0,   823,     0,     0,     0,     0,     0,  1008,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1008,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1939,     0,     0,     0,     0,  1939,     0,
    1939,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1008,     0,     0,  1008,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1005,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1011,     0,     0,
     823,     0,     0,   823,     0,     0,     0,     0,  1005,     0,
       0,     0,     0,  1938,  1014,     0,     0,     0,  1011,     0,
       0,     0,     0,     0,     0,     0,     0,  1007,     0,     0,
       0,     0,     0,     0,  1005,     0,     0,     0,     0,     0,
    1939,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1010,     0,     0,     0,     0,     0,
       0,     0,     0,  1014,     0,     0,     0,     0,     0,  1005,
       0,     0,     0,     0,  1010,     0,     0,     0,     0,     0,
       0,     0,     0,  1010,     0,   823,   823,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1008,     0,   823,     0,
     823,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1010,
    1005,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   823,     0,  1014,     0,     0,     0,
       0,   822,     0,     0,  3708,     0,     0,  1014,     0,     0,
       0,     0,  3712,     0,  3713,     0,     0,     0,     0,     0,
    3714,     0,  3715,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1007,     0,     0,     0,  1007,  1007,     0,
    3740,  3741,     0,     0,     0,  1005,     0,     0,     0,     0,
       0,     0,     0,  1010,     0,     0,     0,     0,  2553,     0,
       0,     0,     0,     0,     0,     0,   822,  3767,     0,     0,
    3770,     0,  3772,     0,  1011,     0,     0,     0,     0,     0,
       0,  3776,     0,     0,     0,     0,     0,     0,     0,  3783,
    3784,     0,     0,     0,  1011,     0,     0,     0,     0,     0,
    1007,     0,  1008,  1011,     0,     0,  1008,  1008,     0,     0,
       0,     0,  1007,     0,     0,     0,     0,  1014,     0,     0,
    3828,     0,     0,     0,     0,     0,  3835,  3836,  2635,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1014,     0,     0,  1007,
       0,     0,  3851,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1013,  1938,  1273,  1014,     0,     0,  1008,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1011,
       0,  1008,     0,     0,  1013,  1005,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   823,
       0,     0,  1939,     0,     0,     0,     0,     0,  1008,     0,
    1014,     0,     0,     0,     0,     0,  1938,     0,     0,     0,
       0,     0,     0,     0,  1005,     0,   823,     0,     0,     0,
       0,     0,     0,     0,     0,  1938,     0,     0,   823,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1010,     0,     0,     0,     0,   823,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1011,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1007,     0,     0,     0,     0,     0,
       0,     0,     0,   823,     0,     0,     0,     0,     0,     0,
       0,     0,  1014,     0,  1010,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1010,     0,     0,     0,     0,     0,     0,  1005,  1014,     0,
       0,     0,     0,  1008,  1007,     0,     0,     0,  1005,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   823,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1010,     0,     0,  1008,     0,     0,     0,     0,     0,     0,
    1013,     0,     0,     0,     0,  1010,  4094,  4095,     0,     0,
       0,     0,     0,  1010,     0,     0,     0,     0,     0,     0,
    1013,     0,     0,     0,  1010,     0,     0,     0,     0,  1013,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1011,  1014,     0,  1007,     0,     0,     0,  1005,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1007,     0,     0,     0,     0,
       0,  1010,     0,     0,     0,     0,  1007,  1005,   823,     0,
     823,     0,  4135,     0,  1010,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  4140,     0,  1010,  1005,     0,     0,
       0,     0,     0,     0,  1011,  1013,     0,     0,  1010,     0,
       0,     0,     0,  1008,     0,     0,     0,     0,   823,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1008,  4155,  4157,     0,     0,     0,
    1011,     0,     0,  4162,  4163,  1008,     0,     0,  4164,     0,
       0,  1005,  1010,  4167,     0,  1010,  4170,  4171,  1014,     0,
       0,  4175,     0,     0,  1939,     0,   823,  4179,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1014,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  2635,     0,     0,     0,     0,  2635,     0,     0,  1013,
       0,     0,  2635,     0,     0,     0,     0,     0,     0,     0,
    1011,     0,     0,     0,  1014,     0,     0,  1206,     0,     0,
       0,     0,     0,     0,     0,  1011,     0,     0,     0,     0,
       0,     0,     0,  1011,     0,     0,     0,     0,     0,     0,
       0,  4234,     0,  1005,  1011,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1014,     0,
       0,  1007,  1014,  1014,  1007,  1010,  1007,     0,     0,     0,
       0,  1007,     0,     0,     0,     0,     0,     0,     0,  1005,
       0,  1011,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1011,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1011,     0,     0,     0,
       0,     0,     0,  4290,     0,     0,     0,     0,  1011,     0,
       0,     0,  1007,     0,     0,     0,     0,  1939,     0,     0,
    1008,     0,     0,  1008,     0,  1008,     0,     0,     0,  1007,
    1008,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1014,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1011,  1007,     0,  1011,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  4335,     0,     0,
       0,  1008,     0,     0,     0,     0,     0,  1013,     0,     0,
       0,     0,     0,  1005,     0,     0,     0,     0,  1008,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1007,     0,
    1007,     0,  1008,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1013,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1010,     0,     0,     0,  1010,  1010,     0,     0,  1007,
       0,     0,     0,     0,     0,  1011,  1013,  1008,     0,  1008,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1007,   823,     0,     0,     0,  1005,
       0,     0,     0,  4427,  4428,     0,     0,  4429,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1007,     0,
       0,     0,     0,     0,     0,  1007,     0,  1005,  1010,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1008,     0,
    1010,     0,  4463,  4464,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1013,     0,     0,     0,
       0,     0,     0,  1008,     0,  1005,     0,     0,     0,     0,
     823,  1013,     0,     0,     0,     0,     0,  1010,     0,  1013,
       0,     0,     0,  1007,     0,     0,     0,  1008,     0,     0,
    1013,     0,     0,     0,  1008,     0,     0,     0,     0,     0,
       0,  1007,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1007,     0,     0,     0,     0,  1005,
       0,     0,     0,  1005,  1005,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1013,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1013,     0,  1008,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1013,     0,     0,     0,     0,     0,  1939,     0,
    1008,     0,     0,     0,  1013,     0,     0,     0,     0,     0,
       0,     0,     0,  1008,     0,     0,     0,     0,     0,     0,
       0,  1011,     0,     0,     0,  1011,  1011,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1005,     0,     0,     0,     0,  1007,  1013,     0,
       0,  1013,     0,     0,     0,     0,     0,     0,     0,     0,
    1939,     0,  1010,     0,     0,     0,     0,     0,     0,  1007,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1939,
    2553,     0,     0,     0,     0,     0,     0,     0,  1011,     0,
       0,     0,     0,     0,     0,  1007,     0,     0,     0,     0,
    1011,     0,     0,     0,     0,     0,  4626,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1008,     0,     0,     0,
       0,  1774,     0,     0,     0,     0,     0,     0,     0,     0,
    1007,     0,  1010,     0,     0,     0,     0,  1011,  1008,     0,
    1273,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1008,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  4676,
       0,  1013,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1008,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1007,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  4715,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1010,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1010,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1010,     0,     0,     0,     0,     0,
    1008,     0,  1011,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  4463,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1007,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  4772,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1011,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1008,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1013,     0,     0,
       0,  1013,  1013,     0,     0,     0,     0,     0,  4821,  4821,
       0,     0,     0,     0,  1812,     0,     0,     0,     0,  4463,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1007,     0,     0,     0,
       0,     0,     0,     0,  1013,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1013,     0,     0,     0,
       0,  1812,  1011,  4821,     0,     0,     0,     0,     0,  1010,
       0,     0,  1010,     0,  1010,     0,     0,     0,     0,  1010,
       0,     0,  4889,  1011,     0,  1007,     0,     0,     0,     0,
       0,     0,     0,  1013,  1011,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1008,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1010,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1010,     0,     0,
       0,     0,     0,     0,  1008,     0,     0,     0,     0,     0,
       0,  4821,  4929,     0,     0,     0,     0,     0,     0,     0,
       0,  1010,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1007,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1007,
       0,     0,     0,     0,     0,     0,  1010,     0,  1010,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1013,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1008,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1010,  1008,  1011,
       0,     0,  1011,     0,  1011,     0,     0,     0,     0,  1011,
       0,     0,     0,     0,     0,     0,     0,     0,  1013,     0,
       0,     0,  1010,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1010,     0,     0,  1007,
       0,     0,     0,  1010,     0,     0,     0,     0,     0,     0,
    1011,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1011,  1007,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1007,     0,
       0,  1011,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1010,     0,     0,     0,     0,     0,     0,  1008,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1010,
       0,     0,     0,     0,     0,     0,     0,     0,  1013,     0,
       0,     0,  1010,     0,     0,     0,     0,  1008,     0,     0,
    1812,     0,  1007,     0,     0,     0,     0,     0,     0,  1013,
       0,     0,     0,     0,     0,     0,  1011,  1008,  1011,     0,
    1013,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1008,     0,     0,     0,  1812,     0,  1011,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1812,
       0,     0,     0,  2535,     0,  1010,     0,     0,     0,     0,
       0,     0,  1011,     0,  1007,     0,     0,  1812,  1812,  1812,
       0,     0,  1812,     0,     0,     0,     0,  1010,     0,     0,
       0,     0,     0,     0,     0,     0,  1011,     0,     0,     0,
       0,     0,     0,  1011,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1010,     0,     0,     0,     0,     0,     0,
    1007,     0,     0,     0,     0,  1812,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1008,     0,     0,     0,     0,  1010,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1011,     0,  1812,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1011,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1008,
       0,     0,  1011,     0,     0,  1013,     0,     0,  1013,     0,
    1013,     0,     0,     0,     0,  1013,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1010,
       0,     0,     0,     0,  1007,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1013,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1812,     0,     0,
       0,     0,     0,  1013,     0,     0,     0,     0,     0,  1812,
       0,     0,  1812,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1011,     0,  1013,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1008,     0,     0,     0,  1011,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1010,     0,     0,     0,     0,     0,
       0,     0,     0,  1011,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1007,     0,  1013,     0,  1013,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1011,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1007,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1013,     0,     0,  1007,     0,     0,  1008,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1013,     0,
       0,     0,     0,     0,     0,     0,     0,  1008,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1011,
       0,     0,  1013,     0,  1010,     0,     0,     0,     0,  1013,
    1007,     0,     0,     0,  1007,  1007,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1008,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1010,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1013,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1008,
       0,     0,     0,  1008,  1008,  1013,     0,     0,     0,     0,
       0,     0,     0,     0,  1011,     0,     0,     0,  1013,     0,
       0,     0,     0,  1007,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1008,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1010,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1010,     0,     0,
       0,  1013,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1013,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1011,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1013,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1011,  1013,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1010,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1812,     0,     0,     0,  1010,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1812,     0,  1812,  1010,     0,  2535,  2535,
       0,  3211,     0,  2535,     0,  1013,     0,  1812,     0,     0,
    1812,     0,     0,     0,     0,  1812,     0,     0,     0,     0,
       0,  1812,     0,     0,     0,     0,  1812,     0,     0,     0,
       0,     0,     0,     0,  1812,  1812,  1812,  1812,     0,     0,
       0,  2535,  2535,     0,  1812,     0,  1011,     0,     0,     0,
    1010,     0,     0,     0,     0,     0,  1812,  1011,  1812,     0,
       0,     0,     0,     0,     0,  1812,  1812,  1812,  1812,  1812,
    1812,  1812,  1812,  1812,  1812,  1812,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1013,     0,     0,  1812,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1010,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1011,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1010,     0,
       0,     0,     0,     0,     0,     0,  1011,     0,     0,     0,
       0,     0,     0,  1812,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1011,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1013,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1011,     0,     0,     0,     0,     0,     0,     0,     0,  1013,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1010,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1011,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1013,     0,     0,     0,     0,     0,  1011,     0,
       0,     0,     0,  1013,     0,     0,     0,     0,  1010,     0,
       0,     0,     0,     0,  1812,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1010,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1010,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1011,  1013,     0,     0,     0,     0,  1010,     0,
       0,     0,  1010,  1010,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1013,  1812,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1013,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1812,     0,     0,     0,
       0,     0,  1812,     0,     0,     0,     0,     0,     0,     0,
       0,  1010,     0,     0,     0,     0,  1013,     0,     0,  3211,
    3211,     0,     0,  2535,  2535,  2535,  2535,     0,  1011,  2535,
    2535,  2535,  2535,  2535,  2535,  2535,  2535,  2535,  2535,  2535,
    3211,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1011,     0,     0,     0,
       0,     0,  1812,     0,     0,  1812,     0,  1812,     0,     0,
       0,  3211,  3211,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1812,  2535,  2535,  1812,
       0,  1812,     0,     0,  1011,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1013,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1812,
       0,     0,     0,     0,     0,     0,     0,     0,  1011,  1812,
       0,     0,  1011,  1011,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1013,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1812,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1011,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1013,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  2535,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1013,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1013,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1013,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1013,     0,     0,     0,  1013,  1013,
       0,     0,     0,     0,     0,     0,  1812,     0,     0,     0,
    1812,  1812,  1812,  1812,     0,     0,     0,     0,     0,  3211,
    3211,  3211,  3211,     0,     0,     0,     0,  3211,  3211,  3211,
    3211,  3211,  3211,  3211,  3211,  3211,  3211,  3211,  1812,  1812,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1812,     0,     0,  1812,     0,
    1812,     0,     0,     0,  1812,     0,     0,  3211,  3211,     0,
       0,  1812,  1812,     0,     0,     0,     0,  1013,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  1812,     0,     0,     0,
       0,     0,     0,  1812,  1812,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1812,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  3211,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1812,  1812,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1812,     0,     0,     0,     0,  1812,  2535,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1812,     0,  1812,     0,     0,     0,     0,
    1812,  1812,  1812,     0,     0,  1812,     0,     0,  1812,  1812,
       0,     0,     0,  1812,     0,     0,     0,  1812,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1812,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1812,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1812,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  3211,
    2535,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,  1812,  1812,  1812,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  1812,  1812,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  3211,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1812,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,  1812,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,  1812,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    1812,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,  1812,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   771,  1123,
     593,  1124,  1125,  1126,   646,  1127,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,  2629,   229,   230,   231,     0,     0,  1812,     0,  1128,
       0,     0,   232,   233,     0,   234,   235,   772,   236,   237,
     238,   239,  1129,   773,  1130,  1131,     0,   243,   244,   245,
     246,   247,  1132,  1133,   248,   249,  1134,  1135,   252,     0,
     253,   254,   255,   256,  1136,     0,  1137,  1812,   258,   259,
     260,   261,   775,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,   776,   271,   272,   273,  1138,  1139,
    1140,  1141,  1142,  1143,  1144,   274,   275,   276,   277,   278,
     279,  1145,  1146,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,  2630,     0,   292,   293,
     986,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,  1147,   308,   309,   310,
    1148,  1149,   312,     0,   313,   314,  1150,   316,     0,   317,
       0,   318,   778,     0,   779,   319,   320,   321,     0,   322,
    1151,     0,  1152,   325,     0,   326,   327,   328,   329,   330,
     780,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,   781,   342,   343,   344,   345,   346,
    1153,  1154,     0,  1155,     0,   350,   782,   783,   351,   784,
     352,   353,   354,   355,   356,     0,     0,   357,  1156,   785,
     359,   786,     0,   360,   361,   362,  1157,  1158,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,  1159,   787,  1160,   380,   381,   382,  1161,
     383,   384,   788,   385,  1162,  1163,   387,  1164,   389,   390,
     391,     0,   392,     0,     0,  1165,   394,   395,     0,     0,
     396,   397,   789,   398,   790,  1166,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,  1167,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,  1168,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,   791,   441,   442,   443,  1169,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
    1170,   458,   459,   460,   461,   462,   792,   463,   464,  1171,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,  1172,     0,   479,   480,     0,   481,   793,
     482,   483,   484,   485,   486,     0,  1173,  1174,     0,     0,
     489,   490,  1175,   492,  1176,  1177,   494,   495,   496,   497,
     498,   499,   500,     0,  1178,   501,   502,   503,   504,   505,
    1179,     0,   506,   507,   508,   509,   510,   511,  1180,  2631,
     513,   794,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,  1181,  1182,
    1183,  1184,  1185,  1186,  1187,  1188,   534,   535,   536,  1189,
       0,     0,     0,     0,     0,     0,  1190,  1191,  2632,     0,
       0,     0,  1193,     0,     0,     0,  1194,  2633,   771,  1123,
     593,  1124,  1125,  1126,   646,  1127,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,  1128,
       0,     0,   232,   233,     0,   234,   235,   772,   236,   237,
     238,   239,  1129,   773,  1130,  1131,     0,   243,   244,   245,
     246,   247,  1132,  1133,   248,   249,  1134,  1135,   252,     0,
     253,   254,   255,   256,  1136,     0,  1137,     0,   258,   259,
     260,   261,   775,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,   776,   271,   272,   273,  1138,  1139,
    1140,  1141,  1142,  1143,  1144,   274,   275,   276,   277,   278,
     279,  1145,  1146,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     986,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,  1147,   308,   309,   310,
    1148,  1149,   312,     0,   313,   314,  1150,   316,     0,   317,
       0,   318,   778,     0,   779,   319,   320,   321,     0,   322,
    1151,     0,  1152,   325,     0,   326,   327,   328,   329,   330,
     780,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,   781,   342,   343,   344,   345,   346,
    1153,  1154,     0,  1155,     0,   350,   782,   783,   351,   784,
     352,   353,   354,   355,   356,     0,     0,   357,  1156,   785,
     359,   786,     0,   360,   361,   362,  1157,  1158,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,  1159,   787,  1160,   380,   381,   382,  1161,
     383,   384,   788,   385,  1162,  1163,   387,  1164,   389,   390,
     391,     0,   392,     0,     0,  1165,   394,   395,     0,     0,
     396,   397,   789,   398,   790,  1166,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,  1167,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,  1168,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,   791,   441,   442,   443,  1169,   445,   446,   447,   448,
     449,   450,   451,   452,    39,   453,   454,   455,   456,   457,
    1170,   458,   459,   460,   461,   462,   792,   463,   464,  1171,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,  1172,     0,   479,   480,    43,   481,   793,
     482,   483,   484,   485,   486,     0,  1173,  1174,     0,     0,
     489,   490,  1175,   492,  1176,  1177,   494,   495,   496,   497,
     498,   499,   500,     0,  1178,   501,   502,   503,   504,   505,
    1179,     0,   506,   507,   508,   509,   510,  1059,  1180,     0,
     513,   794,   514,   515,   516,   517,     0,     0,   518,     0,
      48,   519,   520,   521,   522,   523,   524,   525,  1181,  1182,
    1183,  1184,  1185,  1186,  1187,  1188,   534,   535,   536,  1189,
       0,    49,     0,     0,     0,     0,  1190,  1191,     0,     0,
       0,     0,  1193,     0,     0,     0,  1194,  4638,   771,  1123,
     593,  1124,  1125,  1126,   646,  1127,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,  1128,
       0,     0,   232,   233,     0,   234,   235,   772,   236,   237,
     238,   239,  1129,   773,  1130,  1131,     0,   243,   244,   245,
     246,   247,  1132,  1133,   248,   249,  1134,  1135,   252,     0,
     253,   254,   255,   256,  1136,     0,  1137,     0,   258,   259,
     260,   261,   775,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,   776,   271,   272,   273,  1138,  1139,
    1140,  1141,  1142,  1143,  1144,   274,   275,   276,   277,   278,
     279,  1145,  1146,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     986,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,  1147,   308,   309,   310,
    1148,  1149,   312,     0,   313,   314,  1150,   316,     0,   317,
       0,   318,   778,     0,   779,   319,   320,   321,     0,   322,
    1151,     0,  1152,   325,     0,   326,   327,   328,   329,   330,
     780,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,   781,   342,   343,   344,   345,   346,
    1153,  1154,     0,  1155,     0,   350,   782,   783,   351,   784,
     352,   353,   354,   355,   356,     0,     0,   357,  1156,   785,
     359,   786,     0,   360,   361,   362,  1157,  1158,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,  1159,   787,  1160,   380,   381,   382,  1161,
     383,   384,   788,   385,  1162,  1163,   387,  1164,   389,   390,
     391,     0,   392,     0,     0,  1165,   394,   395,     0,     0,
     396,   397,   789,   398,   790,  1166,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,  1167,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,  1168,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,   791,   441,   442,   443,  1169,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
    1170,   458,   459,   460,   461,   462,   792,   463,   464,  1171,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,  1172,     0,   479,   480,     0,   481,   793,
     482,   483,   484,   485,   486,     0,  1173,  1174,     0,     0,
     489,   490,  1175,   492,  1176,  1177,   494,   495,   496,   497,
     498,   499,   500,     0,  1178,   501,   502,   503,   504,   505,
    1179,     0,   506,   507,   508,   509,   510,   511,  1180,     0,
     513,   794,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,  1181,  1182,
    1183,  1184,  1185,  1186,  1187,  1188,   534,   535,   536,  1189,
       0,     0,     0,     0,     0,     0,  1190,  1191,     0,     0,
       0,     0,  1193,     0,     0,     0,  1194,  2537,   771,  1123,
     593,  1124,  1125,  1126,   646,  1127,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,  1128,
       0,     0,   232,   233,     0,   234,   235,   772,   236,   237,
     238,   239,  1129,   773,  1130,  1131,     0,   243,   244,   245,
     246,   247,  1132,  1133,   248,   249,  1134,  1135,   252,     0,
     253,   254,   255,   256,  1136,     0,  1137,     0,   258,   259,
     260,   261,   775,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,   776,   271,   272,   273,  1138,  1139,
    1140,  1141,  1142,  1143,  1144,   274,   275,   276,   277,   278,
     279,  1145,  1146,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     986,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,  1147,   308,   309,   310,
    1148,  1149,   312,     0,   313,   314,  1150,   316,     0,   317,
       0,   318,   778,     0,   779,   319,   320,   321,     0,   322,
    1151,     0,  1152,   325,     0,   326,   327,   328,   329,   330,
     780,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,   781,   342,   343,   344,   345,   346,
    1153,  1154,     0,  1155,     0,   350,   782,   783,   351,   784,
     352,   353,   354,   355,   356,     0,     0,   357,  1156,   785,
     359,   786,     0,   360,   361,   362,  1157,  1158,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,  1159,   787,  1160,   380,   381,   382,  1161,
     383,   384,   788,   385,  1162,  1163,   387,  1164,   389,   390,
     391,     0,   392,     0,     0,  1165,   394,   395,     0,     0,
     396,   397,   789,   398,   790,  1166,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,  1167,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,  1168,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,   791,   441,   442,   443,  1169,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
    1170,   458,   459,   460,   461,   462,   792,   463,   464,  1171,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,  1172,     0,   479,   480,     0,   481,   793,
     482,   483,   484,   485,   486,     0,  1173,  1174,     0,     0,
     489,   490,  1175,   492,  1176,  1177,   494,   495,   496,   497,
     498,   499,   500,     0,  1178,   501,   502,   503,   504,   505,
    1179,     0,   506,   507,   508,   509,   510,   511,  1180,     0,
     513,   794,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,  1181,  1182,
    1183,  1184,  1185,  1186,  1187,  1188,   534,   535,   536,  1189,
       0,     0,     0,     0,     0,     0,  1190,  1191,     0,     0,
       0,     0,  1193,     0,     0,     0,  1194,  3717,   771,  1123,
     593,  1124,  1125,  1126,   646,  1127,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,  1128,
       0,     0,   232,   233,     0,   234,   235,   772,   236,   237,
     238,   239,  1129,   773,  1130,  1131,     0,   243,   244,   245,
     246,   247,  1132,  1133,   248,   249,  1134,  1135,   252,     0,
     253,   254,   255,   256,  1136,     0,  1137,     0,   258,   259,
     260,   261,   775,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,   776,   271,   272,   273,  1138,  1139,
    1140,  1141,  1142,  1143,  1144,   274,   275,   276,   277,   278,
     279,  1145,  1146,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     986,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,  1147,   308,   309,   310,
    1148,  1149,   312,     0,   313,   314,  1150,   316,     0,   317,
       0,   318,   778,     0,   779,   319,   320,   321,     0,   322,
    1151,     0,  1152,   325,     0,   326,   327,   328,   329,   330,
     780,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,   781,   342,   343,   344,   345,   346,
    1153,  1154,     0,  1155,     0,   350,   782,   783,   351,   784,
     352,   353,   354,   355,   356,     0,     0,   357,  1156,   785,
     359,   786,     0,   360,   361,   362,  1157,  1158,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,  1159,   787,  1160,   380,   381,   382,  1161,
     383,   384,   788,   385,  1162,  1163,   387,  1164,   389,   390,
     391,     0,   392,     0,     0,  1165,   394,   395,     0,     0,
     396,   397,   789,   398,   790,  1166,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,  1167,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,  1168,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,   791,   441,   442,   443,  1169,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
    1170,   458,   459,   460,   461,   462,   792,   463,   464,  1171,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,  1172,     0,   479,   480,     0,   481,   793,
     482,   483,   484,   485,   486,     0,  1173,  1174,     0,     0,
     489,   490,  1175,   492,  1176,  1177,   494,   495,   496,   497,
     498,   499,   500,     0,  1178,   501,   502,   503,   504,   505,
    1179,     0,   506,   507,   508,   509,   510,   511,  1180,     0,
     513,   794,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,  1181,  1182,
    1183,  1184,  1185,  1186,  1187,  1188,   534,   535,   536,  1189,
       0,     0,     0,   219,     0,     0,  1190,  1191,     0,     0,
       0,     0,  1193,     0,     0,     0,  1194,  3790,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,  3806,     0,   232,   233,     0,
     234,   235,     0,   236,   237,   238,   239,   240,     0,   241,
     242,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   250,   251,   252,     0,   253,   254,   255,   256,   257,
       0,     0,     0,   258,   259,   260,   261,     0,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0, -1580,
     271,   272,   273,     0,     0,     0,     0,     0,     0,     0,
     274,   275,   276,   277,   278,   279,   280,   281,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   294,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
     314,   315,   316,     0,   317,     0,   318,     0,     0, -1580,
     319,   320,   321,     0,   322,   323,     0,   324,   325,     0,
     326,   327,   328,   329,   330,     0,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341, -1580,
     342,   343,   344,   345,   346,   347,   348,     0,   349,     0,
     350,     0,     0,   351, -1580,   352,   353,   354,   355,   356,
       0,     0,   357,   358, -1580,   359,     0,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   378, -1580,
     379,   380,   381,   382,     0,   383,   384,     0,   385,     0,
     386,   387,   388,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,   397,     0,   398,     0,
     399,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,   409,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440, -1580,   441,   442,   443,
     444,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,     0,   458,   459,   460,   461,
     462,     0,   463,   464,   465,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
     479,   480,     0,   481,     0,   482,   483,   484,   485,   486,
       0,   487,   488,     0,     0,   489,   490,   491,   492,   493,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,   511,   512,     0,   513,     0,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
     533,   534,   535,   536,     0,     0,     0,     0,   978,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1280,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,   772,   236,   237,
     238,     0,   979,   773,   980,   981,     0,   243,   244,   245,
     246,   247,     0,     0,   248,   249,   982,   983,   252,     0,
     253,   254,   255,   256,     0,     0,   774,     0,   258,   259,
     260,   261,   775,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,   776,   271,   272,   273,     0,     0,
       0,   777,     0,     0,     0,   274,   275,   276,   277,   278,
     279,   984,   985,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     986,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,     0,   308,   309,   310,
       0,     0,   312,     0,   313,   314,   987,   316,     0,   317,
       0,   318,   778,     0,   779,   319,   320,   321,     0,   322,
       0,     0,     0,   325,     0,   326,   327,   328,   329,   330,
     780,   331,   332,   333,   334,  1994,   335,   336,   337,   338,
     339,   340,     0,   341,   781,  1995,   343,   344,   345,   346,
     989,   990,     0,   991,     0,   350,   782,   783,   351,   784,
     352,   353,   354,   355,   356,     0,     0,   357,     0,   785,
     359,   786,     0,   360,   361,   362,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   992,   787,   993,   380,   381,     0,     0,
     383,   384,   788,   385,     0,     0,   387,   994,   389,   390,
     391,     0,   392,     0,     0,   393,   394,   395,     0,     0,
     396,  1997,   789,   398,   790,     0,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,     0,   410,     0,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   995,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,   791,   441,   442,   443,     0,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
       0,   458,   459,  1998,   461,   462,   792,   463,   464,   997,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,     0,     0,   479,   480,     0,   481,   793,
     482,   483,   484,   485,   486,     0,   998,   999,     0,     0,
     489,   490,     0,   492,     0,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
       0,     0,   506,   507,   508,   509,   510,     0,  1000,  1999,
     513,   794,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   978,     0,     0,
       0,     0,     0,     0,     0,     0,   534,   535,   536,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,  2103,     0,     0,
       0,   232,   233,     0,   234,   235,   772,   236,   237,   238,
       0,   979,   773,   980,   981,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   982,   983,   252,     0,   253,
     254,   255,   256,     0,     0,   774,     0,   258,   259,   260,
     261,   775,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,   776,   271,   272,   273,     0,     0,     0,
     777,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     984,   985,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   986,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,     0,   308,   309,   310,     0,
       0,   312,     0,   313,   314,   987,   316,     0,   317,     0,
     318,   778,     0,   779,   319,   320,   321,     0,   322,     0,
       0,     0,   325,     0,   326,   327,   328,   329,   330,   780,
     331,   332,   333,   334,  1994,   335,   336,   337,   338,   339,
     340,     0,   341,   781,  1995,   343,   344,   345,   346,   989,
     990,     0,   991,     0,   350,   782,   783,   351,   784,   352,
     353,   354,   355,   356,     0,     0,   357,     0,   785,   359,
     786,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   992,   787,   993,   380,   381,     0,     0,   383,
     384,   788,   385,     0,     0,   387,   994,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
    1997,   789,   398,   790,     0,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,     0,   410,     0,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     995,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
     791,   441,   442,   443,     0,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,  1998,   461,   462,   792,   463,   464,   997,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,     0,     0,   479,   480,     0,   481,   793,   482,
     483,   484,   485,   486,     0,   998,   999,     0,     0,   489,
     490,     0,   492,     0,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,     0,  1000,  1999,   513,
     794,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   771,  1123,   593,  1124,
    1125,  1126,   646,  1127,     0,   534,   535,   536,     0,     0,
       0,   220,   221,   222,   223,   224,   225,   226,   227,     0,
     229,   230,   231,     0,     0,     0,  3050,  1128,     0,     0,
     232,   233,     0,   234,   235,   772,   236,   237,   238,   239,
    1129,   773,  1130,  1131,     0,   243,   244,   245,   246,   247,
    1132,  1133,   248,   249,  1134,  1135,   252,     0,   253,   254,
     255,   256,  1136,     0,  1137,     0,   258,   259,   260,   261,
     775,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,   776,   271,   272,   273,  1138,  1139,  1140,  1141,
    1142,  1143,  1144,   274,   275,   276,   277,   278,   279,  1145,
    1146,   282,  1272,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   986,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,  1147,   308,   309,   310,  1148,  1149,
     312,     0,   313,   314,  1150,   316,     0,   317,     0,   318,
     778,     0,   779,   319,   320,   321,     0,   322,  1151,     0,
    1152,   325,     0,   326,   327,   328,   329,   330,   780,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,   781,   342,   343,   344,   345,   346,  1153,  1154,
       0,  1155,     0,   350,   782,   783,   351,   784,   352,   353,
     354,   355,   356,     0,     0,   357,  1156,   785,   359,   786,
       0,   360,   361,   362,  1157,  1158,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,  1159,   787,  1160,   380,   381,   382,  1161,   383,   384,
     788,   385,  1162,  1163,   387,  1164,   389,   390,   391,     0,
     392,     0,     0,  1165,   394,   395,     0,     0,   396,   397,
     789,   398,   790,  1166,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,  1167,   410,   411,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,  1168,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,   791,
     441,   442,   443,  1169,   445,   446,   447,   448,   449,   450,
     451,   452,    39,   453,   454,   455,   456,   457,  1170,   458,
     459,   460,   461,   462,   792,   463,   464,  1171,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,  1172,     0,   479,   480,    43,   481,   793,   482,   483,
     484,   485,   486,     0,  1173,  1174,     0,     0,   489,   490,
    1175,   492,  1176,  1177,   494,   495,   496,   497,   498,   499,
     500,     0,  1178,   501,   502,   503,   504,   505,  1179,     0,
     506,   507,   508,   509,   510,  1059,  1180,     0,   513,   794,
     514,   515,   516,   517,     0,     0,   518,     0,    48,   519,
     520,   521,   522,   523,   524,   525,  1181,  1182,  1183,  1184,
    1185,  1186,  1187,  1188,   534,   535,   536,  1189,     0,    49,
       0,     0,     0,     0,  1190,  1191,     0,     0,     0,     0,
    1193,     0,     0,     0,  1194,   771,  1123,   593,  1124,  1125,
    1126,   646,  1127,     0,     0,     0,     0,     0,     0,     0,
     220,   221,   222,   223,   224,   225,   226,   227,     0,   229,
     230,   231,     0,     0,     0,     0,  1128,     0,     0,   232,
     233,     0,   234,   235,   772,   236,   237,   238,   239,  1129,
     773,  1130,  1131,     0,   243,   244,   245,   246,   247,  1132,
    1133,   248,   249,  1134,  1135,   252,     0,   253,   254,   255,
     256,  1136,     0,  1137,     0,   258,   259,   260,   261,   775,
     262,   263,   264,     0,   265,   266,   267,   268,   269,   270,
       0,   776,   271,   272,   273,  1138,  1139,  1140,  1141,  1142,
    1143,  1144,   274,   275,   276,   277,   278,   279,  1145,  1146,
     282,     0,   283,     0,   284,   285,   286,   287,   288,     0,
     289,   290,   291,     0,     0,   292,   293,   986,   295,   296,
       0,   297,   298,   299,     0,   300,   301,   302,     0,   303,
     304,   305,   306,  1147,   308,   309,   310,  1148,  1149,   312,
       0,   313,   314,  1150,   316,     0,   317,     0,   318,   778,
       0,   779,   319,   320,   321,     0,   322,  1151,     0,  1152,
     325,     0,   326,   327,   328,   329,   330,   780,   331,   332,
     333,   334,     0,   335,   336,   337,   338,   339,   340,     0,
     341,   781,   342,   343,   344,   345,   346,  1153,  1154,     0,
    1155,     0,   350,   782,   783,   351,   784,   352,   353,   354,
     355,   356,     0,     0,   357,  1156,   785,   359,   786,     0,
     360,   361,   362,  1157,  1158,   363,   364,   365,   366,   367,
     368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
    1159,   787,  1160,   380,   381,   382,  1161,   383,   384,   788,
     385,  1162,  1163,   387,  1164,   389,   390,   391,     0,   392,
       0,     0,  1165,   394,   395,     0,     0,   396,   397,   789,
     398,   790,  1166,   400,   401,   402,   403,   404,   405,   406,
       0,   407,   408,  1167,   410,   411,   412,   413,   414,     0,
     415,   416,   417,   418,   419,   420,   421,   422,  1168,   424,
     425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
     434,   435,   436,   437,   438,     0,   439,   440,   791,   441,
     442,   443,  1169,   445,   446,   447,   448,   449,   450,   451,
     452,    39,   453,   454,   455,   456,   457,  1170,   458,   459,
     460,   461,   462,   792,   463,   464,  1171,   466,     0,   467,
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
    1172,     0,   479,   480,    43,   481,   793,   482,   483,   484,
     485,   486,     0,  1173,  1174,     0,     0,   489,   490,  1175,
     492,  1176,  1177,   494,   495,   496,   497,   498,   499,   500,
       0,  1178,   501,   502,   503,   504,   505,  1179,     0,   506,
     507,   508,   509,   510,  1059,  1180,     0,   513,   794,   514,
     515,   516,   517,     0,     0,   518,     0,    48,   519,   520,
     521,   522,   523,   524,   525,  1181,  1182,  1183,  1184,  1185,
    1186,  1187,  1188,   534,   535,   536,  1189,     0,    49,     0,
       0,     0,     0,  1190,  1191,     0,     0,     0,     0,  1193,
       0,     0,     0,  1194,   771,  1123,   593,  1124,  1125,  1126,
     646,  1127,     0,     0,     0,     0,     0,     0,     0,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,  1128,     0,     0,   232,   233,
       0,   234,   235,   772,   236,   237,   238,   239,  1129,   773,
    1130,  1131,  2543,   243,   244,   245,   246,   247,  1132,  1133,
     248,   249,  1134,  1135,   252,     0,   253,   254,   255,   256,
    1136,     0,  1137,     0,   258,   259,   260,   261,   775,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
     776,   271,   272,   273,  1138,  1139,  1140,  1141,  1142,  1143,
    1144,   274,   275,   276,   277,   278,   279,  1145,  1146,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   986,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,  1147,   308,   309,   310,  1148,  1149,   312,     0,
     313,   314,  1150,   316,     0,   317,     0,   318,   778,  2544,
     779,   319,   320,   321,     0,   322,  1151,     0,  1152,   325,
       0,   326,   327,   328,   329,   330,   780,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
     781,   342,   343,   344,   345,   346,  1153,  1154,     0,  1155,
       0,   350,   782,   783,   351,   784,   352,   353,   354,   355,
     356,     0,  2545,   357,  1156,   785,   359,   786,     0,   360,
     361,   362,  1157,  1158,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,  1159,
     787,  1160,   380,   381,   382,  1161,   383,   384,   788,   385,
    1162,  1163,   387,  1164,   389,   390,   391,     0,   392,     0,
       0,  1165,   394,   395,     0,     0,   396,   397,   789,   398,
     790,  1166,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,  1167,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,  1168,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,   791,   441,   442,
     443,  1169,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,  1170,   458,   459,   460,
     461,   462,   792,   463,   464,  1171,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,  1172,
       0,   479,   480,     0,   481,   793,   482,   483,   484,   485,
     486,     0,  1173,  1174,     0,  2546,   489,   490,  1175,   492,
    1176,  1177,   494,   495,   496,   497,   498,   499,   500,     0,
    1178,   501,   502,   503,   504,   505,  1179,     0,   506,   507,
     508,   509,   510,   511,  1180,     0,   513,   794,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,  1181,  1182,  1183,  1184,  1185,  1186,
    1187,  1188,   534,   535,   536,  1189,     0,     0,     0,     0,
       0,     0,  1190,  1191,     0,     0,     0,     0,  1193,     0,
       0,     0,  1194,   771,  1123,   593,  1124,  1125,  1126,   646,
    1127,     0,     0,     0,     0,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,  1128,     0,     0,   232,   233,     0,
     234,   235,   772,   236,   237,   238,   239,  1129,   773,  1130,
    1131,     0,   243,   244,   245,   246,   247,  1132,  1133,   248,
     249,  1134,  1135,   252,     0,   253,   254,   255,   256,  1136,
       0,  1137,     0,   258,   259,   260,   261,   775,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,   776,
     271,   272,   273,  1138,  1139,  1140,  1141,  1142,  1143,  1144,
     274,   275,   276,   277,   278,   279,  1145,  1146,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   986,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,  1147,   308,   309,   310,  1148,  1149,   312,     0,   313,
     314,  1150,   316,     0,   317,     0,   318,   778,     0,   779,
     319,   320,   321,     0,   322,  1151,     0,  1152,   325,     0,
     326,   327,   328,   329,   330,   780,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,   781,
     342,   343,   344,   345,   346,  1153,  1154,     0,  1155,     0,
     350,   782,   783,   351,   784,   352,   353,   354,   355,   356,
       0,     0,   357,  1156,   785,   359,   786,     0,   360,   361,
     362,  1157,  1158,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,  1159,   787,
    1160,   380,   381,   382,  1161,   383,   384,   788,   385,  1162,
    1163,   387,  1164,   389,   390,   391,     0,   392,     0,     0,
    1165,   394,   395,     0,     0,   396,   397,   789,   398,   790,
    1166,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,  1167,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,  1168,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,   791,   441,   442,   443,
    1169,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,  1170,   458,   459,   460,   461,
     462,   792,   463,   464,  1171,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,  1172,     0,
     479,   480,     0,   481,   793,   482,   483,   484,   485,   486,
       0,  1173,  1174,     0,     0,   489,   490,  1175,   492,  1176,
    1177,   494,   495,   496,   497,   498,   499,   500,     0,  1178,
     501,   502,   503,   504,   505,  1179,     0,   506,   507,   508,
     509,   510,   511,  1180,     0,   513,   794,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,  1181,  1182,  1183,  1184,  1185,  1186,  1187,
    1188,   534,   535,   536,  1189,     0,     0,     0,     0,     0,
       0,  1190,  1191,     0,     0,     0,     0,  1193,     0,  1734,
    2497,  1194,   771,  1123,   593,  1124,  1125,  1126,   646,  1127,
       0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,  1128,     0,     0,   232,   233,     0,   234,
     235,   772,   236,   237,   238,   239,  1129,   773,  1130,  1131,
       0,   243,   244,   245,   246,   247,  1132,  1133,   248,   249,
    1134,  1135,   252,     0,   253,   254,   255,   256,  1136,     0,
    1137,     0,   258,   259,   260,   261,   775,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,   776,   271,
     272,   273,  1138,  1139,  1140,  1141,  1142,  1143,  1144,   274,
     275,   276,   277,   278,   279,  1145,  1146,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   986,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
    1147,   308,   309,   310,  1148,  1149,   312,     0,   313,   314,
    1150,   316,     0,   317,     0,   318,   778,     0,   779,   319,
     320,   321,     0,   322,  1151,     0,  1152,   325,     0,   326,
     327,   328,   329,   330,   780,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,   781,   342,
     343,   344,   345,   346,  1153,  1154,     0,  1155,     0,   350,
     782,   783,   351,   784,   352,   353,   354,   355,   356,     0,
       0,   357,  1156,   785,   359,   786,     0,   360,   361,   362,
    1157,  1158,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,  1159,   787,  1160,
     380,   381,   382,  1161,   383,   384,   788,   385,  1162,  1163,
     387,  1164,   389,   390,   391,     0,   392,     0,     0,  1165,
     394,   395,     0,     0,   396,   397,   789,   398,   790,  1166,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
    1167,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,  1168,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,   791,   441,   442,   443,  1169,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,  1170,   458,   459,   460,   461,   462,
     792,   463,   464,  1171,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,  1172,     0,   479,
     480,     0,   481,   793,   482,   483,   484,   485,   486,     0,
    1173,  1174,     0,     0,   489,   490,  1175,   492,  1176,  1177,
     494,   495,   496,   497,   498,   499,   500,     0,  1178,   501,
     502,   503,   504,   505,  1179,     0,   506,   507,   508,   509,
     510,   511,  1180,     0,   513,   794,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,  1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,
     534,   535,   536,  1189,     0,     0,     0,     0,     0,     0,
    1190,  1191,  1192,     0,     0,     0,  1193,     0,     0,     0,
    1194,   771,  1123,   593,  1124,  1125,  1126,   646,  1127,     0,
       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     0,     0,
       0,     0,  1128,     0,     0,   232,   233,     0,   234,   235,
     772,   236,   237,   238,   239,  1129,   773,  1130,  1131,     0,
     243,   244,   245,   246,   247,  1132,  1133,   248,   249,  1134,
    1135,   252,     0,   253,   254,   255,   256,  1136,     0,  1137,
       0,   258,   259,   260,   261,   775,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,   776,   271,   272,
     273,  1138,  1139,  1140,  1141,  1142,  1143,  1144,   274,   275,
     276,   277,   278,   279,  1145,  1146,   282,  1272,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   986,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,  1147,
     308,   309,   310,  1148,  1149,   312,     0,   313,   314,  1150,
     316,     0,   317,     0,   318,   778,     0,   779,   319,   320,
     321,     0,   322,  1151,     0,  1152,   325,     0,   326,   327,
     328,   329,   330,   780,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,   781,   342,   343,
     344,   345,   346,  1153,  1154,     0,  1155,     0,   350,   782,
     783,   351,   784,   352,   353,   354,   355,   356,     0,     0,
     357,  1156,   785,   359,   786,     0,   360,   361,   362,  1157,
    1158,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,  1159,   787,  1160,   380,
     381,   382,  1161,   383,   384,   788,   385,  1162,  1163,   387,
    1164,   389,   390,   391,     0,   392,     0,     0,  1165,   394,
     395,     0,     0,   396,   397,   789,   398,   790,  1166,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,  1167,
     410,   411,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,  1168,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,   791,   441,   442,   443,  1169,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,  1170,   458,   459,   460,   461,   462,   792,
     463,   464,  1171,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,  1172,     0,   479,   480,
       0,   481,   793,   482,   483,   484,   485,   486,     0,  1173,
    1174,     0,     0,   489,   490,  1175,   492,  1176,  1177,   494,
     495,   496,   497,   498,   499,   500,     0,  1178,   501,   502,
     503,   504,   505,  1179,     0,   506,   507,   508,   509,   510,
     511,  1180,     0,   513,   794,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     525,  1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,   534,
     535,   536,  1189,     0,     0,     0,     0,     0,     0,  1190,
    1191,     0,     0,     0,     0,  1193,     0,     0,     0,  1194,
     771,  1123,   593,  1124,  1125,  1126,   646,  1127,     0,     0,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,  1969,   229,   230,   231,     0,     0,     0,
       0,  1128,     0,     0,   232,   233,     0,   234,   235,   772,
     236,   237,   238,   239,  1129,   773,  1130,  1131,     0,   243,
     244,   245,   246,   247,  1132,  1133,   248,   249,  1134,  1135,
     252,     0,   253,   254,   255,   256,  1136,     0,  1137,     0,
     258,   259,   260,   261,   775,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,   776,   271,   272,   273,
    1138,  1139,  1140,  1141,  1142,  1143,  1144,   274,   275,   276,
     277,   278,   279,  1145,  1146,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   986,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,  1147,   308,
     309,   310,  1148,  1149,   312,     0,   313,   314,  1150,   316,
       0,   317,     0,   318,   778,     0,   779,   319,   320,   321,
       0,   322,  1151,     0,  1152,   325,     0,   326,   327,   328,
     329,   330,   780,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,   781,   342,   343,   344,
     345,   346,  1153,  1154,     0,  1155,     0,   350,   782,   783,
     351,   784,   352,   353,   354,   355,   356,     0,     0,   357,
    1156,   785,   359,   786,     0,   360,   361,   362,  1157,  1158,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,  1159,   787,  1160,   380,   381,
     382,  1161,   383,   384,   788,   385,  1162,  1163,   387,  1164,
     389,   390,   391,     0,   392,     0,     0,  1165,   394,   395,
       0,     0,   396,   397,   789,   398,   790,  1166,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,  1167,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,  1168,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,   791,   441,   442,   443,  1169,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,  1170,   458,   459,   460,   461,   462,   792,   463,
     464,  1171,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,  1172,     0,   479,   480,     0,
     481,   793,   482,   483,   484,   485,   486,     0,  1173,  1174,
       0,     0,   489,   490,  1175,   492,  1176,  1177,   494,   495,
     496,   497,   498,   499,   500,     0,  1178,   501,   502,   503,
     504,   505,  1179,     0,   506,   507,   508,   509,   510,   511,
    1180,     0,   513,   794,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
    1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,   534,   535,
     536,  1189,     0,     0,     0,     0,     0,     0,  1190,  1191,
       0,     0,     0,     0,  1193,     0,     0,     0,  1194,   771,
    1123,   593,  1124,  1125,  1126,   646,  1127,     0,     0,     0,
       0,     0,     0,     0,   220,   221,   222,   223,   224,   225,
     226,   227,     0,   229,   230,   231,     0,     0,     0,     0,
    1128,     0,     0,   232,   233,     0,   234,   235,   772,   236,
     237,   238,   239,  1129,   773,  1130,  1131,     0,   243,   244,
     245,   246,   247,  1132,  1133,   248,   249,  1134,  1135,   252,
       0,   253,   254,   255,   256,  1136,     0,  1137,     0,   258,
     259,   260,   261,   775,   262,   263,   264,     0,   265,   266,
     267,   268,   269,   270,     0,   776,   271,   272,   273,  1138,
    1139,  1140,  1141,  1142,  1143,  1144,   274,   275,   276,   277,
     278,   279,  1145,  1146,   282,     0,   283,     0,   284,   285,
     286,   287,   288,     0,   289,   290,   291,     0,     0,   292,
     293,   986,   295,   296,     0,   297,   298,   299,     0,   300,
     301,   302,     0,   303,   304,   305,   306,  1147,   308,   309,
     310,  1148,  1149,   312,     0,   313,   314,  1150,   316,     0,
     317,     0,   318,   778,  2544,   779,   319,   320,   321,     0,
     322,  1151,     0,  1152,   325,     0,   326,   327,   328,   329,
     330,   780,   331,   332,   333,   334,     0,   335,   336,   337,
     338,   339,   340,     0,   341,   781,   342,   343,   344,   345,
     346,  1153,  1154,     0,  1155,     0,   350,   782,   783,   351,
     784,   352,   353,   354,   355,   356,     0,     0,   357,  1156,
     785,   359,   786,     0,   360,   361,   362,  1157,  1158,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,  1159,   787,  1160,   380,   381,   382,
    1161,   383,   384,   788,   385,  1162,  1163,   387,  1164,   389,
     390,   391,     0,   392,     0,     0,  1165,   394,   395,     0,
       0,   396,   397,   789,   398,   790,  1166,   400,   401,   402,
     403,   404,   405,   406,     0,   407,   408,  1167,   410,   411,
     412,   413,   414,     0,   415,   416,   417,   418,   419,   420,
     421,   422,  1168,   424,   425,   426,   427,     0,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,     0,
     439,   440,   791,   441,   442,   443,  1169,   445,   446,   447,
     448,   449,   450,   451,   452,     0,   453,   454,   455,   456,
     457,  1170,   458,   459,   460,   461,   462,   792,   463,   464,
    1171,   466,     0,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,  1172,     0,   479,   480,     0,   481,
     793,   482,   483,   484,   485,   486,     0,  1173,  1174,     0,
       0,   489,   490,  1175,   492,  1176,  1177,   494,   495,   496,
     497,   498,   499,   500,     0,  1178,   501,   502,   503,   504,
     505,  1179,     0,   506,   507,   508,   509,   510,   511,  1180,
       0,   513,   794,   514,   515,   516,   517,     0,     0,   518,
       0,     0,   519,   520,   521,   522,   523,   524,   525,  1181,
    1182,  1183,  1184,  1185,  1186,  1187,  1188,   534,   535,   536,
    1189,     0,     0,     0,     0,     0,     0,  1190,  1191,     0,
       0,     0,     0,  1193,     0,     0,     0,  1194,   771,  1123,
     593,  1124,  1125,  1126,   646,  1127,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,  1128,
       0,     0,   232,   233,     0,   234,   235,   772,   236,   237,
     238,   239,  1129,   773,  1130,  1131,     0,   243,   244,   245,
     246,   247,  1132,  1133,   248,   249,  1134,  1135,   252,     0,
     253,   254,   255,   256,  1136,     0,  1137,     0,   258,   259,
     260,   261,   775,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,   776,   271,   272,   273,  1138,  1139,
    1140,  1141,  1142,  1143,  1144,   274,   275,   276,   277,   278,
     279,  1145,  1146,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     986,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,  1147,   308,   309,   310,
    1148,  1149,   312,     0,   313,   314,  1150,   316,     0,   317,
       0,   318,   778,     0,   779,   319,   320,   321,     0,   322,
    1151,     0,  1152,   325,     0,   326,   327,   328,   329,   330,
     780,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,   781,   342,   343,   344,   345,   346,
    1153,  1154,     0,  1155,     0,   350,   782,   783,   351,   784,
     352,   353,   354,   355,   356,     0,     0,   357,  1156,   785,
     359,   786,     0,   360,   361,   362,  1157,  1158,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,  1159,   787,  1160,   380,   381,   382,  1161,
     383,   384,   788,   385,  1162,  1163,   387,  1164,   389,   390,
     391,     0,   392,     0,     0,  1165,   394,   395,     0,     0,
     396,   397,   789,   398,   790,  1166,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,  1167,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,  1168,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,   791,   441,   442,   443,  1169,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
    1170,   458,   459,   460,   461,   462,   792,   463,   464,  1171,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,  1172,     0,   479,   480,     0,   481,   793,
     482,   483,   484,   485,   486,     0,  1173,  1174,     0,     0,
     489,   490,  1175,   492,  1176,  1177,   494,   495,   496,   497,
     498,   499,   500,     0,  1178,   501,   502,   503,   504,   505,
    1179,     0,   506,   507,   508,   509,   510,   511,  1180,  3837,
     513,   794,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,  1181,  1182,
    1183,  1184,  1185,  1186,  1187,  1188,   534,   535,   536,  1189,
       0,     0,     0,     0,     0,     0,  1190,  1191,     0,     0,
       0,     0,  1193,     0,     0,     0,  1194,   771,  1123,   593,
    1124,  1125,  1126,   646,  1127,     0,     0,     0,     0,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,  1128,     0,
       0,   232,   233,     0,   234,   235,   772,   236,   237,   238,
     239,  1129,   773,  1130,  1131,     0,   243,   244,   245,   246,
     247,  1132,  1133,   248,   249,  1134,  1135,   252,     0,   253,
     254,   255,   256,  1136,     0,  1137,     0,   258,   259,   260,
     261,   775,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,   776,   271,   272,   273,  1138,  1139,  1140,
    1141,  1142,  1143,  1144,   274,   275,   276,   277,   278,   279,
    1145,  1146,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   986,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,  1147,   308,   309,   310,  1148,
    1149,   312,     0,   313,   314,  1150,   316,     0,   317,     0,
     318,   778,     0,   779,   319,   320,   321,     0,   322,  1151,
       0,  1152,   325,     0,   326,   327,   328,   329,   330,   780,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,   781,   342,   343,   344,   345,   346,  1153,
    1154,     0,  1155,     0,   350,   782,   783,   351,   784,   352,
     353,   354,   355,   356,     0,     0,   357,  1156,   785,   359,
     786,     0,   360,   361,   362,  1157,  1158,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,  1159,   787,  1160,   380,   381,   382,  1161,   383,
     384,   788,   385,  1162,  1163,   387,  1164,   389,   390,   391,
       0,   392,     0,     0,  1165,   394,   395,     0,     0,   396,
     397,   789,   398,   790,  1166,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,  1167,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
    1168,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
     791,   441,   442,   443,  1169,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,  1170,
     458,   459,   460,   461,   462,   792,   463,   464,  1171,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,  1172,     0,   479,   480,     0,   481,   793,   482,
     483,   484,   485,   486,     0,  1173,  1174,     0,     0,   489,
     490,  1175,   492,  1176,  1177,   494,   495,   496,   497,   498,
     499,   500,     0,  1178,   501,   502,   503,   504,   505,  1179,
       0,   506,   507,   508,   509,   510,   511,  1180,     0,   513,
     794,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,  1181,  1182,  1183,
    1184,  1185,  1186,  1187,  1188,   534,   535,   536,  1189,     0,
       0,     0,     0,     0,     0,  1190,  1191,     0,     0,     0,
       0,  1193,     0,     0,     0,  1194,   771,  1123,   593,  1124,
    1125,  1126,   646,  1127,     0,     0,     0,     0,     0,     0,
       0,   220,   221,   222,   223,   224,   225,   226,   227,     0,
     229,   230,   231,     0,     0,     0,     0,  1128,     0,     0,
     232,   233,     0,   234,   235,   772,   236,   237,   238,   239,
    1129,   773,  1130,  1131,     0,   243,   244,   245,   246,   247,
    1132,  1133,   248,   249,  1134,  1135,   252,     0,   253,   254,
     255,   256,  1136,     0,  1137,     0,   258,   259,   260,   261,
     775,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,   776,   271,   272,  3850,  1138,  1139,  1140,  1141,
    1142,  1143,  1144,   274,   275,   276,   277,   278,   279,  1145,
    1146,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   986,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,  1147,   308,   309,   310,  1148,  1149,
     312,     0,   313,   314,  1150,   316,     0,   317,     0,   318,
     778,     0,   779,   319,   320,   321,     0,   322,  1151,     0,
    1152,   325,     0,   326,   327,   328,   329,   330,   780,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,   781,   342,   343,   344,   345,   346,  1153,  1154,
       0,  1155,     0,   350,   782,   783,   351,   784,   352,   353,
     354,   355,   356,     0,     0,   357,  1156,   785,   359,   786,
       0,   360,   361,   362,  1157,  1158,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,  1159,   787,  1160,   380,   381,   382,  1161,   383,   384,
     788,   385,  1162,  1163,   387,  1164,   389,   390,   391,     0,
     392,     0,     0,  1165,   394,   395,     0,     0,   396,   397,
     789,   398,   790,  1166,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,  1167,   410,   411,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,  1168,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,   791,
     441,   442,   443,  1169,   445,   446,   447,   448,   449,   450,
     451,   452,     0,   453,   454,   455,   456,   457,  1170,   458,
     459,   460,   461,   462,   792,   463,   464,  1171,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,  1172,     0,   479,   480,     0,   481,   793,   482,   483,
     484,   485,   486,     0,  1173,  1174,     0,     0,   489,   490,
    1175,   492,  1176,  1177,   494,   495,   496,   497,   498,   499,
     500,     0,  1178,   501,   502,   503,   504,   505,  1179,     0,
     506,   507,   508,   509,   510,   511,  1180,     0,   513,   794,
     514,   515,   516,   517,     0,     0,   518,     0,     0,   519,
     520,   521,   522,   523,   524,   525,  1181,  1182,  1183,  1184,
    1185,  1186,  1187,  1188,   534,   535,   536,  1189,     0,     0,
       0,     0,     0,     0,  1190,  1191,     0,     0,     0,     0,
    1193,     0,     0,     0,  1194,   771,  1123,   593,  1124,  1125,
    1126,   646,  1127,     0,     0,     0,     0,     0,     0,     0,
     220,   221,   222,   223,   224,   225,   226,   227,     0,   229,
     230,   231,     0,     0,     0,     0,  1128,     0,     0,   232,
     233,     0,   234,   235,   772,   236,   237,   238,   239,  1129,
     773,  1130,  1131,     0,   243,   244,   245,   246,   247,  1132,
    1133,   248,   249,  1134,  1135,   252,     0,   253,   254,   255,
     256,  1136,     0,  1137,     0,   258,   259,   260,   261,   775,
     262,   263,   264,     0,   265,   266,   267,   268,   269,   270,
       0,   776,   271,   272,   273,  1138,  1139,  1140,  1141,  1142,
    1143,  1144,   274,   275,   276,   277,   278,   279,  1145,  1146,
     282,     0,   283,     0,   284,   285,   286,   287,   288,     0,
     289,   290,   291,     0,     0,   292,   293,   986,   295,   296,
       0,   297,   298,   299,     0,   300,   301,   302,     0,   303,
     304,   305,   306,  1147,   308,   309,   310,  1148,  1149,   312,
       0,   313,   314,  1150,   316,     0,   317,     0,   318,   778,
       0,   779,   319,   320,   321,     0,   322,  1151,     0,  1152,
     325,     0,   326,   327,   328,   329,   330,   780,   331,   332,
     333,   334,     0,   335,   336,   337,   338,   339,   340,     0,
     341,   781,   342,   343,   344,   345,   346,  1153,  1154,     0,
    1155,     0,   350,   782,   783,   351,   784,   352,   353,   354,
     355,   356,     0,     0,   357,  1156,   785,   359,   786,     0,
     360,   361,   362,  1157,  1158,   363,   364,   365,   366,   367,
     368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
    1159,   787,  1160,   380,   381,   382,  1161,   383,   384,   788,
     385,  1162,  1163,   387,  1164,   389,   390,   391,     0,   392,
       0,     0,  1165,   394,   395,     0,     0,   396,   397,   789,
     398,   790,  1166,   400,   401,   402,   403,   404,   405,   406,
       0,   407,   408,  1167,   410,   411,   412,   413,   414,     0,
     415,   416,   417,   418,   419,   420,   421,   422,  1168,   424,
     425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
     434,   435,   436,   437,   438,     0,   439,   440,   791,   441,
     442,   443,  1169,   445,   446,   447,   448,   449,   450,   451,
     452,     0,   453,   454,   455,   456,   457,  1170,   458,   459,
     460,   461,   462,   792,   463,   464,  1171,   466,     0,   467,
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
    1172,     0,   479,   480,     0,   481,   793,   482,   483,   484,
     485,   486,     0,  1173,  1174,     0,     0,   489,   490,  1175,
     492,  1176,  1177,   494,   495,   496,   497,   498,   499,   500,
       0,  1178,   501,   502,   503,   504,   505,  1179,     0,   506,
     507,   508,   509,   510,   511,  1180,     0,   513,   794,   514,
     515,   516,   517,     0,     0,   518,     0,     0,   519,   520,
     521,   522,   523,   524,  4147,  1181,  1182,  1183,  1184,  1185,
    1186,  1187,  1188,   534,   535,   536,  1189,     0,     0,     0,
       0,     0,     0,  1190,  1191,     0,     0,     0,     0,  1193,
       0,     0,     0,  1194,   771,  1123,   593,  1124,  1125,  1126,
     646,  1127,     0,     0,     0,     0,     0,     0,     0,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,  1128,     0,     0,   232,   233,
       0,   234,   235,   772,   236,   237,   238,   239,  1129,   773,
    1130,  1131,     0,   243,   244,   245,   246,   247,  1132,  1133,
     248,   249,  1134,  1135,   252,     0,   253,   254,   255,   256,
    1136,     0,  1137,     0,   258,   259,   260,   261,   775,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
     776,   271,   272,   273,  1138,  1139,  1140,  1141,  1142,  1143,
    1144,   274,   275,   276,   277,   278,   279,  1145,  1146,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   986,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,  1147,   308,   309,   310,  1148,  1149,   312,     0,
     313,   314,  1150,   316,     0,   317,     0,   318,   778,     0,
     779,   319,   320,   321,     0,   322,  1151,     0,  1152,   325,
       0,   326,   327,   328,   329,   330,   780,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
     781,   342,   343,   344,   345,   346,  1153,  1154,     0,  1155,
       0,   350,   782,   783,   351,   784,   352,   353,   354,   355,
     356,     0,     0,   357,  1156,   785,   359,   786,     0,   360,
     361,   362,  1157,  1158,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,  1159,
     787,  1160,   380,  4156,   382,  1161,   383,   384,   788,   385,
    1162,  1163,   387,  1164,   389,   390,   391,     0,   392,     0,
       0,  1165,   394,   395,     0,     0,   396,   397,   789,   398,
     790,  1166,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,  1167,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,  1168,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,   791,   441,   442,
     443,  1169,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,  1170,   458,   459,   460,
     461,   462,   792,   463,   464,  1171,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,  1172,
       0,   479,   480,     0,   481,   793,   482,   483,   484,   485,
     486,     0,  1173,  1174,     0,     0,   489,   490,  1175,   492,
    1176,  1177,   494,   495,   496,   497,   498,   499,   500,     0,
    1178,   501,   502,   503,   504,   505,  1179,     0,   506,   507,
     508,   509,   510,   511,  1180,     0,   513,   794,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,  1181,  1182,  1183,  1184,  1185,  1186,
    1187,  1188,   534,   535,   536,  1189,     0,     0,     0,     0,
       0,     0,  1190,  1191,     0,     0,     0,     0,  1193,     0,
       0,     0,  1194,   771,  1123,   593,  1124,  1125,  1126,   646,
    1127,     0,     0,     0,     0,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,  1128,     0,     0,   232,   233,     0,
     234,   235,   772,   236,   237,   238,   239,  1129,   773,  1130,
    1131,     0,   243,   244,   245,   246,   247,  1132,  1133,   248,
     249,  1134,  1135,   252,     0,   253,   254,   255,   256,  1136,
       0,  1137,     0,   258,   259,   260,   261,   775,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,   776,
     271,  4453,   273,  1138,  1139,  1140,  1141,  1142,  1143,  1144,
     274,   275,   276,   277,   278,   279,  1145,  1146,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   986,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,  1147,   308,   309,   310,  1148,  1149,   312,     0,   313,
     314,  1150,   316,     0,   317,     0,   318,   778,     0,   779,
     319,   320,   321,     0,   322,  1151,     0,  4454,   325,     0,
     326,   327,   328,   329,   330,   780,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,   781,
     342,   343,   344,   345,   346,  1153,  1154,     0,  1155,     0,
     350,   782,   783,   351,   784,   352,   353,   354,   355,   356,
       0,     0,   357,  1156,   785,   359,   786,     0,   360,   361,
     362,  1157,  1158,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,  1159,   787,
    1160,   380,   381,   382,  1161,   383,   384,   788,   385,  1162,
    1163,   387,  1164,   389,   390,   391,     0,   392,     0,     0,
    1165,   394,   395,     0,     0,   396,   397,   789,   398,   790,
    1166,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,  1167,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,  1168,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,   791,   441,   442,  4455,
    1169,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,  1170,   458,   459,   460,   461,
     462,   792,   463,   464,  1171,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,  1172,     0,
     479,   480,     0,   481,   793,   482,   483,   484,   485,   486,
       0,  1173,  1174,     0,     0,   489,   490,  1175,   492,  1176,
    1177,   494,   495,   496,   497,   498,   499,   500,     0,  1178,
     501,   502,   503,   504,   505,  1179,     0,   506,   507,   508,
     509,   510,   511,  1180,     0,   513,   794,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,  1181,  1182,  1183,  1184,  1185,  1186,  1187,
    1188,   534,   535,   536,  1189,     0,     0,     0,     0,     0,
       0,  1190,  1191,     0,     0,     0,     0,  1193,     0,     0,
       0,  4456,   771,  1123,   593,  1124,  1125,  1126,   646,  1127,
       0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,  1128,     0,     0,   232,   233,     0,   234,
     235,   772,   236,   237,   238,  4818,  1129,   773,  1130,  1131,
       0,   243,   244,   245,   246,   247,  1132,  1133,   248,   249,
    1134,  1135,   252,     0,   253,   254,   255,   256,  1136,     0,
    1137,     0,   258,   259,   260,   261,   775,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,   776,   271,
     272,  4819,  1138,  1139,  1140,  1141,  1142,  1143,  1144,   274,
     275,   276,   277,   278,   279,  1145,  1146,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   986,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
    1147,   308,   309,   310,  1148,  1149,   312,     0,   313,   314,
    1150,   316,     0,   317,     0,   318,   778,     0,   779,   319,
     320,   321,     0,   322,  1151,     0,  1152,   325,     0,   326,
     327,   328,   329,   330,   780,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,   781,   342,
     343,   344,   345,   346,  1153,  1154,     0,  1155,     0,   350,
     782,   783,   351,   784,   352,   353,   354,   355,   356,     0,
       0,   357,  1156,   785,   359,   786,     0,   360,   361,   362,
    1157,  1158,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,  1159,   787,  1160,
     380,   381,   382,  1161,   383,   384,   788,   385,  1162,  1163,
     387,  1164,   389,   390,   391,     0,   392,     0,     0,  1165,
     394,   395,     0,     0,   396,   397,   789,   398,   790,  1166,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
    1167,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,  1168,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,   791,   441,   442,   443,  1169,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,  1170,   458,   459,   460,   461,   462,
     792,   463,   464,  1171,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,  1172,     0,   479,
     480,     0,   481,   793,   482,   483,   484,   485,   486,     0,
    1173,  1174,     0,     0,   489,   490,  1175,   492,  1176,  1177,
     494,   495,   496,   497,  4820,   499,   500,     0,  1178,   501,
     502,   503,   504,   505,  1179,     0,   506,   507,   508,   509,
     510,   511,  1180,     0,   513,   794,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,  1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,
     534,   535,   536,  1189,     0,     0,     0,     0,     0,     0,
    1190,  1191,     0,     0,     0,     0,  1193,     0,     0,     0,
    1194,   771,  1123,   593,  1124,  1125,  1126,   646,  1127,     0,
       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     0,     0,
       0,     0,  1128,     0,     0,   232,   233,     0,   234,   235,
     772,   236,   237,   238,   239,  1129,   773,  1130,  1131,     0,
     243,   244,   245,   246,   247,  1132,  1133,   248,   249,  1134,
    1135,   252,     0,   253,   254,   255,   256,  1136,     0,  1137,
       0,   258,   259,   260,   261,   775,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,   776,   271,   272,
    4819,  1138,  1139,  1140,  1141,  1142,  1143,  1144,   274,   275,
     276,   277,   278,   279,  1145,  1146,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   986,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,  1147,
     308,   309,   310,  1148,  1149,   312,     0,   313,   314,  1150,
     316,     0,   317,     0,   318,   778,     0,   779,   319,   320,
     321,     0,   322,  1151,     0,  1152,   325,     0,   326,   327,
     328,   329,   330,   780,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,   781,   342,   343,
     344,   345,   346,  1153,  1154,     0,  1155,     0,   350,   782,
     783,   351,   784,   352,   353,   354,   355,   356,     0,     0,
     357,  1156,   785,   359,   786,     0,   360,   361,   362,  1157,
    1158,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,  1159,   787,  1160,   380,
     381,   382,  1161,   383,   384,   788,   385,  1162,  1163,   387,
    1164,   389,   390,   391,     0,   392,     0,     0,  1165,   394,
     395,     0,     0,   396,   397,   789,   398,   790,  1166,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,  1167,
     410,   411,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,  1168,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,   791,   441,   442,   443,  1169,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,  1170,   458,   459,   460,   461,   462,   792,
     463,   464,  1171,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,  1172,     0,   479,   480,
       0,   481,   793,   482,   483,   484,   485,   486,     0,  1173,
    1174,     0,     0,   489,   490,  1175,   492,  1176,  1177,   494,
     495,   496,   497,  4820,   499,   500,     0,  1178,   501,   502,
     503,   504,   505,  1179,     0,   506,   507,   508,   509,   510,
     511,  1180,     0,   513,   794,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     525,  1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,   534,
     535,   536,  1189,     0,     0,     0,     0,     0,     0,  1190,
    1191,     0,     0,     0,     0,  1193,     0,     0,     0,  1194,
     771,  1123,   593,  1124,  1125,  1126,   646,  1127,     0,     0,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,  1128,     0,     0,   232,   233,     0,   234,   235,   772,
     236,   237,   238,   239,  1129,   773,  1130,  1131,     0,   243,
     244,   245,   246,   247,  1132,  1133,   248,   249,  1134,  1135,
     252,     0,   253,   254,   255,   256,  1136,     0,  1137,     0,
     258,   259,   260,   261,   775,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,   776,   271,   272,   273,
    1138,  1139,  1140,  1141,  1142,  1143,  1144,   274,   275,   276,
     277,   278,   279,  1145,  1146,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   986,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,  1147,   308,
     309,   310,  1148,  1149,   312,     0,   313,   314,  1150,   316,
       0,   317,     0,   318,   778,     0,   779,   319,   320,   321,
       0,   322,  1151,     0,  1152,   325,     0,   326,   327,   328,
     329,   330,   780,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,   781,   342,   343,   344,
     345,   346,  1153,  1154,     0,  1155,     0,   350,   782,   783,
     351,   784,   352,   353,   354,   355,   356,     0,     0,   357,
    1156,   785,   359,   786,     0,   360,   361,   362,  1157,  1158,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,  1159,   787,  1160,   380,   381,
     382,     0,   383,   384,   788,   385,  1162,  1163,   387,  1164,
     389,   390,   391,     0,   392,     0,     0,  1165,   394,   395,
       0,     0,   396,   397,   789,   398,   790,  1166,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,  1167,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,  1168,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,   791,   441,   442,   443,  2529,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,  1170,   458,   459,   460,   461,   462,   792,   463,
     464,  1171,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,  1172,     0,   479,   480,     0,
     481,   793,   482,   483,   484,   485,   486,     0,  1173,  1174,
       0,     0,   489,   490,  1175,   492,  1176,  1177,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,  1179,     0,   506,   507,   508,   509,   510,   511,
    1180,     0,   513,   794,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
    1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,   534,   535,
     536,     0,     0,     0,     0,     0,     0,     0,  2530,  2531,
       0,     0,     0,     0,  1193,     0,     0,     0,  2532,   771,
    1123,   593,  1124,  1125,  1126,   646,  1127,     0,     0,     0,
       0,     0,     0,     0,   220,   221,   222,   223,   224,   225,
     226,   227,     0,   229,   230,   231,     0,     0,     0,     0,
    1128,     0,     0,   232,   233,     0,   234,   235,   772,   236,
     237,   238, -2409,  1129,   773,  1130,  1131,     0,   243,   244,
     245,   246,   247,  1132,  1133,   248,   249,  1134,  1135,   252,
       0,   253,   254,   255,   256,  1136,     0,  1137,     0,   258,
     259,   260,   261,   775,   262,   263,   264,     0,   265,   266,
     267,   268,   269,   270,     0,   776,   271,   272,  4819,  1138,
    1139,  1140,  1141,  1142,  1143,  1144,   274,   275,   276,   277,
     278,   279,  1145,  1146,   282,     0,   283,     0,   284,   285,
     286,   287,   288,     0,   289,   290,   291,     0,     0,   292,
     293,   986,   295,   296,     0,   297,   298,   299,     0,   300,
     301,   302,     0,   303,   304,   305,   306,  1147,   308,   309,
     310,  1148,  1149,   312,     0,   313,   314,  1150,   316,     0,
     317,     0,   318,   778,     0,   779,   319,   320,   321,     0,
     322,  1151,     0,  1152,   325,     0,   326,   327,   328,   329,
     330, -2409,   331,   332,   333,   334,     0,   335,   336,   337,
     338,   339,   340,     0,   341,   781,   342,   343,   344,   345,
     346,  1153,  1154,     0,  1155,     0,   350,     0,     0,   351,
     784,   352,   353,   354,   355,   356,     0,     0,   357,  1156,
     785,   359, -2409,     0,   360,   361,   362,  1157,  1158,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,  1159,   787,  1160,   380,   381,   382,
    1161,   383,   384,     0,   385,  1162,  1163,   387,  1164,   389,
     390,   391,     0,   392,     0,     0,  1165,   394,   395,     0,
       0,   396,   397,   789,   398,   790,  1166,   400,   401,   402,
     403,   404,   405,   406,     0,   407,   408,  1167,   410,   411,
     412,   413,   414,     0,   415,   416,   417,   418,   419,   420,
     421,   422,  1168,   424,   425,   426,   427,     0,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,     0,
     439,   440,   791,   441,   442,   443,  1169,   445,   446,   447,
     448,   449,   450,   451,   452,     0,   453,   454,   455,   456,
     457,  1170,   458,   459,   460,   461,   462, -2409,   463,   464,
    1171,   466,     0,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,  1172,     0,   479,   480,     0,   481,
     793,   482,   483,   484,   485,   486,     0,  1173,  1174,     0,
       0,   489,   490,  1175,   492,  1176,  1177,   494,   495,   496,
     497,  4820,   499,   500,     0,  1178,   501,   502,   503,   504,
     505,  1179,     0,   506,   507,   508,   509,   510,   511,  1180,
       0,   513,   794,   514,   515,   516,   517,     0,     0,   518,
       0,     0,   519,   520,   521,   522,   523,   524,   525,  1181,
    1182,  1183,  1184,  1185,  1186,  1187,  1188,   534,   535,   536,
   -2409,     0,     0,     0,     0,     0,     0,  1190,  1191,     0,
       0,     0,     0,  1193,     0,     0,     0,  1194,   771,  1123,
     593,  1124,  1125,  1126,   646,  1127,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,  1128,
       0,     0,   232,   233,     0,   234,   235,   772,   236,   237,
     238,   239,  1129,   773,  1130,  1131,     0,   243,   244,   245,
     246,   247,  1132,  1133,   248,   249,  1134,  1135,   252,     0,
     253,   254,   255,   256,  1136,     0,  1137,     0,   258,   259,
     260,   261,   775,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,   776,   271,   272,   273,  1138,  1139,
    1140,  1141,  1142,  1143,  1144,   274,   275,   276,   277,   278,
     279,  1145,  1146,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     986,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,  1147,   308,   309,   310,
    1148,  1149,   312,     0,   313,   314,  1150,   316,     0,   317,
       0,   318,   778,     0,   779,   319,   320,   321,     0,   322,
    1151,     0,  1152,   325,     0,   326,   327,   328,   329,   330,
     780,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,   781,   342,   343,   344,   345,   346,
    1153,  1154,     0,  1155,     0,   350,     0,   783,   351,   784,
     352,   353,   354,   355,   356,     0,     0,   357,  1156,   785,
     359,   786,     0,   360,   361,   362,  1157,  1158,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,  1159,   787,  1160,   380,   381,   382,     0,
     383,   384,   788,   385,  1162,  1163,   387,  1164,   389,   390,
     391,     0,   392,     0,     0,  1165,   394,   395,     0,     0,
     396,   397,   789,   398,   790,  1166,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,  1167,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,  1168,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,   791,   441,   442,   443,  2529,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
    1170,   458,   459,   460,   461,   462,   792,   463,   464,  1171,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,  1172,     0,   479,   480,     0,   481,   793,
     482,   483,   484,   485,   486,     0,  1173,  1174,     0,     0,
     489,   490,  1175,   492,  1176,  1177,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
    1179,     0,   506,   507,   508,   509,   510,   511,  1180,     0,
     513,   794,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,  1181,  1182,
    1183,  1184,  1185,  1186,  1187,  1188,   534,   535,   536,     0,
       0,     0,     0,     0,     0,     0,  2530,  2531,     0,     0,
       0,     0,  1193,     0,     0,     0,  2532,   771,  1123,   593,
    1124,  1125,     0,   646,  1127,     0,     0,     0,     0,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,  1128,     0,
       0,   232,   233,     0,   234,   235,   772,   236,   237,   238,
     239,  1129,   773,  1130,  1131,     0,   243,   244,   245,   246,
     247,  1132,  1133,   248,   249,  1134,  1135,   252,     0,   253,
     254,   255,   256,  1136,     0,  1137,     0,   258,   259,   260,
     261,   775,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,   776,   271,   272,   273,  1138,  1139,  1140,
    1141,  1142,  1143,  1144,   274,   275,   276,   277,   278,   279,
    1145,  1146,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   986,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,  1147,   308,   309,   310,  1148,
    1149,   312,     0,   313,   314,  1150,   316,     0,   317,     0,
     318,   778,     0,   779,   319,   320,   321,     0,   322,  1151,
       0,  1152,   325,     0,   326,   327,   328,   329,   330,   780,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,   781,   342,   343,   344,   345,   346,  1153,
    1154,     0,  1155,     0,   350,   782,   783,   351,   784,   352,
     353,   354,   355,   356,     0,     0,   357,  1156,   785,   359,
     786,     0,   360,   361,   362,  1157,  1158,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,  1159,   787,  1160,   380,   381,   382,     0,   383,
     384,   788,   385,  1162,  1163,   387,  1164,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
     397,   789,   398,   790,  1166,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,  1167,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
    1168,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
     791,   441,   442,   443,  2529,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,  1170,
     458,   459,   460,   461,   462,   792,   463,   464,  1171,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,  1172,     0,   479,   480,     0,   481,   793,   482,
     483,   484,   485,   486,     0,  1173,  1174,     0,     0,   489,
     490,  1175,   492,  1176,  1177,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,  1179,
       0,   506,   507,   508,   509,   510,   511,  1180,     0,   513,
     794,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,  1181,  1182,  1183,
    1184,  1185,  1186,  1187,  1188,   534,   535,   536,     0,     0,
       0,   771,  1123,   593,  1124,  1125,  1126,   646,  1127,     0,
       0,  1193,     0,     0,     0,  2532,   220,   221,   222,   223,
     224,   225,   226,   227, -1938,   229,   230,   231,     0,     0,
       0, -1938,  1128,     0,     0,   232,   233,     0,   234,   235,
     772,   236,   237,   238,     0,  1129,   773,  1130,  1131,     0,
     243,   244,   245,   246,   247,  1132,  1133,   248,   249,  1134,
    1135,   252,     0,   253,   254,   255,   256,  1136,     0,  1137,
       0,   258,   259,   260,   261,   775,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,   776,   271,   272,
     273,  1138,  1139,  1140,  1141,  1142,  1143,  1144,   274,   275,
     276,   277,   278,   279,  1145,  1146,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   986,   295,   296,     0,   297,   298,   299,
       0,   300,     0,   302,     0,   303,   304,   305,   306,  1147,
     308,   309,   310,  1148,  1149,   312,     0,   313,   314,  1150,
     316,     0,   317,     0,   318,   778,     0,   779,   319,   320,
     321,     0,   322,  1151,     0,  1152,   325,     0,   326,   327,
     328,   329,   330,     0,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,   781,   342,   343,
     344,   345,   346,  1153,  1154,     0,  1155,     0,   350,     0,
       0,   351,   784,   352,   353,   354,   355,   356,     0,     0,
     357,  1156,   785,   359,     0,     0,   360,   361,   362,  1157,
    1158,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,  1159,   787,  1160,   380,
     381,   382,  1161,   383,   384,     0,   385,  1162,  1163,   387,
    1164,   389,   390,   391,     0,   392,     0,     0,  1165,   394,
     395,     0,     0,   396,   397,   789,   398,   790,  1166,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,  1167,
     410,   411,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,  1168,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,   791,   441,   442,   443,  1169,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,  1170,   458,   459,   460,   461,   462,     0,
     463,   464,  1171,   466, -1938,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,  1172,     0,   479,   480,
       0,   481,   793,   482,   483,   484,   485,   486,     0,  1173,
    1174,     0,     0,   489,   490,  1175,   492,  1176,  1177,   494,
     495,   496,   497,   498,   499,   500,     0,  1178,   501,   502,
     503,   504,   505,  1179,     0,   506,   507,   508,   509,   510,
     511,  1180,     0,   513,   794,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     525,  1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,   534,
     535,   536,     0,     0,     0,     0,     0,     0,     0,  1190,
    1191,     0,     0,     0,     0,  1193,     0,     0,     0,  1194,
     771,  1123,   593,  1124,  1125,     0,   646,  1127,     0,     0,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,  1128,     0,     0,   232,   233,     0,   234,   235,   772,
     236,   237,   238,   239,  1129,   773,  1130,  1131,     0,  3751,
     244,   245,   246,   247,  1132,  1133,   248,   249,  1134,  1135,
     252,     0,   253,   254,   255,   256,  1136,     0,  1137,     0,
     258,   259,   260,   261,   775,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,   776,   271,   272,   273,
    1138,  1139,  1140,  1141,  1142,  1143,  1144,   274,   275,   276,
     277,   278,   279,  1145,  1146,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   986,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,  1147,   308,
     309,   310,  1148,  1149,   312,     0,   313,   314,  1150,   316,
       0,   317,     0,   318,   778,     0,   779,   319,   320,   321,
       0,   322,  1151,     0,  1152,   325,     0,   326,   327,   328,
     329,   330,   780,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,   781,   342,   343,   344,
     345,   346,  1153,  1154,     0,  1155,     0,   350,   782,   783,
     351,   784,   352,   353,   354,   355,   356,     0,     0,   357,
    1156,   785,   359,   786,     0,   360,   361,   362,  1157,  1158,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,  1159,   787,  1160,   380,   381,
     382,     0,   383,   384,   788,   385,  1162,  1163,   387,  1164,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,   789,   398,   790,  1166,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,  1167,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,  1168,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,   791,   441,   442,   443,  2529,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,  1170,   458,   459,   460,   461,   462,   792,   463,
     464,  1171,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,  1172,     0,   479,   480,     0,
     481,   793,   482,   483,   484,   485,   486,     0,  1173,  1174,
       0,     0,   489,   490,  1175,   492,  1176,  1177,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,  1179,     0,   506,   507,   508,   509,   510,   511,
    1180,     0,   513,   794,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
    1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,   534,   535,
     536,     0,     0,     0,   771,  1123,   593,  1124,  1125,  1126,
     646,  1127,     0,     0,  1193,     0,     0,     0,  2532,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,  1128,     0,     0,   232,   233,
       0,   234,   235,   772,   236,   237,   238,     0,  1129,   773,
    1130,  1131,     0,   243,   244,   245,   246,   247,  1132,  1133,
     248,   249,  1134,  1135,   252,     0,   253,   254,   255,   256,
    1136,     0,  1137,     0,   258,   259,   260,   261,   775,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
     776,   271,   272,   273,  1138,  1139,  1140,  1141,  1142,  1143,
    1144,   274,   275,   276,   277,   278,   279,  1145,  1146,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   986,   295,   296,     0,
     297,   298,   299,     0,   300,     0,   302,     0,   303,   304,
     305,   306,  1147,   308,   309,   310,  1148,  1149,   312,     0,
     313,   314,  1150,   316,     0,   317,     0,   318,   778,     0,
     779,   319,   320,   321,     0,   322,  1151,     0,  1152,   325,
       0,   326,   327,   328,   329,   330,     0,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
     781,   342,   343,   344,   345,   346,  1153,  1154,     0,  1155,
       0,   350,     0,     0,   351,   784,   352,   353,   354,   355,
     356,     0,     0,   357,  1156,   785,   359,     0,     0,   360,
     361,   362,  1157,  1158,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,  1159,
     787,  1160,   380,   381,   382,  1161,   383,   384,     0,   385,
    1162,  1163,   387,  1164,   389,   390,   391,     0,   392,     0,
       0,  1165,   394,   395,     0,     0,   396,   397,   789,   398,
     790,  1166,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,  1167,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,  1168,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,   791,   441,   442,
     443,  1169,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,  1170,   458,   459,   460,
     461,   462,     0,   463,   464,  1171,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,  1172,
       0,   479,   480,     0,   481,   793,   482,   483,   484,   485,
     486,     0,  1173,  1174,     0,     0,   489,   490,  1175,   492,
    1176,  1177,   494,   495,   496,   497,   498,   499,   500,     0,
    1178,   501,   502,   503,   504,   505,  1179,     0,   506,   507,
     508,   509,   510,   511,  1180,     0,   513,   794,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,  1181,  1182,  1183,  1184,  1185,  1186,
    1187,  1188,   534,   535,   536,     0,     0,     0,   771,     0,
       0,     0,  1190,  1191,     0,     0,     0,     0,  1193,     0,
       0,     0,  1194,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,   772,   236,   237,
     238,   239,   240,   773,   241,   242,     0,   243,   244,   245,
     246,   247,     0,  1133,   248,   249,   250,   251,   252,     0,
     253,   254,   255,   256,  1136,     0,  1137,     0,   258,   259,
     260,   261,   775,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,   776,   271,   272,   273,  1138,  1139,
    1140,  1141,  1142,  1143,  1144,   274,   275,   276,   277,   278,
     279,   280,   281,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     294,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    1148,     0,   312,     0,   313,   314,   315,   316,     0,   317,
       0,   318,   778,     0,   779,   319,   320,   321,     0,   322,
    1151,     0,   324,   325,     0,   326,   327,   328,   329,   330,
     780,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,   781,   342,   343,   344,   345,   346,
     347,   348,     0,   349,     0,   350,   782,   783,   351,   784,
     352,   353,   354,   355,   356,  3281,     0,   357,  1156,   785,
     359,   786,     0,   360,   361,   362,  1157,  1158,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,   787,   379,   380,   381,   382,     0,
     383,   384,   788,   385,     0,  1163,   387,   388,   389,   390,
     391,     0,   392,     0,   735,   393,   394,   395,     0,     0,
     396,   397,   789,   398,   790,  1166,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,  1167,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,   791,   441,   442,   443,   444,  3282,   446,   447,   448,
     449,   450,   451,   452,    39,   453,   454,   455,   456,   457,
    1170,   458,   459,   460,   461,   462,   792,   463,   464,   465,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,  1172,     0,   479,   480,    43,   481,   793,
     482,   483,   484,   485,   486,     0,   487,   488,     0,     0,
     489,   490,  1175,   492,  1176,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
    1179,     0,   506,   507,   508,   509,   510,  1059,   512,     0,
     513,   794,   514,   515,   516,   517,     0,     0,   518,     0,
      48,   519,   520,   521,   522,   523,   524,   525,  1181,  1182,
    1183,  1184,  1185,  1186,  1187,  1188,   534,   535,   536,     0,
       0,    49,   771,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  3283,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,   772,   236,   237,   238,   239,   240,   773,   241,   242,
       0,   243,   244,   245,   246,   247,     0,  1133,   248,   249,
     250,   251,   252,     0,   253,   254,   255,   256,  1136,     0,
    1137,     0,   258,   259,   260,   261,   775,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,   776,   271,
     272,   273,  1138,  1139,  1140,  1141,  1142,  1143,  1144,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,  1148,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,   778,     0,   779,   319,
     320,   321,     0,   322,  1151,     0,   324,   325,     0,   326,
     327,   328,   329,   330,   780,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,   781,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
     782,   783,   351,   784,   352,   353,   354,   355,   356,  3281,
       0,   357,  1156,   785,   359,   786,     0,   360,   361,   362,
    1157,  1158,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,   787,   379,
     380,   381,   382,     0,   383,   384,   788,   385,     0,  1163,
     387,   388,   389,   390,   391,     0,   392,     0,   735,   393,
     394,   395,     0,     0,   396,   397,   789,   398,   790,  1166,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
    1167,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,   791,   441,   442,   443,   444,
    3282,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,  1170,   458,   459,   460,   461,   462,
     792,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,  1172,     0,   479,
     480,     0,   481,   793,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,  1175,   492,  1176,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,  1179,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,   794,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,  1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,
     534,   535,   536,     0,     0,     0,   771,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3283,   220,   221,   222,   223,   224,   225,   226,   227,     0,
     229,   230,   231,     0,     0,     0,     0,     0,     0,     0,
     232,   233,     0,   234,   235,   772,   236,   237,   238,   239,
     240,   773,   241,   242,     0,   243,   244,   245,   246,   247,
       0,  1133,   248,   249,   250,   251,   252,     0,   253,   254,
     255,   256,  1136,     0,  1137,     0,   258,   259,   260,   261,
     775,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,   776,   271,   272,   273,  1138,  1139,  1140,  1141,
    1142,  1143,  1144,   274,   275,   276,   277,   278,   279,   280,
     281,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   294,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,   307,   308,   309,   310,  1148,     0,
     312,     0,   313,   314,   315,   316,     0,   317,     0,   318,
     778,     0,   779,   319,   320,   321,     0,   322,  1151,     0,
     324,   325,     0,   326,   327,   328,   329,   330,   780,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,   781,   342,   343,   344,   345,   346,   347,   348,
       0,   349,     0,   350,   782,   783,   351,   784,   352,   353,
     354,   355,   356,     0,     0,   357,  1156,   785,   359,   786,
       0,   360,   361,   362,  1157,  1158,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,   378,   787,   379,   380,   381,   382,     0,   383,   384,
     788,   385,     0,  1163,   387,   388,   389,   390,   391,     0,
     392,     0,     0,   393,   394,   395,     0,     0,   396,   397,
     789,   398,   790,  1166,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,  1167,   410,   411,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,   791,
     441,   442,   443,   444,  3282,   446,   447,   448,   449,   450,
     451,   452,     0,   453,   454,   455,   456,   457,  1170,   458,
     459,   460,   461,   462,   792,   463,   464,   465,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,  1172,     0,   479,   480,     0,   481,   793,   482,   483,
     484,   485,   486,     0,   487,   488,     0,     0,   489,   490,
    1175,   492,  1176,     0,   494,   495,   496,   497,   498,   499,
     500,     0,     0,   501,   502,   503,   504,   505,  1179,     0,
     506,   507,   508,   509,   510,   511,   512,     0,   513,   794,
     514,   515,   516,   517,     0,     0,   518,     0,     0,   519,
     520,   521,   522,   523,   524,   525,  1181,  1182,  1183,  1184,
    1185,  1186,  1187,  1188,   534,   535,   536,     0,     0,     0,
     771,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,    50,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,   772,
     236,   237,   238,   239,   240,   773,   241,   242,     0,   243,
     244,   245,   246,   247,     0,  1133,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,  1136,     0,  1137,     0,
     258,   259,   260,   261,   775,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,   776,   271,   272,   273,
    1138,  1139,  1140,  1141,  1142,  1143,  1144,   274,   275,   276,
     277,   278,   279,   280,   281,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,  1148,     0,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,   778,     0,   779,   319,   320,   321,
       0,   322,  1151,     0,   324,   325,     0,   326,   327,   328,
     329,   330,   780,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,   781,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,   782,   783,
     351,   784,   352,   353,   354,   355,   356,     0,     0,   357,
    1156,   785,   359,   786,     0,   360,   361,   362,  1157,  1158,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,   787,   379,   380,   381,
     382,     0,   383,   384,   788,   385,     0,  1163,   387,   388,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,   789,   398,   790,  1166,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,  1167,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,   791,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,  1170,   458,   459,   460,   461,   462,   792,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,  1172,     0,   479,   480,     0,
     481,   793,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,  1175,   492,  1176,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,  1179,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,   794,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
    1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,   534,   535,
     536,     0,     0,     0,   815,  1398,   593,     0,     0,     0,
     646,     0,     0,     0,     0,     0,     0,     0,  3876,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,   772,   236,   237,   238,   239,   240,   773,
     241,   242,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
     257,     0,   774,     0,   258,   259,   260,   261,   775,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
     776,   271,   272,   273,     0,     0,     0,   777,     0,     0,
       0,   274,   275,   276,   277,   278,   279,   280,   281,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   294,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,   307,   308,   309,   310,   311,  1667,   312,     0,
     313,   314,   315,   316,     0,   317,     0,   318,   778,     0,
     779,   319,   320,   321,     0,   322,   323,     0,   324,   325,
       0,   326,   327,   328,   329,   330,   780,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
     781,   342,   343,   344,   345,   346,   347,   348,     0,   349,
       0,   350,   782,   783,   351,   784,   352,   353,   354,   355,
     356,     0,     0,   357,   358,   785,   359,   786,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
     787,   379,   380,   381,   382,     0,   383,   384,   788,   385,
       0,   386,   387,   388,   389,   390,   391,     0,   392,  1668,
       0,   393,   394,   395,     0,     0,   396,   397,   789,   398,
     790,   399,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,   409,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,   791,   441,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,     0,   458,   459,   460,
     461,   462,   792,   463,   464,   465,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
       0,   479,   480,     0,   481,   793,   482,   483,   484,   485,
     486,     0,   487,   488,     0,     0,   489,   490,   491,   492,
     493,  1669,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,     0,   506,   507,
     508,   509,   510,   511,   512,     0,   513,   794,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
     532,   533,   534,   535,   536,     0,     0,     0,   815,     0,
       0,     0,   658,  1399,  4317,     0,     0,     0,     0,     0,
       0,     0,  4318,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     3,     4,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,   772,   236,   237,
     238,   239,   240,   773,   241,   242,     0,   243,   244,   245,
     246,   247,     0,     0,   248,   249,   250,   251,   252,     0,
     253,   254,   255,   256,   257,     0,   774,     0,   258,   259,
     260,   261,   775,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,   776,   271,   272,   273,     0,     0,
       0,   777,     0,     0,     0,   274,   275,   276,   277,   278,
     279,   280,   281,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     294,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,   307,   308,   309,   310,
     311,     0,   312,     0,   313,   314,   315,   316,     0,   317,
       0,   318,   778,     0,   779,   319,   320,   321,     0,   322,
     323,     0,   324,   325,     0,   326,   327,   328,   329,   330,
     780,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,   781,   342,   343,   344,   345,   346,
     347,   348,     0,   349,     0,   350,   782,   783,   351,   784,
     352,   353,   354,   355,   356,     0,     0,   357,   358,   785,
     359,   786,     0,   360,   361,   362,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,   787,   379,   380,   381,   382,     0,
     383,   384,   788,   385,     0,   386,   387,   388,   389,   390,
     391,     0,   392,     0,     0,   393,   394,   395,     0,     0,
     396,   397,   789,   398,   790,   399,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,   409,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,   791,   441,   442,   443,   444,   445,   446,   447,   448,
     449,   450,   451,   452,    39,   453,   454,   455,   456,   457,
       0,   458,   459,   460,   461,   462,   792,   463,   464,   465,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,     0,   479,   480,    43,   481,   793,
     482,   483,   484,   485,   486,     0,   487,   488,     0,     0,
     489,   490,   491,   492,   493,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
       0,     0,   506,   507,   508,   509,   510,  1059,   512,     0,
     513,   794,   514,   515,   516,   517,     0,     0,   518,     0,
      48,   519,   520,   521,   522,   523,   524,   525,   526,   527,
     528,   529,   530,   531,   532,   533,   534,   535,   536,     0,
       0,    49,   771,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,    50,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,   772,   236,   237,   238,   239,   240,   773,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
     774,     0,   258,   259,   260,   261,   775,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,   776,   271,
     272,   273,     0,     0,     0,   777,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,   778,     0,   779,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,   780,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,   781,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
     782,   783,   351,   784,   352,   353,   354,   355,   356,     0,
       0,   357,   358,   785,   359,   786,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,   787,   379,
     380,   381,   382,     0,   383,   384,   788,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,   789,   398,   790,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,   791,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,     0,   458,   459,   460,   461,   462,
     792,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,   793,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,   794,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,     0,     0,     0,   219,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4505,   220,   221,   222,   223,   224,   225,   226,   227,     0,
     229,   230,   231,     0,     0,     0,     0,     0,     0,     0,
     232,   233,     0,   234,   235,     0,   236,   237,   238,   239,
     240,     0,   241,   242,     0,   243,   244,   245,   246,   247,
       0,     0,   248,   249,   250,   251,   252,     0,   253,   254,
     255,   256,   257,     0,     0,     0,   258,   259,   260,   261,
       0,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,     0,   271,   272,   273,     0,     0,     0,     0,
       0,     0,     0,   274,   275,   276,   277,   278,   279,   280,
     281,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   294,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
     312,     0,   313,   314,   315,   316,     0,   317,     0,   318,
       0,     0,     0,   319,   320,   321,     0,   322,   323,     0,
     324,   325,     0,   326,   327,   328,   329,   330,     0,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,     0,   342,   343,   344,   345,   346,   347,   348,
       0,   349,     0,   350,     0,     0,   351,     0,   352,   353,
     354,   355,   356,     0,     0,   357,   358,     0,   359,     0,
       0,   360,   361,   362,     0,     0,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,   378,     0,   379,   380,   381,   382,     0,   383,   384,
       0,   385,     0,   386,   387,   388,   389,   390,   391,     0,
     392,     0,     0,   393,   394,   395,     0,     0,   396,   397,
       0,   398,     0,   399,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,   409,   410,   411,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,     0,
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
     451,   452,    39,   453,   454,   455,   456,   457,     0,   458,
     459,   460,   461,   462,     0,   463,   464,   465,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,   478,     0,   479,   480,    43,   481,     0,   482,   483,
     484,   485,   486,     0,   487,   488,     0,     0,   489,   490,
     491,   492,   493,     0,   494,   495,   496,   497,   498,   499,
     500,     0,     0,   501,   502,   503,   504,   505,     0,     0,
     506,   507,   508,   509,   510,  1059,   512,     0,   513,     0,
     514,   515,   516,   517,     0,     0,   518,     0,    48,   519,
     520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
     530,   531,   532,   533,   534,   535,   536,     0,     0,    49,
     219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,    50,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,     0,
     236,   237,   238,   239,   240,     0,   241,   242,     0,   243,
     244,   245,   246,   247,     0,     0,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,   257,     0,     0,     0,
     258,   259,   260,   261,     0,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,     0,   271,   272,   273,
       0,     0,     0,     0,     0,     0,     0,   274,   275,   276,
     277,   278,   279,   280,   281,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,     0,     0,     0,   319,   320,   321,
       0,   322,   323,     0,   324,   325,     0,   326,   327,   328,
     329,   330,     0,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,     0,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,     0,     0,
     351,     0,   352,   353,   354,   355,   356,     0,     0,   357,
     358,     0,   359,     0,     0,   360,   361,   362,     0,     0,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,     0,   379,   380,   381,
     382,     0,   383,   384,     0,   385,     0,   386,   387,   388,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,     0,   398,     0,   399,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,   409,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,     0,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,     0,   458,   459,   460,   461,   462,     0,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,   478,     0,   479,   480,     0,
     481,     0,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,   491,   492,   493,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,     0,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,     0,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
     536,     0,     0,     0,   219,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,  1256,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,     0,   236,   237,   238,   239,   240,     0,
     241,   242,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
     257,     0,     0,     0,   258,   259,   260,   261,     0,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
       0,   271,   272,   273,     0,     0,     0,     0,     0,     0,
       0,   274,   275,   276,   277,   278,   279,   280,   281,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   294,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
     313,   314,   315,   316,     0,   317,     0,   318,     0,     0,
       0,   319,   320,   321,     0,   322,   323,     0,   324,   325,
       0,   326,   327,   328,   329,   330,     0,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
       0,   342,   343,   344,   345,   346,   347,   348,     0,   349,
       0,   350,     0,     0,   351,     0,   352,   353,   354,   355,
     356,     0,     0,   357,   358,     0,   359,     0,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
       0,   379,   380,   381,   382,     0,   383,   384,     0,   385,
       0,   386,   387,   388,   389,   390,   391,     0,   392,     0,
       0,   393,   394,   395,     0,     0,   396,   397,     0,   398,
       0,   399,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,   409,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,     0,   441,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,     0,   458,   459,   460,
     461,   462,     0,   463,   464,   465,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
       0,   479,   480,     0,   481,     0,   482,   483,   484,   485,
     486,     0,   487,   488,     0,     0,   489,   490,   491,   492,
     493,     0,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,     0,   506,   507,
     508,   509,   510,   511,   512,     0,   513,     0,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
     532,   533,   534,   535,   536,     0,     0,     0,   219,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  2688,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,     0,   236,   237,
     238,   239,   240,     0,   241,   242,     0,   243,   244,   245,
     246,   247,     0,     0,   248,   249,   250,   251,   252,     0,
     253,   254,   255,   256,   257,     0,     0,     0,   258,   259,
     260,   261,     0,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,     0,   271,   272,   273,     0,     0,
       0,     0,     0,     0,     0,   274,   275,   276,   277,   278,
     279,   280,   281,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     294,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,   307,   308,   309,   310,
     311,     0,   312,     0,   313,   314,   315,   316,     0,   317,
       0,   318,     0,     0,     0,   319,   320,   321,     0,   322,
     323,     0,   324,   325,     0,   326,   327,   328,   329,   330,
       0,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,     0,   342,   343,   344,   345,   346,
     347,   348,     0,   349,     0,   350,     0,     0,   351,     0,
     352,   353,   354,   355,   356,     0,     0,   357,   358,     0,
     359,     0,     0,   360,   361,   362,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,     0,   379,   380,   381,   382,     0,
     383,   384,     0,   385,     0,   386,   387,   388,   389,   390,
     391,     0,   392,     0,     0,   393,   394,   395,     0,     0,
     396,   397,     0,   398,     0,   399,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,   409,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,     0,   441,   442,   443,   444,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
       0,   458,   459,   460,   461,   462,     0,   463,   464,   465,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,     0,   479,   480,     0,   481,     0,
     482,   483,   484,   485,   486,     0,   487,   488,     0,     0,
     489,   490,   491,   492,   493,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
       0,     0,   506,   507,   508,   509,   510,   511,   512,     0,
     513,     0,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,   526,   527,
     528,   529,   530,   531,   532,   533,   534,   535,   536,     0,
       0,     0,   219,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,  3787,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,     0,   236,   237,   238,   239,   240,     0,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
       0,     0,   258,   259,   260,   261,     0,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,     0,   271,
     272,   273,     0,     0,     0,     0,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,     0,     0,     0,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,     0,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,     0,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
       0,     0,   351,     0,   352,   353,   354,   355,   356,     0,
       0,   357,   358,     0,   359,     0,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,     0,   379,
     380,   381,   382,     0,   383,   384,     0,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,     0,   398,     0,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,     0,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,     0,   458,   459,   460,   461,   462,
       0,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,     0,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,     0,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,     0,     0,     0,     0,     0,     0,   978,
    1398,   593,     0,     0,   829,   646,     0,     0,     0,     0,
    4202,   830,   831,   832,   220,   221,   222,   223,   224,   225,
     226,   227,  1857,   229,   230,   231,  1858,  1859,  1860,  1861,
    1862,  1863,  1864,   232,   233,  1865,   234,   235,   772,   236,
     237,   238,     0,   979,   773,   980,   981,  1866,   243,   244,
     245,   246,   247,  1867,  1868,   248,   249,   982,   983,   252,
    1869,   253,   254,   255,   256,     0,  1870,   774,  1871,   258,
     259,   260,   261,   775,   262,   263,   264,  1872,   265,   266,
     267,   268,   269,   270,  1873,   776,   271,   272,   273,  1874,
    1875,  1876,   777,  1877,  1878,  1879,   274,   275,   276,   277,
     278,   279,   984,   985,   282,  1880,   283,  1881,   284,   285,
     286,   287,   288,  1882,   289,   290,   291,  1883,  1884,   292,
     293,   986,   295,   296,  1885,   297,   298,   299,  1886,   300,
     301,   302,  1887,   303,   304,   305,   306,     0,   308,   309,
     310,     0,  1888,   312,  1889,   313,   314,   987,   316,  1890,
     317,  1891,   318,   778,  1892,   779,   319,   320,   321,  1893,
     322,     0,  1894,     0,   325,  1895,   326,   327,   328,   329,
     330,   780,   331,   332,   333,   334,  1896,   335,   336,   337,
     338,   339,   340,  1897,   341,   781,     0,   343,   344,   345,
     346,   989,   990,  1898,   991,  1899,   350,   782,   783,   351,
     784,   352,   353,   354,   355,   356,  1900,  1901,   357,     0,
     785,   359,   786,  1902,   360,   361,   362,  1903,  1904,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   992,   787,   993,   380,   381,     0,
    1905,   383,   384,   788,   385,  1906,     0,   387,   994,   389,
     390,   391,  1907,   392,  1908,  1909,  3535,   394,   395,  1910,
    1911,   396,     0,   789,   398,   790,     0,   400,   401,   402,
     403,   404,   405,   406,  1912,   407,   408,     0,   410,     0,
     412,   413,   414,  1913,   415,   416,   417,   418,   419,   420,
     421,   422,   995,   424,   425,   426,   427,  1914,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,  1915,
     439,   440,   791,   441,   442,   443,     0,   445,   446,   447,
     448,   449,   450,   451,   452,  1916,   453,   454,   455,   456,
     457,  1917,   458,   459,  1998,   461,   462,   792,   463,   464,
     997,   466,  1918,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,     0,  1919,   479,   480,  1920,   481,
     793,   482,   483,   484,   485,   486,  1921,   998,   999,  1922,
    1923,   489,   490,     0,   492,     0,  1924,   494,   495,   496,
     497,   498,   499,   500,  1925,  1926,   501,   502,   503,   504,
     505,  1927,  1928,   506,   507,   508,   509,   510,     0,  1000,
    1929,   513,   794,   514,   515,   516,   517,  1930,  1931,   518,
    1932,  1933,   519,   520,   521,   522,   523,   524,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   534,   535,   536,
     815,  1398,   593,   835,   836,   837,   646,  3536,  3537,   840,
     841,   842,   843,   844,     0,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,   772,
     236,   237,   238,   239,   240,   773,   241,   242,     0,   243,
     244,   245,   246,   247,     0,     0,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,   257,     0,   774,     0,
     258,   259,   260,   261,   775,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,   776,   271,   272,   273,
       0,     0,     0,   777,     0,     0,     0,   274,   275,   276,
     277,   278,   279,   280,   281,   282,  1845,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,   311,  1667,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,   778,     0,   779,   319,   320,   321,
       0,   322,   323,     0,   324,   325,     0,   326,   327,   328,
     329,   330,   780,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,   781,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,   782,   783,
     351,   784,   352,   353,   354,   355,   356,     0,     0,   357,
     358,   785,   359,   786,     0,   360,   361,   362,     0,     0,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,   787,   379,   380,   381,
     382,     0,   383,   384,   788,   385,     0,   386,   387,   388,
     389,   390,   391,     0,   392,  1668,     0,   393,   394,   395,
       0,     0,   396,   397,   789,   398,   790,   399,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,   409,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,   791,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,     0,   458,   459,   460,   461,   462,   792,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,   478,     0,   479,   480,     0,
     481,   793,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,   491,   492,   493,  1669,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,     0,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,   794,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
     536,   815,  1398,   593,     0,     0,     0,   646,   658,  1399,
       0,     0,     0,     0,  1846,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     0,     0,
       0,     0,     0,     0,     0,   232,   233,     0,   234,   235,
     772,   236,   237,   238,   239,   240,   773,   241,   242,     0,
     243,   244,   245,   246,   247,     0,     0,   248,   249,   250,
     251,   252,     0,   253,   254,   255,   256,   257,     0,   774,
       0,   258,   259,   260,   261,   775,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,   776,   271,   272,
     273,     0,     0,     0,   777,     0,     0,     0,   274,   275,
     276,   277,   278,   279,   280,   281,   282,  1851,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   294,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,   307,
     308,   309,   310,   311,  1667,   312,     0,   313,   314,   315,
     316,     0,   317,     0,   318,   778,     0,   779,   319,   320,
     321,     0,   322,   323,     0,   324,   325,     0,   326,   327,
     328,   329,   330,   780,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,   781,   342,   343,
     344,   345,   346,   347,   348,     0,   349,     0,   350,   782,
     783,   351,   784,   352,   353,   354,   355,   356,     0,     0,
     357,   358,   785,   359,   786,     0,   360,   361,   362,     0,
       0,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,   378,   787,   379,   380,
     381,   382,     0,   383,   384,   788,   385,     0,   386,   387,
     388,   389,   390,   391,     0,   392,  1668,     0,   393,   394,
     395,     0,     0,   396,   397,   789,   398,   790,   399,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,   409,
     410,   411,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,   791,   441,   442,   443,   444,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,     0,   458,   459,   460,   461,   462,   792,
     463,   464,   465,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
       0,   481,   793,   482,   483,   484,   485,   486,     0,   487,
     488,     0,     0,   489,   490,   491,   492,   493,  1669,   494,
     495,   496,   497,   498,   499,   500,     0,     0,   501,   502,
     503,   504,   505,     0,     0,   506,   507,   508,   509,   510,
     511,   512,     0,   513,   794,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
     535,   536,   815,  1398,   593,     0,     0,     0,   646,   658,
    1399,     0,     0,     0,     0,  1846,     0,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,   772,   236,   237,   238,   239,   240,   773,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
     774,     0,   258,   259,   260,   261,   775,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,   776,   271,
     272,   273,     0,     0,     0,   777,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,  1667,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,   778,     0,   779,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,   780,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,   781,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
     782,   783,   351,   784,   352,   353,   354,   355,   356,     0,
       0,   357,   358,   785,   359,   786,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,   787,   379,
     380,   381,   382,     0,   383,   384,   788,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,  1668,     0,   393,
     394,   395,     0,     0,   396,   397,   789,   398,   790,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,   791,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,     0,   458,   459,   460,   461,   462,
     792,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,   793,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,  1669,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,   794,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,   815,     0,   593,     0,     0,     0,     0,
     658,  1399,     0,     0,     0,     0,  1846,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,     0,     0,   232,   233,     0,
     234,   235,   772,   236,   237,   238,   239,   240,   773,   241,
     242,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   250,   251,   252,     0,   253,   254,   255,   256,   257,
       0,   774,     0,   258,   259,   260,   261,   775,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,   776,
     271,   272,   273,     0,     0,     0,   777,     0,     0,     0,
     274,   275,   276,   277,   278,   279,   280,   281,   282,  1830,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   294,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
     314,   315,   316,     0,   317,     0,   318,   778,     0,   779,
     319,   320,   321,     0,   322,   323,     0,   324,   325,     0,
     326,   327,   328,   329,   330,   780,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,   781,
     342,   343,   344,   345,   346,   347,   348,     0,   349,     0,
     350,   782,   783,   351,   784,   352,   353,   354,   355,   356,
       0,     0,   357,   358,   785,   359,   786,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   378,   787,
     379,   380,   381,   382,     0,   383,   384,   788,   385,     0,
     386,   387,   388,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,   397,   789,   398,   790,
     399,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,   409,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,   791,   441,   442,   443,
     444,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,     0,   458,   459,   460,   461,
     462,   792,   463,   464,   465,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
     479,   480,     0,   481,   793,   482,   483,   484,   485,   486,
       0,   487,   488,     0,     0,   489,   490,   491,   492,   493,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,   511,   512,     0,   513,   794,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
     533,   534,   535,   536,   815,     0,   593,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  1236,     0,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,   772,   236,   237,   238,   239,   240,   773,
     241,   242,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
     257,     0,   774,     0,   258,   259,   260,   261,   775,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
     776,   271,   272,   273,     0,     0,     0,   777,     0,     0,
       0,   274,   275,   276,   277,   278,   279,   280,   281,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   294,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
     313,   314,   315,   316,     0,   317,     0,   318,   778,     0,
     779,   319,   320,   321,     0,   322,   323,     0,   324,   325,
       0,   326,   327,   328,   329,   330,   780,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
     781,   342,   343,   344,   345,   346,   347,   348,     0,   349,
       0,   350,   782,   783,   351,   784,   352,   353,   354,   355,
     356,     0,     0,   357,   358,   785,   359,   786,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
     787,   379,   380,   381,   382,     0,   383,   384,   788,   385,
       0,   386,   387,   388,   389,   390,   391,     0,   392,     0,
       0,   393,   394,   395,     0,     0,   396,   397,   789,   398,
     790,   399,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,   409,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,   791,   441,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,     0,   458,   459,   460,
     461,   462,   792,   463,   464,   465,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
       0,   479,   480,     0,   481,   793,   482,   483,   484,   485,
     486,     0,   487,   488,     0,     0,   489,   490,   491,   492,
     493,     0,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,     0,   506,   507,
     508,   509,   510,   511,   512,     0,   513,   794,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
     532,   533,   534,   535,   536,     0,     0,   219,     0,     0,
       0,     0,   829,     0,     0,     0,     0,     0,  1236,   830,
     831,   832,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,     0,   236,   237,   238,
     239,   240,     0,   241,   242,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   250,   251,   252,     0,   253,
     833,   255,   256,   257,     0,     0,     0,   258,   259,   260,
     261,     0,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,     0,   271,   272,   273,     0,     0,     0,
       0,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     280,   281,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   294,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
       0,   834,     0,   313,   314,   315,   316,     0,   317,     0,
     318,     0,     0,     0,   319,   320,   321,     0,   322,   323,
       0,   324,   325,     0,   326,   327,   328,   329,   330,     0,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,     0,   342,   343,   344,   345,   346,   347,
     348,     0,   349,     0,   350,     0,     0,   351,     0,   352,
     353,   354,   355,   356,     0,     0,   357,   358,     0,   359,
       0,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,     0,   379,   380,   381,   382,     0,   383,
     384,     0,   385,     0,   386,   387,   388,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
     397,     0,   398,     0,   399,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,   409,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
       0,   441,   442,   443,   444,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,     0,   479,   480,     0,   481,     0,   482,
     483,   484,   485,   486,     0,   487,   488,     0,     0,   489,
     490,   491,   492,   493,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,   511,   512,     0,   513,
       0,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,     0,     0,
       0,   835,   836,   837,     0,   838,   839,   840,   841,   842,
     843,   844,   219,     0,     0,     0,     0,   829,     0,     0,
       0,     0,     0,     0,   830,   831,   832,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,     0,   236,   237,   238,   239,   240,     0,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,   936,   255,   256,   257,     0,
       0,     0,   258,   259,   260,   261,     0,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,     0,   271,
     272,   273,     0,     0,     0,     0,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   937,     0,   313,   314,
     315,   316,     0,   317,     0,   318,     0,     0,     0,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,     0,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,     0,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
       0,     0,   351,     0,   352,   353,   354,   355,   356,     0,
       0,   357,   358,     0,   359,     0,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,     0,   379,
     380,   381,   382,     0,   383,   384,     0,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,     0,   398,     0,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,     0,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,     0,   458,   459,   460,   461,   462,
       0,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,     0,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,     0,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,     0,     0,     0,   835,   836,   837,     0,
     838,   839,   840,   841,   842,   843,   844,   219,     0,     0,
       0,     0,   829,     0,     0,     0,     0,     0,     0,   830,
     831,   832,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,     0,   236,   237,   238,
     239,   240,     0,   241,   242,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   250,   251,   252,     0,   253,
    1027,   255,   256,   257,     0,     0,     0,   258,   259,   260,
     261,     0,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,     0,   271,   272,   273,     0,     0,     0,
       0,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     280,   281,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   294,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
       0,  1028,     0,   313,   314,   315,   316,     0,   317,     0,
     318,     0,     0,     0,   319,   320,   321,     0,   322,   323,
       0,   324,   325,     0,   326,   327,   328,   329,  1029,     0,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,     0,   342,   343,   344,   345,   346,   347,
     348,     0,   349,     0,   350,     0,     0,   351,     0,   352,
     353,   354,   355,   356,     0,     0,   357,   358,     0,   359,
       0,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,     0,   379,   380,   381,   382,     0,   383,
     384,     0,   385,     0,   386,   387,   388,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
     397,     0,   398,     0,   399,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,   409,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
       0,   441,   442,   443,   444,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,     0,   479,   480,     0,   481,     0,   482,
     483,   484,   485,   486,     0,   487,   488,     0,     0,   489,
     490,   491,   492,   493,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,   511,   512,     0,   513,
       0,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,     0,     0,
       0,   835,   836,   837,     0,   838,   839,   840,   841,   842,
     843,   844,   219,     0,     0,     0,     0,   829,     0,     0,
       0,     0,     0,     0,   830,   831,   832,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,     0,   236,   237,   238,   239,   240,     0,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,  1496,   255,   256,   257,     0,
       0,     0,   258,   259,   260,   261,     0,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,     0,   271,
     272,   273,     0,     0,     0,     0,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,  1497,     0,   313,   314,
     315,   316,     0,   317,     0,   318,     0,     0,     0,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,     0,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,     0,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
       0,     0,   351,     0,   352,   353,   354,   355,   356,     0,
       0,   357,   358,     0,   359,     0,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,     0,   379,
     380,   381,   382,     0,   383,   384,     0,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,     0,   398,     0,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,     0,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,     0,   458,   459,   460,   461,   462,
       0,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,     0,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,     0,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,     0,     0,     0,   835,   836,   837,     0,
     838,   839,   840,   841,   842,   843,   844,   219,     0,     0,
       0,     0,   829,     0,     0,     0,     0,     0,     0,   830,
     831,   832,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,     0,   236,   237,   238,
     239,   240,     0,   241,   242,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   250,   251,   252,     0,   253,
     254,   255,   256,   257,     0,     0,     0,   258,   259,   260,
     261,     0,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,     0,   271,   272,   273,     0,     0,     0,
       0,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     280,   281,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   294,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
       0,   312,     0,   313,   314,   315,   316,     0,   317,     0,
     318,     0,     0,     0,   319,   320,   321,     0,   322,   323,
       0,   324,   325,     0,   326,   327,   328,   329,   330,     0,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,     0,   342,   343,   344,   345,   346,   347,
     348,     0,   349,     0,   350,     0,     0,   351,     0,   352,
     353,   354,   355,   356,     0,     0,   357,   358,     0,   359,
       0,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,     0,   379,   380,   381,   382,     0,   383,
     384,     0,   385,     0,   386,   387,   388,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
     397,     0,   398,     0,   399,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,   409,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
       0,   441,   442,   443,   444,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,     0,   479,   480,     0,   481,     0,   482,
     483,   484,   485,   486,     0,   487,   488,     0,     0,   489,
     490,   491,   492,   493,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,   511,   512,     0,   513,
       0,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,     0,     0,
       0,   835,   836,   837,     0,   838,   839,   840,   841,   842,
     843,   844,   219,     0,     0,     0,     0,   829,     0,     0,
       0,     0,     0,     0,   830,   831,   832,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,     0,   236,   237,   238,   239,   240,     0,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,  2766,   255,   256,   257,     0,
       0,     0,   258,   259,   260,   261,     0,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,     0,   271,
     272,   273,     0,     0,     0,     0,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,  2767,     0,   313,   314,
     315,   316,     0,   317,     0,   318,     0,     0,     0,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,     0,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,     0,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
       0,     0,   351,     0,   352,   353,   354,   355,   356,     0,
       0,   357,   358,     0,   359,     0,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,     0,   379,
     380,   381,   382,     0,   383,   384,     0,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,     0,   398,     0,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,     0,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,     0,   458,   459,   460,   461,   462,
       0,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,     0,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,     0,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,     0,     0,     0,   835,   836,   837,     0,
     838,   839,   840,   841,   842,   843,   844,   219,     0,     0,
       0,     0,   829,     0,     0,     0,     0,     0,     0,   830,
     831,   832,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,     0,   236,   237,   238,
     239,   240,     0,   241,   242,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   250,   251,   252,     0,   253,
     254,   255,   256,   257,     0,     0,     0,   258,   259,   260,
     261,     0,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,     0,   271,   272,   273,     0,     0,     0,
       0,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     280,   281,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   294,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
       0,   312,     0,   313,   314,   315,   316,     0,   317,     0,
     318,     0,     0,     0,   319,   320,   321,     0,   322,   323,
       0,   324,   325,     0,   326,   327,   328,   329,   330,     0,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,     0,   342,   343,   344,   345,   346,   347,
     348,     0,   349,     0,   350,     0,     0,   351,     0,   352,
     353,   354,   355,   356,     0,     0,   357,   358,     0,   359,
       0,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,     0,   379,   380,   381,   382,     0,   383,
     384,     0,   385,     0,   386,   387,   388,   389,   390,   391,
       0,   392,     0,     0,  4484,   394,   395,     0,     0,   396,
     397,     0,   398,     0,   399,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,   409,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
       0,   441,   442,   443,   444,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,     0,   479,   480,     0,   481,     0,   482,
     483,   484,   485,   486,     0,   487,   488,     0,     0,   489,
     490,   491,   492,   493,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,   511,   512,     0,   513,
       0,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,   219,     0,
     593,   835,   836,   837,     0,   838,   839,   840,   841,   842,
     843,   844,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,     0,   236,   237,
     238,   239,   240,     0,   241,   242,     0,   243,   244,   245,
     246,   247,     0,     0,   248,   249,   250,   251,   252,     0,
     253,   254,   255,   256,   257,     0,     0,     0,   258,   259,
     260,   261,     0,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,     0,   271,   272,   273,     0,     0,
       0,     0,     0,     0,     0,   274,   275,   276,   277,   278,
     279,   280,   281,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     294,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,   307,   308,   309,   310,
     311,     0,   312,     0,   313,   314,   315,   316,     0,   317,
       0,   318,     0,     0,     0,   319,   320,   321,     0,   322,
     323,     0,   324,   325,     0,   326,   327,   328,   329,   330,
       0,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,     0,   342,   343,   344,   345,   346,
     347,   348,     0,   349,     0,   350,     0,     0,   351,     0,
     352,   353,   354,   355,   356,     0,     0,   357,   358,     0,
     359,     0,     0,   360,   361,   362,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,     0,   379,   380,   381,   382,     0,
     383,   384,     0,   385,     0,   386,   387,   388,   389,   390,
     391,     0,   392,     0,     0,   393,   394,   395,     0,     0,
     396,   397,     0,   398,     0,   399,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,   409,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,     0,   441,   442,   443,   444,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
       0,   458,   459,   460,   461,   462,     0,   463,   464,   465,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,     0,   479,   480,     0,   481,     0,
     482,   483,   484,   485,   486,     0,   487,   488,     0,     0,
     489,   490,   491,   492,   493,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
       0,     0,   506,   507,   508,   509,   510,   511,   512,     0,
     513,     0,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,   526,   527,
     528,   529,   530,   531,   532,   533,   534,   535,   536,  1856,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,  1239,     0,   220,   221,   222,   223,   224,   225,
     226,   227,  1857,   229,   230,   231,  1858,  1859,  1860,  1861,
    1862,  1863,  1864,   232,   233,  1865,   234,   235,   772,   236,
     237,   238,   239,   240,   773,   241,   242,  1866,   243,   244,
     245,   246,   247,  1867,  1868,   248,   249,   250,   251,   252,
    1869,   253,   254,   255,   256,   257,  1870,   774,  1871,   258,
     259,   260,   261,   775,   262,   263,   264,  1872,   265,   266,
     267,   268,   269,   270,  1873,   776,   271,   272,   273,  1874,
    1875,  1876,   777,  1877,  1878,  1879,   274,   275,   276,   277,
     278,   279,   280,   281,   282,  1880,   283,  1881,   284,   285,
     286,   287,   288,  1882,   289,   290,   291,  1883,  1884,   292,
     293,   294,   295,   296,  1885,   297,   298,   299,  1886,   300,
     301,   302,  1887,   303,   304,   305,   306,   307,   308,   309,
     310,   311,  1888,   312,  1889,   313,   314,   315,   316,  1890,
     317,  1891,   318,   778,  1892,   779,   319,   320,   321,  1893,
     322,   323,  1894,   324,   325,  1895,   326,   327,   328,   329,
     330,   780,   331,   332,   333,   334,  1896,   335,   336,   337,
     338,   339,   340,  1897,   341,   781,   342,   343,   344,   345,
     346,   347,   348,  1898,   349,  1899,   350,   782,   783,   351,
     784,   352,   353,   354,   355,   356,  1900,  1901,   357,   358,
     785,   359,   786,  1902,   360,   361,   362,  1903,  1904,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   378,   787,   379,   380,   381,   382,
    1905,   383,   384,   788,   385,  1906,   386,   387,   388,   389,
     390,   391,  1907,   392,  1908,  1909,   393,   394,   395,  1910,
    1911,   396,   397,   789,   398,   790,   399,   400,   401,   402,
     403,   404,   405,   406,  1912,   407,   408,   409,   410,   411,
     412,   413,   414,  1913,   415,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,  1914,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,  1915,
     439,   440,   791,   441,   442,   443,   444,   445,   446,   447,
     448,   449,   450,   451,   452,  1916,   453,   454,   455,   456,
     457,  1917,   458,   459,   460,   461,   462,   792,   463,   464,
     465,   466,  1918,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,   478,  1919,   479,   480,  1920,   481,
     793,   482,   483,   484,   485,   486,  1921,   487,   488,  1922,
    1923,   489,   490,   491,   492,   493,  1924,   494,   495,   496,
     497,   498,   499,   500,  1925,  1926,   501,   502,   503,   504,
     505,  1927,  1928,   506,   507,   508,   509,   510,   511,   512,
    1929,   513,   794,   514,   515,   516,   517,  1930,  1931,   518,
    1932,  1933,   519,   520,   521,   522,   523,   524,   525,   526,
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
     219,     0,     0,     0,     0,     0,     0,     0,     0,  1934,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,     0,
     236,   237,   238,   239,   240,     0,   241,   242,     0,   243,
     244,   245,   246,   247,     0,     0,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,   257,     0,     0,     0,
     258,   259,   260,   261,     0,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,     0,   271,   272,   273,
       0,     0,     0,     0,     0,     0,     0,   274,   275,   276,
     277,   278,   279,   280,   281,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,     0,     0,     0,   319,   320,   321,
       0,   322,   323,     0,   324,   325,     0,   326,   327,   328,
     329,   330,     0,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,     0,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,     0,     0,
     351,     0,   352,   353,   354,   355,   356,     0,     0,   357,
     358,     0,   359,     0,     0,   360,   361,   362,     0,     0,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,     0,   379,   380,   381,
     382,     0,   383,   384,     0,   385,     0,   386,   387,   388,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,     0,   398,     0,   399,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,   409,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,     0,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,     0,   458,   459,   460,   461,   462,     0,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,   478,     0,   479,   480,     0,
     481,     0,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,   491,   492,   493,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,     0,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,     0,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
     536,   978,     0,     0,     0,     0,     0,     0,     0,     0,
     740,     0,     0,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     0,     0,
       0,     0,     0,     0,     0,   232,   233,     0,   234,   235,
     772,   236,   237,   238,     0,   979,   773,   980,   981,     0,
     243,   244,   245,   246,   247,     0,     0,   248,   249,   982,
     983,   252,     0,   253,   254,   255,   256,     0,     0,   774,
       0,   258,   259,   260,   261,   775,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,   776,   271,   272,
     273,     0,     0,     0,   777,     0,     0,     0,   274,   275,
     276,   277,   278,   279,   984,   985,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   986,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,     0,
     308,   309,   310,     0,     0,   312,     0,   313,   314,   987,
     316,     0,   317,     0,   318,   778,     0,   779,   319,   320,
     321,     0,   322,     0,     0,     0,   325,     0,   326,   327,
     328,   329,   330,   780,   331,   332,   333,   334,  1994,   335,
     336,   337,   338,   339,   340,     0,   341,   781,  1995,   343,
     344,   345,   346,   989,   990,     0,   991,     0,   350,   782,
     783,   351,   784,   352,   353,   354,   355,   356,     0,     0,
     357,     0,   785,   359,   786,     0,   360,   361,   362,     0,
       0,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,   992,   787,   993,   380,
     381,     0,     0,   383,   384,   788,   385,     0,     0,   387,
     994,   389,   390,   391,     0,   392,     0,     0,   393,   394,
     395,     0,  1996,   396,  1997,   789,   398,   790,     0,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,     0,
     410,     0,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,   995,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,   791,   441,   442,   443,     0,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,     0,   458,   459,  1998,   461,   462,   792,
     463,   464,   997,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,     0,     0,   479,   480,
       0,   481,   793,   482,   483,   484,   485,   486,     0,   998,
     999,     0,     0,   489,   490,     0,   492,     0,     0,   494,
     495,   496,   497,   498,   499,   500,     0,     0,   501,   502,
     503,   504,   505,     0,     0,   506,   507,   508,   509,   510,
       0,  1000,  1999,   513,   794,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
       0,     0,     0,     0,     0,     0,     0,  2264,     0,   534,
     535,   536,     0,     0,     0,     0,     0,     0,     0,     0,
       0,  2000,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,   772,   236,   237,   238,
       0,   979,   773,   980,   981,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   982,   983,   252,     0,   253,
     254,   255,   256,     0,     0,   774,     0,   258,   259,   260,
     261,   775,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,   776,   271,   272,   273,     0,     0,     0,
     777,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     984,   985,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   986,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,     0,   308,   309,   310,     0,
       0,   312,     0,   313,   314,   987,   316,     0,   317,     0,
     318,   778,     0,   779,   319,   320,   321,     0,   322,     0,
       0,     0,   325,     0,   326,   327,   328,   329,   330,   780,
     331,   332,   333,   334,  1994,   335,   336,   337,   338,   339,
     340,     0,   341,   781,  1995,   343,   344,   345,   346,   989,
     990,     0,   991,     0,   350,   782,   783,   351,   784,   352,
     353,   354,   355,   356,     0,     0,   357,     0,   785,   359,
     786,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   992,   787,   993,   380,   381,     0,     0,   383,
     384,   788,   385,     0,     0,   387,   994,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,  1996,   396,
    1997,   789,   398,   790,     0,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,     0,   410,     0,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     995,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
     791,   441,   442,   443,     0,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,  1998,   461,   462,   792,   463,   464,   997,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,     0,     0,   479,   480,     0,   481,   793,   482,
     483,   484,   485,   486,     0,   998,   999,     0,     0,   489,
     490,     0,   492,     0,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,     0,  1000,  1999,   513,
     794,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,     0,     0,     0,     0,
       0,     0,     0,   219,     0,   534,   535,   536,     0,     0,
       0,     0,     0,     0,     0,     0,     0,  2000,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,     0,     0,   232,   233,     0,
     234,   235,     0,   236,   237,   238,   239,   240,     0,   241,
     242,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   250,   251,   252,     0,   253,   254,   255,   256,   257,
       0,     0,     0,   258,   259,   260,   261,     0,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,     0,
     271,   272,   273,     0,     0,     0,     0,     0,     0,     0,
     274,   275,   276,   277,   278,   279,   280,   281,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   294,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
     314,   315,   316,     0,   317,     0,   318,     0,     0,     0,
     319,   320,   321,     0,   322,   323,     0,   324,   325,     0,
     326,   327,   328,   329,   330,     0,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,     0,
     342,   343,   344,   345,   346,   347,   348,     0,   349,     0,
     350,     0,     0,   351,     0,   352,   353,   354,   355,   356,
       0,     0,   357,   358,     0,   359,     0,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   378,     0,
     379,   380,   381,   382,     0,   383,   384,     0,   385,     0,
     386,   387,   388,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,   397,     0,   398,     0,
     399,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,   409,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,     0,   441,   442,   443,
     444,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,     0,   458,   459,   460,   461,
     462,     0,   463,   464,   465,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
     479,   480,     0,   481,     0,   482,   483,   484,   485,   486,
       0,   487,   488,     0,     0,   489,   490,   491,   492,   493,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,   511,   512,     0,   513,     0,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
     533,   534,   535,   536,   815,  1398,   593,     0,     0,     0,
     646,     0,     0,  4538,     0,     0,     0,     0,     0,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,   772,   236,   237,   238,   239,   240,   773,
     241,   242,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
     257,     0,   774,     0,   258,   259,   260,   261,   775,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
     776,   271,   272,   273,     0,     0,     0,   777,     0,     0,
       0,   274,   275,   276,   277,   278,   279,   280,   281,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   294,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,   307,   308,   309,   310,   311,  1667,   312,     0,
     313,   314,   315,   316,     0,   317,     0,   318,   778,     0,
     779,   319,   320,   321,     0,   322,   323,     0,   324,   325,
       0,   326,   327,   328,   329,   330,   780,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
     781,   342,   343,   344,   345,   346,   347,   348,     0,   349,
       0,   350,   782,   783,   351,   784,   352,   353,   354,   355,
     356,     0,     0,   357,   358,   785,   359,   786,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
     787,   379,   380,   381,   382,     0,   383,   384,   788,   385,
       0,   386,   387,   388,   389,   390,   391,     0,   392,  1668,
       0,   393,   394,   395,     0,     0,   396,   397,   789,   398,
     790,   399,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,   409,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,   791,   441,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,     0,   458,   459,   460,
     461,   462,   792,   463,   464,   465,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
       0,   479,   480,     0,   481,   793,   482,   483,   484,   485,
     486,     0,   487,   488,     0,     0,   489,   490,   491,   492,
     493,  1669,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,     0,   506,   507,
     508,   509,   510,   511,   512,     0,   513,   794,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
     532,   533,   534,   535,   536,   815,     0,   593,     0,     0,
       0,   646,   658,  1399,     0,     0,     0,     0,     0,     0,
     220,   221,   222,   223,   224,   225,   226,   227,     0,   229,
     230,   231,     0,     0,     0,     0,     0,     0,     0,   232,
     233,     0,   234,   235,   772,   236,   237,   238,   239,   240,
     773,   241,   242,     0,   243,   244,   245,   246,   247,     0,
       0,   248,   249,   250,   251,   252,     0,   253,   254,   255,
     256,   257,     0,   774,     0,   258,   259,   260,   261,   775,
     262,   263,   264,     0,   265,   266,   267,   268,   269,   270,
       0,   776,   271,   272,   273,     0,     0,     0,   777,     0,
       0,     0,   274,   275,   276,   277,   278,   279,   280,   281,
     282,  2721,   283,     0,   284,   285,   286,   287,   288,     0,
     289,   290,   291,     0,     0,   292,   293,   294,   295,   296,
       0,   297,   298,   299,     0,   300,   301,   302,     0,   303,
     304,   305,   306,   307,   308,   309,   310,   311,  1667,   312,
       0,   313,   314,   315,   316,     0,   317,     0,   318,   778,
       0,   779,   319,   320,   321,     0,   322,   323,     0,   324,
     325,     0,   326,   327,   328,   329,   330,   780,   331,   332,
     333,   334,     0,   335,   336,   337,   338,   339,   340,     0,
     341,   781,   342,   343,   344,   345,   346,   347,   348,     0,
     349,     0,   350,   782,   783,   351,   784,   352,   353,   354,
     355,   356,     0,     0,   357,   358,   785,   359,   786,     0,
     360,   361,   362,     0,     0,   363,   364,   365,   366,   367,
     368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
     378,   787,   379,   380,   381,   382,     0,   383,   384,   788,
     385,     0,   386,   387,   388,   389,   390,   391,     0,   392,
    1668,     0,   393,   394,   395,     0,     0,   396,   397,   789,
     398,   790,   399,   400,   401,   402,   403,   404,   405,   406,
       0,   407,   408,   409,   410,   411,   412,   413,   414,     0,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
     434,   435,   436,   437,   438,     0,   439,   440,   791,   441,
     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
     452,     0,   453,   454,   455,   456,   457,     0,   458,   459,
     460,   461,   462,   792,   463,   464,   465,   466,     0,   467,
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
     478,     0,   479,   480,     0,   481,   793,   482,   483,   484,
     485,   486,     0,   487,   488,     0,     0,   489,   490,   491,
     492,   493,  1669,   494,   495,   496,   497,   498,   499,   500,
       0,     0,   501,   502,   503,   504,   505,     0,     0,   506,
     507,   508,   509,   510,   511,   512,     0,   513,   794,   514,
     515,   516,   517,     0,     0,   518,     0,     0,   519,   520,
     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
     531,   532,   533,   534,   535,   536,   219,     0,     0,     0,
       0,     0,   646,   658,   659,     0,     0,     0,     0,     0,
       0,   220,   647,   222,   223,   224,   225,   226,   227,   648,
     229,   230,   231,     0,     0,     0,     0,     0,     0,     0,
     232,   233,     0,   234,   235,     0,   649,   237,   238,   239,
     240,     0,   241,   242,     0,   243,   244,   245,   246,   247,
       0,     0,   248,   249,   250,   251,   252,     0,   253,   254,
     255,   256,   257,     0,     0,     0,   258,   259,   260,   261,
       0,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,     0,   271,   272,   273,     0,     0,     0,     0,
       0,     0,     0,   274,   275,   276,   277,   278,   279,   280,
     281,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   294,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
     312,     0,   313,   650,   315,   316,     0,   317,     0,   651,
       0,   652,     0,   319,   320,   321,     0,   322,   323,     0,
     324,   325,     0,   326,   327,   328,   329,   330,     0,   331,
     332,   333,   334,   653,   335,   336,   337,   338,   339,   340,
       0,   341,     0,   342,   343,   344,   345,   346,   347,   348,
       0,   349,     0,   350,     0,     0,   351,     0,   352,   353,
     354,   355,   654,     0,     0,   357,   358,     0,   359,     0,
       0,   360,   361,   362,     0,     0,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,   378,     0,   379,   655,   381,   382,     0,   383,   384,
       0,   385,     0,   386,   387,   388,   389,   390,   391,     0,
     392,     0,     0,   393,   394,   395,     0,     0,   396,   397,
       0,   398,     0,   399,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,   409,   410,   411,   412,   413,   414,
       0,   656,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,     0,   428,   429,   657,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,     0,
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
     451,   452,     0,   453,   454,   455,   456,   457,     0,   458,
     459,   460,   461,   462,     0,   463,   464,   465,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,   478,     0,   479,   480,     0,   481,     0,   482,   483,
     484,   485,   486,     0,   487,   488,     0,     0,   489,   490,
     491,   492,   493,     0,   494,   495,   496,   497,   498,   499,
     500,     0,     0,   501,   502,   503,   504,   505,     0,     0,
     506,   507,   508,   509,   510,   511,   512,     0,   513,     0,
     514,   515,   516,   517,     0,     0,   518,     0,     0,   519,
     520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
     530,   531,   532,   533,   534,   535,   536,  1856,  4900,   593,
       0,     0,     0,   646,   658,   659,     0,     0,     0,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
    1857,   229,   230,   231,  1858,  1859,  1860,  1861,  1862,  1863,
    1864,   232,   233,  1865,   234,   235,   772,   236,   237,   238,
     239,   240,   773,   241,   242,  1866,   243,   244,   245,   246,
     247,  1867,  1868,   248,   249,   250,   251,   252,  1869,   253,
     254,   255,   256,   257,  1870,   774,  1871,   258,   259,   260,
     261,   775,   262,   263,   264,  1872,   265,   266,   267,   268,
     269,   270,  1873,   776,   271,   272,   273,  1874,  1875,  1876,
     777,  1877,  1878,  1879,   274,   275,   276,   277,   278,   279,
     280,   281,   282,  1880,   283,  1881,   284,   285,   286,   287,
     288,  1882,   289,   290,   291,  1883,  1884,   292,   293,   294,
     295,   296,  1885,   297,   298,   299,  1886,   300,   301,   302,
    1887,   303,   304,   305,   306,   307,   308,   309,   310,   311,
    1888,   312,  1889,   313,   314,   315,   316,  1890,   317,  1891,
     318,   778,  1892,   779,   319,   320,   321,  1893,   322,   323,
    1894,   324,   325,  1895,   326,   327,   328,   329,   330,   780,
     331,   332,   333,   334,  1896,   335,   336,   337,   338,   339,
     340,  1897,   341,   781,   342,   343,   344,   345,   346,   347,
     348,  1898,   349,  1899,   350,   782,   783,   351,   784,   352,
     353,   354,   355,   356,  1900,  1901,   357,   358,   785,   359,
     786,  1902,   360,   361,   362,  1903,  1904,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,   787,   379,   380,   381,   382,  1905,   383,
     384,   788,   385,  1906,   386,   387,   388,   389,   390,   391,
    1907,   392,  1908,  1909,   393,   394,   395,  1910,  1911,   396,
     397,   789,   398,   790,   399,   400,   401,   402,   403,   404,
     405,   406,  1912,   407,   408,   409,   410,   411,   412,   413,
     414,  1913,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,  1914,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,  1915,   439,   440,
     791,   441,   442,   443,   444,   445,   446,   447,   448,   449,
     450,   451,   452,  1916,   453,   454,   455,   456,   457,  1917,
     458,   459,   460,   461,   462,   792,   463,   464,   465,   466,
    1918,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,  1919,   479,   480,  1920,   481,   793,   482,
     483,   484,   485,   486,  1921,   487,   488,  1922,  1923,   489,
     490,   491,   492,   493,  1924,   494,   495,   496,   497,   498,
     499,   500,  1925,  1926,   501,   502,   503,   504,   505,  1927,
    1928,   506,   507,   508,   509,   510,   511,   512,  1929,   513,
     794,   514,   515,   516,   517,  1930,  1931,   518,  1932,  1933,
     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,  1856,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,  1857,   229,   230,   231,  1858,  1859,  1860,  1861,  1862,
    1863,  1864,   232,   233,  1865,   234,   235,   772,   236,   237,
     238,   239,   240,   773,   241,   242,  1866,   243,   244,   245,
     246,   247,  1867,  1868,   248,   249,   250,   251,   252,  1869,
     253,   254,   255,   256,   257,  1870,   774,  1871,   258,   259,
     260,   261,   775,   262,   263,   264,  1872,   265,   266,   267,
     268,   269,   270,  1873,   776,   271,   272,   273,  1874,  1875,
    1876,   777,  1877,  1878,  1879,   274,   275,   276,   277,   278,
     279,   280,   281,   282,  1880,   283,  1881,   284,   285,   286,
     287,   288,  1882,   289,   290,   291,  1883,  1884,   292,   293,
     294,   295,   296,  1885,   297,   298,   299,  1886,   300,   301,
     302,  1887,   303,   304,   305,   306,   307,   308,   309,   310,
     311,  1888,   312,  1889,   313,   314,   315,   316,  1890,   317,
    1891,   318,   778,  1892,   779,   319,   320,   321,  1893,   322,
     323,  1894,   324,   325,  1895,   326,   327,   328,   329,   330,
     780,   331,   332,   333,   334,  1896,   335,   336,   337,   338,
     339,   340,  1897,   341,   781,   342,   343,   344,   345,   346,
     347,   348,  1898,   349,  1899,   350,   782,   783,   351,   784,
     352,   353,   354,   355,   356,  1900,  1901,   357,   358,   785,
     359,   786,  1902,   360,   361,   362,  1903,  1904,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,   787,   379,   380,   381,   382,  1905,
     383,   384,   788,   385,  1906,   386,   387,   388,   389,   390,
     391,  1907,   392,  1908,  1909,   393,   394,   395,  1910,  1911,
     396,   397,   789,   398,   790,   399,   400,   401,   402,   403,
     404,   405,   406,  1912,   407,   408,   409,   410,   411,   412,
     413,   414,  1913,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,  1914,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,  1915,   439,
     440,   791,   441,   442,   443,   444,   445,   446,   447,   448,
     449,   450,   451,   452,  1916,   453,   454,   455,   456,   457,
    1917,   458,   459,   460,   461,   462,   792,   463,   464,   465,
     466,  1918,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,  1919,   479,   480,  1920,   481,   793,
     482,   483,   484,   485,   486,  1921,   487,   488,  1922,  1923,
     489,   490,   491,   492,   493,  1924,   494,   495,   496,   497,
     498,   499,   500,  1925,  1926,   501,   502,   503,   504,   505,
    1927,  1928,   506,   507,   508,   509,   510,   511,   512,  1929,
     513,   794,   514,   515,   516,   517,  1930,  1931,   518,  1932,
    1933,   519,   520,   521,   522,   523,   524,   525,   526,   527,
     528,   529,   530,   531,   532,   533,   534,   535,   536,  1856,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   220,   221,   222,   223,  2830,   225,
     226,   227,  1857,   229,   230,   231,  1858,  1859,  1860,  1861,
    1862,  1863,  1864,   232,   233,  1865,   234,   235,   772,   236,
     237,   238,   239,   240,   773,   241,   242,  1866,   243,   244,
     245,   246,   247,  1867,  1868,   248,   249,   250,   251,   252,
    1869,   253,   254,   255,   256,   257,  1870,   774,  1871,   258,
     259,   260,   261,   775,   262,   263,   264,  1872,   265,   266,
     267,   268,   269,   270,  1873,   776,   271,   272,   273,  1874,
    1875,  1876,   777,  1877,  1878,  1879,   274,   275,   276,   277,
     278,   279,   280,   281,   282,  1880,   283,  1881,   284,   285,
     286,   287,   288,  1882,   289,   290,   291,  1883,  1884,   292,
     293,   294,  2831,   296,  1885,   297,   298,   299,  1886,   300,
     301,   302,  1887,   303,   304,   305,   306,   307,   308,   309,
     310,   311,  1888,   312,  1889,   313,   314,   315,   316,  1890,
     317,  1891,   318,   778,  1892,   779,   319,   320,   321,  1893,
     322,   323,  1894,   324,   325,  1895,   326,   327,   328,   329,
     330,   780,   331,   332,   333,   334,  1896,   335,   336,   337,
     338,   339,   340,  1897,   341,   781,   342,   343,   344,   345,
     346,   347,   348,  1898,   349,  1899,   350,   782,   783,   351,
     784,   352,   353,   354,   355,   356,  1900,  1901,   357,   358,
     785,   359,   786,  1902,   360,   361,   362,  1903,  1904,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   378,   787,   379,   380,   381,   382,
    1905,   383,   384,   788,   385,  1906,   386,   387,   388,   389,
     390,   391,  1907,   392,  1908,  1909,   393,   394,   395,  1910,
    1911,   396,   397,   789,   398,   790,   399,   400,   401,   402,
     403,   404,   405,   406,  1912,   407,   408,   409,   410,   411,
     412,   413,   414,  1913,   415,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,  1914,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,  1915,
     439,   440,   791,   441,   442,   443,   444,   445,   446,   447,
     448,   449,   450,   451,   452,  1916,   453,   454,   455,   456,
     457,  1917,  2832,   459,   460,   461,   462,   792,   463,   464,
     465,   466,  1918,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,   478,  1919,   479,   480,  1920,   481,
     793,   482,   483,   484,   485,   486,  1921,   487,   488,  1922,
    1923,   489,   490,   491,   492,   493,  1924,   494,   495,   496,
     497,   498,   499,   500,  1925,  1926,   501,   502,   503,   504,
     505,  1927,  1928,   506,   507,   508,   509,   510,   511,   512,
    1929,   513,   794,   514,   515,   516,   517,  1930,  1931,   518,
    1932,  1933,   519,   520,   521,   522,   523,   524,   525,   526,
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
     771,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,   772,
     236,   237,   238,   239,   240,   773,   241,   242,     0,   243,
     244,   245,   246,   247,     0,  1133,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,  1136,     0,  1137,     0,
     258,   259,   260,   261,   775,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,   776,   271,   272,   273,
    1138,  1139,  1140,  1141,  1142,  1143,  1144,   274,   275,   276,
     277,   278,   279,   280,   281,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,  1148,     0,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,   778,     0,   779,   319,   320,   321,
       0,   322,  1151,     0,   324,   325,     0,   326,   327,   328,
     329,   330,   780,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,   781,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,   782,   783,
     351,   784,   352,   353,   354,   355,   356,     0,     0,   357,
    1156,   785,   359,   786,     0,   360,   361,   362,  1157,  1158,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,   787,   379,   380,   381,
     382,     0,   383,   384,   788,   385,     0,  1163,   387,   388,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,   789,   398,   790,  1166,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,  1167,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,   791,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,  1170,   458,   459,   460,   461,   462,   792,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,  1172,     0,   479,   480,     0,
     481,   793,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,  1175,   492,  1176,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,  1179,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,   794,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
    1181,  1182,  1183,  1184,  1185,  1186,  1187,  1188,   534,   535,
     536,   815,     0,   593,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     0,     0,
       0,     0,     0,     0,     0,   232,   233,     0,   234,   235,
     772,   236,   237,   238,   239,   240,   773,   241,   242,     0,
     243,   244,   245,   246,   247,     0,     0,   248,   249,   250,
     251,   252,     0,   253,   254,   255,   256,   257,     0,   774,
       0,   258,   259,   260,   261,   775,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,   776,   271,   272,
     273,     0,     0,     0,   777,     0,     0,     0,   274,   275,
     276,   277,   278,   279,   280,   281,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   294,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,   307,
     308,   309,   310,   311,  1667,   312,     0,   313,   314,   315,
     316,     0,   317,     0,   318,   778,     0,   779,   319,   320,
     321,     0,   322,   323,     0,   324,   325,     0,   326,   327,
     328,   329,   330,   780,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,   781,   342,   343,
     344,   345,   346,   347,   348,     0,   349,     0,   350,   782,
     783,   351,   784,   352,   353,   354,   355,   356,     0,     0,
     357,   358,   785,   359,   786,     0,   360,   361,   362,     0,
       0,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,   378,   787,   379,   380,
     381,   382,     0,   383,   384,   788,   385,     0,   386,   387,
     388,   389,   390,   391,     0,   392,  1668,     0,   393,   394,
     395,     0,     0,   396,   397,   789,   398,   790,   399,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,   409,
     410,   411,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,   791,   441,   442,   443,   444,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,     0,   458,   459,   460,   461,   462,   792,
     463,   464,   465,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
       0,   481,   793,   482,   483,   484,   485,   486,     0,   487,
     488,     0,     0,   489,   490,   491,   492,   493,  1669,   494,
     495,   496,   497,   498,   499,   500,     0,     0,   501,   502,
     503,   504,   505,     0,     0,   506,   507,   508,   509,   510,
     511,   512,     0,   513,   794,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
     535,   536,   815,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,   851,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,   772,   236,   237,   238,   239,   240,   773,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
     774,     0,   258,   259,   260,   261,   775,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,   776,   271,
     272,   273,     0,     0,     0,   777,     0,     0,   816,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,   778,     0,   779,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,   780,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,   781,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
     782,   783,   351,   784,   352,   353,   354,   355,   356,     0,
       0,   357,   358,   785,   359,   786,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,   787,   379,
     380,   381,   382,     0,   383,   384,   788,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,   789,   398,   790,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,   791,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,   817,   458,   459,   460,   461,   462,
     792,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,   793,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,   794,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,   815,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,     0,     0,   232,   233,     0,
     234,   235,   772,   236,   237,   238,   239,   240,   773,   241,
     242,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   250,   251,   252,     0,   253,   254,   255,   256,   257,
       0,   774,     0,   258,   259,   260,   261,   775,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,   776,
     271,   272,   273,     0,     0,     0,   777,     0,     0,   816,
     274,   275,   276,   277,   278,   279,   280,   281,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   294,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
     314,   315,   316,     0,   317,     0,   318,   778,     0,   779,
     319,   320,   321,     0,   322,   323,     0,   324,   325,     0,
     326,   327,   328,   329,   330,   780,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,   781,
     342,   343,   344,   345,   346,   347,   348,     0,   349,     0,
     350,   782,   783,   351,   784,   352,   353,   354,   355,   356,
       0,     0,   357,   358,   785,   359,   786,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   378,   787,
     379,   380,   381,   382,     0,   383,   384,   788,   385,     0,
     386,   387,   388,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,   397,   789,   398,   790,
     399,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,   409,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,   791,   441,   442,   443,
     444,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,   817,   458,   459,   460,   461,
     462,   792,   463,   464,   465,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
     479,   480,     0,   481,   793,   482,   483,   484,   485,   486,
       0,   487,   488,     0,     0,   489,   490,   491,   492,   493,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,  2218,     0,   506,   507,   508,
     509,   510,   511,   512,     0,   513,   794,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
     533,   534,   535,   536,   815,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,   772,   236,   237,   238,   239,   240,   773,
     241,   242,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
     257,     0,   774,     0,   258,   259,   260,   261,   775,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
     776,   271,   272,   273,     0,     0,     0,   777,     0,     0,
     816,   274,   275,   276,   277,   278,   279,   280,   281,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   294,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
     313,   314,   315,   316,     0,   317,     0,   318,   778,     0,
     779,   319,   320,   321,     0,   322,   323,  3127,   324,   325,
       0,   326,   327,   328,   329,   330,   780,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
     781,   342,   343,   344,   345,   346,   347,   348,     0,   349,
       0,   350,   782,   783,   351,   784,   352,   353,   354,   355,
     356,     0,     0,   357,   358,   785,   359,   786,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
     787,   379,   380,   381,   382,     0,   383,   384,   788,   385,
       0,   386,   387,   388,   389,   390,   391,     0,   392,     0,
       0,   393,   394,   395,     0,     0,   396,   397,   789,   398,
     790,   399,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,   409,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,   791,   441,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,   817,   458,   459,   460,
     461,   462,   792,   463,   464,   465,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
       0,   479,   480,     0,   481,   793,   482,   483,   484,   485,
     486,     0,   487,   488,     0,     0,   489,   490,   491,   492,
     493,     0,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,     0,   506,   507,
     508,   509,   510,   511,   512,     0,   513,   794,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
     532,   533,   534,   535,   536,   815,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     220,   221,   222,   223,   224,   225,   226,   227,     0,   229,
     230,   231,     0,     0,     0,     0,     0,     0,     0,   232,
     233,     0,   234,   235,   772,   236,   237,   238,   239,   240,
     773,   241,   242,     0,   243,   244,   245,   246,   247,     0,
       0,   248,   249,   250,   251,   252,     0,   253,   254,   255,
     256,   257,     0,   774,     0,   258,   259,   260,   261,   775,
     262,   263,   264,     0,   265,   266,   267,   268,   269,   270,
       0,   776,   271,   272,   273,     0,     0,     0,   777,     0,
       0,   816,   274,   275,   276,   277,   278,   279,   280,   281,
     282,     0,   283,     0,   284,   285,   286,   287,   288,     0,
     289,   290,   291,     0,     0,   292,   293,   294,   295,   296,
       0,   297,   298,   299,     0,   300,   301,   302,     0,   303,
     304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
       0,   313,   314,   315,   316,     0,   317,     0,   318,   778,
       0,   779,   319,   320,   321,     0,   322,   323,     0,   324,
     325,     0,   326,   327,   328,   329,   330,   780,   331,   332,
     333,   334,     0,   335,   336,   337,   338,   339,   340,     0,
     341,   781,   342,   343,   344,   345,   346,   347,   348,     0,
     349,     0,   350,   782,   783,   351,   784,   352,   353,   354,
     355,   356,     0,     0,   357,   358,   785,   359,   786,     0,
     360,   361,   362,     0,     0,   363,   364,   365,   366,   367,
     368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
     378,   787,   379,   380,   381,   382,     0,   383,   384,   788,
     385,     0,   386,   387,   388,   389,   390,   391,     0,   392,
       0,     0,   393,   394,   395,     0,     0,   396,   397,   789,
     398,   790,   399,   400,   401,   402,   403,   404,   405,   406,
       0,   407,   408,   409,   410,   411,   412,   413,   414,     0,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
     434,   435,   436,   437,   438,     0,   439,   440,   791,   441,
     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
     452,     0,   453,   454,   455,   456,   457,   817,   458,   459,
     460,   461,   462,   792,   463,   464,   465,   466,     0,   467,
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
     478,     0,   479,   480,     0,   481,   793,   482,   483,   484,
     485,   486,     0,   487,   488,     0,     0,   489,   490,   491,
     492,   493,     0,   494,   495,   496,   497,   498,   499,   500,
       0,     0,   501,   502,   503,   504,   505,     0,     0,   506,
     507,   508,   509,   510,   511,   512,     0,   513,   794,   514,
     515,   516,   517,     0,     0,   518,     0,     0,   519,   520,
     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
     531,   532,   533,   534,   535,   536,   815,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   220,   221,   222,   223,   224,   225,   226,   227,     0,
     229,   230,   231,     0,     0,     0,     0,     0,     0,     0,
     232,   233,     0,   234,   235,   772,   236,   237,   238,   239,
     240,   773,   241,   242,     0,   243,   244,   245,   246,   247,
       0,     0,   248,   249,   250,   251,   252,     0,   253,   254,
     255,   256,   257,     0,   774,     0,   258,   259,   260,   261,
     775,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,   776,   271,   272,   273,     0,     0,     0,   777,
       0,     0,   816,   274,   275,   276,   277,   278,   279,   280,
     281,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   294,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
     312,     0,   313,   314,   315,   316,     0,   317,     0,   318,
     778,     0,   779,   319,   320,   321,     0,   322,   323,     0,
     324,   325,     0,   326,   327,   328,   329,   330,   780,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,   781,   342,   343,   344,   345,   346,   347,   348,
       0,   349,     0,   350,   782,   783,   351,   784,   352,   353,
     354,   355,   356,     0,     0,   357,   358,   785,   359,   786,
       0,   360,   361,   362,     0,     0,   363,   364,   365,   366,
     868,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,   378,   787,   379,   380,   381,   382,     0,   383,   384,
     788,   385,     0,   386,   387,   388,   389,   390,   391,     0,
     392,     0,     0,   393,   394,   395,     0,     0,   396,   397,
     789,   398,   790,   399,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,   409,   410,   411,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,   791,
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
     451,   452,     0,   453,   454,   455,   456,   457,   817,   458,
     459,   460,   461,   462,   792,   463,   464,   465,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,   478,     0,   479,   480,     0,   481,   793,   482,   483,
     484,   485,   486,     0,   487,   488,     0,     0,   489,   490,
     491,   492,   493,     0,   494,   495,   496,   497,   498,   499,
     500,     0,     0,   501,   502,   503,   504,   505,     0,     0,
     506,   507,   508,   509,   510,   511,   512,     0,   513,   794,
     514,   515,   516,   517,     0,     0,   518,     0,     0,   519,
     520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
     530,   531,   532,   533,   534,   535,   536,   815,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,   772,   236,   237,   238,
     239,   240,   773,   241,   242,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   250,   251,   252,     0,   253,
     254,   255,   256,   257,     0,   774,     0,   258,   259,   260,
     261,   775,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,   776,   271,   272,   273,     0,     0,     0,
     777,     0,     0,   816,   274,   275,   276,   277,   278,   279,
     280,   281,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   294,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
       0,   312,     0,   313,   314,   315,   316,     0,   317,     0,
     318,   778,     0,   779,   319,   320,   321,     0,   322,   323,
       0,   324,   325,     0,   326,   327,   328,   329,   330,   780,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,   781,   342,   343,   344,   345,   346,   347,
     348,     0,   349,     0,   350,   782,   783,   351,   784,   352,
     353,   354,   355,   356,     0,     0,   357,   358,   785,   359,
     786,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   950,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,   787,   379,   380,   381,   382,     0,   383,
     384,   788,   385,     0,   386,   387,   388,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
     397,   789,   398,   790,   399,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,   409,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
     791,   441,   442,   443,   444,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,   817,
     458,   459,   460,   461,   462,   792,   463,   464,   465,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,     0,   479,   480,     0,   481,   793,   482,
     483,   484,   485,   486,     0,   487,   488,     0,     0,   489,
     490,   491,   492,   493,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,   511,   512,     0,   513,
     794,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,   815,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,   772,   236,   237,
     238,   239,   240,   773,   241,   242,     0,   243,   244,   245,
     246,   247,     0,     0,   248,   249,   250,   251,   252,     0,
     253,   254,   255,   256,   257,     0,   774,     0,   258,   259,
     260,   261,   775,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,   776,   271,   272,   273,     0,     0,
       0,   777,     0,     0,   816,   274,   275,   276,   277,   278,
     279,   280,   281,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     294,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,   307,   308,   309,   310,
     311,     0,   312,     0,   313,   314,   315,   316,     0,   317,
       0,   318,   778,     0,   779,   319,   320,   321,     0,   322,
     323,     0,   324,   325,     0,   326,   327,   328,   329,  1022,
     780,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,   781,   342,   343,   344,   345,   346,
     347,   348,     0,   349,     0,   350,   782,   783,   351,   784,
     352,   353,   354,   355,   356,     0,     0,   357,   358,   785,
     359,   786,     0,   360,   361,   362,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,   787,   379,   380,   381,   382,     0,
     383,   384,   788,   385,     0,   386,   387,   388,   389,   390,
     391,     0,   392,     0,     0,   393,   394,   395,     0,     0,
     396,   397,   789,   398,   790,   399,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,   409,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,   791,   441,   442,   443,   444,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
     817,   458,   459,   460,   461,   462,   792,   463,   464,   465,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,     0,   479,   480,     0,   481,   793,
     482,   483,   484,   485,   486,     0,   487,   488,     0,     0,
     489,   490,   491,   492,   493,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
       0,     0,   506,   507,   508,   509,   510,   511,   512,     0,
     513,   794,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,   526,   527,
     528,   529,   530,   531,   532,   533,   534,   535,   536,   815,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   220,   221,   222,   223,   224,   225,
     226,   227,     0,   229,   230,   231,     0,     0,     0,     0,
       0,     0,     0,   232,   233,     0,   234,   235,   772,   236,
     237,   238,   239,   240,   773,   241,   242,     0,   243,   244,
     245,   246,   247,     0,     0,   248,   249,   250,   251,   252,
       0,   253,   254,   255,   256,   257,     0,   774,     0,   258,
     259,   260,   261,   775,   262,   263,   264,     0,   265,   266,
     267,   268,   269,   270,     0,   776,   271,   272,   273,     0,
       0,     0,   777,     0,     0,   816,   274,   275,   276,   277,
     278,   279,   280,   281,   282,     0,   283,     0,   284,   285,
     286,   287,   288,     0,   289,   290,   291,     0,     0,   292,
     293,   294,   295,   296,     0,   297,   298,   299,     0,   300,
     301,   302,     0,   303,   304,   305,   306,   307,   308,   309,
     310,   311,     0,   312,     0,   313,   314,   315,   316,     0,
     317,     0,   318,   778,     0,   779,   319,   320,   321,     0,
     322,   323,     0,   324,   325,     0,   326,   327,   328,   329,
    1034,   780,   331,   332,   333,   334,     0,   335,   336,   337,
     338,   339,   340,     0,   341,   781,   342,   343,   344,   345,
     346,   347,   348,     0,   349,     0,   350,   782,   783,   351,
     784,   352,   353,   354,   355,   356,     0,     0,   357,   358,
     785,   359,   786,     0,   360,   361,   362,     0,     0,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   378,   787,   379,   380,   381,   382,
       0,   383,   384,   788,   385,     0,   386,   387,   388,   389,
     390,   391,     0,   392,     0,     0,   393,   394,   395,     0,
       0,   396,   397,   789,   398,   790,   399,   400,   401,   402,
     403,   404,   405,   406,     0,   407,   408,   409,   410,   411,
     412,   413,   414,     0,   415,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,     0,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,     0,
     439,   440,   791,   441,   442,   443,   444,   445,   446,   447,
     448,   449,   450,   451,   452,     0,   453,   454,   455,   456,
     457,   817,   458,   459,   460,   461,   462,   792,   463,   464,
     465,   466,     0,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,   478,     0,   479,   480,     0,   481,
     793,   482,   483,   484,   485,   486,     0,   487,   488,     0,
       0,   489,   490,   491,   492,   493,     0,   494,   495,   496,
     497,   498,   499,   500,     0,     0,   501,   502,   503,   504,
     505,     0,     0,   506,   507,   508,   509,   510,   511,   512,
       0,   513,   794,   514,   515,   516,   517,     0,     0,   518,
       0,     0,   519,   520,   521,   522,   523,   524,   525,   526,
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
     815,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,   772,
     236,   237,   238,   239,   240,   773,   241,   242,     0,   243,
     244,   245,   246,   247,     0,     0,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,   257,     0,   774,     0,
     258,   259,   260,   261,   775,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,   776,   271,   272,   273,
       0,     0,     0,   777,     0,     0,   816,   274,   275,   276,
     277,   278,   279,   280,   281,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,   778,     0,   779,   319,   320,   321,
       0,   322,   323,     0,   324,   325,     0,   326,   327,   328,
     329,  1048,   780,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,   781,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,   782,   783,
     351,   784,   352,   353,   354,   355,   356,     0,     0,   357,
     358,   785,   359,   786,     0,   360,   361,   362,     0,     0,
     363,   364,   365,   366,  1049,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,   787,   379,   380,   381,
     382,     0,   383,   384,   788,   385,     0,   386,   387,   388,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,   789,   398,   790,   399,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,   409,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,   791,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,   817,   458,   459,   460,   461,   462,   792,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,   478,     0,   479,   480,     0,
     481,   793,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,   491,   492,   493,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,     0,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,   794,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
     536,   815,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     3,     4,
       0,     0,     0,     0,     0,   232,   233,     0,   234,   235,
     772,   236,   237,   238,   239,   240,   773,   241,   242,     0,
     243,   244,   245,   246,   247,     0,     0,   248,   249,   250,
     251,   252,     0,   253,   254,   255,   256,   257,     0,   774,
       0,   258,   259,   260,   261,   775,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,   776,   271,   272,
     273,     0,     0,     0,   777,     0,     0,     0,   274,   275,
     276,   277,   278,   279,   280,   281,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   294,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,   307,
     308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
     316,     0,   317,     0,   318,   778,     0,   779,   319,   320,
     321,     0,   322,   323,     0,   324,   325,     0,   326,   327,
     328,   329,   330,   780,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,   781,   342,   343,
     344,   345,   346,   347,   348,     0,   349,     0,   350,   782,
     783,   351,   784,   352,   353,   354,   355,   356,     0,     0,
     357,   358,   785,   359,   786,     0,   360,   361,   362,     0,
       0,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,   378,   787,   379,   380,
     381,   382,     0,   383,   384,   788,   385,     0,   386,   387,
     388,   389,   390,   391,     0,   392,     0,     0,   393,   394,
     395,     0,     0,   396,   397,   789,   398,   790,   399,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,   409,
     410,   411,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,   791,   441,   442,   443,   444,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,     0,   458,   459,   460,   461,   462,   792,
     463,   464,   465,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
       0,   481,   793,   482,   483,   484,   485,   486,     0,   487,
     488,     0,     0,   489,   490,   491,   492,   493,     0,   494,
     495,   496,   497,   498,   499,   500,     0,     0,   501,   502,
     503,   504,   505,     0,     0,   506,   507,   508,   509,   510,
     511,   512,     0,   513,   794,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
     535,   536,   815,     0,   593,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,   772,   236,   237,   238,   239,   240,   773,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
     774,     0,   258,   259,   260,   261,   775,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,   776,   271,
     272,   273,     0,     0,     0,   777,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,   778,     0,   779,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,   780,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,   781,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
     782,   783,   351,   784,   352,   353,   354,   355,   356,     0,
       0,   357,   358,   785,   359,   786,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,   787,   379,
     380,   381,   382,     0,   383,   384,   788,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,   789,   398,   790,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,   791,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,     0,   458,   459,   460,   461,   462,
     792,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,   793,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,   794,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,   815,     0,   593,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,     0,     0,   232,   233,     0,
     234,   235,   772,   236,   237,   238,   239,   240,   773,   241,
     242,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   250,   251,   252,     0,   253,   254,   255,   256,   257,
       0,   774,     0,   258,   259,   260,   261,   775,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,   776,
     271,   272,   273,     0,     0,     0,   777,     0,     0,     0,
     274,   275,   276,   277,   278,   279,   280,   281,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   294,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
     314,   315,   316,     0,   317,     0,   318,   778,     0,   779,
     319,   320,   321,     0,   322,   323,     0,   324,   325,     0,
     326,   327,   328,   329,  1657,   780,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,   781,
     342,   343,   344,   345,   346,   347,   348,     0,   349,     0,
     350,   782,   783,   351,   784,   352,   353,   354,   355,   356,
       0,     0,   357,   358,   785,   359,   786,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   378,   787,
     379,   380,   381,   382,     0,   383,   384,   788,   385,     0,
     386,   387,   388,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,   397,   789,   398,   790,
     399,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,   409,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,   791,   441,   442,   443,
     444,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,     0,   458,   459,   460,   461,
     462,   792,   463,   464,   465,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
     479,   480,     0,   481,   793,   482,   483,   484,   485,   486,
       0,   487,   488,     0,     0,   489,   490,   491,   492,   493,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,   511,   512,     0,   513,   794,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
     533,   534,   535,   536,   771,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,   772,   236,   237,   238,   239,   240,   773,
     241,   242,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
     257,     0,   774,     0,   258,   259,   260,   261,   775,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
     776,   271,   272,   273,     0,     0,     0,   777,     0,     0,
       0,   274,   275,   276,   277,   278,   279,   280,   281,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   294,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
     313,   314,   315,   316,     0,   317,     0,   318,   778,     0,
     779,   319,   320,   321,     0,   322,   323,     0,   324,   325,
       0,   326,   327,   328,   329,   330,   780,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
     781,   342,   343,   344,   345,   346,   347,   348,     0,   349,
       0,   350,   782,   783,   351,   784,   352,   353,   354,   355,
     356,     0,     0,   357,   358,   785,   359,   786,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
     787,   379,   380,   381,   382,     0,   383,   384,   788,   385,
       0,   386,   387,   388,   389,   390,   391,     0,   392,     0,
       0,   393,   394,   395,     0,     0,   396,   397,   789,   398,
     790,   399,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,   409,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,   791,   441,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,     0,   458,   459,   460,
     461,   462,   792,   463,   464,   465,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
       0,   479,   480,     0,   481,   793,   482,   483,   484,   485,
     486,     0,   487,   488,     0,     0,   489,   490,   491,   492,
     493,     0,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,     0,   506,   507,
     508,   509,   510,   511,   512,     0,   513,   794,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
     532,   533,   534,   535,   536,   771,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     220,   221,   222,   223,   224,   225,   226,   227,     0,   229,
     230,   231,     0,     0,     0,     0,     0,     0,     0,   232,
     233,     0,   234,   235,   772,   236,   237,   238,   239,   240,
     773,   241,   242,     0,   243,   244,   245,   246,   247,     0,
       0,   248,   249,   250,   251,   252,     0,   253,   254,   255,
     256,   257,     0,   774,     0,   258,   259,   260,   261,   775,
     262,   263,   264,     0,   265,   266,   267,   268,   269,   270,
       0,   776,   271,   272,   273,     0,     0,     0,   777,     0,
       0,     0,   274,   275,   276,   277,   278,   279,   280,   281,
     282,     0,   283,     0,   284,   285,   286,   287,   288,     0,
     289,   290,   291,     0,     0,   292,   293,   294,   295,   296,
       0,   297,   298,   299,     0,   300,   301,   302,     0,   303,
     304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
       0,   313,   314,   315,   316,     0,   317,     0,   318,   778,
       0,   779,   319,   320,   321,     0,   322,   323,     0,   324,
     325,     0,   326,   327,   328,   329,   971,   780,   331,   332,
     333,   334,     0,   335,   336,   337,   338,   339,   340,     0,
     341,   781,   342,   343,   344,   345,   346,   347,   348,     0,
     349,     0,   350,   782,   783,   351,   784,   352,   353,   354,
     355,   356,     0,     0,   357,   358,   785,   359,   786,     0,
     360,   361,   362,     0,     0,   363,   364,   365,   366,   367,
     368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
     378,   787,   379,   380,   381,   382,     0,   383,   384,   788,
     385,     0,   386,   387,   388,   389,   390,   391,     0,   392,
       0,     0,   393,   394,   395,     0,     0,   396,   397,   789,
     398,   790,   399,   400,   401,   402,   403,   404,   405,   406,
       0,   407,   408,   409,   410,   411,   412,   413,   414,     0,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
     434,   435,   436,   437,   438,     0,   439,   440,   791,   441,
     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
     452,     0,   453,   454,   455,   456,   457,     0,   458,   459,
     460,   461,   462,   792,   463,   464,   465,   466,     0,   467,
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
     478,     0,   479,   480,     0,   481,   793,   482,   483,   484,
     485,   486,     0,   487,   488,     0,     0,   489,   490,   491,
     492,   493,     0,   494,   495,   496,   497,   498,   499,   500,
       0,     0,   501,   502,   503,   504,   505,     0,     0,   506,
     507,   508,   509,   510,   511,   512,     0,   513,   794,   514,
     515,   516,   517,     0,     0,   518,     0,     0,   519,   520,
     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
     531,   532,   533,   534,   535,   536,   771,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   220,   221,   222,   223,   224,   225,   226,   227,     0,
     229,   230,   231,     0,     0,     0,     0,     0,     0,     0,
     232,   233,     0,   234,   235,   772,   236,   237,   238,   239,
     240,   773,   241,   242,     0,   243,   244,   245,   246,   247,
       0,     0,   248,   249,   250,   251,   252,     0,   253,   254,
     255,   256,   257,     0,   774,     0,   258,   259,   260,   261,
     775,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,   776,   271,   272,   273,     0,     0,     0,   777,
       0,     0,     0,   274,   275,   276,   277,   278,   279,   280,
     281,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   294,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
     312,     0,   313,   314,   315,   316,     0,   317,     0,   318,
     778,     0,   779,   319,   320,   321,     0,   322,   323,     0,
     324,   325,     0,   326,   327,   328,   329,  1020,   780,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,   781,   342,   343,   344,   345,   346,   347,   348,
       0,   349,     0,   350,   782,   783,   351,   784,   352,   353,
     354,   355,   356,     0,     0,   357,   358,   785,   359,   786,
       0,   360,   361,   362,     0,     0,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,   378,   787,   379,   380,   381,   382,     0,   383,   384,
     788,   385,     0,   386,   387,   388,   389,   390,   391,     0,
     392,     0,     0,   393,   394,   395,     0,     0,   396,   397,
     789,   398,   790,   399,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,   409,   410,   411,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,   791,
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
     451,   452,     0,   453,   454,   455,   456,   457,     0,   458,
     459,   460,   461,   462,   792,   463,   464,   465,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,   478,     0,   479,   480,     0,   481,   793,   482,   483,
     484,   485,   486,     0,   487,   488,     0,     0,   489,   490,
     491,   492,   493,     0,   494,   495,   496,   497,   498,   499,
     500,     0,     0,   501,   502,   503,   504,   505,     0,     0,
     506,   507,   508,   509,   510,   511,   512,     0,   513,   794,
     514,   515,   516,   517,     0,     0,   518,     0,     0,   519,
     520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
     530,   531,   532,   533,   534,   535,   536,   219,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,     0,   236,   237,   238,
     239,   240,     0,   241,   242,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   250,   251,   252,  2036,   253,
     254,   255,   256,   257,     0,     0,  2110,   258,   259,   260,
     261,     0,   262,   263,   264,  2037,   265,   266,   267,   268,
     269,   270,     0,     0,   271,   272,   273,     0,     0,     0,
       0,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     280,   281,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   294,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,  2111,   304,   305,   306,   307,   308,   309,   310,   311,
       0,   312,     0,   313,   314,   315,   316,     0,   317,  2039,
     318,     0,     0,     0,   319,   320,   321,     0,   322,   323,
       0,   324,   325,     0,   326,   327,   328,   329,   330,     0,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,     0,   342,   343,   344,   345,   346,   347,
     348,     0,   349,     0,   350,     0,     0,   351,     0,   352,
     353,   354,   355,   356,     0,     0,   357,   358,     0,   359,
       0,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,     0,   379,   380,   381,   382,     0,   383,
     384,     0,   385,     0,   386,   387,   388,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
     397,     0,   398,     0,   399,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,   409,   410,   411,   412,   413,
     414,  2040,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
       0,   441,   442,   443,   444,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,     0,   479,   480,     0,   481,     0,   482,
     483,   484,   485,   486,     0,   487,   488,     0,     0,   489,
     490,   491,   492,   493,     0,   494,   495,   496,   497,   498,
     499,   500,     0,  2041,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,   511,   512,     0,   513,
       0,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,   219,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,     0,   236,   237,
     238,   239,   240,     0,   241,   242,     0,   243,   244,   245,
     246,   247,     0,     0,   248,   249,   250,   251,   252,  2036,
     253,   254,   255,   256,   257,     0,     0,     0,   258,   259,
     260,   261,     0,   262,   263,   264,  2037,   265,   266,   267,
     268,   269,   270,     0,     0,   271,   272,   273,     0,     0,
       0,     0,     0,     0,     0,   274,   275,   276,   277,   278,
     279,   280,   281,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     294,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,  2111,   304,   305,   306,   307,   308,   309,   310,
     311,     0,   312,     0,   313,   314,   315,   316,     0,   317,
    2039,   318,     0,     0,     0,   319,   320,   321,     0,   322,
     323,     0,   324,   325,     0,   326,   327,   328,   329,   330,
       0,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,     0,   342,   343,   344,   345,   346,
     347,   348,     0,   349,     0,   350,     0,     0,   351,     0,
     352,   353,   354,   355,   356,     0,     0,   357,   358,     0,
     359,  2992,     0,   360,   361,   362,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,     0,   379,   380,   381,   382,     0,
     383,   384,     0,   385,     0,   386,   387,   388,   389,   390,
     391,     0,   392,     0,     0,   393,   394,   395,     0,     0,
     396,   397,     0,   398,     0,   399,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,   409,   410,   411,   412,
     413,   414,  2040,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,     0,   441,   442,   443,   444,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
       0,   458,   459,   460,   461,   462,     0,   463,   464,   465,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,     0,   479,   480,     0,   481,     0,
     482,   483,   484,   485,   486,     0,   487,   488,     0,     0,
     489,   490,   491,   492,   493,     0,   494,   495,   496,   497,
     498,   499,   500,     0,  2041,   501,   502,   503,   504,   505,
       0,     0,   506,   507,   508,   509,   510,   511,   512,     0,
     513,     0,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,   526,   527,
     528,   529,   530,   531,   532,   533,   534,   535,   536,   219,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   220,   221,   222,   223,   224,   703,
     226,   227,   665,   229,   230,   231,     0,     0,     0,     0,
       0,     0,     0,   232,   233,     0,   234,   235,     0,   236,
     237,   238,   239,   240,     0,   241,   242,     0,   243,   244,
     245,   246,   247,     0,     0,   248,   249,   250,   251,   252,
       0,   253,   254,   255,   256,   257,     0,     0,     0,   258,
     259,   260,   261,     0,   262,   263,   264,     0,   265,   266,
     267,   268,   269,   270,   666,     0,   271,   272,   273,     0,
       0,     0,     0,     0,     0,     0,   274,   275,   276,   277,
     278,   279,   280,   281,   282,     0,   283,     0,   284,   285,
     286,   287,   288,     0,   289,   290,   291,     0,     0,   292,
     293,   294,   295,   296,     0,   297,   298,   299,     0,   300,
     301,   302,     0,   303,   304,   305,   306,   307,   308,   309,
     310,   311,     0,   312,     0,   313,   314,   315,   316,     0,
     317,     0,   318,     0,     0,     0,   319,   320,   321,   704,
     322,   323,     0,   324,   325,     0,   326,   327,   328,   329,
     330,     0,   331,   332,   333,   334,     0,   335,   336,   337,
     338,   339,   340,     0,   341,     0,   342,   343,   344,   345,
     346,   347,   348,     0,   349,     0,   350,     0,     0,   351,
       0,   352,   353,   354,   355,   356,     0,     0,   357,   358,
       0,   359,     0,     0,   360,   361,   362,     0,     0,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   378,     0,   379,   380,   381,   382,
       0,   383,   384,     0,   385,     0,   386,   387,   388,   389,
     390,   391,     0,   392,     0,     0,   393,   394,   395,     0,
       0,   396,   397,     0,   398,     0,   399,   400,   401,   402,
     403,   404,   405,   406,     0,   407,   408,   409,   410,   411,
     412,   413,   414,     0,   415,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   667,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,     0,
     439,   440,     0,   441,   442,   443,   444,   445,   446,   447,
     448,   449,   450,   451,   452,   668,   453,   454,   455,   456,
     457,     0,   458,   459,   460,   461,   462,     0,   463,   464,
     465,   466,     0,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,   478,     0,   479,   480,     0,   481,
       0,   482,   483,   484,   485,   486,     0,   487,   488,     0,
       0,   489,   490,   491,   492,   493,     0,   494,   495,   496,
     497,   498,   499,   500,     0,     0,   501,   502,   503,   504,
     505,     0,     0,   506,   507,   508,   509,   510,   511,   512,
       0,   513,     0,   514,   515,   516,   517,     0,     0,   518,
       0,     0,   519,   520,   521,   522,   523,   524,   525,   526,
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
     219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,   665,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,     0,
     236,   237,   238,   239,   240,     0,   241,   242,     0,   243,
     244,   245,   246,   247,     0,     0,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,   257,     0,     0,     0,
     258,   259,   260,   261,     0,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,   666,     0,   271,   272,   273,
       0,     0,     0,     0,     0,     0,     0,   274,   275,   276,
     277,   278,   279,   280,   281,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,     0,     0,     0,   319,   320,   321,
    2728,   322,   323,     0,   324,   325,     0,   326,   327,   328,
     329,   330,     0,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,     0,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,     0,     0,
     351,     0,   352,   353,   354,   355,   356,     0,     0,   357,
     358,     0,   359,     0,     0,   360,   361,   362,     0,     0,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,     0,   379,   380,   381,
     382,     0,   383,   384,     0,   385,     0,   386,   387,   388,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,     0,   398,     0,   399,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,   409,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   667,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,     0,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,   668,   453,   454,   455,
     456,   457,     0,   458,   459,   460,   461,   462,     0,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,   478,     0,   479,   480,     0,
     481,     0,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,   491,   492,   493,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,     0,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,     0,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
     536,   219,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     0,     0,
       0,     0,     0,     0,     0,   232,   233,     0,   234,   235,
       0,   236,   237,   238,   239,   240,     0,   241,   242,     0,
     243,   244,   245,   246,   247,     0,     0,   248,   249,   250,
     251,   252,  2036,   253,   254,   255,   256,   257,     0,     0,
       0,   258,   259,   260,   261,     0,   262,   263,   264,  2037,
     265,   266,   267,   268,   269,   270,     0,     0,   271,   272,
     273,     0,     0,     0,     0,     0,     0,     0,   274,   275,
     276,   277,   278,   279,   280,   281,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   294,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,  2111,   304,   305,   306,   307,
     308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
     316,     0,   317,  2039,   318,     0,     0,     0,   319,   320,
     321,     0,   322,   323,     0,   324,   325,     0,   326,   327,
     328,   329,   330,     0,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,     0,   342,   343,
     344,   345,   346,   347,   348,     0,   349,     0,   350,     0,
       0,   351,     0,   352,   353,   354,   355,   356,     0,     0,
     357,   358,     0,   359,     0,     0,   360,   361,   362,     0,
       0,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,   378,     0,   379,   380,
     381,   382,     0,   383,   384,     0,   385,     0,   386,   387,
     388,   389,   390,   391,     0,   392,     0,     0,   393,   394,
     395,     0,     0,   396,   397,     0,   398,     0,   399,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,   409,
     410,   411,   412,   413,   414,  2040,   415,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,     0,   441,   442,   443,   444,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,     0,   458,   459,   460,   461,   462,     0,
     463,   464,   465,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
       0,   481,     0,   482,   483,   484,   485,   486,     0,   487,
     488,     0,     0,   489,   490,   491,   492,   493,     0,   494,
     495,   496,   497,   498,   499,   500,     0,  2041,   501,   502,
     503,   504,   505,     0,     0,   506,   507,   508,   509,   510,
     511,   512,     0,   513,     0,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
     535,   536,   219,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,   665,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,     0,   236,   237,   238,   239,   240,     0,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
       0,     0,   258,   259,   260,   261,     0,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,   666,     0,   271,
     272,   273,     0,     0,     0,     0,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,     0,     0,     0,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,     0,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,     0,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
       0,     0,   351,     0,   352,   353,   354,   355,   356,     0,
       0,   357,   358,     0,   359,     0,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,     0,   379,
     380,   381,   382,     0,   383,   384,     0,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,     0,   398,     0,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     667,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,     0,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,   668,   453,
     454,   455,   456,   457,     0,   458,   459,   460,   461,   462,
       0,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,     0,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,     0,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,   219,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,  1694,   229,   230,   231,
       0,     0,     0,     0,     0,     0,     0,   232,   233,     0,
     234,   235,     0,   236,   237,   238,   239,   240,     0,   241,
     242,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   250,   251,   252,     0,   253,   254,   255,   256,   257,
       0,     0,     0,   258,   259,   260,   261,     0,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,     0,
     271,   272,   273,     0,     0,     0,     0,     0,     0,     0,
     274,   275,   276,  1695,   278,   279,   280,   281,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,  1696,   294,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
     314,   315,   316,     0,   317,  1697,   318,     0,     0,     0,
    1698,   320,   321,     0,   322,   323,     0,   324,   325,     0,
     326,   327,   328,   329,   330,     0,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,     0,
     342,   343,   344,   345,   346,   347,   348,     0,   349,     0,
     350,     0,     0,   351,     0,   352,   353,  1699,  1700,   356,
       0,     0,   357,   358,     0,   359,     0,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   378,     0,
     379,   380,   381,   382,     0,   383,   384,     0,   385,     0,
     386,   387,   388,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,   397,     0,   398,     0,
     399,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,   409,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,     0,   441,   442,   443,
     444,   445,   446,   447,  1701,   449,   450,   451,   452,     0,
    1702,   454,   455,   456,   457,     0,   458,   459,   460,   461,
     462,     0,   463,   464,   465,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
     479,   480,  1703,   481,     0,  1704,   483,   484,   485,   486,
       0,   487,   488,     0,     0,   489,   490,   491,   492,   493,
       0,   494,   495,  1705,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,   511,   512,     0,   513,     0,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
     533,   534,   535,   536,   219,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,     0,   236,   237,   238,   239,   240,     0,
     241,   242,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
     257,     0,     0,     0,   258,   259,   260,   261,     0,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,   666,
       0,   271,   272,   273,     0,     0,     0,     0,     0,     0,
       0,   274,   275,   276,   277,   278,   279,   280,   281,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   294,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
     313,   314,   315,   316,     0,   317,     0,   318,     0,     0,
       0,   319,   320,   321,     0,   322,   323,     0,   324,   325,
       0,   326,   327,   328,   329,   330,     0,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
       0,   342,   343,   344,   345,   346,   347,   348,     0,   349,
       0,   350,     0,     0,   351,     0,   352,   353,   354,   355,
     356,     0,     0,   357,   358,     0,   359,     0,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
       0,   379,   380,   381,   382,     0,   383,   384,     0,   385,
       0,   386,   387,   388,   389,   390,   391,     0,   392,     0,
       0,   393,   394,   395,     0,     0,   396,   397,     0,   398,
       0,   399,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,   409,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   667,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,     0,   441,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
     668,   453,   454,   455,   456,   457,     0,   458,   459,   460,
     461,   462,     0,   463,   464,   465,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
       0,   479,   480,     0,   481,     0,   482,   483,   484,   485,
     486,     0,   487,   488,     0,     0,   489,   490,   491,   492,
     493,     0,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,     0,   506,   507,
     508,   509,   510,   511,   512,     0,   513,     0,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
     532,   533,   534,   535,   536,   219,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     220,   221,   222,   223,   224,   225,   226,   227,   861,   229,
     230,   231,     0,     0,     0,     0,     0,     0,     0,   232,
     233,     0,   234,   235,     0,   236,   237,   238,   239,   240,
       0,   241,   242,     0,   243,   244,   245,   246,   247,     0,
       0,   248,   249,   250,   251,   252,     0,   253,   254,   255,
     256,   257,     0,     0,     0,   258,   259,   260,   261,     0,
     262,   263,   264,     0,   265,   266,   267,   268,   269,   270,
       0,     0,   271,   272,   273,     0,     0,     0,     0,     0,
       0,     0,   274,   275,   276,   277,   278,   279,   280,   281,
     282,     0,   283,     0,   284,   285,   286,   287,   288,     0,
     289,   290,   291,     0,     0,   292,   293,   294,   295,   296,
       0,   297,   298,   299,     0,   300,   301,   302,     0,   303,
     304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
       0,   313,   314,   315,   316,     0,   317,     0,   318,     0,
       0,     0,   319,   320,   321,     0,   322,   323,     0,   324,
     325,     0,   326,   327,   328,   329,   862,     0,   331,   332,
     333,   334,     0,   335,   336,   337,   338,   339,   340,     0,
     341,     0,   342,   343,   344,   345,   346,   347,   348,     0,
     349,     0,   350,     0,     0,   351,     0,   352,   353,   354,
     355,   356,     0,     0,   357,   358,     0,   359,     0,     0,
     360,   361,   362,     0,     0,   363,   364,   365,   366,   367,
     368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
     378,     0,   379,   380,   381,   382,     0,   383,   384,     0,
     385,     0,   386,   387,   388,   389,   390,   391,     0,   392,
       0,   735,   393,   394,   395,     0,     0,   396,   397,     0,
     398,     0,   399,   400,   401,   402,   403,   404,   405,   406,
       0,   407,   408,   409,   410,   411,   412,   413,   414,     0,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
     434,   435,   436,   437,   438,     0,   439,   440,     0,   441,
     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
     452,     0,   453,   454,   455,   456,   457,     0,   458,   459,
     460,   461,   462,     0,   463,   464,   465,   466,     0,   467,
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
     478,     0,   479,   480,     0,   481,     0,   482,   483,   484,
     485,   486,     0,   487,   488,     0,     0,   489,   490,   491,
     492,   493,     0,   494,   495,   496,   497,   498,   499,   500,
       0,     0,   501,   502,   503,   504,   505,     0,     0,   506,
     507,   508,   509,   510,   511,   512,     0,   513,     0,   514,
     515,   516,   517,     0,     0,   518,     0,     0,   519,   520,
     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
     531,   532,   533,   534,   535,   536,   219,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   220,   221,   222,   223,   224,   225,   226,   227,     0,
     229,   230,   231,     3,     4,     0,     0,     0,     0,     0,
     232,   233,     0,   234,   235,     0,   236,   237,   238,   239,
     240,     0,   241,   242,     0,   243,   244,   245,   246,   247,
       0,     0,   248,   249,   250,   251,   252,     0,   253,   254,
     255,   256,   257,     0,     0,     0,   258,   259,   260,   261,
       0,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,     0,   271,   272,   273,     0,     0,     0,     0,
       0,     0,     0,   274,   275,   276,   277,   278,   279,   280,
     281,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   294,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
     312,     0,   313,   314,   315,   316,     0,   317,     0,   318,
       0,     0,     0,   319,   320,   321,     0,   322,   323,     0,
     324,   325,     0,   326,   327,   328,   329,   330,     0,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,     0,   342,   343,   344,   345,   346,   347,   348,
       0,   349,     0,   350,     0,     0,   351,     0,   352,   353,
     354,   355,   356,     0,     0,   357,   358,     0,   359,     0,
       0,   360,   361,   362,     0,     0,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,   378,     0,   379,   380,   381,   382,     0,   383,   384,
       0,   385,     0,   386,   387,   388,   389,   390,   391,     0,
     392,     0,     0,   393,   394,   395,     0,     0,   396,   397,
       0,   398,     0,   399,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,   409,   410,   411,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,     0,
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
     451,   452,     0,   453,   454,   455,   456,   457,     0,   458,
     459,   460,   461,   462,     0,   463,   464,   465,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,   478,     0,   479,   480,     0,   481,     0,   482,   483,
     484,   485,   486,     0,   487,   488,     0,     0,   489,   490,
     491,   492,   493,     0,   494,   495,   496,   497,   498,   499,
     500,     0,     0,   501,   502,   503,   504,   505,     0,     0,
     506,   507,   508,   509,   510,   511,   512,     0,   513,     0,
     514,   515,   516,   517,     0,     0,   518,     0,     0,   519,
     520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
     530,   531,   532,   533,   534,   535,   536,   219,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
    2811,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,     0,   236,   237,   238,
     239,   240,     0,   241,   242,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   250,   251,   252,     0,   253,
     254,   255,   256,   257,     0,     0,     0,   258,   259,   260,
     261,     0,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,     0,   271,   272,   273,     0,     0,     0,
       0,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     280,   281,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   294,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
       0,   312,     0,   313,   314,   315,   316,     0,   317,     0,
     318,     0,     0,     0,   319,   320,   321,     0,   322,   323,
       0,   324,   325,     0,   326,   327,   328,   329,   330,     0,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,     0,   342,   343,   344,   345,   346,   347,
     348,     0,   349,     0,   350,     0,     0,   351,     0,   352,
     353,   354,   355,   356,     0,     0,   357,   358,     0,   359,
       0,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,     0,   379,   380,   381,   382,     0,   383,
     384,     0,   385,     0,   386,   387,   388,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
     397,     0,   398,     0,   399,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,   409,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
       0,   441,   442,   443,   444,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,     0,   479,   480,     0,   481,     0,   482,
     483,   484,   485,   486,     0,   487,   488,     0,     0,   489,
     490,   491,   492,   493,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,  2812,
       0,   506,   507,   508,   509,   510,   511,   512,     0,   513,
       0,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,   219,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,  2824,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,     0,   236,   237,
     238,   239,   240,     0,   241,   242,     0,   243,   244,   245,
     246,   247,     0,     0,   248,   249,   250,   251,   252,     0,
     253,   254,   255,   256,   257,     0,     0,     0,   258,   259,
     260,   261,     0,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,     0,   271,   272,   273,     0,     0,
       0,     0,     0,     0,     0,   274,   275,   276,   277,   278,
     279,   280,   281,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     294,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,   307,   308,   309,   310,
     311,     0,   312,     0,   313,   314,   315,   316,     0,   317,
       0,   318,     0,     0,     0,   319,   320,   321,     0,   322,
     323,     0,   324,   325,     0,   326,   327,   328,   329,   330,
       0,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,     0,   342,   343,   344,   345,   346,
     347,   348,     0,   349,     0,   350,     0,     0,   351,     0,
     352,   353,   354,   355,   356,     0,     0,   357,   358,     0,
     359,     0,     0,   360,   361,   362,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,     0,   379,   380,   381,   382,     0,
     383,   384,     0,   385,     0,   386,   387,   388,   389,   390,
     391,     0,   392,     0,     0,   393,   394,   395,     0,     0,
     396,   397,     0,   398,     0,   399,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,   409,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,     0,   441,   442,   443,   444,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
       0,   458,   459,   460,   461,   462,     0,   463,   464,   465,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,     0,   479,   480,     0,   481,     0,
     482,   483,   484,   485,   486,     0,   487,   488,     0,     0,
     489,   490,   491,   492,   493,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
    2825,     0,   506,   507,   508,   509,   510,   511,   512,     0,
     513,     0,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,   526,   527,
     528,   529,   530,   531,   532,   533,   534,   535,   536,   219,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   220,   221,   222,   223,   224,   225,
     226,   227,   228,   229,   230,   231,     0,     0,     0,     0,
       0,     0,     0,   232,   233,     0,   234,   235,     0,   236,
     237,   238,   239,   240,     0,   241,   242,     0,   243,   244,
     245,   246,   247,     0,     0,   248,   249,   250,   251,   252,
       0,   253,   254,   255,   256,   257,     0,     0,     0,   258,
     259,   260,   261,     0,   262,   263,   264,     0,   265,   266,
     267,   268,   269,   270,     0,     0,   271,   272,   273,     0,
       0,     0,     0,     0,     0,     0,   274,   275,   276,   277,
     278,   279,   280,   281,   282,     0,   283,     0,   284,   285,
     286,   287,   288,     0,   289,   290,   291,     0,     0,   292,
     293,   294,   295,   296,     0,   297,   298,   299,     0,   300,
     301,   302,     0,   303,   304,   305,   306,   307,   308,   309,
     310,   311,     0,   312,     0,   313,   314,   315,   316,     0,
     317,     0,   318,     0,     0,     0,   319,   320,   321,     0,
     322,   323,     0,   324,   325,     0,   326,   327,   328,   329,
     330,     0,   331,   332,   333,   334,     0,   335,   336,   337,
     338,   339,   340,     0,   341,     0,   342,   343,   344,   345,
     346,   347,   348,     0,   349,     0,   350,     0,     0,   351,
       0,   352,   353,   354,   355,   356,     0,     0,   357,   358,
       0,   359,     0,     0,   360,   361,   362,     0,     0,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   378,     0,   379,   380,   381,   382,
       0,   383,   384,     0,   385,     0,   386,   387,   388,   389,
     390,   391,     0,   392,     0,     0,   393,   394,   395,     0,
       0,   396,   397,     0,   398,     0,   399,   400,   401,   402,
     403,   404,   405,   406,     0,   407,   408,   409,   410,   411,
     412,   413,   414,     0,   415,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,     0,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,     0,
     439,   440,     0,   441,   442,   443,   444,   445,   446,   447,
     448,   449,   450,   451,   452,     0,   453,   454,   455,   456,
     457,     0,   458,   459,   460,   461,   462,     0,   463,   464,
     465,   466,     0,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,   478,     0,   479,   480,     0,   481,
       0,   482,   483,   484,   485,   486,     0,   487,   488,     0,
       0,   489,   490,   491,   492,   493,     0,   494,   495,   496,
     497,   498,   499,   500,     0,     0,   501,   502,   503,   504,
     505,     0,     0,   506,   507,   508,   509,   510,   511,   512,
       0,   513,     0,   514,   515,   516,   517,     0,     0,   518,
       0,     0,   519,   520,   521,   522,   523,   524,   525,   526,
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
     219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,   584,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,     0,
     236,   237,   238,   239,   240,     0,   241,   242,     0,   243,
     244,   245,   246,   247,     0,     0,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,   257,     0,     0,     0,
     258,   259,   260,   261,     0,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,     0,   271,   272,   273,
       0,     0,     0,     0,     0,     0,     0,   274,   275,   276,
     277,   278,   279,   280,   281,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,     0,     0,     0,   319,   320,   321,
       0,   322,   323,     0,   324,   325,     0,   326,   327,   328,
     329,   330,     0,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,     0,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,     0,     0,
     351,     0,   352,   353,   354,   355,   356,     0,     0,   357,
     358,     0,   359,     0,     0,   360,   361,   362,     0,     0,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,     0,   379,   380,   381,
     382,     0,   383,   384,     0,   385,     0,   386,   387,   388,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,     0,   398,     0,   399,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,   409,   410,
     411,   412,   585,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,     0,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,     0,   458,   459,   460,   461,   462,     0,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,   478,     0,   479,   480,     0,
     481,     0,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,   491,   492,   493,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,     0,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,     0,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
     536,   219,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,   695,   229,   230,   231,     0,     0,
       0,     0,     0,     0,     0,   232,   233,     0,   234,   235,
       0,   236,   237,   238,   239,   240,     0,   241,   242,     0,
     243,   244,   245,   246,   247,     0,     0,   248,   249,   250,
     251,   252,     0,   253,   254,   255,   256,   257,     0,     0,
       0,   258,   259,   260,   261,     0,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,     0,   271,   272,
     273,     0,     0,     0,     0,     0,     0,     0,   274,   275,
     276,   277,   278,   279,   280,   281,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   294,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,   307,
     308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
     316,     0,   317,     0,   318,     0,     0,     0,   319,   320,
     321,     0,   322,   323,     0,   324,   325,     0,   326,   327,
     328,   329,   330,     0,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,     0,   342,   343,
     344,   345,   346,   347,   348,     0,   349,     0,   350,     0,
       0,   351,     0,   352,   353,   354,   355,   356,     0,     0,
     357,   358,     0,   359,     0,     0,   360,   361,   362,     0,
       0,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,   378,     0,   379,   380,
     381,   382,     0,   383,   384,     0,   385,     0,   386,   387,
     388,   389,   390,   391,     0,   392,     0,     0,   393,   394,
     395,     0,     0,   396,   397,     0,   398,     0,   399,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,   409,
     410,   411,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,     0,   441,   442,   443,   444,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   696,     0,   458,   459,   460,   461,   462,     0,
     463,   464,   465,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
       0,   481,     0,   482,   483,   484,   485,   486,     0,   697,
     488,     0,     0,   698,   490,   491,   492,   493,     0,   494,
     495,   496,   497,   498,   499,   500,     0,     0,   501,   502,
     503,   504,   505,     0,     0,   506,   507,   508,   509,   510,
     511,   512,     0,   513,     0,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
     535,   536,   219,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,   729,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,     0,   236,   237,   238,   239,   240,     0,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
       0,     0,   258,   259,   260,   261,     0,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,     0,   271,
     272,   273,     0,     0,     0,     0,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,     0,     0,     0,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,     0,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,     0,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
       0,     0,   351,     0,   352,   353,   354,   355,   356,     0,
       0,   357,   358,     0,   359,     0,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,     0,   379,
     380,   381,   382,     0,   383,   384,     0,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,     0,   398,     0,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,     0,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   730,     0,   458,   459,   460,   461,   462,
       0,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,     0,   482,   483,   484,   485,   486,     0,
     731,   488,     0,     0,   732,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,     0,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,   219,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,     0,     0,   232,   233,     0,
     234,   235,     0,   236,   237,   238,   239,   240,     0,   241,
     242,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   250,   251,   252,     0,   253,   254,   255,   256,   257,
       0,     0,     0,   258,   259,   260,   261,     0,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,     0,
     271,   272,   273,     0,     0,     0,     0,     0,     0,     0,
     274,   275,   276,   277,   278,   279,   280,   281,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   294,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
     314,   315,   316,     0,   317,     0,   318,     0,     0,     0,
     319,   320,   321,     0,   322,   323,     0,   324,   325,     0,
     326,   327,   328,   329,   330,     0,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,     0,
     342,   343,   344,   345,   346,   347,   348,     0,   349,     0,
     350,     0,     0,   351,     0,   352,   353,   354,   355,   356,
       0,     0,   357,   358,     0,   359,     0,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   378,     0,
     379,   380,   381,   382,     0,   383,   384,     0,   385,     0,
     386,   387,   388,   389,   390,   391,     0,   392,     0,   735,
     393,   394,   395,     0,     0,   396,   397,     0,   398,     0,
     399,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,   409,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,     0,   441,   442,   443,
     444,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,     0,   458,   459,   460,   461,
     462,     0,   463,   464,   465,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
     479,   480,     0,   481,     0,   482,   483,   484,   485,   486,
       0,   487,   488,     0,     0,   489,   490,   491,   492,   493,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,   511,   512,     0,   513,     0,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
     533,   534,   535,   536,   219,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
     221,   222,   223,   224,   225,   226,   227,   824,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,     0,   236,   237,   238,   239,   240,     0,
     241,   242,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
     257,     0,     0,     0,   258,   259,   260,   261,     0,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
       0,   271,   272,   273,     0,     0,     0,     0,     0,     0,
       0,   274,   275,   276,   277,   278,   279,   280,   281,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   294,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
     313,   314,   315,   316,     0,   317,     0,   318,     0,     0,
       0,   319,   320,   321,     0,   322,   323,     0,   324,   325,
       0,   326,   327,   328,   329,   825,     0,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
       0,   342,   343,   344,   345,   346,   347,   348,     0,   349,
       0,   350,     0,     0,   351,     0,   352,   353,   354,   355,
     356,     0,     0,   357,   358,     0,   359,     0,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
       0,   379,   380,   381,   382,     0,   383,   384,     0,   385,
       0,   386,   387,   388,   389,   390,   391,     0,   392,     0,
       0,   393,   394,   395,     0,     0,   396,   397,     0,   398,
       0,   399,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,   409,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,     0,   441,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,     0,   458,   459,   460,
     461,   462,     0,   463,   464,   465,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
       0,   479,   480,     0,   481,     0,   482,   483,   484,   485,
     486,     0,   487,   488,     0,     0,   489,   490,   491,   492,
     493,     0,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,     0,   506,   507,
     508,   509,   510,   511,   512,     0,   513,     0,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
     532,   533,   534,   535,   536,   219,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     220,   221,   222,   223,   224,   225,   226,   227,   964,   229,
     230,   231,     0,     0,     0,     0,     0,     0,     0,   232,
     233,     0,   234,   235,     0,   236,   237,   238,   239,   240,
       0,   241,   242,     0,   243,   244,   245,   246,   247,     0,
       0,   248,   249,   250,   251,   252,     0,   253,   254,   255,
     256,   257,     0,     0,     0,   258,   259,   260,   261,     0,
     262,   263,   264,     0,   265,   266,   267,   268,   269,   270,
       0,     0,   271,   272,   273,     0,     0,     0,     0,     0,
       0,     0,   274,   275,   276,   277,   278,   279,   280,   281,
     282,     0,   283,     0,   284,   285,   286,   287,   288,     0,
     289,   290,   291,     0,     0,   292,   293,   294,   295,   296,
       0,   297,   298,   299,     0,   300,   301,   302,     0,   303,
     304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
       0,   313,   314,   315,   316,     0,   317,     0,   318,     0,
       0,     0,   319,   320,   321,     0,   322,   323,     0,   324,
     325,     0,   326,   327,   328,   329,   330,     0,   331,   332,
     333,   334,     0,   335,   336,   337,   338,   339,   340,     0,
     341,     0,   342,   343,   344,   345,   346,   347,   348,     0,
     349,     0,   350,     0,     0,   351,     0,   352,   353,   354,
     355,   356,     0,     0,   357,   358,     0,   359,     0,     0,
     360,   361,   362,     0,     0,   363,   364,   365,   366,   367,
     368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
     378,     0,   379,   380,   381,   382,     0,   383,   384,     0,
     385,     0,   386,   387,   388,   389,   390,   391,     0,   392,
       0,     0,   393,   394,   395,     0,     0,   396,   397,     0,
     398,     0,   399,   400,   401,   402,   403,   404,   405,   406,
       0,   407,   408,   409,   410,   411,   412,   413,   414,     0,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
     434,   435,   436,   437,   438,     0,   439,   440,     0,   441,
     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
     452,     0,   453,   454,   455,   456,   457,     0,   458,   459,
     460,   461,   462,     0,   463,   464,   465,   466,     0,   467,
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
     478,     0,   479,   480,     0,   481,     0,   482,   483,   484,
     485,   486,     0,   487,   488,     0,     0,   489,   490,   491,
     492,   493,     0,   494,   495,   496,   497,   498,   499,   500,
       0,     0,   501,   502,   503,   504,   505,     0,     0,   506,
     507,   508,   509,   510,   511,   512,     0,   513,     0,   514,
     515,   516,   517,     0,     0,   518,     0,     0,   519,   520,
     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
     531,   532,   533,   534,   535,   536,   219,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   220,   221,   222,   223,   224,   225,   226,   227,  1227,
     229,   230,   231,     0,     0,     0,     0,     0,     0,     0,
     232,   233,     0,   234,   235,     0,   236,   237,   238,   239,
     240,     0,   241,   242,     0,   243,   244,   245,   246,   247,
       0,     0,   248,   249,   250,   251,   252,     0,   253,   254,
     255,   256,   257,     0,     0,     0,   258,   259,   260,   261,
       0,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,     0,   271,   272,   273,     0,     0,     0,     0,
       0,     0,     0,   274,   275,   276,   277,   278,   279,   280,
     281,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   294,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
     312,     0,   313,   314,   315,   316,     0,   317,     0,   318,
       0,     0,     0,   319,   320,   321,     0,   322,   323,     0,
     324,   325,     0,   326,   327,   328,   329,   330,     0,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,     0,   342,   343,   344,   345,   346,   347,   348,
       0,   349,     0,   350,     0,     0,   351,     0,   352,   353,
     354,   355,   356,     0,     0,   357,   358,     0,   359,     0,
       0,   360,   361,   362,     0,     0,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,   378,     0,   379,   380,   381,   382,     0,   383,   384,
       0,   385,     0,   386,   387,   388,   389,   390,   391,     0,
     392,     0,     0,   393,   394,   395,     0,     0,   396,   397,
       0,   398,     0,   399,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,   409,   410,   411,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,     0,
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
     451,   452,     0,   453,   454,   455,   456,   457,     0,   458,
     459,   460,   461,   462,     0,   463,   464,   465,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,   478,     0,   479,   480,     0,   481,     0,   482,   483,
     484,   485,   486,     0,   487,   488,     0,     0,   489,   490,
     491,   492,   493,     0,   494,   495,   496,   497,   498,   499,
     500,     0,     0,   501,   502,   503,   504,   505,     0,     0,
     506,   507,   508,   509,   510,   511,   512,     0,   513,     0,
     514,   515,   516,   517,     0,     0,   518,     0,     0,   519,
     520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
     530,   531,   532,   533,   534,   535,   536,   219,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,  1242,   236,   237,   238,
     239,   240,     0,   241,   242,     0,   243,   244,   245,   246,
     247,     0,     0,   715,   249,   250,   251,  1243,     0,   253,
     254,   255,   256,   257,     0,     0,     0,   258,   259,   260,
     261,     0,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,     0,   271,   272,   273,     0,     0,     0,
       0,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     280,   281,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   294,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
       0,   312,     0,   313,   314,   315,   316,     0,   317,     0,
     318,     0,     0,     0,   319,   320,   321,     0,   322,   323,
       0,   324,   325,     0,   326,   327,   328,   329,   330,     0,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,     0,   342,   343,   344,   345,   346,   347,
     348,     0,   349,     0,   350,     0,     0,   351,     0,   352,
     353,   354,   355,   356,     0,     0,   357,   358,     0,   359,
       0,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   718,   378,     0,   379,   380,   381,   382,     0,   383,
     384,     0,   385,     0,   386,   387,   388,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
     397,     0,   398,     0,   399,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,   409,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
       0,   719,   442,   443,   444,   445,   446,   447,   720,   449,
     450,   451,   452,     0,   453,   454,   455,   456,  1231,     0,
     458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,     0,   479,   480,     0,   481,     0,   482,
     483,   484,   485,   486,     0,   722,   488,     0,     0,   723,
     490,   491,   492,   493,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,   511,   512,     0,   513,
       0,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   724,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,   219,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,     0,   236,   237,
     238,   239,   240,     0,   241,   242,     0,   243,   244,   245,
     246,   247,     0,     0,   248,   249,   250,   251,   252,     0,
     253,   254,   255,   256,   257,     0,     0,     0,   258,   259,
     260,   261,     0,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,     0,   271,   272,   273,     0,     0,
       0,     0,     0,     0,     0,   274,   275,   276,   277,   278,
     279,   280,   281,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     294,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,   307,   308,   309,   310,
     311,     0,   312,     0,   313,   314,   315,   316,     0,   317,
       0,   318,     0,     0,     0,   319,   320,   321,     0,   322,
     323,     0,   324,   325,     0,   326,   327,   328,   329,  1350,
       0,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,     0,   342,   343,   344,   345,   346,
     347,   348,     0,   349,     0,   350,     0,     0,   351,     0,
     352,   353,   354,   355,   356,     0,     0,   357,   358,     0,
     359,     0,     0,   360,   361,   362,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,     0,   379,   380,   381,   382,     0,
     383,   384,     0,   385,     0,   386,   387,   388,   389,   390,
     391,     0,   392,     0,   735,   393,   394,   395,     0,     0,
     396,   397,     0,   398,     0,   399,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,   409,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,     0,   441,   442,   443,   444,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
       0,   458,   459,   460,   461,   462,     0,   463,   464,   465,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,     0,   479,   480,     0,   481,     0,
     482,   483,   484,   485,   486,     0,   487,   488,     0,     0,
     489,   490,   491,   492,   493,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
       0,     0,   506,   507,   508,   509,   510,   511,   512,     0,
     513,     0,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,   526,   527,
     528,   529,   530,   531,   532,   533,   534,   535,   536,   219,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   220,   221,   222,   223,   224,   225,
     226,   227,  1402,   229,   230,   231,     0,     0,     0,     0,
       0,     0,     0,   232,   233,     0,   234,   235,     0,   236,
     237,   238,   239,   240,     0,   241,   242,     0,   243,   244,
     245,   246,   247,     0,     0,   248,   249,   250,   251,   252,
       0,   253,   254,   255,   256,   257,     0,     0,     0,   258,
     259,   260,   261,     0,   262,   263,   264,     0,   265,   266,
     267,   268,   269,   270,     0,     0,   271,   272,   273,     0,
       0,     0,     0,     0,     0,     0,   274,   275,   276,   277,
     278,   279,   280,   281,   282,     0,   283,     0,   284,   285,
     286,   287,   288,     0,   289,   290,   291,     0,     0,   292,
     293,   294,   295,   296,     0,   297,   298,   299,     0,   300,
     301,   302,     0,   303,   304,   305,   306,   307,   308,   309,
     310,   311,     0,   312,     0,   313,   314,   315,   316,     0,
     317,     0,   318,     0,     0,     0,   319,   320,   321,     0,
     322,   323,     0,   324,   325,     0,   326,   327,   328,   329,
    1403,     0,   331,   332,   333,   334,     0,   335,   336,   337,
     338,   339,   340,     0,   341,     0,   342,   343,   344,   345,
     346,   347,   348,     0,   349,     0,   350,     0,     0,   351,
       0,   352,   353,   354,   355,   356,     0,     0,   357,   358,
       0,   359,     0,     0,   360,   361,   362,     0,     0,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   378,     0,   379,   380,   381,   382,
       0,   383,   384,     0,   385,     0,   386,   387,   388,   389,
     390,   391,     0,   392,     0,     0,   393,   394,   395,     0,
       0,   396,   397,     0,   398,     0,   399,   400,   401,   402,
     403,   404,   405,   406,     0,   407,   408,   409,   410,   411,
     412,   413,   414,     0,   415,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,     0,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,     0,
     439,   440,     0,   441,   442,   443,   444,   445,   446,   447,
     448,   449,   450,   451,   452,     0,   453,   454,   455,   456,
     457,     0,   458,   459,   460,   461,   462,     0,   463,   464,
     465,   466,     0,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,   478,     0,   479,   480,     0,   481,
       0,   482,   483,   484,   485,   486,     0,   487,   488,     0,
       0,   489,   490,   491,   492,   493,     0,   494,   495,   496,
     497,   498,   499,   500,     0,     0,   501,   502,   503,   504,
     505,     0,     0,   506,   507,   508,   509,   510,   511,   512,
       0,   513,     0,   514,   515,   516,   517,     0,     0,   518,
       0,     0,   519,   520,   521,   522,   523,   524,   525,   526,
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
     219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,   695,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,     0,
     236,   237,   238,   239,   240,     0,   241,   242,     0,   243,
     244,   245,   246,   247,     0,     0,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,   257,     0,     0,     0,
     258,   259,   260,   261,     0,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,     0,   271,   272,   273,
       0,     0,     0,     0,     0,     0,     0,   274,   275,   276,
     277,   278,   279,   280,   281,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,     0,     0,     0,   319,   320,   321,
       0,   322,   323,     0,   324,   325,     0,   326,   327,   328,
     329,   330,     0,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,     0,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,     0,     0,
     351,     0,   352,   353,   354,   355,   356,     0,     0,   357,
     358,     0,   359,     0,     0,   360,   361,   362,     0,     0,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,     0,   379,   380,   381,
     382,     0,   383,   384,     0,   385,     0,   386,   387,   388,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,     0,   398,     0,   399,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,   409,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,     0,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,     0,   458,   459,   460,   461,   462,     0,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,   478,     0,   479,   480,     0,
     481,     0,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,   491,   492,   493,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,     0,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,     0,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
     536,   219,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     0,     0,
       0,     0,     0,     0,     0,   232,   233,     0,   234,   235,
       0,   236,   237,   238,   239,   240,     0,   241,   242,     0,
     243,   244,   245,   246,   247,     0,     0,   248,   249,   250,
     251,   252,     0,   253,   254,   255,   256,   257,     0,     0,
       0,   258,   259,   260,   261,     0,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,     0,   271,   272,
     273,     0,     0,     0,     0,     0,     0,     0,   274,   275,
     276,   277,   278,   279,   280,   281,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   294,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,   307,
     308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
     316,     0,   317,     0,   318,     0,     0,     0,   319,   320,
    2618,     0,   322,   323,     0,   324,   325,     0,   326,   327,
     328,   329,   330,     0,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,     0,   342,   343,
     344,   345,   346,   347,   348,     0,   349,     0,   350,     0,
       0,   351,     0,   352,   353,   354,   355,   356,     0,     0,
     357,   358,     0,   359,     0,     0,   360,   361,  2619,     0,
       0,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,   378,     0,   379,   380,
     381,   382,     0,   383,   384,     0,   385,     0,   386,   387,
     388,   389,   390,   391,     0,   392,     0,     0,   393,   394,
     395,     0,     0,   396,   397,     0,   398,     0,   399,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,   409,
     410,   411,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,     0,   441,   442,   443,   444,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,     0,   458,   459,   460,   461,   462,     0,
     463,   464,   465,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
    2620,   481,     0,   482,  2621,   484,  2622,   486,     0,   487,
     488,     0,     0,   489,   490,   491,   492,   493,     0,   494,
     495,   496,   497,   498,   499,   500,     0,     0,   501,   502,
    2623,   504,   505,     0,     0,   506,   507,   508,   509,   510,
     511,   512,     0,   513,     0,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
     535,   536,   219,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,  3806,     0,   232,   233,     0,   234,
     235,     0,   236,   237,   238,   239,   240,     0,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
       0,     0,   258,   259,   260,   261,     0,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,     0,   271,
     272,   273,     0,     0,     0,     0,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,     0,     0,     0,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,     0,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,     0,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
       0,     0,   351,     0,   352,   353,   354,   355,   356,     0,
       0,   357,   358,     0,   359,     0,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,     0,   379,
     380,   381,   382,     0,   383,   384,     0,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,     0,   398,     0,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,     0,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,     0,   458,   459,   460,   461,   462,
       0,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,     0,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,     0,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,   219,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,  3820,     0,   232,   233,     0,
     234,   235,     0,   236,   237,   238,   239,   240,     0,   241,
     242,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   250,   251,   252,     0,   253,   254,   255,   256,   257,
       0,     0,     0,   258,   259,   260,   261,     0,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,     0,
     271,   272,   273,     0,     0,     0,     0,     0,     0,     0,
     274,   275,   276,   277,   278,   279,   280,   281,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   294,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
     314,   315,   316,     0,   317,     0,   318,     0,     0,     0,
     319,   320,   321,     0,   322,   323,     0,   324,   325,     0,
     326,   327,   328,   329,   330,     0,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,     0,
     342,   343,   344,   345,   346,   347,   348,     0,   349,     0,
     350,     0,     0,   351,     0,   352,   353,   354,   355,   356,
       0,     0,   357,   358,     0,   359,     0,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   378,     0,
     379,   380,   381,   382,     0,   383,   384,     0,   385,     0,
     386,   387,   388,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,   397,     0,   398,     0,
     399,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,   409,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,     0,   441,   442,   443,
     444,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,     0,   458,   459,   460,   461,
     462,     0,   463,   464,   465,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
     479,   480,     0,   481,     0,   482,   483,   484,   485,   486,
       0,   487,   488,     0,     0,   489,   490,   491,   492,   493,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,   511,   512,     0,   513,     0,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
     533,   534,   535,   536,   219,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,     0,   236,   237,   238,   239,   240,     0,
     241,   242,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
     257,     0,     0,     0,   258,   259,   260,   261,     0,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
       0,   271,   272,   273,     0,     0,     0,     0,     0,     0,
       0,   274,   275,   276,   277,   278,   279,   280,   281,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   294,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
     313,   314,   315,   316,     0,   317,     0,   318,     0,     0,
       0,   319,   320,   321,     0,   322,   323,     0,   324,   325,
       0,   326,   327,   328,   329,   330,     0,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
       0,   342,   343,   344,   345,   346,   347,   348,     0,   349,
       0,   350,     0,     0,   351,     0,   352,   353,   354,   355,
     356,     0,     0,   357,   358,     0,   359,     0,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
       0,   379,   380,   381,   382,     0,   383,   384,     0,   385,
       0,   386,   387,   388,   389,   390,   391,     0,   392,     0,
       0,   393,   394,   395,     0,     0,   396,   397,     0,   398,
       0,   399,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,   409,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,     0,   441,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,     0,   458,   459,   460,
     461,   462,     0,   463,   464,   465,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
       0,   479,   480,     0,   481,     0,   482,   483,   484,   485,
     486,     0,   487,   488,     0,     0,   489,   490,   491,   492,
     493,     0,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,  4487,   506,   507,
     508,   509,   510,   511,   512,     0,   513,     0,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
     532,   533,   534,   535,   536,   219,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     220,   221,   222,   223,   224,   225,   226,   227,     0,   229,
     230,   231,     0,     0,     0,     0,     0,     0,     0,   232,
     233,     0,   234,   235,     0,   236,   237,   238,   239,   240,
       0,   241,   242,     0,   243,   244,   245,   246,   247,     0,
       0,   248,   249,   250,   251,   252,     0,   253,   254,   255,
     256,   257,     0,     0,     0,   258,   259,   260,   261,     0,
     262,   263,   264,     0,   265,   266,   267,   268,   269,   270,
       0,     0,   271,   272,   273,     0,     0,     0,     0,     0,
       0,     0,   274,   275,   276,   277,   278,   279,   280,   281,
     282,     0,   283,     0,   284,   285,   286,   287,   288,     0,
     289,   290,   291,     0,     0,   292,   293,   294,   295,   296,
       0,   297,   298,   299,     0,   300,   301,   302,     0,   303,
     304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
       0,   313,   314,   315,   316,     0,   317,     0,   318,     0,
       0,     0,   319,   320,   321,     0,   322,   323,     0,   324,
     325,     0,   326,   327,   328,   329,   330,     0,   331,   332,
     333,   334,     0,   335,   336,   337,   338,   339,   340,     0,
     341,     0,   342,   343,   344,   345,   346,   347,   348,     0,
     349,     0,   350,     0,     0,   351,     0,   352,   353,   354,
     355,   356,     0,     0,   357,   358,     0,   359,     0,     0,
     360,   361,   362,     0,     0,   363,   364,   365,   366,   367,
     368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
     378,     0,   379,   380,   381,   382,     0,   383,   384,     0,
     385,     0,   386,   387,   388,   389,   390,   391,     0,   392,
       0,     0,   393,   394,   395,     0,     0,   396,   397,     0,
     398,     0,   399,   400,   401,   402,   403,   404,   405,   406,
       0,   407,   408,   409,   410,   411,   412,   413,   414,     0,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
     434,   435,   436,   437,   438,     0,   439,   440,     0,   441,
     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
     452,     0,   453,   454,   455,   456,   457,     0,   458,   459,
     460,   461,   462,     0,   463,   464,   465,   466,     0,   467,
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
     478,     0,   479,   480,     0,   481,     0,   482,   483,   484,
     485,   486,     0,   487,   488,     0,     0,   489,   490,   491,
     492,   493,     0,   494,   495,   496,   497,   498,   499,   500,
       0,     0,   501,   502,   503,   504,   505,     0,     0,   506,
     507,   508,   509,   510,   511,   512,     0,   513,     0,   514,
     515,   516,   517,     0,     0,   518,     0,     0,   519,   520,
     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
     531,   532,   533,   534,   535,   536,   219,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   220,   221,   222,   223,   224,   225,   226,   227,     0,
     229,   230,   231,     0,     0,     0,     0,     0,     0,     0,
     232,   233,     0,   234,   235,     0,   236,   237,   238,   239,
     240,     0,   241,   242,     0,   243,   244,   245,   246,   247,
       0,     0,   248,   249,   250,   251,   252,     0,   253,   254,
     255,   256,   257,     0,     0,     0,   258,   259,   260,   261,
       0,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,     0,   271,   272,   273,     0,     0,     0,     0,
       0,     0,     0,   274,   275,   276,   277,   278,   279,   280,
     281,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   294,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
     312,     0,   313,   314,   315,   316,     0,   317,     0,   318,
       0,     0,     0,   319,   320,   321,     0,   322,   323,     0,
     324,   325,     0,   326,   327,   328,   329,   330,     0,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,     0,   342,   343,   344,   345,   346,   347,   348,
       0,   349,     0,   350,     0,     0,   351,     0,   352,   353,
     354,   355,   356,     0,     0,   357,   358,     0,   359,     0,
       0,   360,   361,   362,     0,     0,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,   378,     0,   379,   380,   381,   382,     0,   383,   384,
       0,   385,     0,   386,   387,   388,   389,   390,   391,     0,
     392,     0,     0,   393,   394,   395,     0,     0,   396,   397,
       0,   398,     0,   399,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,   409,   410,   411,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,     0,
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
     451,   452,     0,   453,   454,   455,   456,   457,     0,   458,
     459,   460,   461,   462,     0,   463,   464,   465,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,   478,     0,   479,   480,     0,   481,     0,   482,   483,
     484,   485,   486,     0,   487,   488,     0,     0,   681,   490,
     491,   492,   493,     0,   494,   495,   496,   497,   498,   499,
     500,     0,     0,   501,   502,   503,   504,   505,     0,     0,
     506,   507,   508,   509,   510,   511,   512,     0,   513,     0,
     514,   515,   516,   517,     0,     0,   518,     0,     0,   519,
     520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
     530,   531,   532,   533,   534,   535,   536,   219,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,     0,   236,   237,   238,
     239,   240,     0,   241,   242,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   250,   251,   252,     0,   253,
     254,   255,   256,   257,     0,     0,     0,   258,   259,   260,
     261,     0,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,     0,   271,   272,   273,     0,     0,     0,
       0,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     280,   281,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   294,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
       0,   312,     0,   313,   314,   315,   316,     0,   317,     0,
     318,     0,     0,     0,   319,   320,   321,     0,   322,   323,
       0,   324,   325,     0,   326,   327,   328,   329,   330,     0,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,     0,   342,   343,   344,   345,   346,   347,
     348,     0,   349,     0,   350,     0,     0,   351,     0,   352,
     353,   354,   355,   356,     0,     0,   357,   358,     0,   359,
       0,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,     0,   379,   380,   381,   382,     0,   383,
     384,     0,   385,     0,   386,   387,   388,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
     397,     0,   398,     0,   399,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,   409,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
       0,   441,   442,   443,   444,   445,   446,   693,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,     0,   479,   480,     0,   481,     0,   482,
     483,   484,   485,   486,     0,   487,   488,     0,     0,   489,
     490,   491,   492,   493,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,   511,   512,     0,   513,
       0,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,   219,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,     0,   236,   237,
     238,   239,   240,     0,   241,   242,     0,   243,   244,   245,
     246,   247,     0,     0,   715,   249,   250,   251,   252,     0,
     253,   254,   255,   256,   257,     0,     0,     0,   258,   259,
     260,   261,     0,   262,   263,   264,     0,   716,   266,   267,
     268,   269,   270,     0,     0,   271,   272,   273,     0,     0,
       0,     0,     0,     0,     0,   274,   275,   276,   277,   278,
     279,   280,   281,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     294,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,   307,   308,   309,   310,
     311,     0,   312,     0,   313,   314,   315,   316,     0,   317,
       0,   318,     0,     0,     0,   319,   320,   321,     0,   322,
     323,     0,   324,   325,     0,   326,   327,   328,   329,   330,
       0,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,     0,   342,   343,   344,   345,   346,
     347,   348,     0,   349,     0,   350,     0,     0,   351,     0,
     352,   353,   354,   355,   356,     0,     0,   357,   358,     0,
     359,     0,     0,   360,   361,   717,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   718,   378,     0,   379,   380,   381,   382,     0,
     383,   384,     0,   385,     0,   386,   387,   388,   389,   390,
     391,     0,   392,     0,     0,   393,   394,   395,     0,     0,
     396,   397,     0,   398,     0,   399,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,   409,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,     0,   719,   442,   443,   444,   445,   446,   447,   720,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   721,
       0,   458,   459,   460,   461,   462,     0,   463,   464,   465,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,     0,   479,   480,     0,   481,     0,
     482,   483,   484,   485,   486,     0,   722,   488,     0,     0,
     723,   490,   491,   492,   493,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
       0,     0,   506,   507,   508,   509,   510,   511,   512,     0,
     513,     0,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   724,   525,   526,   527,
     528,   529,   530,   531,   532,   533,   534,   535,   536,   219,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   220,   221,   222,   223,   224,   225,
     226,   227,     0,   229,   230,   231,     0,     0,     0,     0,
       0,     0,     0,   232,   233,     0,   234,   235,     0,   236,
     237,   238,   239,   240,     0,   241,   242,     0,   243,   244,
     245,   246,   247,     0,     0,   248,   249,   250,   251,   252,
       0,   253,   254,   255,   256,   257,     0,     0,     0,   258,
     259,   260,   261,     0,   262,   263,   264,     0,   265,   266,
     267,   268,   269,   270,     0,     0,   271,   272,   273,     0,
       0,     0,     0,     0,     0,     0,   274,   275,   276,   277,
     278,   279,   280,   281,   282,     0,   283,     0,   284,   285,
     286,   287,   288,     0,   289,   290,   291,     0,     0,   292,
     293,   294,   295,   296,     0,   297,   298,   299,     0,   300,
     301,   302,     0,   303,   304,   305,   306,   307,   308,   309,
     310,   311,     0,   312,     0,   313,   314,   315,   316,     0,
     317,     0,   318,     0,     0,     0,   319,   320,   321,     0,
     322,   323,     0,   324,   325,     0,   326,   327,   328,   329,
     330,     0,   331,   332,   333,   334,     0,   335,   336,   337,
     338,   339,   340,     0,   341,     0,   342,   343,   344,   345,
     346,   347,   348,     0,   349,     0,   350,     0,     0,   351,
       0,   352,   353,   354,   355,   356,     0,     0,   357,   358,
       0,   359,     0,     0,   360,   361,   362,     0,     0,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   378,     0,   379,   380,   381,   382,
       0,   383,   384,     0,   385,     0,   386,   387,   388,   389,
     390,   391,     0,   392,     0,     0,   393,   394,   395,     0,
       0,   396,   397,     0,   398,     0,   399,   400,   401,   402,
     403,   404,   405,   406,     0,   407,   408,   409,   410,   411,
     412,   413,   414,     0,   415,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   747,   427,     0,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,     0,
     439,   440,     0,   441,   442,   443,   444,   445,   446,   447,
     448,   449,   450,   451,   452,     0,   453,   454,   455,   456,
     457,     0,   458,   459,   460,   461,   462,     0,   463,   464,
     465,   466,     0,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,   478,     0,   479,   480,     0,   481,
       0,   482,   483,   484,   485,   486,     0,   487,   488,     0,
       0,   489,   490,   491,   492,   493,     0,   494,   495,   496,
     497,   498,   499,   500,     0,     0,   501,   502,   503,   504,
     505,     0,     0,   506,   507,   508,   509,   510,   511,   512,
       0,   513,     0,   514,   515,   516,   517,     0,     0,   518,
       0,     0,   519,   520,   521,   522,   523,   524,   525,   526,
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
     219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,     0,
     236,   237,   238,   239,   240,     0,   241,   242,     0,   243,
     244,   245,   246,   247,     0,     0,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,   257,     0,     0,     0,
     258,   259,   260,   261,     0,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,     0,   271,   272,   273,
       0,     0,     0,     0,     0,     0,     0,   274,   275,   276,
     277,   278,   279,   280,   281,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,     0,     0,     0,   319,   320,   321,
       0,   322,   323,     0,   324,   325,     0,   326,   327,   328,
     329,   849,     0,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,     0,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,     0,     0,
     351,     0,   352,   353,   354,   355,   356,     0,     0,   357,
     358,     0,   359,     0,     0,   360,   361,   362,     0,     0,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,     0,   379,   380,   381,
     382,     0,   383,   384,     0,   385,     0,   386,   387,   388,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,     0,   398,     0,   399,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,   409,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,     0,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,     0,   458,   459,   460,   461,   462,     0,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,   478,     0,   479,   480,     0,
     481,     0,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,   491,   492,   493,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,     0,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,     0,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
     536,   219,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     0,     0,
       0,     0,     0,     0,     0,   232,   233,     0,   234,   235,
       0,   236,   237,   238,   239,   240,     0,   241,   242,     0,
     243,   244,   245,   246,   247,     0,     0,   248,   249,   250,
     251,   252,     0,   253,   254,   255,   256,   257,     0,     0,
       0,   258,   259,   260,   261,     0,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,     0,   271,   272,
     273,     0,     0,     0,     0,     0,     0,     0,   274,   275,
     276,   277,   278,   279,   280,   281,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   294,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,   307,
     308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
     316,     0,   317,     0,   318,     0,     0,     0,   319,   320,
     321,     0,   322,   323,     0,   324,   325,     0,   326,   327,
     328,   329,   856,     0,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,     0,   342,   343,
     344,   345,   346,   347,   348,     0,   349,     0,   350,     0,
       0,   351,     0,   352,   353,   354,   355,   356,     0,     0,
     357,   358,     0,   359,     0,     0,   360,   361,   362,     0,
       0,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,   378,     0,   379,   380,
     381,   382,     0,   383,   384,     0,   385,     0,   386,   387,
     388,   389,   390,   391,     0,   392,     0,     0,   393,   394,
     395,     0,     0,   396,   397,     0,   398,     0,   399,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,   409,
     410,   411,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,     0,   441,   442,   443,   444,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,     0,   458,   459,   460,   461,   462,     0,
     463,   464,   465,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
       0,   481,     0,   482,   483,   484,   485,   486,     0,   487,
     488,     0,     0,   489,   490,   491,   492,   493,     0,   494,
     495,   496,   497,   498,   499,   500,     0,     0,   501,   502,
     503,   504,   505,     0,     0,   506,   507,   508,   509,   510,
     511,   512,     0,   513,     0,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
     535,   536,   219,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,     0,   236,   237,   238,   239,   240,     0,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
       0,     0,   258,   259,   260,   261,     0,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,     0,   271,
     272,   273,     0,     0,     0,     0,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,     0,     0,     0,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   871,     0,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,     0,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
       0,     0,   351,     0,   352,   353,   354,   355,   356,     0,
       0,   357,   358,     0,   359,     0,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,     0,   379,
     380,   381,   382,     0,   383,   384,     0,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,     0,   398,     0,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,     0,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,     0,   458,   459,   460,   461,   462,
       0,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,     0,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,     0,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,   219,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,     0,     0,   232,   233,     0,
     234,   235,     0,   236,   237,   238,   239,   240,     0,   241,
     242,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   250,   251,   252,     0,   253,   254,   255,   256,   257,
       0,     0,     0,   258,   259,   260,   261,     0,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,     0,
     271,   272,   273,     0,     0,     0,     0,     0,     0,     0,
     274,   275,   276,   277,   278,   279,   280,   281,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   294,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
     314,   315,   316,     0,   317,     0,   318,     0,     0,     0,
     319,   320,   321,     0,   322,   323,     0,   324,   325,     0,
     326,   327,   328,   329,   926,     0,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,     0,
     342,   343,   344,   345,   346,   347,   348,     0,   349,     0,
     350,     0,     0,   351,     0,   352,   353,   354,   355,   356,
       0,     0,   357,   358,     0,   359,     0,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   378,     0,
     379,   380,   381,   382,     0,   383,   384,     0,   385,     0,
     386,   387,   388,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,   397,     0,   398,     0,
     399,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,   409,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,     0,   441,   442,   443,
     444,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,     0,   458,   459,   460,   461,
     462,     0,   463,   464,   465,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
     479,   480,     0,   481,     0,   482,   483,   484,   485,   486,
       0,   487,   488,     0,     0,   489,   490,   491,   492,   493,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,   511,   512,     0,   513,     0,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
     533,   534,   535,   536,   219,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,     0,   236,   237,   238,   239,   240,     0,
     241,   242,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
     257,     0,     0,     0,   258,   259,   260,   261,     0,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
       0,   271,   272,   273,     0,     0,     0,     0,     0,     0,
       0,   274,   275,   276,   277,   278,   279,   280,   281,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   294,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
     313,   314,   315,   316,     0,   317,     0,   318,     0,     0,
       0,   319,   320,   321,     0,   322,   323,     0,   324,   325,
       0,   326,   327,   328,   329,   942,     0,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
       0,   342,   343,   344,   345,   346,   347,   348,     0,   349,
       0,   350,     0,     0,   351,     0,   352,   353,   354,   355,
     356,     0,     0,   357,   358,     0,   359,     0,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
       0,   379,   380,   381,   382,     0,   383,   384,     0,   385,
       0,   386,   387,   388,   389,   390,   391,     0,   392,     0,
       0,   393,   394,   395,     0,     0,   396,   397,     0,   398,
       0,   399,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,   409,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,     0,   441,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,     0,   458,   459,   460,
     461,   462,     0,   463,   464,   465,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
       0,   479,   480,     0,   481,     0,   482,   483,   484,   485,
     486,     0,   487,   488,     0,     0,   489,   490,   491,   492,
     493,     0,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,     0,   506,   507,
     508,   509,   510,   511,   512,     0,   513,     0,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
     532,   533,   534,   535,   536,   219,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     220,   221,   222,   223,   224,   225,   226,   227,     0,   229,
     230,   231,     0,     0,     0,     0,     0,     0,     0,   232,
     233,     0,   234,   235,     0,   236,   237,   238,   239,   240,
       0,   241,   242,     0,   243,   244,   245,   246,   247,     0,
       0,   248,   249,   250,   251,   252,     0,   253,   254,   255,
     256,   257,     0,     0,     0,   258,   259,   260,   261,     0,
     262,   263,   264,     0,   265,   266,   267,   268,   269,   270,
       0,     0,   271,   272,   273,     0,     0,     0,     0,     0,
       0,     0,   274,   275,   276,   277,   278,   279,   280,   281,
     282,     0,   283,     0,   284,   285,   286,   287,   288,     0,
     289,   290,   291,     0,     0,   292,   293,   294,   295,   296,
       0,   297,   298,   299,     0,   300,   301,   302,     0,   303,
     304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
       0,   313,   314,   315,   316,     0,   317,     0,   318,     0,
       0,     0,   319,   320,   321,     0,   322,   323,     0,   324,
     325,     0,   326,   327,   328,   329,   976,     0,   331,   332,
     333,   334,     0,   335,   336,   337,   338,   339,   340,     0,
     341,     0,   342,   343,   344,   345,   346,   347,   348,     0,
     349,     0,   350,     0,     0,   351,     0,   352,   353,   354,
     355,   356,     0,     0,   357,   358,     0,   359,     0,     0,
     360,   361,   362,     0,     0,   363,   364,   365,   366,   367,
     368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
     378,     0,   379,   380,   381,   382,     0,   383,   384,     0,
     385,     0,   386,   387,   388,   389,   390,   391,     0,   392,
       0,     0,   393,   394,   395,     0,     0,   396,   397,     0,
     398,     0,   399,   400,   401,   402,   403,   404,   405,   406,
       0,   407,   408,   409,   410,   411,   412,   413,   414,     0,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
     434,   435,   436,   437,   438,     0,   439,   440,     0,   441,
     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
     452,     0,   453,   454,   455,   456,   457,     0,   458,   459,
     460,   461,   462,     0,   463,   464,   465,   466,     0,   467,
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
     478,     0,   479,   480,     0,   481,     0,   482,   483,   484,
     485,   486,     0,   487,   488,     0,     0,   489,   490,   491,
     492,   493,     0,   494,   495,   496,   497,   498,   499,   500,
       0,     0,   501,   502,   503,   504,   505,     0,     0,   506,
     507,   508,   509,   510,   511,   512,     0,   513,     0,   514,
     515,   516,   517,     0,     0,   518,     0,     0,   519,   520,
     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
     531,   532,   533,   534,   535,   536,   219,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   220,   221,   222,   223,   224,   225,   226,   227,     0,
     229,   230,   231,     0,     0,     0,     0,     0,     0,     0,
     232,   233,     0,   234,   235,     0,   236,   237,   238,   239,
     240,     0,   241,   242,     0,   243,   244,   245,   246,   247,
       0,     0,   248,   249,   250,   251,   252,     0,   253,   254,
     255,   256,   257,     0,     0,     0,   258,   259,   260,   261,
       0,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,     0,   271,   272,   273,     0,     0,     0,     0,
       0,     0,     0,   274,   275,   276,   277,   278,   279,   280,
     281,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   294,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
     312,     0,   313,   314,   315,   316,     0,   317,     0,   318,
       0,     0,     0,   319,   320,   321,     0,   322,   323,     0,
     324,   325,     0,   326,   327,   328,   329,  1032,     0,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,     0,   342,   343,   344,   345,   346,   347,   348,
       0,   349,     0,   350,     0,     0,   351,     0,   352,   353,
     354,   355,   356,     0,     0,   357,   358,     0,   359,     0,
       0,   360,   361,   362,     0,     0,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,   378,     0,   379,   380,   381,   382,     0,   383,   384,
       0,   385,     0,   386,   387,   388,   389,   390,   391,     0,
     392,     0,     0,   393,   394,   395,     0,     0,   396,   397,
       0,   398,     0,   399,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,   409,   410,   411,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,     0,
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
     451,   452,     0,   453,   454,   455,   456,   457,     0,   458,
     459,   460,   461,   462,     0,   463,   464,   465,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,   478,     0,   479,   480,     0,   481,     0,   482,   483,
     484,   485,   486,     0,   487,   488,     0,     0,   489,   490,
     491,   492,   493,     0,   494,   495,   496,   497,   498,   499,
     500,     0,     0,   501,   502,   503,   504,   505,     0,     0,
     506,   507,   508,   509,   510,   511,   512,     0,   513,     0,
     514,   515,   516,   517,     0,     0,   518,     0,     0,   519,
     520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
     530,   531,   532,   533,   534,   535,   536,   219,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,     0,   236,   237,   238,
     239,   240,     0,   241,   242,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   250,   251,   252,     0,   253,
     254,   255,   256,   257,     0,     0,     0,   258,   259,   260,
     261,     0,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,     0,   271,   272,   273,     0,     0,     0,
       0,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     280,   281,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   294,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
       0,   312,     0,   313,   314,   315,   316,     0,   317,     0,
     318,     0,     0,     0,   319,   320,   321,     0,   322,   323,
       0,   324,   325,     0,   326,   327,   328,   329,  1036,     0,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,     0,   342,   343,   344,   345,   346,   347,
     348,     0,   349,     0,   350,     0,     0,   351,     0,   352,
     353,   354,   355,   356,     0,     0,   357,   358,     0,   359,
       0,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,     0,   379,   380,   381,   382,     0,   383,
     384,     0,   385,     0,   386,   387,   388,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
     397,     0,   398,     0,   399,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,   409,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
       0,   441,   442,   443,   444,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,     0,   479,   480,     0,   481,     0,   482,
     483,   484,   485,   486,     0,   487,   488,     0,     0,   489,
     490,   491,   492,   493,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,   511,   512,     0,   513,
       0,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,   219,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,     0,   236,   237,
     238,   239,   240,     0,   241,   242,     0,   243,   244,   245,
     246,   247,     0,     0,   248,   249,   250,   251,   252,     0,
     253,   254,   255,   256,   257,     0,     0,     0,   258,   259,
     260,   261,     0,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,     0,   271,   272,   273,     0,     0,
       0,     0,     0,     0,     0,   274,   275,   276,   277,   278,
     279,   280,   281,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     294,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,   307,   308,   309,   310,
     311,     0,   312,     0,   313,   314,   315,   316,     0,   317,
       0,   318,     0,     0,     0,   319,   320,   321,     0,   322,
     323,     0,   324,   325,     0,   326,   327,   328,   329,  1038,
       0,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,     0,   342,   343,   344,   345,   346,
     347,   348,     0,   349,     0,   350,     0,     0,   351,     0,
     352,   353,   354,   355,   356,     0,     0,   357,   358,     0,
     359,     0,     0,   360,   361,   362,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,     0,   379,   380,   381,   382,     0,
     383,   384,     0,   385,     0,   386,   387,   388,   389,   390,
     391,     0,   392,     0,     0,   393,   394,   395,     0,     0,
     396,   397,     0,   398,     0,   399,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,   409,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,     0,   441,   442,   443,   444,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
       0,   458,   459,   460,   461,   462,     0,   463,   464,   465,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,     0,   479,   480,     0,   481,     0,
     482,   483,   484,   485,   486,     0,   487,   488,     0,     0,
     489,   490,   491,   492,   493,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
       0,     0,   506,   507,   508,   509,   510,   511,   512,     0,
     513,     0,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,   526,   527,
     528,   529,   530,   531,   532,   533,   534,   535,   536,   219,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   220,   221,   222,   223,   224,   225,
     226,   227,     0,   229,   230,   231,     0,     0,     0,     0,
       0,     0,     0,   232,   233,     0,   234,   235,     0,   236,
     237,   238,   239,   240,     0,   241,   242,     0,   243,   244,
     245,   246,   247,     0,     0,   248,   249,   250,   251,   252,
       0,   253,   254,   255,   256,   257,     0,     0,     0,   258,
     259,   260,   261,     0,   262,   263,   264,     0,   265,   266,
     267,   268,   269,   270,     0,     0,   271,   272,   273,     0,
       0,     0,     0,     0,     0,     0,   274,   275,   276,   277,
     278,   279,   280,   281,   282,     0,   283,     0,   284,   285,
     286,   287,   288,     0,   289,   290,   291,     0,     0,   292,
     293,   294,   295,   296,     0,   297,   298,   299,     0,   300,
     301,   302,     0,   303,   304,   305,   306,   307,   308,   309,
     310,   311,     0,   312,     0,   313,   314,   315,   316,     0,
     317,     0,   318,     0,     0,     0,   319,   320,   321,     0,
     322,   323,     0,   324,   325,     0,   326,   327,   328,   329,
    1040,     0,   331,   332,   333,   334,     0,   335,   336,   337,
     338,   339,   340,     0,   341,     0,   342,   343,   344,   345,
     346,   347,   348,     0,   349,     0,   350,     0,     0,   351,
       0,   352,   353,   354,   355,   356,     0,     0,   357,   358,
       0,   359,     0,     0,   360,   361,   362,     0,     0,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   378,     0,   379,   380,   381,   382,
       0,   383,   384,     0,   385,     0,   386,   387,   388,   389,
     390,   391,     0,   392,     0,     0,   393,   394,   395,     0,
       0,   396,   397,     0,   398,     0,   399,   400,   401,   402,
     403,   404,   405,   406,     0,   407,   408,   409,   410,   411,
     412,   413,   414,     0,   415,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,     0,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,     0,
     439,   440,     0,   441,   442,   443,   444,   445,   446,   447,
     448,   449,   450,   451,   452,     0,   453,   454,   455,   456,
     457,     0,   458,   459,   460,   461,   462,     0,   463,   464,
     465,   466,     0,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,   478,     0,   479,   480,     0,   481,
       0,   482,   483,   484,   485,   486,     0,   487,   488,     0,
       0,   489,   490,   491,   492,   493,     0,   494,   495,   496,
     497,   498,   499,   500,     0,     0,   501,   502,   503,   504,
     505,     0,     0,   506,   507,   508,   509,   510,   511,   512,
       0,   513,     0,   514,   515,   516,   517,     0,     0,   518,
       0,     0,   519,   520,   521,   522,   523,   524,   525,   526,
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
     219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,     0,
     236,   237,   238,   239,   240,     0,   241,   242,     0,   243,
     244,   245,   246,   247,     0,     0,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,   257,     0,     0,     0,
     258,   259,   260,   261,     0,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,     0,   271,   272,   273,
       0,     0,     0,     0,     0,     0,     0,   274,   275,   276,
     277,   278,   279,   280,   281,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,     0,     0,     0,   319,   320,   321,
       0,   322,   323,     0,   324,   325,     0,   326,   327,   328,
     329,  1044,     0,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,     0,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,     0,     0,
     351,     0,   352,   353,   354,   355,   356,     0,     0,   357,
     358,     0,   359,     0,     0,   360,   361,   362,     0,     0,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,     0,   379,   380,   381,
     382,     0,   383,   384,     0,   385,     0,   386,   387,   388,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,     0,   398,     0,   399,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,   409,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,     0,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,     0,   458,   459,   460,   461,   462,     0,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,   478,     0,   479,   480,     0,
     481,     0,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,   491,   492,   493,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,     0,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,     0,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
     536,   219,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     0,     0,
       0,     0,     0,     0,     0,   232,   233,     0,   234,   235,
       0,   236,   237,   238,   239,   240,     0,   241,   242,     0,
     243,   244,   245,   246,   247,     0,     0,   248,   249,   250,
     251,   252,     0,   253,   254,   255,   256,   257,     0,     0,
       0,   258,   259,   260,   261,     0,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,     0,   271,   272,
     273,     0,     0,     0,     0,     0,     0,     0,   274,   275,
     276,   277,   278,   279,   280,   281,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   294,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,   307,
     308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
     316,     0,   317,     0,   318,     0,     0,     0,   319,   320,
     321,     0,   322,   323,     0,   324,   325,     0,   326,   327,
     328,   329,  1052,     0,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,     0,   342,   343,
     344,   345,   346,   347,   348,     0,   349,     0,   350,     0,
       0,   351,     0,   352,   353,   354,   355,   356,     0,     0,
     357,   358,     0,   359,     0,     0,   360,   361,   362,     0,
       0,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,   378,     0,   379,   380,
     381,   382,     0,   383,   384,     0,   385,     0,   386,   387,
     388,   389,   390,   391,     0,   392,     0,     0,   393,   394,
     395,     0,     0,   396,   397,     0,   398,     0,   399,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,   409,
     410,   411,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,     0,   441,   442,   443,   444,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,     0,   458,   459,   460,   461,   462,     0,
     463,   464,   465,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
       0,   481,     0,   482,   483,   484,   485,   486,     0,   487,
     488,     0,     0,   489,   490,   491,   492,   493,     0,   494,
     495,   496,   497,   498,   499,   500,     0,     0,   501,   502,
     503,   504,   505,     0,     0,   506,   507,   508,   509,   510,
     511,   512,     0,   513,     0,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
     535,   536,   219,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,     0,   236,   237,   238,   239,   240,     0,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   715,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
       0,     0,   258,   259,   260,   261,     0,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,     0,   271,
     272,   273,     0,     0,     0,     0,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,     0,     0,     0,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,     0,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,     0,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
       0,     0,   351,     0,   352,   353,   354,   355,   356,     0,
       0,   357,   358,     0,   359,     0,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   718,   378,     0,   379,
     380,   381,   382,     0,   383,   384,     0,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,     0,   398,     0,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,     0,   719,   442,   443,   444,
     445,   446,   447,   720,   449,   450,   451,   452,     0,   453,
     454,   455,   456,  1231,     0,   458,   459,   460,   461,   462,
       0,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,     0,   482,   483,   484,   485,   486,     0,
     722,   488,     0,     0,   723,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,     0,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     724,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,   219,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,     0,     0,   232,   233,     0,
     234,   235,     0,   236,   237,   238,   239,   240,     0,   241,
     242,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   250,   251,   252,     0,   253,   254,   255,   256,   257,
       0,     0,     0,   258,   259,   260,   261,     0,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,     0,
     271,   272,   273,     0,     0,     0,     0,     0,     0,     0,
     274,   275,   276,   277,   278,   279,   280,   281,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   294,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
     314,   315,   316,     0,   317,     0,   318,     0,     0,     0,
     319,   320,   321,     0,   322,   323,     0,   324,   325,     0,
     326,   327,   328,   329,  1526,     0,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,     0,
     342,   343,   344,   345,   346,   347,   348,     0,   349,     0,
     350,     0,     0,   351,     0,   352,   353,   354,   355,   356,
       0,     0,   357,   358,     0,   359,     0,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   378,     0,
     379,   380,   381,   382,     0,   383,   384,     0,   385,     0,
     386,   387,   388,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,   397,     0,   398,     0,
     399,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,   409,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,     0,   441,   442,   443,
     444,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,     0,   458,   459,   460,   461,
     462,     0,   463,   464,   465,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
     479,   480,     0,   481,     0,   482,   483,   484,   485,   486,
       0,   487,   488,     0,     0,   489,   490,   491,   492,   493,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,   511,   512,     0,   513,     0,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
     533,   534,   535,   536,   219,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,     0,   236,   237,   238,   239,   240,     0,
     241,   242,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
     257,     0,     0,     0,   258,   259,   260,   261,     0,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
       0,   271,   272,   273,     0,     0,     0,     0,     0,     0,
       0,   274,   275,   276,   277,   278,   279,   280,   281,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   294,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
     313,   314,   315,   316,     0,   317,     0,   318,     0,     0,
       0,   319,   320,   321,     0,   322,   323,     0,   324,   325,
       0,   326,   327,   328,   329,  1556,     0,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
       0,   342,   343,   344,   345,   346,   347,   348,     0,   349,
       0,   350,     0,     0,   351,     0,   352,   353,   354,   355,
     356,     0,     0,   357,   358,     0,   359,     0,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
       0,   379,   380,   381,   382,     0,   383,   384,     0,   385,
       0,   386,   387,   388,   389,   390,   391,     0,   392,     0,
       0,   393,   394,   395,     0,     0,   396,   397,     0,   398,
       0,   399,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,   409,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,     0,   441,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,     0,   458,   459,   460,
     461,   462,     0,   463,   464,   465,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
       0,   479,   480,     0,   481,     0,   482,   483,   484,   485,
     486,     0,   487,   488,     0,     0,   489,   490,   491,   492,
     493,     0,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,     0,   506,   507,
     508,   509,   510,   511,   512,     0,   513,     0,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
     532,   533,   534,   535,   536,   219,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     220,   221,   222,   223,   224,   225,   226,   227,     0,   229,
     230,   231,     0,     0,     0,     0,     0,     0,     0,   232,
     233,     0,   234,   235,     0,   236,   237,   238,   239,   240,
       0,   241,   242,     0,   243,   244,   245,   246,   247,     0,
       0,   248,   249,   250,   251,   252,     0,   253,   254,   255,
     256,   257,     0,     0,     0,   258,   259,   260,   261,     0,
     262,   263,   264,     0,   265,   266,   267,   268,   269,   270,
       0,     0,   271,   272,   273,     0,     0,     0,     0,     0,
       0,     0,   274,   275,   276,   277,   278,   279,   280,   281,
     282,     0,   283,     0,   284,   285,   286,   287,   288,     0,
     289,   290,   291,     0,     0,   292,   293,   294,   295,   296,
       0,   297,   298,   299,     0,   300,   301,   302,     0,   303,
     304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
       0,   313,   314,   315,   316,     0,   317,     0,   318,     0,
       0,     0,   319,   320,   321,     0,   322,   323,     0,   324,
     325,     0,   326,   327,   328,   329,  1558,     0,   331,   332,
     333,   334,     0,   335,   336,   337,   338,   339,   340,     0,
     341,     0,   342,   343,   344,   345,   346,   347,   348,     0,
     349,     0,   350,     0,     0,   351,     0,   352,   353,   354,
     355,   356,     0,     0,   357,   358,     0,   359,     0,     0,
     360,   361,   362,     0,     0,   363,   364,   365,   366,   367,
     368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
     378,     0,   379,   380,   381,   382,     0,   383,   384,     0,
     385,     0,   386,   387,   388,   389,   390,   391,     0,   392,
       0,     0,   393,   394,   395,     0,     0,   396,   397,     0,
     398,     0,   399,   400,   401,   402,   403,   404,   405,   406,
       0,   407,   408,   409,   410,   411,   412,   413,   414,     0,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
     434,   435,   436,   437,   438,     0,   439,   440,     0,   441,
     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
     452,     0,   453,   454,   455,   456,   457,     0,   458,   459,
     460,   461,   462,     0,   463,   464,   465,   466,     0,   467,
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
     478,     0,   479,   480,     0,   481,     0,   482,   483,   484,
     485,   486,     0,   487,   488,     0,     0,   489,   490,   491,
     492,   493,     0,   494,   495,   496,   497,   498,   499,   500,
       0,     0,   501,   502,   503,   504,   505,     0,     0,   506,
     507,   508,   509,   510,   511,   512,     0,   513,     0,   514,
     515,   516,   517,     0,     0,   518,     0,     0,   519,   520,
     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
     531,   532,   533,   534,   535,   536,   219,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   220,   221,   222,   223,   224,   225,   226,   227,     0,
     229,   230,   231,     0,     0,     0,     0,     0,     0,     0,
     232,   233,     0,   234,   235,     0,   236,   237,   238,   239,
     240,     0,   241,   242,     0,   243,   244,   245,   246,   247,
       0,     0,   248,   249,   250,   251,   252,     0,   253,   254,
     255,   256,   257,     0,     0,     0,   258,   259,   260,   261,
       0,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,     0,   271,   272,   273,     0,     0,     0,     0,
       0,     0,     0,   274,   275,   276,   277,   278,   279,   280,
     281,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   294,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
     312,     0,   313,   314,   315,   316,     0,   317,     0,   318,
       0,     0,     0,   319,   320,   321,     0,   322,   323,     0,
     324,   325,     0,   326,   327,   328,   329,  1628,     0,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,     0,   342,   343,   344,   345,   346,   347,   348,
       0,   349,     0,   350,     0,     0,   351,     0,   352,   353,
     354,   355,   356,     0,     0,   357,   358,     0,   359,     0,
       0,   360,   361,   362,     0,     0,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,   378,     0,   379,   380,   381,   382,     0,   383,   384,
       0,   385,     0,   386,   387,   388,   389,   390,   391,     0,
     392,     0,     0,   393,   394,   395,     0,     0,   396,   397,
       0,   398,     0,   399,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,   409,   410,   411,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,     0,
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
     451,   452,     0,   453,   454,   455,   456,   457,     0,   458,
     459,   460,   461,   462,     0,   463,   464,   465,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,   478,     0,   479,   480,     0,   481,     0,   482,   483,
     484,   485,   486,     0,   487,   488,     0,     0,   489,   490,
     491,   492,   493,     0,   494,   495,   496,   497,   498,   499,
     500,     0,     0,   501,   502,   503,   504,   505,     0,     0,
     506,   507,   508,   509,   510,   511,   512,     0,   513,     0,
     514,   515,   516,   517,     0,     0,   518,     0,     0,   519,
     520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
     530,   531,   532,   533,   534,   535,   536,   219,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,     0,   236,   237,   238,
     239,   240,     0,   241,   242,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   250,   251,   252,     0,   253,
     254,   255,   256,   257,     0,     0,     0,   258,   259,   260,
     261,     0,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,     0,   271,   272,   273,     0,     0,     0,
       0,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     280,   281,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   294,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
       0,   312,     0,   313,   314,   315,   316,     0,   317,     0,
     318,     0,     0,     0,   319,   320,   321,     0,   322,   323,
       0,   324,   325,     0,   326,   327,   328,   329,  1630,     0,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,     0,   342,   343,   344,   345,   346,   347,
     348,     0,   349,     0,   350,     0,     0,   351,     0,   352,
     353,   354,   355,   356,     0,     0,   357,   358,     0,   359,
       0,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,     0,   379,   380,   381,   382,     0,   383,
     384,     0,   385,     0,   386,   387,   388,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
     397,     0,   398,     0,   399,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,   409,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
       0,   441,   442,   443,   444,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,     0,   479,   480,     0,   481,     0,   482,
     483,   484,   485,   486,     0,   487,   488,     0,     0,   489,
     490,   491,   492,   493,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,   511,   512,     0,   513,
       0,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,   219,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,     0,   236,   237,
     238,   239,   240,     0,   241,   242,     0,   243,   244,   245,
     246,   247,     0,     0,   248,   249,   250,   251,   252,     0,
     253,   254,   255,   256,   257,     0,     0,     0,   258,   259,
     260,   261,     0,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,     0,   271,   272,   273,     0,     0,
       0,     0,     0,     0,     0,   274,   275,   276,   277,   278,
     279,   280,   281,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     294,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,   307,   308,   309,   310,
     311,     0,   312,     0,   313,   314,   315,   316,     0,   317,
       0,   318,     0,     0,     0,   319,   320,   321,     0,   322,
     323,     0,   324,   325,     0,   326,   327,   328,   329,  1632,
       0,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,     0,   342,   343,   344,   345,   346,
     347,   348,     0,   349,     0,   350,     0,     0,   351,     0,
     352,   353,   354,   355,   356,     0,     0,   357,   358,     0,
     359,     0,     0,   360,   361,   362,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,     0,   379,   380,   381,   382,     0,
     383,   384,     0,   385,     0,   386,   387,   388,   389,   390,
     391,     0,   392,     0,     0,   393,   394,   395,     0,     0,
     396,   397,     0,   398,     0,   399,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,   409,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,     0,   441,   442,   443,   444,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
       0,   458,   459,   460,   461,   462,     0,   463,   464,   465,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,     0,   479,   480,     0,   481,     0,
     482,   483,   484,   485,   486,     0,   487,   488,     0,     0,
     489,   490,   491,   492,   493,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
       0,     0,   506,   507,   508,   509,   510,   511,   512,     0,
     513,     0,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   525,   526,   527,
     528,   529,   530,   531,   532,   533,   534,   535,   536,   219,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   220,   221,   222,   223,   224,   225,
     226,   227,     0,   229,   230,   231,     0,     0,     0,     0,
       0,     0,     0,   232,   233,     0,   234,   235,     0,   236,
     237,   238,   239,   240,     0,   241,   242,     0,   243,   244,
     245,   246,   247,     0,     0,   248,   249,   250,   251,   252,
       0,   253,   254,   255,   256,   257,     0,     0,     0,   258,
     259,   260,   261,     0,   262,   263,   264,     0,   265,   266,
     267,   268,   269,   270,     0,     0,   271,   272,   273,     0,
       0,     0,     0,     0,     0,     0,   274,   275,   276,   277,
     278,   279,   280,   281,   282,     0,   283,     0,   284,   285,
     286,   287,   288,     0,   289,   290,   291,     0,     0,   292,
     293,   294,   295,   296,     0,   297,   298,   299,     0,   300,
     301,   302,     0,   303,   304,   305,   306,   307,   308,   309,
     310,   311,     0,   312,     0,   313,   314,   315,   316,     0,
     317,     0,   318,     0,     0,     0,   319,   320,   321,     0,
     322,   323,     0,   324,   325,     0,   326,   327,   328,   329,
     330,     0,   331,   332,   333,   334,     0,   335,   336,   337,
     338,   339,   340,     0,   341,     0,   342,   343,   344,   345,
     346,   347,   348,     0,   349,     0,   350,     0,     0,   351,
       0,   352,   353,   354,   355,   356,     0,     0,   357,   358,
       0,   359,     0,     0,   360,   361,   362,     0,     0,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   378,     0,   379,   380,   381,   382,
       0,   383,   384,     0,   385,     0,   386,   387,   388,   389,
     390,   391,     0,   392,     0,     0,   393,   394,   395,     0,
       0,   396,   397,     0,   398,     0,   399,   400,   401,   402,
     403,   404,   405,   406,     0,   407,   408,   409,   410,   411,
     412,   413,   414,     0,   415,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,     0,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,     0,
     439,   440,     0,   441,   442,   443,   444,   445,   446,  1728,
     448,   449,   450,   451,   452,     0,   453,   454,   455,   456,
     457,     0,   458,   459,   460,   461,   462,     0,   463,   464,
     465,   466,     0,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,   478,     0,   479,   480,     0,   481,
       0,   482,   483,   484,   485,   486,     0,   487,   488,     0,
       0,   489,   490,   491,   492,   493,     0,   494,   495,   496,
     497,   498,   499,   500,     0,     0,   501,   502,   503,   504,
     505,     0,     0,   506,   507,   508,   509,   510,   511,   512,
       0,   513,     0,   514,   515,   516,   517,     0,     0,   518,
       0,     0,   519,   520,   521,   522,   523,   524,   525,   526,
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
     219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,     0,  1991,     0,   232,   233,     0,   234,   235,     0,
     236,   237,   238,   239,   240,     0,   241,   242,     0,   243,
     244,   245,   246,   247,     0,     0,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,   257,     0,     0,     0,
     258,   259,   260,   261,     0,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,     0,   271,   272,   273,
       0,     0,     0,     0,     0,     0,     0,   274,   275,   276,
     277,   278,   279,   280,   281,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,     0,     0,     0,   319,   320,   321,
       0,   322,   323,     0,   324,   325,     0,   326,   327,   328,
     329,   330,     0,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,     0,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,     0,     0,
     351,     0,   352,   353,   354,   355,   356,     0,     0,   357,
     358,     0,   359,     0,     0,   360,   361,   362,     0,     0,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,     0,   379,   380,   381,
     382,     0,   383,   384,     0,   385,     0,   386,   387,   388,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,     0,   398,     0,   399,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,   409,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,     0,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,     0,     0,   459,   460,   461,   462,     0,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,   478,     0,   479,   480,     0,
     481,     0,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,   491,   492,   493,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,     0,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,     0,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
     536,   219,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     0,     0,
       0,     0,     0,     0,     0,   232,   233,     0,   234,   235,
       0,   236,   237,   238,   239,   240,     0,   241,   242,     0,
     243,   244,   245,   246,   247,     0,     0,   715,   249,   250,
     251,   252,     0,   253,   254,   255,   256,   257,     0,     0,
       0,   258,   259,   260,   261,     0,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,     0,   271,   272,
     273,     0,     0,     0,     0,     0,     0,     0,   274,   275,
     276,   277,   278,   279,   280,   281,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   294,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,   307,
     308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
     316,     0,   317,     0,   318,     0,     0,     0,   319,   320,
     321,     0,   322,   323,     0,   324,   325,     0,   326,   327,
     328,   329,   330,     0,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,     0,   342,   343,
     344,   345,   346,   347,   348,     0,   349,     0,   350,     0,
       0,   351,     0,   352,   353,   354,   355,   356,     0,     0,
     357,   358,     0,   359,     0,     0,   360,   361,   362,     0,
       0,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   718,   378,     0,   379,   380,
     381,   382,     0,   383,   384,     0,   385,     0,   386,   387,
     388,   389,   390,   391,     0,   392,     0,     0,   393,   394,
     395,     0,     0,   396,   397,     0,   398,     0,   399,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,   409,
     410,   411,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,     0,   719,   442,   443,   444,   445,
     446,   447,   720,   449,   450,   451,   452,     0,   453,   454,
     455,   456,  1231,     0,   458,   459,   460,   461,   462,     0,
     463,   464,   465,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
       0,   481,     0,  2023,   483,   484,   485,   486,     0,   722,
     488,     0,     0,   723,   490,   491,   492,   493,     0,   494,
     495,   496,   497,   498,   499,   500,     0,     0,   501,   502,
     503,   504,   505,     0,     0,   506,   507,   508,   509,   510,
     511,   512,     0,   513,     0,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   724,
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
     535,   536,   219,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,     0,   236,   237,   238,   239,   240,     0,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   715,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
       0,     0,   258,   259,   260,   261,     0,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,     0,   271,
     272,   273,     0,     0,     0,     0,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,     0,     0,     0,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,     0,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,     0,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
       0,     0,   351,     0,   352,   353,   354,   355,   356,     0,
       0,   357,   358,     0,   359,     0,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   718,   378,     0,   379,
     380,   381,   382,     0,   383,   384,     0,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,     0,   398,     0,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,     0,   719,   442,   443,   444,
     445,   446,   447,  2095,   449,   450,   451,   452,     0,   453,
     454,   455,   456,  2096,     0,   458,   459,   460,   461,   462,
       0,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,     0,   482,   483,   484,   485,   486,     0,
     722,   488,     0,     0,  2097,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,     0,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     724,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,   219,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,     0,     0,   232,   233,     0,
     234,   235,     0,   236,   237,   238,   239,   240,     0,   241,
     242,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   250,   251,   252,     0,   253,   254,   255,   256,   257,
       0,     0,     0,   258,   259,   260,   261,     0,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,     0,
     271,   272,   273,     0,     0,     0,     0,     0,     0,     0,
     274,   275,   276,   277,   278,   279,   280,   281,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   294,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
     314,   315,   316,     0,   317,     0,   318,     0,     0,     0,
     319,   320,   321,     0,   322,   323,     0,   324,   325,     0,
     326,   327,   328,   329,  2332,     0,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,     0,
     342,   343,   344,   345,   346,   347,   348,     0,   349,     0,
     350,     0,     0,   351,     0,   352,   353,   354,   355,   356,
       0,     0,   357,   358,     0,   359,     0,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   378,     0,
     379,   380,   381,   382,     0,   383,   384,     0,   385,     0,
     386,   387,   388,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,   397,     0,   398,     0,
     399,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,   409,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,     0,   441,   442,   443,
     444,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,     0,   458,   459,   460,   461,
     462,     0,   463,   464,   465,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
     479,   480,     0,   481,     0,   482,   483,   484,   485,   486,
       0,   487,   488,     0,     0,   489,   490,   491,   492,   493,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,   511,   512,     0,   513,     0,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
     533,   534,   535,   536,   219,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,     0,   236,   237,   238,   239,   240,     0,
     241,   242,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   250,   251,   252,     0,   253,   254,   255,   256,
     257,     0,     0,     0,   258,   259,   260,   261,     0,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
       0,   271,   272,   273,     0,     0,     0,     0,     0,     0,
       0,   274,   275,   276,   277,   278,   279,   280,   281,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   294,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
     313,   314,   315,   316,     0,   317,     0,   318,     0,     0,
       0,   319,   320,   321,     0,   322,   323,     0,   324,   325,
       0,   326,   327,   328,   329,  2336,     0,   331,   332,   333,
     334,     0,   335,   336,   337,   338,   339,   340,     0,   341,
       0,   342,   343,   344,   345,   346,   347,   348,     0,   349,
       0,   350,     0,     0,   351,     0,   352,   353,   354,   355,
     356,     0,     0,   357,   358,     0,   359,     0,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
       0,   379,   380,   381,   382,     0,   383,   384,     0,   385,
       0,   386,   387,   388,   389,   390,   391,     0,   392,     0,
       0,   393,   394,   395,     0,     0,   396,   397,     0,   398,
       0,   399,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,   409,   410,   411,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,     0,   441,   442,
     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,     0,   458,   459,   460,
     461,   462,     0,   463,   464,   465,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
       0,   479,   480,     0,   481,     0,   482,   483,   484,   485,
     486,     0,   487,   488,     0,     0,   489,   490,   491,   492,
     493,     0,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,     0,   506,   507,
     508,   509,   510,   511,   512,     0,   513,     0,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
     532,   533,   534,   535,   536,   219,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
     220,   221,   222,   223,   224,   225,   226,   227,     0,   229,
     230,   231,     0,     0,     0,     0,     0,     0,     0,   232,
     233,     0,   234,   235,     0,   236,   237,   238,   239,   240,
       0,   241,   242,     0,   243,   244,   245,   246,   247,     0,
       0,   248,   249,   250,   251,   252,     0,   253,   254,   255,
     256,   257,     0,     0,     0,   258,   259,   260,   261,     0,
     262,   263,   264,     0,   265,   266,   267,   268,   269,   270,
       0,     0,   271,   272,   273,     0,     0,     0,     0,     0,
       0,     0,   274,   275,   276,   277,   278,   279,   280,   281,
     282,     0,   283,     0,   284,   285,   286,   287,   288,     0,
     289,   290,   291,     0,     0,   292,   293,   294,   295,   296,
       0,   297,   298,   299,     0,   300,   301,   302,     0,   303,
     304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
       0,   313,   314,   315,   316,     0,   317,     0,   318,     0,
       0,     0,   319,   320,   321,     0,   322,   323,     0,   324,
     325,     0,   326,   327,   328,   329,  2378,     0,   331,   332,
     333,   334,     0,   335,   336,   337,   338,   339,   340,     0,
     341,     0,   342,   343,   344,   345,   346,   347,   348,     0,
     349,     0,   350,     0,     0,   351,     0,   352,   353,   354,
     355,   356,     0,     0,   357,   358,     0,   359,     0,     0,
     360,   361,   362,     0,     0,   363,   364,   365,   366,   367,
     368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
     378,     0,   379,   380,   381,   382,     0,   383,   384,     0,
     385,     0,   386,   387,   388,   389,   390,   391,     0,   392,
       0,     0,   393,   394,   395,     0,     0,   396,   397,     0,
     398,     0,   399,   400,   401,   402,   403,   404,   405,   406,
       0,   407,   408,   409,   410,   411,   412,   413,   414,     0,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,     0,   428,   429,   430,   431,   432,   433,
     434,   435,   436,   437,   438,     0,   439,   440,     0,   441,
     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
     452,     0,   453,   454,   455,   456,   457,     0,   458,   459,
     460,   461,   462,     0,   463,   464,   465,   466,     0,   467,
     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
     478,     0,   479,   480,     0,   481,     0,   482,   483,   484,
     485,   486,     0,   487,   488,     0,     0,   489,   490,   491,
     492,   493,     0,   494,   495,   496,   497,   498,   499,   500,
       0,     0,   501,   502,   503,   504,   505,     0,     0,   506,
     507,   508,   509,   510,   511,   512,     0,   513,     0,   514,
     515,   516,   517,     0,     0,   518,     0,     0,   519,   520,
     521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
     531,   532,   533,   534,   535,   536,   219,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,   220,   221,   222,   223,   224,   225,   226,   227,     0,
     229,   230,   231,     0,     0,     0,     0,     0,     0,     0,
     232,   233,     0,   234,   235,     0,   236,   237,   238,   239,
     240,     0,   241,   242,     0,   243,   244,   245,   246,   247,
       0,     0,   248,   249,   250,   251,   252,     0,   253,   254,
     255,   256,   257,     0,     0,     0,   258,   259,   260,   261,
       0,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,     0,   271,   272,   273,     0,     0,     0,     0,
       0,     0,     0,   274,   275,   276,   277,   278,   279,   280,
     281,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   294,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
     312,     0,   313,   314,   315,   316,     0,   317,     0,   318,
       0,     0,     0,   319,   320,   321,     0,   322,   323,     0,
     324,   325,     0,   326,   327,   328,   329,  2413,     0,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,     0,   342,   343,   344,   345,   346,   347,   348,
       0,   349,     0,   350,     0,     0,   351,     0,   352,   353,
     354,   355,   356,     0,     0,   357,   358,     0,   359,     0,
       0,   360,   361,   362,     0,     0,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,   378,     0,   379,   380,   381,   382,     0,   383,   384,
       0,   385,     0,   386,   387,   388,   389,   390,   391,     0,
     392,     0,     0,   393,   394,   395,     0,     0,   396,   397,
       0,   398,     0,   399,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,   409,   410,   411,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,     0,
     441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
     451,   452,     0,   453,   454,   455,   456,   457,     0,   458,
     459,   460,   461,   462,     0,   463,   464,   465,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,   478,     0,   479,   480,     0,   481,     0,   482,   483,
     484,   485,   486,     0,   487,   488,     0,     0,   489,   490,
     491,   492,   493,     0,   494,   495,   496,   497,   498,   499,
     500,     0,     0,   501,   502,   503,   504,   505,     0,     0,
     506,   507,   508,   509,   510,   511,   512,     0,   513,     0,
     514,   515,   516,   517,     0,     0,   518,     0,     0,   519,
     520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
     530,   531,   532,   533,   534,   535,   536,   219,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,     0,   236,   237,   238,
     239,   240,     0,   241,   242,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   250,   251,   252,     0,   253,
     254,   255,   256,   257,     0,     0,     0,   258,   259,   260,
     261,     0,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,     0,   271,   272,   273,     0,     0,     0,
       0,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     280,   281,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   294,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
       0,   312,     0,   313,   314,   315,   316,     0,   317,     0,
     318,     0,     0,     0,   319,   320,   321,     0,   322,   323,
       0,   324,   325,     0,   326,   327,   328,   329,  2739,     0,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,     0,   342,   343,   344,   345,   346,   347,
     348,     0,   349,     0,   350,     0,     0,   351,     0,   352,
     353,   354,   355,   356,     0,     0,   357,   358,     0,   359,
       0,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,     0,   379,   380,   381,   382,     0,   383,
     384,     0,   385,     0,   386,   387,   388,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
     397,     0,   398,     0,   399,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,   409,   410,   411,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
       0,   441,   442,   443,   444,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,   460,   461,   462,     0,   463,   464,   465,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,   478,     0,   479,   480,     0,   481,     0,   482,
     483,   484,   485,   486,     0,   487,   488,     0,     0,   489,
     490,   491,   492,   493,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,   511,   512,     0,   513,
       0,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
     529,   530,   531,   532,   533,   534,   535,   536,   219,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,     0,   236,   237,
     238,   239,   240,     0,   241,   242,     0,   243,   244,   245,
     246,   247,     0,     0,   715,   249,   250,   251,   252,     0,
     253,   254,   255,   256,   257,     0,     0,     0,   258,   259,
     260,   261,     0,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,     0,   271,   272,   273,     0,     0,
       0,     0,     0,     0,     0,   274,   275,   276,   277,   278,
     279,   280,   281,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     294,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,   307,   308,   309,   310,
     311,     0,   312,     0,   313,   314,   315,   316,     0,   317,
       0,   318,     0,     0,     0,   319,   320,   321,     0,   322,
     323,     0,   324,   325,     0,   326,   327,   328,   329,   330,
       0,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,     0,   342,   343,   344,   345,   346,
     347,   348,     0,   349,     0,   350,     0,     0,   351,     0,
     352,   353,   354,   355,   356,     0,     0,   357,   358,     0,
     359,     0,     0,   360,   361,   362,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   718,   378,     0,   379,   380,   381,   382,     0,
     383,   384,     0,   385,     0,   386,   387,   388,   389,   390,
     391,     0,   392,     0,     0,   393,   394,   395,     0,     0,
     396,   397,     0,   398,     0,   399,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,   409,   410,   411,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,     0,   719,   442,   443,   444,   445,   446,   447,   720,
     449,   450,   451,   452,     0,   453,   454,   455,   456,  2096,
       0,   458,   459,   460,   461,   462,     0,   463,   464,   465,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,   478,     0,   479,   480,     0,   481,     0,
     482,   483,   484,   485,   486,     0,   722,   488,     0,     0,
    2097,   490,   491,   492,   493,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
       0,     0,   506,   507,   508,   509,   510,   511,   512,     0,
     513,     0,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   724,   525,   526,   527,
     528,   529,   530,   531,   532,   533,   534,   535,   536,   219,
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   220,   221,   222,   223,   224,   225,
     226,   227,     0,   229,   230,   231,     0,     0,     0,     0,
       0,     0,     0,   232,   233,     0,   234,   235,     0,   236,
     237,   238,   239,   240,     0,   241,   242,     0,   243,   244,
     245,   246,   247,     0,     0,   248,   249,   250,   251,   252,
       0,   253,   254,   255,   256,   257,     0,     0,     0,   258,
     259,   260,   261,     0,   262,   263,   264,     0,   265,   266,
     267,   268,   269,   270,     0,     0,   271,   272,   273,     0,
       0,     0,     0,     0,     0,     0,   274,   275,   276,   277,
     278,   279,   280,   281,   282,     0,   283,     0,   284,   285,
     286,   287,   288,     0,   289,   290,   291,     0,     0,   292,
     293,   294,   295,   296,     0,   297,   298,   299,     0,   300,
     301,   302,     0,   303,   304,   305,   306,   307,   308,   309,
     310,   311,     0,   312,     0,   313,   314,   315,   316,     0,
     317,     0,   318,     0,     0,     0,   319,   320,   321,     0,
     322,   323,     0,   324,   325,     0,   326,   327,   328,   329,
    2814,     0,   331,   332,   333,   334,     0,   335,   336,   337,
     338,   339,   340,     0,   341,     0,   342,   343,   344,   345,
     346,   347,   348,     0,   349,     0,   350,     0,     0,   351,
       0,   352,   353,   354,   355,   356,     0,     0,   357,   358,
       0,   359,     0,     0,   360,   361,   362,     0,     0,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   378,     0,   379,   380,   381,   382,
       0,   383,   384,     0,   385,     0,   386,   387,   388,   389,
     390,   391,     0,   392,     0,     0,   393,   394,   395,     0,
       0,   396,   397,     0,   398,     0,   399,   400,   401,   402,
     403,   404,   405,   406,     0,   407,   408,   409,   410,   411,
     412,   413,   414,     0,   415,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,     0,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,     0,
     439,   440,     0,   441,   442,   443,   444,   445,   446,   447,
     448,   449,   450,   451,   452,     0,   453,   454,   455,   456,
     457,     0,   458,   459,   460,   461,   462,     0,   463,   464,
     465,   466,     0,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,   478,     0,   479,   480,     0,   481,
       0,   482,   483,   484,   485,   486,     0,   487,   488,     0,
       0,   489,   490,   491,   492,   493,     0,   494,   495,   496,
     497,   498,   499,   500,     0,     0,   501,   502,   503,   504,
     505,     0,     0,   506,   507,   508,   509,   510,   511,   512,
       0,   513,     0,   514,   515,   516,   517,     0,     0,   518,
       0,     0,   519,   520,   521,   522,   523,   524,   525,   526,
     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
     219,     0,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,     0,
     236,   237,   238,   239,   240,     0,   241,   242,     0,   243,
     244,   245,   246,   247,     0,     0,   248,   249,   250,   251,
     252,     0,   253,   254,   255,   256,   257,     0,     0,     0,
     258,   259,   260,   261,     0,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,     0,   271,   272,   273,
       0,     0,     0,     0,     0,     0,     0,   274,   275,   276,
     277,   278,   279,   280,   281,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   294,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,   307,   308,
     309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
       0,   317,     0,   318,     0,     0,     0,   319,   320,   321,
       0,   322,   323,     0,   324,   325,     0,   326,   327,   328,
     329,  2816,     0,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,     0,   342,   343,   344,
     345,   346,   347,   348,     0,   349,     0,   350,     0,     0,
     351,     0,   352,   353,   354,   355,   356,     0,     0,   357,
     358,     0,   359,     0,     0,   360,   361,   362,     0,     0,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   378,     0,   379,   380,   381,
     382,     0,   383,   384,     0,   385,     0,   386,   387,   388,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,   397,     0,   398,     0,   399,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,   409,   410,
     411,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,     0,   441,   442,   443,   444,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,     0,   458,   459,   460,   461,   462,     0,   463,
     464,   465,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,   478,     0,   479,   480,     0,
     481,     0,   482,   483,   484,   485,   486,     0,   487,   488,
       0,     0,   489,   490,   491,   492,   493,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,     0,     0,   506,   507,   508,   509,   510,   511,
     512,     0,   513,     0,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   525,
     526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
     536,   219,     0,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     0,     0,
       0,     0,     0,     0,     0,   232,   233,     0,   234,   235,
       0,   236,   237,   238,   239,   240,     0,   241,   242,     0,
     243,   244,   245,   246,   247,     0,     0,   248,   249,   250,
     251,   252,     0,   253,   254,   255,   256,   257,     0,     0,
       0,   258,   259,   260,   261,     0,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,     0,   271,   272,
     273,     0,     0,     0,     0,     0,     0,     0,   274,   275,
     276,   277,   278,   279,   280,   281,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   294,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,   307,
     308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
     316,     0,   317,     0,   318,     0,     0,     0,   319,   320,
     321,     0,   322,   323,     0,   324,   325,     0,   326,   327,
     328,   329,  2928,     0,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,     0,   342,   343,
     344,   345,   346,   347,   348,     0,   349,     0,   350,     0,
       0,   351,     0,   352,   353,   354,   355,   356,     0,     0,
     357,   358,     0,   359,     0,     0,   360,   361,   362,     0,
       0,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,   378,     0,   379,   380,
     381,   382,     0,   383,   384,     0,   385,     0,   386,   387,
     388,   389,   390,   391,     0,   392,     0,     0,   393,   394,
     395,     0,     0,   396,   397,     0,   398,     0,   399,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,   409,
     410,   411,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,     0,   441,   442,   443,   444,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,     0,   458,   459,   460,   461,   462,     0,
     463,   464,   465,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,   478,     0,   479,   480,
       0,   481,     0,   482,   483,   484,   485,   486,     0,   487,
     488,     0,     0,   489,   490,   491,   492,   493,     0,   494,
     495,   496,   497,   498,   499,   500,     0,     0,   501,   502,
     503,   504,   505,     0,     0,   506,   507,   508,   509,   510,
     511,   512,     0,   513,     0,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
     535,   536,   219,     0,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,     0,   236,   237,   238,   239,   240,     0,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
       0,     0,   258,   259,   260,   261,     0,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,     0,   271,
     272,   273,     0,     0,     0,     0,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,  2950,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,     0,     0,     0,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,     0,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,     0,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
       0,     0,   351,     0,   352,   353,   354,   355,   356,     0,
       0,   357,   358,     0,   359,     0,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,     0,   379,
     380,   381,   382,     0,   383,   384,     0,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,     0,   398,     0,   399,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,     0,   441,   442,   443,   444,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,     0,   458,   459,   460,   461,   462,
       0,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,     0,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,     0,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,   219,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,     0,     0,   232,   233,     0,
     234,   235,     0,   236,   237,   238,   239,   240,     0,   241,
     242,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   250,   251,   252,     0,   253,   254,   255,   256,   257,
       0,     0,     0,   258,   259,   260,   261,     0,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,     0,
     271,   272,   273,     0,     0,     0,     0,     0,     0,     0,
     274,   275,   276,   277,   278,   279,   280,   281,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   294,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
     314,   315,   316,     0,   317,     0,   318,     0,     0,     0,
     319,   320,   321,     0,   322,   323,     0,   324,   325,     0,
     326,   327,   328,   329,  4061,     0,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,     0,
     342,   343,   344,   345,   346,   347,   348,     0,   349,     0,
     350,     0,     0,   351,     0,   352,   353,   354,   355,   356,
       0,     0,   357,   358,     0,   359,     0,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   378,     0,
     379,   380,   381,   382,     0,   383,   384,     0,   385,     0,
     386,   387,   388,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,   397,     0,   398,     0,
     399,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,   409,   410,   411,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,     0,   441,   442,   443,
     444,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,     0,   458,   459,   460,   461,
     462,     0,   463,   464,   465,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,   478,     0,
     479,   480,     0,   481,     0,   482,   483,   484,   485,   486,
       0,   487,   488,     0,     0,   489,   490,   491,   492,   493,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,   511,   512,     0,   513,     0,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
     533,   534,   535,   536,   978,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,     0,   220,
     221,   222,   223,   224,   225,   226,   227,     0,   229,   230,
     231,     0,     0,     0,     0,     0,     0,     0,   232,   233,
       0,   234,   235,   772,   236,   237,   238,     0,   979,   773,
     980,   981,     0,   243,   244,   245,   246,   247,     0,     0,
     248,   249,   982,   983,   252,     0,   253,   254,   255,   256,
       0,     0,   774,     0,   258,   259,   260,   261,   775,   262,
     263,   264,     0,   265,   266,   267,   268,   269,   270,     0,
     776,   271,   272,   273,     0,     0,     0,   777,     0,     0,
       0,   274,   275,   276,   277,   278,   279,   984,   985,   282,
       0,   283,     0,   284,   285,   286,   287,   288,     0,   289,
     290,   291,     0,     0,   292,   293,   986,   295,   296,     0,
     297,   298,   299,     0,   300,   301,   302,     0,   303,   304,
     305,   306,     0,   308,   309,   310,     0,     0,   312,     0,
     313,   314,   987,   316,     0,   317,     0,   318,   778,     0,
     779,   319,   320,   321,     0,   322,     0,     0,     0,   325,
       0,   326,   327,   328,   329,   330,   780,   331,   332,   333,
     334,  1994,   335,   336,   337,   338,   339,   340,     0,   341,
     781,  1995,   343,   344,   345,   346,   989,   990,     0,   991,
       0,   350,   782,   783,   351,   784,   352,   353,   354,   355,
     356,     0,     0,   357,     0,   785,   359,   786,     0,   360,
     361,   362,     0,     0,   363,   364,   365,   366,   367,   368,
     369,   370,   371,   372,   373,   374,   375,   376,   377,   992,
     787,   993,   380,   381,     0,     0,   383,   384,   788,   385,
       0,     0,   387,   994,   389,   390,   391,     0,   392,     0,
       0,   393,   394,   395,     0,     0,   396,  1997,   789,   398,
     790,     0,   400,   401,   402,   403,   404,   405,   406,     0,
     407,   408,     0,   410,     0,   412,   413,   414,     0,   415,
     416,   417,   418,   419,   420,   421,   422,   995,   424,   425,
     426,   427,     0,   428,   429,   430,   431,   432,   433,   434,
     435,   436,   437,   438,     0,   439,   440,   791,   441,   442,
     443,     0,   445,   446,   447,   448,   449,   450,   451,   452,
       0,   453,   454,   455,   456,   457,     0,   458,   459,  1998,
     461,   462,   792,   463,   464,   997,   466,     0,   467,   468,
     469,   470,   471,   472,   473,   474,   475,   476,   477,     0,
       0,   479,   480,     0,   481,   793,   482,   483,   484,   485,
     486,     0,   998,   999,     0,     0,   489,   490,     0,   492,
       0,     0,   494,   495,   496,   497,   498,   499,   500,     0,
       0,   501,   502,   503,   504,   505,     0,     0,   506,   507,
     508,   509,   510,     0,  1000,  1999,   513,   794,   514,   515,
     516,   517,     0,     0,   518,     0,     0,   519,   520,   521,
     522,   523,   524,   978,     0,     0,     0,     0,     0,     0,
       0,     0,   534,   535,   536,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,     0,     0,   232,   233,     0,
     234,   235,   772,   236,   237,   238,     0,   979,   773,   980,
     981,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   982,   983,   252,     0,   253,   254,   255,   256,     0,
       0,   774,     0,   258,   259,   260,   261,   775,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,   776,
     271,   272,   273,     0,     0,     0,   777,     0,     0,     0,
     274,   275,   276,   277,   278,   279,   984,   985,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   986,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,     0,   308,   309,   310,     0,     0,   312,     0,   313,
     314,   987,   316,     0,   317,     0,   318,   778,     0,   779,
     319,   320,   321,     0,   322,     0,     0,     0,   325,     0,
     326,   327,   328,   329,   330,   780,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,   781,
       0,   343,   344,   345,   346,   989,   990,     0,   991,     0,
     350,   782,   783,   351,   784,   352,   353,   354,   355,   356,
       0,     0,   357,     0,   785,   359,   786,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   992,   787,
     993,   380,   381,     0,     0,   383,   384,   788,   385,  2091,
       0,   387,   994,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,     0,   789,   398,   790,
       0,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,     0,   410,     0,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   995,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,   791,   441,   442,   443,
       0,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,     0,   458,   459,  1998,   461,
     462,   792,   463,   464,   997,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,     0,     0,
     479,   480,  3636,   481,   793,   482,   483,   484,   485,   486,
       0,   998,   999,     0,     0,   489,   490,     0,   492,     0,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,     0,  1000,     0,   513,   794,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   219,     0,     0,     0,     0,     0,     0,     0,
       0,   534,   535,   536,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,     0,   236,   237,   238,   239,   240,     0,   241,   242,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     250,   251,   252,     0,   253,   254,   255,   256,   257,     0,
       0,     0,   258,   259,   260,   261,     0,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,     0,   271,
     272,   273,     0,     0,     0,     0,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   280,   281,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   294,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
     307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
     315,   316,     0,   317,     0,   318,     0,     0,     0,   319,
     320,   321,     0,   322,   323,     0,   324,   325,     0,   326,
     327,   328,   329,   330,     0,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,     0,   342,
     343,   344,   345,   346,   347,   348,     0,   349,     0,   350,
       0,     0,   351,     0,   352,   353,   354,   355,   356,     0,
       0,   357,   358,     0,   359,     0,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   378,     0,   379,
     380,   381,   382,     0,   383,   384,     0,   385,     0,   386,
     387,   388,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,   397,     0,   398,     0,   399,
     400,   401,   402,   403,     0,   405,   406,     0,   407,   408,
     409,   410,   411,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,     0,   422,   423,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,     0,   441,   442,   443,   444,
       0,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,     0,   458,   459,   460,   461,   462,
       0,   463,   464,   465,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,   478,     0,   479,
     480,     0,   481,     0,   482,   483,   484,   485,   486,     0,
     487,   488,     0,     0,   489,   490,   491,   492,   493,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,   511,   512,     0,   513,     0,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
     534,   535,   536,   978,     0,     0,     0,     0,     0,     0,
       0,     0,     0,     0,     0,     0,     0,     0,   220,   221,
     222,   223,   224,   225,   226,   227,     0,   229,   230,   231,
       0,     0,     0,     0,     0,     0,     0,   232,   233,     0,
     234,   235,   772,   236,   237,   238,     0,   979,   773,   980,
     981,     0,   243,   244,   245,   246,   247,     0,     0,   248,
     249,   982,   983,   252,     0,   253,   254,   255,   256,     0,
       0,   774,     0,   258,   259,   260,   261,   775,   262,   263,
     264,     0,   265,   266,   267,   268,   269,   270,     0,   776,
     271,   272,   273,     0,     0,     0,   777,     0,     0,     0,
     274,   275,   276,   277,   278,   279,   984,   985,   282,     0,
     283,     0,   284,   285,   286,   287,   288,     0,   289,   290,
     291,     0,     0,   292,   293,   986,   295,   296,     0,   297,
     298,   299,     0,   300,   301,   302,     0,   303,   304,   305,
     306,     0,   308,   309,   310,     0,     0,   312,     0,   313,
     314,   987,   316,     0,   317,     0,   318,   778,     0,   779,
     319,   320,   321,     0,   322,     0,     0,     0,   325,     0,
     326,   327,   328,   329,   330,   780,   331,   332,   333,   334,
       0,   335,   336,   337,   338,   339,   340,     0,   341,   781,
       0,   343,   344,   345,   346,   989,   990,     0,   991,     0,
     350,   782,   783,   351,   784,   352,   353,   354,   355,   356,
       0,     0,   357,     0,   785,   359,   786,     0,   360,   361,
     362,     0,     0,   363,   364,   365,   366,   367,   368,   369,
     370,   371,   372,   373,   374,   375,   376,   377,   992,   787,
     993,   380,   381,  2158,     0,   383,   384,   788,   385,     0,
       0,   387,   994,   389,   390,   391,     0,   392,     0,     0,
     393,   394,   395,     0,     0,   396,     0,   789,   398,   790,
       0,   400,   401,   402,   403,   404,   405,   406,     0,   407,
     408,     0,   410,     0,   412,   413,   414,     0,   415,   416,
     417,   418,   419,   420,   421,   422,   995,   424,   425,   426,
     427,     0,   428,   429,   430,   431,   432,   433,   434,   435,
     436,   437,   438,     0,   439,   440,   791,   441,   442,   443,
       0,   445,   446,   447,   448,   449,   450,   451,   452,     0,
     453,   454,   455,   456,   457,     0,   458,   459,   996,   461,
     462,   792,   463,   464,   997,   466,     0,   467,   468,   469,
     470,   471,   472,   473,   474,   475,   476,   477,     0,     0,
     479,   480,     0,   481,   793,   482,   483,   484,   485,   486,
       0,   998,   999,     0,     0,   489,   490,     0,   492,     0,
       0,   494,   495,   496,   497,   498,   499,   500,     0,     0,
     501,   502,   503,   504,   505,     0,     0,   506,   507,   508,
     509,   510,     0,  1000,     0,   513,   794,   514,   515,   516,
     517,     0,     0,   518,     0,     0,   519,   520,   521,   522,
     523,   524,   978,     0,     0,     0,     0,     0,     0,     0,
       0,   534,   535,   536,     0,     0,     0,   220,   221,   222,
     223,   224,   225,   226,   227,     0,   229,   230,   231,     0,
       0,     0,     0,     0,     0,     0,   232,   233,     0,   234,
     235,   772,   236,   237,   238,     0,   979,   773,   980,   981,
       0,   243,   244,   245,   246,   247,     0,     0,   248,   249,
     982,   983,   252,     0,   253,   254,   255,   256,     0,     0,
     774,     0,   258,   259,   260,   261,   775,   262,   263,   264,
       0,   265,   266,   267,   268,   269,   270,     0,   776,   271,
     272,   273,     0,     0,     0,   777,     0,     0,     0,   274,
     275,   276,   277,   278,   279,   984,   985,   282,     0,   283,
       0,   284,   285,   286,   287,   288,     0,   289,   290,   291,
       0,     0,   292,   293,   986,   295,   296,     0,   297,   298,
     299,     0,   300,   301,   302,     0,   303,   304,   305,   306,
       0,   308,   309,   310,     0,     0,   312,     0,   313,   314,
     987,   316,     0,   317,     0,   318,   778,     0,   779,   319,
     320,   321,     0,   322,     0,     0,     0,   325,     0,   326,
     327,   328,   329,   330,   780,   331,   332,   333,   334,     0,
     335,   336,   337,   338,   339,   340,     0,   341,   781,     0,
     343,   344,   345,   346,   989,   990,     0,   991,     0,   350,
     782,   783,   351,   784,   352,   353,   354,   355,   356,     0,
       0,   357,     0,   785,   359,   786,     0,   360,   361,   362,
       0,     0,   363,   364,   365,   366,   367,   368,   369,   370,
     371,   372,   373,   374,   375,   376,   377,   992,   787,   993,
     380,   381,  3460,     0,   383,   384,   788,   385,     0,     0,
     387,   994,   389,   390,   391,     0,   392,     0,     0,   393,
     394,   395,     0,     0,   396,     0,   789,   398,   790,     0,
     400,   401,   402,   403,   404,   405,   406,     0,   407,   408,
       0,   410,     0,   412,   413,   414,     0,   415,   416,   417,
     418,   419,   420,   421,   422,   995,   424,   425,   426,   427,
       0,   428,   429,   430,   431,   432,   433,   434,   435,   436,
     437,   438,     0,   439,   440,   791,   441,   442,   443,     0,
     445,   446,   447,   448,   449,   450,   451,   452,     0,   453,
     454,   455,   456,   457,     0,   458,   459,   996,   461,   462,
     792,   463,   464,   997,   466,     0,   467,   468,   469,   470,
     471,   472,   473,   474,   475,   476,   477,     0,     0,   479,
     480,     0,   481,   793,   482,   483,   484,   485,   486,     0,
     998,   999,     0,     0,   489,   490,     0,   492,     0,     0,
     494,   495,   496,   497,   498,   499,   500,     0,     0,   501,
     502,   503,   504,   505,     0,     0,   506,   507,   508,   509,
     510,     0,  1000,     0,   513,   794,   514,   515,   516,   517,
       0,     0,   518,     0,     0,   519,   520,   521,   522,   523,
     524,   978,     0,     0,     0,     0,     0,     0,     0,     0,
     534,   535,   536,     0,     0,     0,   220,   221,   222,   223,
     224,   225,   226,   227,     0,   229,   230,   231,     0,     0,
       0,     0,     0,     0,     0,   232,   233,     0,   234,   235,
     772,   236,   237,   238,     0,   979,   773,   980,   981,     0,
     243,   244,   245,   246,   247,     0,     0,   248,   249,   982,
     983,   252,     0,   253,   254,   255,   256,     0,     0,   774,
       0,   258,   259,   260,   261,   775,   262,   263,   264,     0,
     265,   266,   267,   268,   269,   270,     0,   776,   271,   272,
     273,     0,     0,     0,   777,     0,     0,     0,   274,   275,
     276,   277,   278,   279,   984,   985,   282,     0,   283,     0,
     284,   285,   286,   287,   288,     0,   289,   290,   291,     0,
       0,   292,   293,   986,   295,   296,     0,   297,   298,   299,
       0,   300,   301,   302,     0,   303,   304,   305,   306,     0,
     308,   309,   310,     0,     0,   312,     0,   313,   314,   987,
     316,     0,   317,     0,   318,   778,     0,   779,   319,   320,
     321,     0,   322,     0,     0,     0,   325,     0,   326,   327,
     328,   329,   988,   780,   331,   332,   333,   334,     0,   335,
     336,   337,   338,   339,   340,     0,   341,   781,     0,   343,
     344,   345,   346,   989,   990,     0,   991,     0,   350,   782,
     783,   351,   784,   352,   353,   354,   355,   356,     0,     0,
     357,     0,   785,   359,   786,     0,   360,   361,   362,     0,
       0,   363,   364,   365,   366,   367,   368,   369,   370,   371,
     372,   373,   374,   375,   376,   377,   992,   787,   993,   380,
     381,     0,     0,   383,   384,   788,   385,     0,     0,   387,
     994,   389,   390,   391,     0,   392,     0,     0,   393,   394,
     395,     0,     0,   396,     0,   789,   398,   790,     0,   400,
     401,   402,   403,   404,   405,   406,     0,   407,   408,     0,
     410,     0,   412,   413,   414,     0,   415,   416,   417,   418,
     419,   420,   421,   422,   995,   424,   425,   426,   427,     0,
     428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
     438,     0,   439,   440,   791,   441,   442,   443,     0,   445,
     446,   447,   448,   449,   450,   451,   452,     0,   453,   454,
     455,   456,   457,     0,   458,   459,   996,   461,   462,   792,
     463,   464,   997,   466,     0,   467,   468,   469,   470,   471,
     472,   473,   474,   475,   476,   477,     0,     0,   479,   480,
       0,   481,   793,   482,   483,   484,   485,   486,     0,   998,
     999,     0,     0,   489,   490,     0,   492,     0,     0,   494,
     495,   496,   497,   498,   499,   500,     0,     0,   501,   502,
     503,   504,   505,     0,     0,   506,   507,   508,   509,   510,
       0,  1000,     0,   513,   794,   514,   515,   516,   517,     0,
       0,   518,     0,     0,   519,   520,   521,   522,   523,   524,
     978,     0,     0,     0,     0,     0,     0,     0,     0,   534,
     535,   536,     0,     0,     0,   220,   221,   222,   223,   224,
     225,   226,   227,     0,   229,   230,   231,     0,     0,     0,
       0,     0,     0,     0,   232,   233,     0,   234,   235,   772,
     236,   237,   238,     0,   979,   773,   980,   981,     0,   243,
     244,   245,   246,   247,     0,     0,   248,   249,   982,   983,
     252,     0,   253,   254,   255,   256,     0,     0,   774,     0,
     258,   259,   260,   261,   775,   262,   263,   264,     0,   265,
     266,   267,   268,   269,   270,     0,   776,   271,   272,   273,
       0,     0,     0,   777,     0,     0,     0,   274,   275,   276,
     277,   278,   279,   984,   985,   282,     0,   283,     0,   284,
     285,   286,   287,   288,     0,   289,   290,   291,     0,     0,
     292,   293,   986,   295,   296,     0,   297,   298,   299,     0,
     300,   301,   302,     0,   303,   304,   305,   306,     0,   308,
     309,   310,     0,     0,   312,     0,   313,   314,   987,   316,
       0,   317,     0,   318,   778,     0,   779,   319,   320,   321,
       0,   322,     0,     0,     0,   325,     0,   326,   327,   328,
     329,  1046,   780,   331,   332,   333,   334,     0,   335,   336,
     337,   338,   339,   340,     0,   341,   781,     0,   343,   344,
     345,   346,   989,   990,     0,   991,     0,   350,   782,   783,
     351,   784,   352,   353,   354,   355,   356,     0,     0,   357,
       0,   785,   359,   786,     0,   360,   361,   362,     0,     0,
     363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
     373,   374,   375,   376,   377,   992,   787,   993,   380,   381,
       0,     0,   383,   384,   788,   385,     0,     0,   387,   994,
     389,   390,   391,     0,   392,     0,     0,   393,   394,   395,
       0,     0,   396,     0,   789,   398,   790,     0,   400,   401,
     402,   403,   404,   405,   406,     0,   407,   408,     0,   410,
       0,   412,   413,   414,     0,   415,   416,   417,   418,   419,
     420,   421,   422,   995,   424,   425,   426,   427,     0,   428,
     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
       0,   439,   440,   791,   441,   442,   443,     0,   445,   446,
     447,   448,   449,   450,   451,   452,     0,   453,   454,   455,
     456,   457,     0,   458,   459,   996,   461,   462,   792,   463,
     464,   997,   466,     0,   467,   468,   469,   470,   471,   472,
     473,   474,   475,   476,   477,     0,     0,   479,   480,     0,
     481,   793,   482,   483,   484,   485,   486,     0,   998,   999,
       0,     0,   489,   490,     0,   492,     0,     0,   494,   495,
     496,   497,   498,   499,   500,     0,     0,   501,   502,   503,
     504,   505,     0,     0,   506,   507,   508,   509,   510,     0,
    1000,     0,   513,   794,   514,   515,   516,   517,     0,     0,
     518,     0,     0,   519,   520,   521,   522,   523,   524,   978,
       0,     0,     0,     0,     0,     0,     0,     0,   534,   535,
     536,     0,     0,     0,   220,   221,   222,   223,   224,   225,
     226,   227,     0,   229,   230,   231,     0,     0,     0,     0,
       0,     0,     0,   232,   233,     0,   234,   235,   772,   236,
     237,   238,     0,   979,   773,   980,   981,     0,   243,   244,
     245,   246,   247,     0,     0,   248,   249,   982,   983,   252,
       0,   253,   254,   255,   256,     0,     0,   774,     0,   258,
     259,   260,   261,   775,   262,   263,   264,     0,   265,   266,
     267,   268,   269,   270,     0,   776,   271,   272,   273,     0,
       0,     0,   777,     0,     0,     0,   274,   275,   276,   277,
     278,   279,   984,   985,   282,     0,   283,     0,   284,   285,
     286,   287,   288,     0,   289,   290,   291,     0,     0,   292,
     293,   986,   295,   296,     0,   297,   298,   299,     0,   300,
     301,   302,     0,   303,   304,   305,   306,     0,   308,   309,
     310,     0,     0,   312,     0,   313,   314,   987,   316,     0,
     317,     0,   318,   778,     0,   779,   319,   320,   321,     0,
     322,     0,     0,     0,   325,     0,   326,   327,   328,   329,
     330,   780,   331,   332,   333,   334,     0,   335,   336,   337,
     338,   339,   340,     0,   341,   781,     0,   343,   344,   345,
     346,   989,   990,     0,   991,     0,   350,   782,   783,   351,
     784,   352,   353,   354,   355,   356,     0,     0,   357,     0,
     785,   359,   786,     0,   360,   361,   362,     0,     0,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   992,   787,   993,   380,   381,     0,
       0,   383,   384,   788,   385,     0,     0,   387,   994,   389,
     390,   391,     0,   392,     0,     0,   393,   394,   395,     0,
       0,   396,     0,   789,   398,   790,     0,   400,   401,   402,
     403,   404,   405,   406,     0,   407,   408,     0,   410,     0,
     412,   413,   414,     0,   415,   416,   417,   418,   419,   420,
     421,   422,   995,   424,   425,   426,   427,     0,   428,   429,
     430,   431,   432,   433,   434,   435,   436,   437,   438,     0,
     439,   440,   791,   441,   442,   443,     0,   445,   446,   447,
     448,   449,   450,   451,   452,     0,   453,   454,   455,   456,
     457,     0,   458,   459,   996,   461,   462,   792,   463,   464,
     997,   466,     0,   467,   468,   469,   470,   471,   472,   473,
     474,   475,   476,   477,     0,     0,   479,   480,     0,   481,
     793,   482,   483,   484,   485,   486,     0,   998,   999,     0,
       0,   489,   490,     0,   492,     0,     0,   494,   495,   496,
     497,   498,   499,   500,     0,     0,   501,   502,   503,   504,
     505,     0,     0,   506,   507,   508,   509,   510,     0,  1000,
       0,   513,   794,   514,   515,   516,   517,     0,     0,   518,
       0,     0,   519,   520,   521,   522,   523,   524,   978,     0,
       0,     0,     0,     0,     0,     0,     0,   534,   535,   536,
       0,     0,     0,   220,   221,   222,   223,   224,   225,   226,
     227,     0,   229,   230,   231,     0,     0,     0,     0,     0,
       0,     0,   232,   233,     0,   234,   235,   772,   236,   237,
     238,     0,   979,   773,   980,   981,     0,   243,   244,   245,
     246,   247,     0,     0,   248,   249,   982,   983,   252,     0,
     253,   254,   255,   256,     0,     0,   774,     0,   258,   259,
     260,   261,   775,   262,   263,   264,     0,   265,   266,   267,
     268,   269,   270,     0,   776,   271,   272,   273,     0,     0,
       0,   777,     0,     0,     0,   274,   275,   276,   277,   278,
     279,   984,   985,   282,     0,   283,     0,   284,   285,   286,
     287,   288,     0,   289,   290,   291,     0,     0,   292,   293,
     986,   295,   296,     0,   297,   298,   299,     0,   300,   301,
     302,     0,   303,   304,   305,   306,     0,   308,   309,   310,
       0,     0,   312,     0,   313,   314,   987,   316,     0,   317,
       0,   318,   778,     0,   779,   319,   320,   321,     0,   322,
       0,     0,     0,   325,     0,   326,   327,   328,   329,   330,
     780,   331,   332,   333,   334,     0,   335,   336,   337,   338,
     339,   340,     0,   341,   781,     0,   343,   344,   345,   346,
     989,   990,     0,   991,     0,   350,   782,   783,   351,   784,
     352,   353,   354,   355,   356,     0,     0,   357,     0,   785,
     359,   786,     0,   360,   361,   362,     0,     0,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   992,   787,   993,   380,   381,     0,     0,
     383,   384,   788,   385,     0,     0,   387,   994,   389,   390,
     391,     0,   392,     0,     0,   393,   394,   395,     0,     0,
     396,     0,   789,   398,   790,     0,   400,   401,   402,   403,
     404,   405,   406,     0,   407,   408,     0,   410,     0,   412,
     413,   414,     0,   415,   416,   417,   418,   419,   420,   421,
     422,   995,   424,   425,   426,   427,     0,   428,   429,   430,
     431,   432,   433,   434,   435,   436,   437,   438,     0,   439,
     440,   791,   441,   442,   443,     0,   445,   446,   447,   448,
     449,   450,   451,   452,     0,   453,   454,   455,   456,   457,
       0,   458,   459,  1998,   461,   462,   792,   463,   464,   997,
     466,     0,   467,   468,   469,   470,   471,   472,   473,   474,
     475,   476,   477,     0,     0,   479,   480,     0,   481,   793,
     482,   483,   484,   485,   486,     0,   998,   999,     0,     0,
     489,   490,     0,   492,     0,     0,   494,   495,   496,   497,
     498,   499,   500,     0,     0,   501,   502,   503,   504,   505,
       0,     0,   506,   507,   508,   509,   510,     0,  1000,     0,
     513,   794,   514,   515,   516,   517,     0,     0,   518,     0,
       0,   519,   520,   521,   522,   523,   524,   978,     0,     0,
       0,     0,     0,     0,     0,     0,   534,   535,   536,     0,
       0,     0,   220,   221,   222,   223,   224,   225,   226,   227,
       0,   229,   230,   231,     0,     0,     0,     0,     0,     0,
       0,   232,   233,     0,   234,   235,   772,   236,   237,   238,
       0,   979,   773,   980,   981,     0,   243,   244,   245,   246,
     247,     0,     0,   248,   249,   982,   983,   252,     0,   253,
     254,   255,   256,     0,     0,   774,     0,   258,   259,   260,
     261,   775,   262,   263,   264,     0,   265,   266,   267,   268,
     269,   270,     0,   776,   271,   272,   273,     0,     0,     0,
     777,     0,     0,     0,   274,   275,   276,   277,   278,   279,
     984,   985,   282,     0,   283,     0,   284,   285,   286,   287,
     288,     0,   289,   290,   291,     0,     0,   292,   293,   986,
     295,   296,     0,   297,   298,   299,     0,   300,   301,   302,
       0,   303,   304,   305,   306,     0,   308,   309,   310,     0,
       0,   312,     0,   313,   314,   987,   316,     0,   317,     0,
     318,   778,     0,   779,   319,   320,   321,     0,   322,     0,
       0,     0,   325,     0,   326,   327,   328,   329,   330,   780,
     331,   332,   333,   334,     0,   335,   336,   337,   338,   339,
     340,     0,   341,   781,     0,   343,   344,   345,   346,   989,
     990,     0,   991,     0,   350,   782,   783,   351,   784,   352,
     353,   354,   355,   356,     0,     0,   357,     0,   785,   359,
     786,     0,   360,   361,   362,     0,     0,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   992,   787,   993,   380,   381,     0,     0,   383,
     384,   788,   385,     0,     0,   387,   994,   389,   390,   391,
       0,   392,     0,     0,   393,   394,   395,     0,     0,   396,
       0,   789,   398,   790,     0,   400,   401,   402,   403,   404,
     405,   406,     0,   407,   408,     0,   410,     0,   412,   413,
     414,     0,   415,   416,   417,   418,   419,   420,   421,   422,
     995,   424,   425,   426,   427,     0,   428,   429,   430,   431,
     432,   433,   434,   435,   436,   437,   438,     0,   439,   440,
     791,   441,   442,   443,     0,   445,   446,   447,   448,   449,
     450,   451,   452,     0,   453,   454,   455,   456,   457,     0,
     458,   459,     0,   461,   462,   792,   463,   464,   997,   466,
       0,   467,   468,   469,   470,   471,   472,   473,   474,   475,
     476,   477,     0,     0,   479,   480,     0,   481,   793,   482,
     483,   484,   485,   486,     0,   998,   999,     0,     0,   489,
     490,     0,   492,     0,     0,   494,   495,   496,   497,   498,
     499,   500,     0,     0,   501,   502,   503,   504,   505,     0,
       0,   506,   507,   508,   509,   510,     0,  1000,     0,   513,
     794,   514,   515,   516,   517,     0,     0,   518,     0,     0,
     519,   520,   521,   522,   523,   524,   978,     0,     0,     0,
       0,     0,     0,     0,     0,   534,   535,   536,     0,     0,
       0,   220,   221,   222,   223,   224,   225,   226,   227,     0,
     229,   230,   231,     0,     0,     0,     0,     0,     0,     0,
     232,   233,     0,   234,   235,   772,   236,   237,   238,     0,
       0,   773,     0,     0,     0,   243,   244,   245,   246,   247,
       0,     0,   248,   249,     0,     0,   252,     0,   253,   254,
     255,   256,     0,     0,   774,     0,   258,   259,   260,   261,
     775,   262,   263,   264,     0,   265,   266,   267,   268,   269,
     270,     0,   776,   271,   272,   273,     0,     0,     0,   777,
       0,     0,     0,   274,   275,   276,   277,   278,   279,     0,
       0,   282,     0,   283,     0,   284,   285,   286,   287,   288,
       0,   289,   290,   291,     0,     0,   292,   293,   294,   295,
     296,     0,   297,   298,   299,     0,   300,   301,   302,     0,
     303,   304,   305,   306,     0,   308,   309,   310,     0,     0,
     312,     0,   313,   314,     0,   316,     0,   317,     0,   318,
     778,     0,   779,   319,   320,   321,     0,   322,     0,     0,
       0,   325,     0,   326,   327,   328,   329,   330,   780,   331,
     332,   333,   334,     0,   335,   336,   337,   338,   339,   340,
       0,   341,   781,     0,   343,   344,   345,   346,     0,     0,
       0,     0,     0,   350,   782,   783,   351,   784,   352,   353,
     354,   355,   356,     0,     0,   357,     0,   785,   359,   786,
       0,   360,   361,   362,     0,     0,   363,   364,   365,   366,
     367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
     377,     0,   787,     0,   380,   381,     0,     0,   383,   384,
     788,   385,     0,     0,   387,     0,   389,   390,   391,     0,
     392,     0,     0,   393,   394,   395,     0,     0,   396,     0,
     789,   398,   790,     0,   400,   401,   402,   403,   404,   405,
     406,     0,   407,   408,     0,   410,     0,   412,   413,   414,
       0,   415,   416,   417,   418,   419,   420,   421,   422,     0,
     424,   425,   426,   427,     0,   428,   429,   430,   431,   432,
     433,   434,   435,   436,   437,   438,     0,   439,   440,   791,
     441,   442,   443,     0,   445,   446,   447,   448,   449,   450,
     451,   452,     0,   453,   454,   455,   456,   457,     0,   458,
     459,     0,   461,   462,   792,   463,   464,     0,   466,     0,
     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
     477,     0,     0,   479,   480,     0,   481,   793,   482,   483,
     484,   485,   486,     0,     0,     0,     0,     0,   489,   490,
       0,   492,     0,     0,   494,   495,   496,   497,   498,   499,
     500,     0,     0,   501,   502,   503,   504,   505,     0,     0,
     506,   507,   508,   509,   510,     0,     0,     0,   513,   794,
     514,   515,   516,   517,     0,     0,   518,     0,     0,   519,
     520,   521,   522,   523,   524,     0,     0,     0,     0,     0,
       0,     0,     0,     0,   534,   535,   536
};

static const yytype_int16 yycheck[] =
{
      16,  1030,     0,     0,     0,     0,     0,     0,    35,    25,
     187,  1021,    50,   716,    11,  1085,   666,   667,   668,   196,
      21,     7,   672,    20,  1063,    20,    27,   770,    14,   765,
     201,   714,   564,   796,   179,  2282,    21,   594,  1698,   996,
    1336,  1278,    27,   870,    44,  1821,   858,   879,   197,  1025,
     938,   739,   999,    50,  1371,   204,  1260,  2473,    12,  1015,
     594,   949,  1779,  1116,  1193,   723,   215,   918,  1483,   188,
     189,  2782,  2291,   192,    43,   194,  3059,   634,  2002,  2003,
     612,  1377,  2990,  1392,  1262,    17,  2639,  1381,   984,   985,
    1553,   204,  2157,   555,  2806,   214,   923,   615,   994,  1435,
     927,  2830,   215,  2832,  1734,   932,    22,    20,   626,  2209,
    1314,  3017,  3361,     0,   941,  1283,  3318,   827,   857,    35,
    1949,   972,  3035,   857,   951,  2631,  2980,  3361,  3357,   863,
    2445,  1055,  1310,  3411,  3625,  3255,  2629,  2630,   872,  2688,
    3046,   603,   166,  1452,  1453,   633,   181,  3561,  3628,   625,
    1565,  3637,  1824,  1447,     0,  1377,  3289,  3614,     0,  3283,
    2973,  3615,   719,     0,  2247,     0,     0,  2980,   181,    34,
    1363,     0,  2255,     0,  2257,     0,    41,     0,     0,    40,
       0,    49,     0,  1314,   181,   719,  2696,  3033,   813,  4081,
    3881,   762,  1655,   762,   982,   983,   870,  4202,  4259,  4204,
    3288,  3217,     5,  3334,     0,   993,     0,     0,     9,     9,
    4240,    62,     9,     5,    35,     5,    55,     0,    48,    29,
    2285,     5,    70,    55,    41,    41,  2002,  1174,  4297,  4298,
       5,    55,  4293,     5,     5,     5,     5,   109,    13,    14,
     133,   210,    13,    14,    13,    14,     5,     5,   153,  1145,
    1146,     5,   159,    72,    39,     5,   158,     9,    72,     5,
       5,    39,    81,    72,    72,    76,   916,    81,  1164,  4383,
    1194,    84,   158,   158,   128,   111,  2530,  2531,     5,    26,
       5,  2535,  4332,   158,   158,   158,     5,    11,    20,     5,
      62,    72,    62,   160,   254,   604,     5,   102,    26,    81,
       5,   139,   168,     5,  1328,    33,   164,   254,     3,    27,
       5,   168,  1516,     4,    26,   286,   625,  2784,     9,  2573,
    2574,    33,  2387,   114,  2389,   109,  3703,    74,  3705,   257,
      11,     0,    68,   166,     5,    82,     9,  2627,    55,   102,
       9,  4489,  4490,  1293,   258,     0,  1134,  1135,   152,   111,
      38,   254,     5,  1063,     9,    22,   336,    26,   109,    40,
     337,   160,   158,   110,   158,   158,    11,   899,    11,   336,
     113,    26,  1160,   550,   158,   158,     3,     4,     5,   102,
     271,    22,     9,   148,   180,   242,   180,   180,    56,    70,
    2680,    30,    31,   564,   150,    40,    64,   180,  4266,     5,
     375,   294,   193,   160,   375,   262,   201,   139,  2068,   104,
     322,    83,   180,   562,     4,  1247,  1535,  2168,   567,     9,
      24,   598,   310,     4,  2543,    70,  2545,  2546,     9,   578,
      72,   608,  1195,   190,   553,  1554,  4304,   184,   557,    81,
      44,   612,  4503,   418,  4449,   336,   249,   418,   336,   562,
     324,   123,   217,   209,   567,   322,   575,   200,  1695,   126,
    1223,   260,  1699,   258,  1701,   578,   378,  1704,    11,  1498,
      72,  2222,  3886,   312,   451,   455,   194,   172,   282,   242,
     312,  4373,   109,  1493,   317,   126,   453,   249,   312,   158,
     178,   451,  4542,   244,  1051,  1519,    29,    40,   311,   309,
     373,   339,   207,   158,   451,    22,  1063,    26,   140,   376,
     320,   180,   322,  1031,    33,   382,   116,  1051,   157,  2627,
     159,   257,  2989,   451,   249,   180,    11,    70,   333,   545,
     249,    11,   102,   407,   400,  1245,   231,   451,   329,   234,
    1250,  1251,     8,   400,   451,    11,   451,   249,   451,    15,
      16,    17,   220,   455,   373,  1733,   373,   411,   451,   373,
      40,   114,   398,  1120,   373,   373,   439,   439,   378,   455,
     455,   198,  2680,  1091,   359,   386,   451,  1065,   594,   595,
     453,   359,   891,  1787,  1102,   401,  1120,  3441,   320,   373,
      70,   373,   373,   220,  1772,   312,   634,   455,  1776,  1117,
     451,   449,   911,   394,  1431,   453,  1433,   339,   355,   126,
    4679,   920,   544,   405,   638,  4763,   455,  1351,   346,  1689,
     765,   451,  4652,   455,  1512,  4082,  4040,    11,  3441,  1441,
     451,   455,   327,   405,   346,  1486,   633,   634,   633,   362,
     441,   442,   455,  1353,   447,  1823,   647,   447,   649,  1481,
     651,  1361,  3364,   450,  3774,   439,   657,   447,   454,   451,
     454,   454,   647,  1587,   649,   681,   651,  2732,  3801,   453,
    1404,   454,   657,   658,   659,   661,   451,  3583,   632,   451,
     451,   451,   451,  1659,  4098,  1242,  3810,   455,  1001,   447,
    3814,   707,   451,  1250,  1251,   447,  4810,   451,  3606,   715,
    3716,   451,   718,   719,   720,   451,   451,   884,  1242,   678,
    4771,  3624,  3800,  1423,   833,   834,  1426,  1427,   895,   754,
    1696,   634,  4783,   447,   451,  1621,  1039,   394,   899,  1705,
    1301,  3862,  1301,   449,  1047,   451,   431,   453,   455,  1413,
    1053,   754,   451,  4748,  1418,  1370,   417,   353,   354,  4126,
     441,   442,   447,  4130,  4131,   272,  4133,   754,   756,   756,
     756,   756,   756,   756,   417,   436,   447,   406,   441,   442,
     739,   373,   441,   442,    26,  2699,   309,  2701,   451,   411,
     451,  4842,   959,   436,  1494,   454,   441,   442,  2082,   306,
    4481,  1100,   362,  3012,   260,   914,   396,  3303,   451,   454,
     769,   446,   447,   446,   447,  1755,  1594,  1595,  1732,   102,
    1734,   158,  2016,  1763,   441,   442,  1740,   936,   937,   336,
     447,  4235,  1746,  1747,  1748,   415,  4718,   346,  4242,   102,
     743,  3677,  1756,  1757,  3546,    78,  3346,  1761,   957,  4570,
      26,   394,   827,   812,   199,   254,   436,   102,   161,    78,
     242,   441,   442,  2629,  2630,  2631,   717,   289,   153,  2153,
     721,   112,    55,    46,    24,  2948,   114,   245,    21,   756,
     320,   406,  2955,  2956,    27,   118,  2959,  1409,   126,   747,
      48,  4372,   399,  2966,    44,  2016,  4818,   102,  2110,   118,
      78,   114,  2957,  2958,   109,   139,   158,   109,   441,   442,
     443,   444,   445,   446,   447,     3,    78,  2100,  1027,  1028,
     756,  1561,   111,   109,   756,  4807,   803,    22,   258,   756,
     109,   756,   756,    28,   336,   176,  2643,   756,   114,   756,
     118,   756,   100,   756,   756,  2139,   756,  4186,   756,  3650,
     103,  3195,  3196,  3197,  3198,   317,   118,  3201,  3202,  3203,
    3204,  3205,  3206,  3207,  3208,  3209,  3210,  3211,   443,   444,
     445,   446,   447,   443,   444,   445,   446,   447,    55,   259,
     193,   437,   438,   439,  4223,   441,   442,   443,   444,   445,
     446,   447,    80,   870,  4916,   136,  4717,  4236,    78,  2325,
    2029,  3281,   175,  3283,   859,   860,   121,   180,   123,  1702,
    1703,   451,  4236,   264,   203,  3259,  3260,   193,   126,   168,
    1773,   264,   242,   308,    64,   109,   394,  2689,   331,   451,
     183,   126,  2339,   395,   192,  4145,   373,   279,   118,   244,
     273,   963,   130,   216,   194,  1051,   284,   249,   104,   159,
     432,  1998,   451,   455,   273,   244,   155,  1063,    64,  2973,
     363,   258,  2008,   264,  4187,   244,  2980,   441,   442,   443,
     444,   445,   446,   447,  4243,   159,   217,  4191,  1065,   362,
    1065,  3361,  4196,  2277,   242,  4199,     3,    34,  1063,   331,
      22,  1097,  1068,   242,  1070,   273,  1072,   137,  1074,   362,
    1076,  1077,  1078,   109,  4585,   339,   295,  1083,  1407,   136,
     455,   273,  1634,  4557,  1120,   155,   172,   362,  1626,  1666,
    4596,   373,    32,  4593,   366,  4098,   368,  1593,   104,   312,
    1582,  1639,   113,  4580,   367,   223,   114,  4581,  4859,   254,
     420,  1128,  3056,   329,  4383,   324,  1654,   352,   367,     8,
     355,    81,    11,   329,   262,   336,    15,    16,    17,   320,
    1147,   245,   109,    80,   274,   242,  1194,   325,   341,  4338,
     197,   324,  4075,  3875,  4070,   231,   362,   272,   234,   109,
     400,   394,   161,  3281,   272,  3283,  1652,  1665,  1487,   367,
    1196,  1178,   299,   273,   126,  3914,   172,   160,    26,  1205,
     103,   452,   310,  1502,   455,   367,  2433,  1194,   361,   362,
      26,   306,   455,  1219,   131,   193,   402,     8,   394,   200,
      11,   272,  1521,   248,    15,    16,    17,    81,   336,   415,
     140,  1753,   342,   394,   373,   312,  1242,   264,   244,  1245,
    1246,   336,   231,   249,  1250,  1251,   451,   287,  1409,   264,
     436,   400,   449,   322,   455,   231,   453,  1271,   234,   336,
    4479,  1286,  1287,  3361,  1289,   451,   455,     5,   185,  1568,
    1245,   327,  4719,  1576,   455,  1250,  1251,   365,  1387,   367,
     183,   287,  1581,  1286,  1287,   336,  1289,   367,   150,    36,
      22,  1984,    88,   121,  1593,   301,    28,   260,   451,  1286,
    1287,   408,  1289,  4413,   271,   121,  1605,   271,   162,   378,
    3554,   326,   396,  4482,   244,  4583,   455,   264,   343,   162,
      64,  3860,  1625,  4492,  4728,  4806,  1629,  2205,  1467,   183,
    4811,  4445,  1635,  1636,   299,  3831,   452,    81,   327,   455,
     272,  3837,   201,  3826,  1303,  1454,  1455,  1456,  1457,   389,
    1649,   327,   331,  1652,   258,  1658,   306,  2551,   119,   263,
     277,   388,   121,  2557,   123,   330,   220,   163,   129,   336,
     117,  2390,   336,   172,   306,   431,   205,   220,  1353,   241,
    2380,  4862,  4621,   389,   363,  2109,  1361,  1496,  1497,   180,
    3695,   101,   355,   137,   126,  4505,  1505,   362,  1537,  4509,
    4510,   260,  1541,   381,   336,   384,  1515,  4646,  1575,   263,
     201,   155,   272,   242,  1553,   373,   394,     3,  2384,   162,
     286,   324,  4646,   373,  1399,  4269,  1348,   362,  2306,  2307,
    2308,  2309,   231,  1439,  1543,  1544,  1545,  1546,  2352,   271,
    2318,  2560,  4923,   408,  2173,  2262,   306,  3520,  1423,  2173,
     229,  1426,  1427,  3526,  3527,   431,  3529,  1624,   361,   362,
    4358,   308,  4365,   396,  4656,  4657,  4269,    11,   306,   260,
     387,  2195,   310,  1634,  3124,   451,  2176,   220,   395,   158,
     329,   398,  2029,  1782,  2184,   244,  2186,  1446,  1627,   148,
     294,  2798,   439,  2651,    80,   254,   140,   455,   336,  2223,
    2727,   180,   449,  1509,   451,   452,   453,  2348,   455,   375,
     339,   272,   366,   362,   368,  3605,  1655,   321,   451,  1494,
     230,  3340,   232,   366,   378,   368,    70,  3441,   327,  1638,
    3810,  1698,  1641,  1539,  3814,   389,  1413,  3303,   392,   272,
     272,  1418,  1651,   287,   130,   306,   206,  3167,  2070,   392,
     396,  1660,   418,   402,    22,   439,   299,   138,   217,   366,
      28,   368,   396,  2889,   159,   394,   168,   272,   415,   453,
    2022,  4810,    89,   306,   306,  2694,   154,   415,   437,   438,
     439,   412,   441,   442,   443,   444,   445,   446,   447,   436,
    2530,  2531,  1753,   112,   189,  2535,   373,   256,   436,  2107,
     181,   306,   451,   336,   336,   451,   148,   185,   455,   204,
    3665,   153,  3667,    30,    31,  2899,  1591,   451,  2532,   214,
      72,    64,   375,   366,   455,   368,  1601,    70,  1603,    81,
    2544,   336,  4334,  2573,  2574,  1610,   112,   223,    81,   415,
     242,  1944,   159,  1618,  4836,   389,   437,   438,   439,   392,
     441,   442,   443,   444,   445,   446,   447,   176,   126,  3112,
     436,   226,   439,  2577,   272,   408,   109,   451,   111,  4567,
     272,    88,   189,  4569,     0,   217,   453,  2737,  1665,   455,
    1665,  1790,   180,   262,   111,   329,   272,   204,  4591,   111,
     320,   108,   322,   272,  2334,  4396,   454,   214,   306,  1675,
     176,  1677,  2616,  1679,   306,  1681,   455,  1683,  1725,   310,
    4608,  1687,  3810,  2165,   256,   153,  3814,   306,   362,  4125,
     306,   316,   239,   140,   310,   163,   272,   306,   336,  1717,
    1717,  1717,  1717,  1717,  1717,   336,   226,  2437,   111,  1745,
    3039,   258,   180,  3042,   187,   378,   451,   336,   378,  2768,
     336,  2697,   136,  1712,   289,  4728,   148,  2703,   402,   324,
     306,   153,   415,  1666,   148,   187,  2065,  1742,  1743,   153,
     121,   415,   123,   320,  1749,  1750,   203,   408,  2077,   365,
    4499,   367,   649,   650,   651,  2979,   205,   654,   655,   656,
     336,  4493,   436,   111,    88,   146,  2343,   664,   400,   316,
     365,   244,   455,  1778,   351,  1792,   249,   451,   306,  1731,
     207,  4048,   310,   197,   108,  2114,   253,   244,  1724,  2343,
     242,  2707,   244,   242,  4230,   217,  4232,   392,   407,   415,
     203,  4727,  1838,   217,   324,   153,     3,  4074,   336,   449,
     244,  3896,  3897,   453,   287,   249,   140,   162,   415,  4392,
     415,  4060,   417,   415,   295,   326,    23,   306,   301,   366,
    2407,   368,   417,   153,   256,   272,   307,   373,   295,   187,
    3188,   244,   256,  2012,   436,   365,   295,   315,  2017,   396,
     264,   436,  2021,  2407,   174,   302,   451,   336,   455,   293,
     299,   332,   451,   244,  2061,  3122,   451,  4141,   249,   306,
    3218,  2068,   392,   254,  4605,   220,  4186,   272,  2047,  2070,
    2636,  4191,   329,    80,   229,  2756,  4196,   415,   345,  4199,
     339,   330,   295,   417,   242,   415,   244,   417,    42,   336,
     450,  4004,   417,  4006,  4007,   455,   452,  4010,   436,   455,
     308,   306,   436,  4223,  2644,   362,   389,   153,   378,    63,
    2089,   436,   378,   362,  2063,  2064,  4236,  4659,   415,  4857,
    3365,   451,  3022,  2072,   131,  2074,   451,  2106,   174,  2078,
    2269,  3031,  1963,     8,   246,   394,    11,    61,    62,   436,
      15,    16,    17,  2785,   121,   402,   123,     8,  1963,   406,
     320,   321,   272,  2641,    15,    16,    17,  2136,   415,   408,
     183,  1989,  1989,  2106,   388,  2807,   326,   258,   302,   146,
     450,  4907,   263,   180,  2031,   455,  2033,   229,   185,   436,
     449,   174,   451,  2029,   453,  4018,   306,  4020,  2167,   380,
     310,  4024,  2171,  4026,   451,   329,  3470,  3231,  2029,   390,
     445,  3475,   452,  1946,   452,   455,   451,   455,   453,   229,
    2189,   366,  2355,   368,  2029,    85,   336,   329,  3765,   378,
    3826,  2200,  2786,  4765,  2167,  3831,   136,  2589,   362,   452,
    3238,  3837,   455,  2182,  2213,    77,  2379,   392,   148,   320,
     321,   452,  2221,   153,   455,    89,    13,    14,  4186,  2095,
     362,  2394,    52,  4191,  2397,  2398,   408,  2644,  4196,  2402,
    2403,  4199,  4645,  4383,   326,   445,  2409,  3150,   402,   207,
     277,   451,   249,   453,  3398,  3414,  3415,   254,  2221,   451,
       9,   415,  2081,     5,   451,  4223,   453,   197,    10,  2238,
     402,   452,  2856,   449,   455,   451,    18,  2246,  4236,  2248,
    3077,  3078,   436,   415,   451,  2254,   452,   217,   452,   455,
     317,   455,   101,   452,    36,   159,   455,   451,  3158,   258,
    2459,  3445,   226,   324,   436,  4445,   201,  2984,  4412,   226,
     408,   452,  2475,  3341,   455,   452,   455,   451,   455,   451,
     452,  2480,   454,    52,   452,   189,   256,   455,  4890,   245,
     246,    42,  2491,   360,   264,   452,   406,   433,   455,  1066,
     204,  2176,  1069,   203,  1071,   154,  1073,  2754,  1075,  2184,
     214,  2186,  1079,  3332,   453,   452,  2724,  2725,   455,  2328,
     387,   452,  3627,   452,   455,   260,   455,   261,   395,   452,
    2754,   398,   455,  2239,  4307,   239,   185,   452,   261,   260,
     455,  2247,    54,   380,   452,   258,  3440,   455,  3442,  2255,
     415,  2257,   417,   390,   373,  3195,  3196,  3197,  3198,   153,
     324,  3201,  3202,  3203,  3204,  3205,  3206,  3207,  3208,  3209,
    3210,  3211,   451,   329,   453,    87,  3190,  2386,   258,  2388,
     415,   230,   417,   232,   452,  4383,   366,   455,   368,  3229,
     452,  4834,   452,   455,   452,   455,  4351,   455,   366,  2305,
     368,   365,  3362,  3363,  2443,   433,   362,   415,   365,   417,
    2477,  3225,   316,  3154,   452,   261,  2483,   455,   388,  3259,
    3260,  4864,   452,  3630,   433,   455,  2465,  3613,   392,  2335,
     452,  4097,   144,   455,  2473,   392,    42,  2343,  3532,  2327,
    2327,  4621,   452,   203,   157,   455,   402,  4445,  2292,   443,
      53,   415,   136,   417,   455,  4269,  4762,  3271,   415,   415,
     417,   452,  2870,   454,   148,   177,  4646,   452,  3008,   153,
     455,   226,  2880,   452,   452,   452,   455,   455,   455,   449,
     436,   329,   452,   453,   451,  2494,   226,   451,    52,  4932,
    2365,  2366,   452,   452,   451,   451,   455,   452,   101,  2374,
     212,  2407,   437,   438,   439,   199,   441,   442,   443,   444,
     445,   446,   447,   197,   362,   158,   437,   438,   439,   451,
     441,   442,   443,   444,   445,   446,   447,   452,  2589,   453,
     455,  1765,   244,   217,  1768,   419,   452,  2740,  2985,   455,
    2987,   336,   452,   452,  3390,   455,   455,     0,  2371,  2372,
    2373,  3678,  3679,  3680,   402,   451,  3134,  3343,  2757,  3159,
    2627,  2985,  2437,  2987,   452,   136,   454,   415,   306,   324,
     452,  4385,   256,   455,   759,  2774,   761,   148,   452,   182,
     264,   455,   153,   452,   324,  3307,   455,   452,   436,   452,
     455,  2999,   455,  3001,   452,   180,   226,   455,   310,   141,
     312,  2662,   314,   451,  2532,  3815,   451,  3817,  3055,   321,
     365,   453,  2815,  2680,  2817,   452,   328,   452,   455,   452,
     455,   141,   455,  4621,   336,   365,   197,   230,   180,   232,
    4810,  3055,   258,   306,   258,    88,   348,   392,   141,   242,
     452,  3294,   180,   455,   356,  2532,   217,   452,  4646,  2577,
     455,   452,   392,   226,   455,   452,   452,   141,   455,   455,
     415,   258,   417,   153,  2863,  4802,  2865,   452,   271,  2708,
     455,  3297,  3298,  3299,   306,   415,   452,   417,   452,   455,
     141,   455,   215,   136,   452,   256,   452,   455,   452,   455,
    2577,   455,   111,   264,   324,   148,   451,   396,   410,   452,
     153,   258,   455,   452,   388,   158,   455,  2594,   311,   451,
     163,   451,  2751,   166,  3554,   452,   169,   253,   455,   452,
    2923,   378,   455,   408,  2611,  2924,  2929,   452,   326,   153,
     455,  2621,  2622,  2623,   452,   365,   452,   455,  2644,   455,
    2627,  3149,   452,   452,   197,   455,   455,   350,     0,   452,
    2949,   324,   455,   207,  2763,  2683,  2765,  2766,  2767,  3827,
     292,   451,   392,   226,   217,   452,   226,  2642,   455,  2644,
    2658,  2658,  2658,  2658,  2658,  2658,   452,    64,   452,   455,
    4330,   455,    35,   452,   419,   415,   455,   417,  3856,   244,
     258,   452,   365,  2680,   455,    54,  2683,   452,   244,   452,
     455,   226,   455,   256,   452,   258,   452,   455,    42,   455,
    3512,   264,  4810,   452,   451,  2854,   455,   388,    42,   392,
     383,   451,   272,     8,   153,   408,    11,  2866,    87,   408,
      15,    16,    17,    77,   452,   153,    88,   455,   290,  3038,
     141,   141,   415,   451,   417,   141,   405,    32,  2754,  3976,
    3977,   451,  3979,   283,    34,   451,   141,   419,   141,   141,
     313,   324,   455,  3641,   324,  3068,   141,    25,   141,   258,
    3069,   141,   141,   258,   141,     0,   141,   153,   451,   141,
     258,   141,   362,   141,   136,   144,   141,    35,   215,   153,
     451,   258,  3095,  3096,     5,  3098,   148,  3100,  3101,   324,
      58,   153,   365,   153,  2943,   365,   158,   451,     5,   362,
    3113,   163,  2973,    71,   166,   153,  3763,   169,   177,  2980,
     451,   451,   451,   451,   451,   451,   451,    85,   451,   392,
    2836,  4597,   392,     5,     5,   388,  3750,   451,   451,   451,
     365,  2950,   451,   451,   451,   197,   451,     5,  3151,   451,
       5,   451,   415,   212,   417,   415,   451,   417,   451,   412,
     451,   414,   415,    88,   451,   217,   124,   392,   451,   451,
     451,   416,  2878,  3172,   451,   451,   451,   135,   269,   199,
      92,   455,   455,    22,    35,   244,   215,    35,   451,    28,
     415,   451,   417,   153,   153,  3194,   449,   155,   254,   452,
     453,   454,   160,   336,   256,   256,   258,   373,   373,   324,
     453,   136,   264,   272,   373,   373,   201,   324,   217,   373,
    2926,  3220,   373,   148,   439,   373,   451,    81,   153,    68,
     324,   141,   258,   158,   212,   328,   373,   373,   163,   249,
     395,   166,  2948,   373,   169,   365,   258,   306,   320,  2955,
    2956,   310,   254,  2959,   451,   314,  3255,  3124,   173,   373,
    2966,   313,   321,   373,   451,    81,   272,  2973,   141,   328,
     396,   229,   197,  3112,  2980,   260,   455,   336,   180,  2985,
     119,  2987,   103,  3683,   396,   373,  4015,   126,  3127,   348,
     129,    52,   217,  3102,   373,  3104,  4056,   356,  2973,  3108,
      52,   262,   260,    41,    41,  2980,   324,   373,   455,   258,
     362,   365,   373,  3152,   201,   154,   373,   419,   258,  3025,
     258,   201,   201,   415,   373,   373,   373,  3002,   373,   451,
     373,   256,   290,   258,   373,    35,   388,    24,   258,   264,
     141,   244,   451,   109,   141,   223,   185,   254,  3054,  3055,
     396,   410,   244,  3162,   244,    35,   451,  3045,  3045,   153,
     412,    35,   414,   415,   207,   407,   324,   451,   325,  3577,
    3578,    34,   330,   371,   371,   333,   141,   373,   449,  3067,
    3067,   449,  3590,   336,  4370,   373,   373,   373,   313,   396,
     141,   141,   396,   141,   141,   248,   253,   449,   373,  3074,
     452,   453,   454,   242,   362,   244,   411,   236,   236,   158,
     451,   369,    11,   166,  3281,   254,  3283,   371,   376,   451,
     455,    25,  4316,   262,   451,   383,   451,   373,  3881,   149,
     158,   375,  3267,   272,   455,   452,   451,   362,   173,   173,
       8,   197,   455,    11,   339,   205,   259,    15,    16,    17,
     408,   396,   437,   438,   439,   455,   441,   442,   443,   444,
     445,   446,   447,   388,    32,    35,  4816,  4817,    72,    52,
     309,   310,    40,   266,   373,  3134,   452,     8,    46,  3852,
      11,   451,   373,   324,  3159,   249,   324,   412,   396,   414,
     415,   205,   205,   378,  3361,   249,   373,   336,   373,   103,
     451,  4141,    70,   373,   408,   153,   326,   249,   207,    40,
    4150,  4438,   258,    42,   345,    46,   320,   215,   215,   215,
     124,   257,  4449,   373,   449,   365,   455,   452,   453,   454,
     306,   135,   324,   258,   306,  3241,   373,  3265,   174,    70,
     373,   373,   333,   201,    35,   201,   201,   396,   201,   396,
     295,   155,   201,   207,  3393,  3283,   160,   439,   439,   141,
     399,   153,   257,   408,   153,   155,  4326,  4327,   254,   141,
     333,   415,   141,   244,  3383,  3384,  3385,  3386,  3265,    35,
    3441,   258,  3581,  3273,  3274,  3275,  3276,   451,   451,  4318,
     258,   207,  4942,  4943,  3281,   171,  3283,   244,  4525,   153,
     171,    35,   234,   134,   208,   327,   452,   175,   433,   433,
     452,   141,   180,   449,    22,  4015,   258,   452,   452,   258,
      28,   207,  3844,   258,   333,   229,   452,   153,   180,   244,
     180,   180,   455,   201,   202,   419,   455,   455,    23,   164,
     373,   451,   158,   455,   175,   233,   415,   258,   216,   180,
      52,   378,   362,  3492,   207,     8,  3495,   253,    11,  3662,
      68,   158,    15,    16,    17,   408,   452,  3670,  3671,  3672,
    3673,   452,   452,   158,   452,   452,   269,   452,   452,   247,
     451,   276,   452,   158,   452,   216,   290,    40,   455,   433,
     452,   373,   260,    46,   452,   263,   412,   452,   225,   402,
    4627,  4041,   268,  3911,   435,   394,   412,   258,    52,   439,
     451,   119,   451,   317,   258,   261,   258,    70,   126,   451,
     324,   129,   451,   183,     8,   451,   330,    11,   452,   260,
     451,    15,    16,    17,   451,  3441,   141,   191,   419,   373,
     373,   249,   373,  3552,   373,   262,   154,   328,    32,   141,
     141,   328,   215,  3592,   328,   183,    40,   277,   362,   373,
    3968,   365,    46,   277,  3470,   217,  3441,   373,  4015,  3475,
     396,  3477,  4412,   341,   393,  3774,  4536,   185,  3469,   383,
    4206,   227,   373,   227,   227,   324,    70,  4213,  4507,   373,
     324,   324,  4225,   373,  3469,   373,  4313,     8,   373,   244,
      11,   324,   141,  4417,   408,    41,  4506,   201,   373,   373,
     341,   373,   373,   373,  3520,   336,   373,   373,   201,   201,
    3526,  3527,   175,  3529,   201,  3531,   451,   180,     3,    40,
     452,   452,   455,   373,   242,    46,   244,    42,   383,   308,
     102,   257,  4456,   452,   451,   455,   254,  3686,   201,   202,
     452,   258,    35,   141,   262,  4521,   141,  4523,   373,    70,
     153,  3536,  3537,   216,   272,   168,   434,    62,   396,   437,
     438,   439,   396,   441,   442,   443,   444,   445,   446,   447,
     141,   261,   450,   450,   324,   324,   324,   450,   456,  3892,
     139,   175,   333,   452,   247,  3894,   180,   455,   306,   139,
     201,   309,   310,   434,   201,   201,   449,   260,   132,    11,
     441,   442,   443,   444,   445,   446,   447,   201,   202,   158,
    3626,  3924,  3925,   134,  3923,   153,   269,   407,   336,   447,
     264,   158,   216,   455,  3622,  3622,   412,   158,   436,   452,
     452,   452,   452,  3810,  3943,   451,   455,  3814,   452,   451,
     455,   166,   452,   452,   259,   451,  4349,   452,  4687,   313,
      79,   383,   153,   247,   175,    35,  4860,   396,   191,   180,
     396,    52,   207,   373,   451,   365,   260,   383,   328,   263,
     373,   452,   324,  3844,   373,   373,   373,   373,   341,   324,
     452,   399,   306,   452,  3700,  3998,  3999,  3703,  3997,  3705,
     451,   415,    52,   365,  4618,   216,  4432,   153,  3683,    70,
     141,   102,   383,   201,   201,  4237,  4630,   452,   451,   201,
     201,  4635,   291,  4637,   451,   205,   186,    22,  4922,    24,
     451,   415,   455,    28,   452,   153,   455,    35,    33,    34,
      35,   419,    37,    75,   365,    40,    41,  4941,    43,   260,
      45,   455,   451,   383,   455,   373,     8,   341,  4280,    11,
     333,   102,  4270,    15,    16,    17,   163,   201,   158,   201,
     451,  4318,   201,   452,   450,   201,   158,   452,   451,    52,
      32,   434,   452,   300,   437,   438,   439,   413,   441,   442,
     443,   444,   445,   446,   447,   452,   413,   455,    48,  3938,
    4099,   269,  4105,   452,   451,  4108,  4109,   452,   204,   267,
     451,  3950,   204,   364,   451,   265,    52,   169,   254,   452,
     452,  4124,   158,  3810,   452,   383,   439,  3814,   373,   415,
     341,    70,   185,  3839,   249,  3841,   249,   439,    52,   365,
      90,   373,    64,  4843,   455,   455,  4145,   141,   373,     8,
     434,   373,    11,   437,   438,   439,  3873,   441,   442,   443,
     444,   445,   446,   447,   201,   115,  3854,  3854,   160,  3978,
     158,   455,   180,   451,   333,    35,  4043,   396,   396,   244,
     130,    40,   127,  3992,   134,   415,   415,    46,    35,   158,
     258,   411,   187,   188,   189,   190,   451,   192,   153,   194,
     199,   196,   188,   198,   154,   261,   201,   157,   451,   158,
     451,    70,   207,   300,   349,   210,   401,   275,   452,   214,
     170,   216,   204,   434,   414,    81,   122,   258,   301,  3920,
     441,   442,   443,   444,   445,   446,   447,   153,   452,   451,
     373,   451,   116,   452,   451,  3920,   452,   451,   373,   201,
     451,   451,   249,    35,   228,   183,   249,   451,   291,   451,
     141,   140,    35,   452,  4073,   451,  3941,  3942,   452,   383,
     321,  3946,  3947,   262,   321,   134,   347,    52,   347,   452,
      52,    35,   451,   455,   451,   451,  4125,   452,   451,  3995,
    3996,   452,   396,   365,   451,   242,   258,   452,  4004,   249,
    4006,  4007,   365,   365,  4010,     5,   147,   257,   260,  4015,
     291,    64,    64,  4019,   122,   261,   175,   415,  4658,  4186,
     415,   180,   400,   300,  4191,   401,    35,   451,   451,  4196,
     336,   158,  4199,  4200,   455,   412,   365,   298,   153,   127,
    4015,   185,   451,   293,    35,   258,   258,    35,   333,   160,
     261,   261,   451,   160,    52,   320,  4223,   216,   452,   452,
     394,  4067,   451,   451,   114,     5,   452,   451,    21,  4236,
     307,    32,     8,   140,   158,    11,  4237,   320,   860,    15,
      16,    17,   373,   291,  4072,  4072,   160,   451,   455,   455,
    4096,  4230,   415,  4232,   347,   415,    32,   451,   160,   347,
     756,   260,  4405,   853,   819,  2290,  2644,  1470,  4269,  2148,
     859,  2807,  4279,  3440,  4413,  2217,  2971,  3531,  4528,  4280,
    4126,  1251,  4316,  4687,  4130,  4131,  4366,  4133,  3575,  4238,
    4239,  4240,  4654,  4370,  4034,     8,  4348,  2731,    11,  2425,
    4687,  4769,  4236,  4840,  4701,  4700,  4789,  2735,  3608,  3623,
    3567,  2280,  4451,  2280,  3435,  2831,  3591,  2274,  4059,  1540,
    3024,  4848,  4941,  4330,  4922,  4343,  2979,    40,  4800,  2975,
    4282,  4673,  4779,    46,  4285,    27,  3686,  4480,  4478,  1092,
    2003,  3630,   341,  1103,  2706,   437,   438,   439,  4597,   441,
     442,   443,   444,   445,   446,   447,  1529,    70,  1720,  1720,
    2927,   623,  4815,  1721,  4191,  4925,  4505,  1947,  1946,  4196,
    4509,  4510,  4199,  1666,  2658,   595,  4383,  1332,   734,  3611,
    4761,  3855,  1224,  4526,  3338,  2659,  2665,  1987,  2670,  4754,
    3306,  4639,  3840,  2680,  1986,  3283,  1295,  1277,  4225,  1296,
    3801,  3816,  4218,  4446,  3281,  4621,  4620,  3339,   543,  4415,
    3083,  3233,  4215,   548,  4757,   550,  4744,  4758,   553,  1816,
     555,   134,   557,  4269,  2662,   201,  2594,  1598,  2502,   564,
    2592,  1819,  4381,   568,    -1,   434,  1245,  1242,  4445,  1298,
     575,    -1,   441,   442,   443,   444,   445,   446,   447,    -1,
      -1,  1303,    -1,    -1,  4269,    -1,    -1,    -1,    -1,  4598,
      -1,  4307,   175,   598,    -1,    -1,    -1,   180,   603,    -1,
      -1,    -1,  4318,   608,    -1,    -1,  4322,   612,  4324,    -1,
      -1,    -1,  4328,  4329,   260,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   629,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   216,    -1,    -1,    -1,     8,    -1,    -1,
      11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  4353,  4353,    -1,    -1,    -1,
      -1,    -1,    -1,     8,    -1,    -1,    11,    -1,  4487,    40,
      15,    16,    17,   678,    -1,    46,    -1,   260,  4555,    -1,
      -1,    -1,  4380,  4380,    -1,    -1,   691,    32,   693,    -1,
      -1,    -1,    -1,    -1,    -1,    40,    -1,    -1,    -1,    70,
      -1,    46,    -1,  4522,    -1,  4524,    -1,    -1,   713,   714,
      -1,   716,   717,    -1,    -1,    -1,   721,    -1,  4456,    -1,
      -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,
     735,    -1,    -1,    -1,   739,    -1,    -1,  4475,    -1,    -1,
     745,    -1,    -1,    -1,  4621,    -1,    -1,    -1,  4445,    -1,
      -1,    -1,   757,    -1,    -1,    -1,    -1,    -1,   341,  4456,
      -1,    -1,    -1,   134,   769,    -1,    -1,    -1,    -1,  4646,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4475,     8,
      -1,    -1,    11,  4654,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   437,   438,   439,    -1,   441,   442,   443,   444,   445,
     446,   447,    -1,    -1,   175,    -1,    -1,   812,    -1,   180,
      -1,    40,    -1,  4529,    -1,    -1,    -1,    46,    -1,    -1,
      -1,    -1,  4835,   828,    -1,    -1,    -1,    -1,   833,   834,
     175,    -1,    -1,  4652,    -1,   180,    -1,    -1,    -1,  4716,
      -1,    70,    -1,    -1,    -1,   216,    -1,    -1,    -1,    -1,
      -1,   434,    -1,    -1,   859,   860,   201,   202,   441,   442,
     443,   444,   445,   446,   447,    -1,    -1,    -1,    -1,    -1,
      -1,   216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   884,
    4578,  4578,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   260,
     895,  4710,    -1,    -1,   899,    -1,    -1,  4774,    -1,    -1,
      -1,    -1,   247,    -1,    -1,   134,    -1,    -1,    -1,   914,
      -1,    -1,    -1,  4762,    -1,   260,    -1,    -1,   263,    -1,
      -1,    -1,    -1,    -1,   929,    -1,    -1,    -1,    -1,    -1,
      -1,   936,   937,  4810,    -1,    -1,    -1,    -1,    -1,  4816,
    4817,    -1,    -1,    -1,    -1,    -1,   175,    -1,   953,   954,
     955,   180,   957,    -1,   959,     8,    -1,    -1,    11,    -1,
      -1,    -1,    15,    16,    17,  4784,    -1,    -1,    -1,    -1,
     341,  4687,    -1,    -1,     8,    -1,    -1,    11,    -1,    32,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,     3,
      -1,    -1,    -1,    -1,     8,    -1,   341,    11,    -1,    -1,
      -1,    15,    16,    17,    -1,    -1,    40,    -1,    -1,    -1,
      -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,    32,    -1,
    1025,    35,  1027,  1028,    -1,  4844,    40,    -1,    -1,    -1,
      -1,   260,    46,    -1,    -1,    -1,    70,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    22,    -1,    -1,    -1,    -1,
    1055,    28,    -1,  4930,    -1,    -1,    70,    -1,    -1,    -1,
      -1,    -1,    -1,   434,    -1,  4942,  4943,    -1,    -1,    -1,
     441,   442,   443,   444,   445,   446,   447,    -1,    -1,    -1,
    1085,  1086,    -1,    -1,    -1,  1090,    -1,  1092,    -1,   434,
      -1,    68,   437,   438,   439,    -1,   441,   442,   443,   444,
     445,   446,   447,  4801,  4801,    -1,    -1,    -1,  1113,    -1,
     455,  1116,   341,    -1,  1119,    -1,    -1,  4815,  4815,  4815,
    4815,  4815,  4815,    -1,    -1,    -1,    -1,  1132,  4866,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   175,   119,    -1,  4860,    -1,   180,    -1,   201,   126,
      -1,    -1,   129,    -1,    -1,    -1,  1161,    -1,    -1,    -1,
      -1,   175,    -1,    -1,    -1,    -1,   180,    -1,  4866,  4866,
    4866,  4866,  4866,  4866,    -1,  4860,    -1,   154,    -1,    -1,
      -1,    -1,   216,    -1,  1189,  1190,  1191,   201,   202,  1194,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   216,    -1,    -1,   434,  4922,   260,   185,  1214,
      -1,    -1,   441,   442,   443,   444,   445,   446,   447,    -1,
      -1,    -1,    -1,    -1,    -1,  4941,   260,  4925,  4925,  4925,
    4925,  4925,  4925,   247,    -1,    -1,    -1,  4922,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   260,    -1,    -1,   263,
      -1,  1256,    -1,    -1,  1259,    -1,  4941,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   242,    -1,   244,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   254,    -1,    -1,
      -1,    -1,    -1,  1288,    -1,   262,    -1,  1292,  1293,    -1,
      -1,    -1,    -1,    -1,    -1,   272,    -1,    -1,  1303,  1304,
    1305,    -1,    -1,    -1,    -1,    -1,    -1,   341,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1325,    -1,    -1,    -1,    -1,    -1,    -1,   341,    -1,   306,
      -1,    -1,   309,   310,    -1,    -1,    -1,     8,    -1,    -1,
      11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1363,   336,
      -1,    32,    -1,    -1,    -1,    36,    -1,    -1,    -1,    40,
      -1,  1376,  1377,    -1,    -1,    46,    -1,    -1,    -1,  1384,
      -1,    -1,  1387,    -1,   437,   438,   439,    -1,   441,   442,
     443,   444,   445,   446,   447,    -1,    -1,    -1,    -1,    70,
     434,    -1,    -1,    -1,  1409,    -1,  1411,   441,   442,   443,
     444,   445,   446,   447,  1419,    -1,    -1,  1422,    -1,    -1,
     434,    -1,   399,   437,   438,   439,    -1,   441,   442,   443,
     444,   445,   446,   447,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  1446,    -1,    -1,    -1,    -1,   117,    -1,    -1,  1454,
    1455,  1456,  1457,  1458,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  1469,    -1,    -1,  1472,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1483,    -1,
    1485,    -1,    -1,    -1,    -1,    -1,     8,    -1,    -1,    11,
      -1,  1496,  1497,    15,    16,    17,    -1,    -1,    -1,    -1,
    1505,    -1,    -1,    -1,   175,    -1,    -1,    -1,    -1,   180,
    1515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    -1,
      -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,  1534,
     201,   202,    -1,    -1,    -1,    -1,    -1,    -1,  1543,  1544,
    1545,  1546,    -1,    -1,    -1,   216,    -1,    -1,    70,    -1,
    1555,    -1,    -1,    -1,    -1,    -1,    -1,  1562,    -1,    -1,
    1565,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1575,    -1,    -1,    -1,    -1,    -1,   247,  1582,    -1,    -1,
      -1,    -1,  1587,    -1,    -1,    -1,    -1,    -1,    -1,   260,
      -1,    -1,   263,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1624,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1634,
      -1,    -1,    -1,  1638,    -1,    -1,  1641,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  1651,    -1,    -1,    -1,
      -1,    -1,    -1,   175,  1659,  1660,    -1,    -1,   180,  1664,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     341,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  1689,    -1,    -1,    -1,    -1,    -1,
      -1,  1696,    -1,  1698,   216,    -1,    -1,  1702,  1703,    -1,
    1705,    -1,    -1,    -1,    -1,    -1,    -1,  1712,    -1,    -1,
      -1,    -1,    -1,    -1,  1719,    -1,    -1,    -1,    -1,  1724,
    1725,    -1,    -1,  1728,    -1,   396,    -1,  1732,    -1,  1734,
      -1,    -1,    -1,    -1,  1739,  1740,    -1,    -1,   260,    -1,
      -1,  1746,  1747,  1748,    -1,    -1,    -1,  1752,  1753,  1754,
    1755,  1756,  1757,  1758,  1759,    -1,  1761,    -1,  1763,  1764,
      -1,    -1,  1767,   434,    -1,    -1,   437,   438,   439,    -1,
     441,   442,   443,   444,   445,   446,   447,    -1,  1783,  1784,
    1785,  1786,    -1,    -1,    -1,  1790,  1791,    -1,    -1,    -1,
    1795,    -1,    -1,  1798,    -1,    -1,  1801,  1802,  1803,  1804,
    1805,  1806,  1807,  1808,  1809,  1810,     0,  1812,    -1,    -1,
      -1,    -1,    -1,  1818,  1819,    -1,  1821,    -1,    -1,   341,
      -1,    -1,    -1,  1828,    18,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    28,    -1,    30,    31,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    45,    -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    65,    -1,    67,    68,    -1,    54,    -1,    -1,    73,
      -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    86,    -1,    88,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,
      -1,   105,   434,    -1,   108,   437,   438,   439,    -1,   441,
     442,   443,   444,   445,   446,   447,   120,    -1,   122,    -1,
      -1,    -1,   126,    -1,    -1,    -1,    -1,    -1,   132,    -1,
    1945,    -1,  1947,    -1,  1949,    -1,   140,    -1,   142,    -1,
      -1,    -1,    -1,    -1,   148,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   144,    -1,    -1,   163,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1984,
      -1,    -1,    -1,    -1,    -1,   179,  1991,    -1,  1993,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   177,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2022,    -1,    35,
      -1,    -1,    -1,    -1,   218,   219,  2031,    -1,  2033,   207,
     224,    -1,    -1,    -1,   212,    -1,    -1,    -1,    54,    -1,
      -1,   235,    -1,    -1,    -1,  2050,    -1,    -1,    -1,    -1,
      -1,    -1,   246,    -1,    -1,    -1,  2061,    -1,  2063,  2064,
      -1,    -1,    -1,  2068,    -1,  2070,   244,  2072,    -1,  2074,
      -1,    87,    -1,  2078,    -1,    -1,  2081,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   285,    -1,    -1,    -1,  2100,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   297,    -1,  2110,    -1,    -1,   302,   303,
      -1,   305,  2117,    -1,    -1,    -1,   310,    -1,  2123,    -1,
      -1,   315,    -1,    -1,   318,    -1,    -1,  2132,   144,   323,
      -1,    -1,   310,    -1,   328,   329,   314,    -1,    -1,    -1,
      -1,    -1,   336,   321,    -1,    -1,   340,  2152,    -1,    -1,
     328,  2156,  2157,    -1,    -1,    -1,   350,    -1,   336,    -1,
    2165,   177,    -1,    -1,   198,    -1,    -1,    -1,   362,    -1,
     348,    -1,    -1,   207,    -1,    -1,    -1,  2182,   356,    -1,
      -1,    -1,   216,    -1,    -1,    -1,    -1,   381,    -1,    -1,
      -1,   207,    -1,    -1,    -1,    -1,   212,   391,   376,    -1,
      -1,    -1,     8,   397,  2209,    11,  2211,  2212,   402,    15,
      16,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   415,    -1,    -1,    -1,    -1,    32,    -1,   244,    22,
      -1,    -1,   410,  2238,    40,    28,   414,   415,    -1,    -1,
      46,  2246,   436,  2248,    -1,    -1,    -1,    -1,    -1,  2254,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   451,    -1,     8,
     454,    -1,    11,  2268,    70,    -1,    15,    16,    17,    -1,
      -1,    -1,    -1,    -1,    -1,    68,    -1,  2282,    -1,    -1,
    2285,    -1,  2287,    32,    -1,  2290,    -1,    -1,  2293,    -1,
      -1,    40,    -1,    -1,   310,    -1,    -1,    46,   314,    -1,
      -1,    -1,    -1,    -1,    -1,   321,    -1,    -1,    -1,    -1,
       8,    -1,   328,    11,  2319,    -1,    -1,    15,    16,    17,
     336,    70,    -1,  2328,  2329,    -1,   119,    -1,    -1,    -1,
      -1,    -1,   348,   126,    32,    -1,   129,    -1,    -1,    -1,
     356,    -1,    40,    -1,    -1,    -1,    -1,  2352,    46,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     376,   154,  2367,    -1,    -1,    -1,    -1,    -1,    -1,   175,
      -1,    -1,    70,    -1,   180,    -1,    -1,    -1,    -1,  2384,
      -1,  2386,  2387,  2388,  2389,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   185,    -1,   410,   201,   202,    -1,   414,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2412,    -1,    -1,
     216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2425,    -1,    -1,    -1,    -1,    -1,   175,    -1,    -1,    -1,
      -1,   180,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   242,
      -1,   244,   201,   202,   260,    -1,    -1,   263,    -1,    -1,
      -1,   254,  2467,    -1,    -1,    -1,    -1,   216,    -1,   262,
      -1,    -1,  2477,    -1,    -1,    -1,    -1,   175,  2483,   272,
      -1,    -1,   180,    -1,    -1,    -1,    -1,    -1,    -1,  2494,
      -1,    -1,    -1,    -1,    -1,    -1,  2501,    -1,   247,    -1,
      -1,  2506,    -1,   201,   202,    -1,    -1,    -1,    -1,   543,
      -1,   260,    -1,   306,   548,    -1,   309,   310,   216,    -1,
      -1,    -1,    -1,    -1,    -1,  2530,  2531,  2532,    -1,    -1,
    2535,    -1,    -1,    -1,    -1,   341,    -1,    -1,  2543,  2544,
    2545,  2546,    -1,   336,    -1,    -1,    -1,    -1,    -1,   247,
      -1,  2556,    -1,    -1,  2559,    -1,  2561,    -1,    -1,    -1,
      -1,    -1,   260,    -1,    -1,   263,    -1,    22,  2573,  2574,
      -1,    -1,  2577,    28,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  2589,    -1,  2591,    -1,  2593,    -1,
    2595,    -1,   341,    35,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   399,    -1,    -1,    -1,
      -1,  2616,    54,    68,    -1,  2620,    -1,    -1,    -1,    -1,
      -1,    -1,  2627,    -1,  2629,  2630,  2631,    -1,   434,    -1,
      -1,   437,   438,   439,    -1,   441,   442,   443,   444,   445,
     446,   447,  2647,   341,    -1,    87,   452,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  2659,    -1,    -1,   691,    -1,  2664,
      -1,    -1,    -1,    -1,   119,  2670,    -1,    -1,    -1,    -1,
      -1,   126,    -1,    -1,   129,  2680,    -1,    -1,  2683,    -1,
      -1,  2686,   716,  2688,    -1,   434,    -1,    -1,   437,   438,
     439,    -1,   441,   442,   443,   444,   445,   446,   447,   154,
      -1,   735,   144,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    22,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,
      -1,    -1,    -1,   757,    -1,  2730,    -1,  2732,    -1,    -1,
     185,    -1,  2737,    -1,    -1,   177,   434,    -1,    -1,   437,
     438,   439,    -1,   441,   442,   443,   444,   445,   446,   447,
      -1,    -1,    -1,    -1,   452,    -1,    -1,    68,  2763,    -1,
    2765,  2766,  2767,    -1,    -1,   207,    -1,    -1,    -1,    -1,
     212,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   242,    -1,   244,
      -1,    -1,    -1,    -1,   828,    -1,    -1,    -1,    -1,   254,
      -1,    -1,   244,    -1,    -1,    -1,    -1,   262,   119,    -1,
      -1,    -1,    -1,    -1,    -1,   126,    -1,   272,   129,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   154,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   306,    -1,    -1,   309,   310,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2868,    -1,    -1,    -1,    -1,   310,    -1,
      -1,    -1,   314,    -1,   185,     8,    -1,    -1,    11,   321,
      -1,   336,    15,    16,    17,    -1,   328,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   336,   929,    -1,    -1,    -1,    32,
      -1,    -1,    -1,    -1,    -1,    -1,   348,    40,    -1,    -1,
      -1,    -1,    -1,    46,   356,    -1,    -1,    -1,    -1,   953,
     954,   955,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   242,    -1,   244,   376,    -1,    -1,    70,    -1,    -1,
      -1,    -1,    -1,   254,   399,  2950,    -1,    -1,    -1,    -1,
      -1,   262,  2957,  2958,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   272,    -1,    -1,    -1,    -1,    -1,    -1,   410,    -1,
      -1,    -1,   414,    -1,    -1,    -1,    -1,    -1,    13,    -1,
      -1,    -1,    -1,    -1,    19,    -1,  2991,  2992,    -1,    -1,
      -1,    -1,    -1,    -1,    29,   306,    -1,    -1,   309,   310,
      -1,    -1,  3007,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    48,    49,    -1,    -1,  3022,  3023,    -1,
      -1,    -1,    -1,    -1,    -1,   336,  3031,  3032,  3033,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   175,    -1,  3049,    -1,    -1,   180,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  1090,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   201,   202,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  1116,   216,    -1,    -1,    -1,    -1,   399,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3102,    -1,  3104,
      -1,    -1,    -1,  3108,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,  3124,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   260,    -1,  3134,
     263,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  3150,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3162,    -1,   194,
      -1,    -1,    -1,    -1,  3169,    -1,    -1,   202,    -1,    -1,
     205,   206,  3177,   208,  3179,    -1,   211,    -1,   213,    -1,
    3185,    -1,  3187,    -1,    -1,  3190,    -1,    -1,    -1,    -1,
    3195,  3196,  3197,  3198,    -1,    -1,  3201,  3202,  3203,  3204,
    3205,  3206,  3207,  3208,  3209,  3210,  3211,    -1,   341,    -1,
    3215,  3216,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3225,    -1,  1256,    -1,  3229,    -1,    -1,    -1,  3233,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3242,    -1,    -1,
    3245,    -1,  3247,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  3256,    -1,    -1,  3259,  3260,    -1,    -1,    -1,  3264,
    3265,    -1,    -1,    -1,  3269,    -1,  3271,    -1,    -1,    -1,
    1304,    -1,    -1,  3278,  3279,  3280,  3281,    -1,  3283,  3284,
      -1,    -1,    -1,  3288,  3289,    -1,    -1,    -1,    -1,    -1,
    3295,    -1,    -1,    -1,    -1,    -1,  3301,  3302,  3303,    -1,
      -1,   434,    -1,    -1,   437,   438,   439,    -1,   441,   442,
     443,   444,   445,   446,   447,    -1,    -1,    -1,    -1,   452,
      -1,    -1,  3327,    -1,    -1,    -1,    22,    -1,    -1,    -1,
      -1,    -1,    28,  3338,    -1,  3340,    -1,    -1,    -1,    -1,
      -1,    -1,  1376,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1384,    -1,    -1,    -1,    -1,    -1,  3361,  3362,  3363,    -1,
    3365,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    68,    -1,    -1,    -1,    -1,  1411,  3383,  3384,
    3385,  3386,    -1,    -1,    -1,  1419,    -1,    -1,  1422,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3422,    -1,    -1,
      -1,    -1,    -1,   119,  1458,    -1,    -1,    -1,    -1,    -1,
     126,    -1,    -1,   129,    -1,    -1,    -1,    -1,  1472,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  1485,    -1,    -1,    -1,    -1,    -1,    -1,   154,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
       8,    -1,    -1,    11,    -1,    -1,    -1,    15,    16,    17,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   185,
      -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,     8,    -1,
    1534,    11,    40,    -1,  3509,    15,    16,    17,    46,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   551,    -1,    -1,    -1,
      -1,  1555,    32,    -1,   559,    -1,    -1,    -1,  1562,    -1,
      40,   566,    70,    -1,   569,   570,    46,    -1,    -1,   574,
      -1,    -1,    -1,    -1,    -1,  3550,   242,  3552,   244,  3554,
     585,    -1,    -1,    -1,    -1,  3560,    -1,    -1,   254,    -1,
      70,  3566,    -1,    -1,   599,    -1,   262,    -1,    -1,    -1,
    3575,    -1,    -1,    -1,    -1,    -1,   272,    -1,    -1,   614,
      -1,   616,    -1,    -1,   619,     8,   621,    -1,    11,   624,
    3595,    -1,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,
    3605,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3613,    32,
     306,    -1,    -1,   309,   310,    -1,    -1,    40,  3623,    -1,
      -1,    -1,  3627,    46,    -1,    -1,  3631,  3632,    -1,    -1,
    1664,    -1,    -1,    -1,    -1,    -1,    -1,   175,    -1,    -1,
     336,    -1,   180,    -1,    -1,    -1,    -1,    70,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   692,    -1,    -1,
    3665,    -1,  3667,   201,   202,   175,    -1,    -1,  1702,  1703,
     180,    -1,  3677,    -1,    -1,    -1,    -1,    -1,   216,    -1,
      -1,    -1,    -1,    -1,    -1,  1719,    -1,    -1,    -1,    -1,
      -1,   201,   202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  3707,   399,    -1,    -1,   216,    -1,    -1,   247,
      -1,    -1,   747,    -1,  3719,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   260,    -1,    -1,   263,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  3750,    -1,    -1,    -1,    -1,
     260,    -1,   175,   263,    -1,  3760,  3761,   180,    -1,    -1,
      -1,    -1,    -1,  3768,  3769,    -1,    -1,    -1,  3773,    -1,
      -1,    -1,   807,  3778,    -1,    -1,  3781,  3782,   201,   202,
      -1,  3786,  3787,    -1,  1818,    -1,    -1,  3792,  3793,  3794,
    3795,  3796,    -1,   216,  1828,  3800,  3801,    -1,  3803,    -1,
      -1,  3806,    -1,   341,    -1,  3810,    -1,    -1,    -1,  3814,
      -1,    -1,    -1,    -1,    -1,  3820,    -1,    -1,    -1,    -1,
      -1,  3826,    -1,    -1,   247,    -1,  3831,    -1,    -1,    -1,
      -1,   341,  3837,    -1,    -1,    -1,    -1,   260,   873,  3844,
     263,    -1,    -1,    -1,    -1,    -1,    -1,  3852,    -1,    -1,
    3855,    -1,    -1,   888,    -1,  3860,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   900,    -1,   902,  3873,    -1,
      -1,  3876,    -1,    22,    -1,   910,    -1,    -1,    -1,    28,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   922,    -1,    -1,
     925,  3896,  3897,    -1,    -1,    -1,   434,    -1,    -1,   437,
     438,   439,    -1,   441,   442,   443,   444,   445,   446,   447,
      -1,  1945,    -1,  1947,   452,    -1,  3921,    -1,   341,    68,
      -1,    -1,    -1,    -1,   434,   960,    -1,   437,   438,   439,
      -1,   441,   442,   443,   444,   445,   446,   447,    -1,    -1,
      -1,    -1,   452,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1984,    -1,    -1,  3958,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     119,    25,    -1,  3978,    -1,    -1,    -1,   126,    -1,    -1,
     129,    -1,    -1,    -1,    -1,    -1,    -1,  3992,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   154,    -1,    -1,    -1,    -1,
      -1,   434,    -1,    -1,   437,   438,   439,    71,   441,   442,
     443,   444,   445,   446,   447,    -1,    -1,  4032,    -1,   452,
      -1,    85,    -1,    -1,    -1,    -1,   185,    -1,  4043,    -1,
      -1,    -1,    -1,  4048,    -1,    -1,    -1,    -1,    -1,   103,
      -1,  4056,    -1,    -1,    -1,   109,    -1,    -1,     8,  1094,
      -1,    11,    -1,    -1,    -1,    15,    16,    17,  4073,  4074,
     124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   135,    32,    -1,    -1,    -1,    -1,    -1,    -1,   143,
      40,    -1,    -1,   242,    -1,   244,    46,  4102,  2132,    -1,
      -1,   155,    -1,    -1,    -1,   254,   160,    -1,    -1,    -1,
      -1,    -1,   166,   262,    -1,    -1,    -1,    -1,  2152,    -1,
      70,    -1,    -1,   272,    -1,    -1,    -1,    -1,    -1,   183,
      -1,    -1,    -1,    -1,    -1,    -1,  4141,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  4150,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   208,    -1,    -1,   306,    -1,    -1,
     309,   310,    -1,  4168,  4169,    -1,    -1,  4172,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   229,    -1,    -1,    -1,    -1,
      -1,  4186,  4187,    -1,    -1,    -1,  4191,   336,    -1,    -1,
      -1,  4196,    -1,    -1,  4199,  4200,    -1,  4202,    -1,  4204,
      -1,    -1,  4207,  4208,    -1,    -1,   260,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4223,    -1,
      -1,    -1,    -1,    22,    -1,   175,   280,    -1,    -1,    28,
     180,  4236,  4237,  4238,  4239,  4240,   290,    -1,    -1,    -1,
      -1,    -1,  1277,  1278,    -1,    -1,    -1,    -1,    -1,    -1,
     399,   201,   202,  2287,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   317,    -1,    -1,   216,    -1,   322,    68,
     324,    -1,    -1,    -1,  4279,  4280,   330,    -1,    -1,   333,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   361,   362,    -1,
     260,   365,    -1,   263,  1349,   369,    -1,    -1,    -1,    -1,
     119,  4326,  4327,    -1,   378,  4330,    -1,   126,  4333,   383,
     129,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4343,    -1,
      -1,   395,    -1,    -1,  4349,    -1,  4351,    -1,    -1,    -1,
      -1,    -1,  4357,    -1,   408,   154,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  4370,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  1410,  4381,  4382,  4383,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   185,    -1,    -1,    -1,
       8,   341,    -1,    11,    -1,    -1,    -1,    15,    16,    17,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4412,    -1,    -1,
    4415,    -1,  4417,    -1,    32,    -1,    -1,    -1,     8,    -1,
      -1,    11,    40,    -1,    -1,    15,    16,    17,    46,    -1,
      -1,    -1,    -1,  2467,    -1,    -1,  4441,    -1,    -1,    -1,
    4445,    -1,    32,   242,  4449,   244,    -1,    -1,    -1,    -1,
      40,  4456,    70,    -1,    -1,   254,    46,    -1,    -1,    -1,
    4465,    -1,    -1,   262,    -1,    -1,    -1,    -1,     8,    -1,
    4475,    11,    -1,   272,    -1,    15,    16,    17,    -1,    -1,
      70,    -1,  4487,    -1,   434,    -1,  4491,   437,   438,   439,
    1525,   441,   442,   443,   444,   445,   446,   447,    -1,    -1,
      40,    -1,   452,    -1,    -1,    -1,    46,   306,    -1,  4514,
     309,   310,    -1,    -1,    -1,    -1,  4521,  4522,  4523,  4524,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      70,  4536,    -1,    -1,    -1,   153,    -1,   336,    -1,    -1,
     158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4555,    -1,    -1,    -1,    -1,    -1,    -1,   175,    -1,    -1,
      -1,    -1,   180,    -1,    -1,    -1,  4571,    -1,    -1,    -1,
      -1,  4576,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   201,   202,   175,  2620,    -1,  1623,    -1,
     180,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,
     399,    -1,  1637,    -1,    -1,  1640,    -1,  1642,    -1,  1644,
      -1,   201,   202,  4618,    -1,  1650,  4621,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  4630,   216,    -1,    -1,   247,
    4635,    -1,  4637,    -1,  4639,   175,    -1,    -1,    -1,    -1,
     180,  4646,   260,    -1,    -1,   263,    -1,  4652,    -1,  4654,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,  4664,
    1695,   201,   202,    -1,  1699,    -1,  1701,    -1,    -1,  1704,
     260,    -1,    -1,   263,    -1,    -1,   216,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,     8,    -1,    -1,    11,    -1,    -1,    -1,    15,
      16,    17,    -1,    -1,    -1,  4710,    -1,   247,    -1,    -1,
      -1,  4716,    -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,
     260,    -1,    -1,   341,    40,    -1,    -1,    -1,    -1,    -1,
      46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4743,  4744,
      -1,    -1,    -1,  4748,    -1,    -1,    -1,    -1,    -1,  4754,
      -1,   341,  4757,    -1,    70,    -1,  4761,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,  4774,
      -1,    11,    -1,    -1,    -1,    15,    16,    17,    -1,  4784,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    32,    -1,    -1,    -1,    -1,  4802,    -1,    -1,
      40,   341,    -1,    -1,    -1,  4810,    46,    -1,    -1,    -1,
      -1,  4816,  4817,  4818,    -1,    -1,   434,    -1,    -1,   437,
     438,   439,    -1,   441,   442,   443,   444,   445,   446,   447,
      70,    -1,  4837,    -1,  2868,    -1,    -1,    -1,    -1,  4844,
      -1,    -1,    -1,    -1,   434,    -1,    -1,   437,   438,   439,
      -1,   441,   442,   443,   444,   445,   446,   447,    -1,   175,
      -1,    -1,   452,    -1,   180,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   201,   202,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   434,    -1,    -1,   437,   438,   439,
     216,   441,   442,   443,   444,   445,   446,   447,    -1,    -1,
      -1,  4916,  4917,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  4930,    -1,    -1,    -1,    -1,
      -1,   247,    -1,    -1,    -1,   175,    -1,  4942,  4943,    -1,
     180,    -1,    -1,    -1,   260,    22,    -1,   263,    -1,    -1,
      -1,    28,    -1,    -1,    -1,    -1,    -1,  2991,  2992,    -1,
      -1,   201,   202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  3007,    -1,    -1,   216,    -1,  2013,  2014,
      -1,    -1,    -1,  2018,  2019,    -1,    -1,    -1,  2023,  3023,
      -1,    68,    -1,    -1,    -1,    -1,    -1,    -1,  3032,  3033,
      -1,    -1,  2037,    -1,    -1,    -1,    -1,   247,    -1,  2044,
      -1,    -1,    -1,  2048,  2049,  3049,    -1,  2052,  2053,    -1,
     260,    -1,    -1,   263,  2059,   341,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  2071,    -1,  2073,    -1,
      -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,    -1,   126,
      -1,    -1,   129,    -1,    -1,  2090,    -1,    -1,     8,    -1,
    2095,    11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,
      -1,    -1,    -1,  2108,    -1,    -1,    -1,   154,    -1,    -1,
      -1,  2116,    32,  2118,    -1,  2120,  2121,  2122,   604,    -1,
      40,    -1,  2127,  2128,    -1,    -1,    46,    -1,    -1,    -1,
      -1,   341,  2137,    -1,    -1,    -1,    -1,  2142,   185,   625,
      -1,    -1,  2147,    -1,    -1,    -1,  3150,    -1,   434,    -1,
      70,   437,   438,   439,    -1,   441,   442,   443,   444,   445,
     446,   447,    -1,    -1,    -1,    -1,   452,  2172,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2183,    -1,
    2185,    -1,    -1,    -1,    -1,  2190,    -1,    -1,    -1,  2194,
      -1,  2196,  2197,  2198,  2199,   242,  2201,   244,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   254,    -1,  2214,
    2215,  2216,    -1,    -1,    -1,   262,    -1,    -1,    -1,  2224,
    2225,    -1,    -1,    -1,   434,   272,    -1,   437,   438,   439,
      -1,   441,   442,   443,   444,   445,   446,   447,    -1,    -1,
      -1,    -1,   452,    -1,    -1,     8,    -1,    -1,    11,    -1,
      -1,    -1,    15,    16,    17,   175,    -1,    -1,    -1,   306,
     180,    -1,   309,   310,    -1,    -1,    -1,    -1,    -1,    32,
      -1,    -1,    -1,  2278,  3278,  3279,  3280,    40,    -1,    -1,
      -1,   201,   202,    46,    -1,    -1,    -1,    -1,    -1,   336,
      -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     260,    -1,    -1,   263,    -1,    -1,    -1,    -1,    22,    -1,
      -1,    -1,   399,    -1,    28,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,
      -1,    11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    32,    -1,    68,    -1,    -1,    -1,    -1,    -1,
      40,    -1,    -1,    -1,    -1,   891,    46,    -1,    -1,    -1,
      -1,    -1,   175,    -1,    -1,    -1,    -1,   180,    -1,    -1,
      -1,   341,    -1,    -1,    -1,   911,    -1,    -1,  2433,    -1,
      70,    -1,    -1,    -1,   920,    -1,    -1,    -1,   201,   202,
      -1,    -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,
      -1,    -1,   126,   216,    -1,   129,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2468,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     154,    -1,    -1,    -1,   247,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   260,    -1,    -1,
     263,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     996,   185,    -1,    -1,   434,    -1,    -1,   437,   438,   439,
      -1,   441,   442,   443,   444,   445,   446,   447,    -1,    -1,
      -1,    -1,   452,    -1,    -1,   175,    -1,    -1,    -1,    -1,
     180,     8,    -1,    -1,    11,    -1,  3550,    -1,    15,    16,
      17,    -1,    -1,    -1,    -1,    -1,  3560,    -1,    -1,    -1,
      -1,   201,   202,    -1,    -1,    32,    -1,    -1,   242,    -1,
     244,    -1,    -1,    40,    -1,    -1,   216,    -1,   341,    46,
     254,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   262,    -1,
      -1,  3595,    -1,    -1,    -1,    -1,    -1,    -1,   272,    -1,
      -1,    -1,    -1,    70,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,    -1,  1100,    -1,    -1,    -1,    -1,  3623,
     260,    -1,    -1,   263,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   306,    -1,    -1,   309,   310,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  2657,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   336,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   434,    -1,  3677,   437,   438,   439,    -1,   441,   442,
     443,   444,   445,   446,   447,    -1,    -1,    -1,    -1,   452,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   341,    -1,    -1,  2709,  2710,    -1,    -1,   175,    -1,
      -1,    -1,    -1,   180,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  2727,    -1,    -1,   399,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   187,   201,   202,    -1,    -1,    -1,    -1,
      -1,    -1,   196,   197,    -1,    -1,    -1,  2752,    -1,   216,
     204,    -1,    -1,    -1,    -1,    -1,  2761,    -1,    -1,    -1,
      -1,   215,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  2777,  2778,    -1,    -1,    -1,  2782,    -1,    -1,
     247,    -1,  2787,  2788,  2789,    -1,    -1,    -1,    -1,  3793,
    3794,  3795,  3796,   260,   434,    -1,   263,   437,   438,   439,
      -1,   441,   442,   443,   444,   445,   446,   447,    -1,    -1,
      -1,    -1,   452,  2818,  2819,  2820,  2821,    -1,    -1,    -1,
      -1,    -1,  1308,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,    -1,
      11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,    -1,
    2855,    -1,  2857,  2858,  2859,    -1,    -1,    -1,    -1,    -1,
      -1,    32,  2867,    -1,    -1,    -1,    -1,    -1,    -1,    40,
      -1,    -1,    -1,    -1,   341,    46,    -1,    -1,    -1,     8,
      -1,    -1,    11,    -1,    -1,  1371,    15,    16,    17,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
      -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    40,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,
      -1,  1407,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  2936,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2944,
      -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2963,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,
     437,   438,   439,    -1,   441,   442,   443,   444,   445,   446,
     447,  2986,    -1,    -1,    -1,   452,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  1487,    -1,    -1,   175,    -1,    -1,    -1,    -1,   180,
      -1,    -1,    -1,    -1,    -1,    -1,  1502,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  1510,  3030,    -1,    -1,    -1,  3034,
     201,   202,    -1,    -1,    -1,  1521,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   216,   175,    -1,    -1,    -1,
      -1,   180,    -1,    -1,    -1,    -1,    -1,    -1,  3063,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   201,   202,    -1,    -1,   247,    -1,    -1,    -1,
      -1,    -1,  1568,    -1,    -1,    -1,    -1,   216,  3093,   260,
      -1,    -1,   263,    -1,    -1,  1581,   550,    -1,  4102,    -1,
      -1,    -1,  3107,    -1,    -1,    -1,  3111,  1593,   562,    -1,
      -1,    -1,    -1,   567,    -1,    -1,    -1,  3122,   247,  1605,
      -1,    -1,    -1,    -1,   578,    -1,    -1,    -1,    -1,    -1,
      -1,   260,    -1,    -1,   263,    -1,    -1,    -1,    -1,    -1,
     594,    -1,    -1,    -1,   598,    -1,    -1,    -1,    -1,    -1,
     604,    -1,    -1,    -1,   608,   609,    -1,    -1,    -1,    -1,
      -1,   615,    -1,  1649,    -1,    -1,  1652,    -1,    -1,    -1,
     341,   625,   626,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     634,    -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,    -1,
      11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    32,   341,    -1,    -1,    -1,    -1,    -1,    -1,    40,
      -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   713,
     714,    -1,    -1,   434,    -1,   719,   437,   438,   439,    -1,
     441,   442,   443,   444,   445,   446,   447,    -1,    -1,    -1,
      -1,   452,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   745,    -1,    -1,    -1,    -1,  1782,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,   437,   438,
     439,    -1,   441,   442,   443,   444,   445,   446,   447,    -1,
      -1,    -1,    -1,   452,    -1,    -1,    -1,    -1,    -1,  4333,
      -1,    -1,    -1,    -1,    -1,  1821,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  4349,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   175,    -1,    -1,    -1,    -1,   180,
      -1,    -1,    -1,  3368,    -1,  3370,    -1,    -1,    -1,    -1,
      -1,    -1,  3377,    -1,    -1,    -1,    -1,    -1,  4382,    -1,
     201,   202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3394,
      -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  3409,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  3420,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,    -1,
     884,    -1,    -1,  3438,    -1,    -1,    -1,   891,    -1,   260,
      -1,   895,   263,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   911,    -1,    -1,
    3465,    -1,    -1,    -1,    -1,    -1,   920,    -1,    -1,    -1,
      -1,    -1,    -1,  3478,  3479,  3480,    -1,    -1,  3483,  3484,
    3485,  3486,  3487,  3488,    -1,    -1,    -1,  4491,  3493,  3494,
      -1,  3496,  3497,  3498,  3499,  3500,  3501,  3502,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   959,  3511,    -1,  3513,  3514,
      -1,    -1,  1998,    -1,    -1,    -1,  2002,  2003,    -1,    -1,
     341,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   996,    -1,    -1,    -1,    -1,    -1,  3553,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4571,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1031,    -1,  2065,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  2077,    -1,    -1,    -1,    -1,    -1,  1051,    -1,    -1,
      -1,  1055,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1063,
      -1,    -1,    -1,   434,    -1,    -1,   437,   438,   439,    -1,
     441,   442,   443,   444,   445,   446,   447,    -1,  2114,    -1,
      -1,   452,    -1,    -1,    -1,    -1,    -1,  1091,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  3650,  1100,    -1,  1102,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  1117,    -1,    -1,  1120,    -1,    -1,    -1,
      -1,    -1,    -1,  3678,  3679,  3680,    -1,    -1,  1132,    -1,
      -1,    -1,    -1,    -1,    -1,  3690,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1161,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  1189,  1190,  1191,    -1,    -1,
    1194,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1214,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2269,    -1,    -1,    -1,    -1,  1242,    -1,
      -1,    -1,    -1,    -1,    -1,     8,  1250,  1251,    11,    -1,
      -1,    -1,    15,    16,    17,  1259,  1260,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    -1,    -1,
      -1,    -1,    -1,    46,  1288,    -1,    -1,    -1,  1292,  1293,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2339,  1308,    -1,    -1,    70,    -1,    -1,
    1314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      22,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3902,    -1,    -1,
      -1,  3906,  3907,  3908,  3909,    -1,    -1,  3912,    -1,    -1,
      -1,    53,    -1,    -1,    -1,    -1,    -1,  1371,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    68,    -1,    -1,  3934,
    3935,  3936,  3937,    -1,  3939,  3940,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3951,  3952,    -1,    -1,
      -1,    -1,    -1,  1407,    -1,    -1,    -1,    -1,    -1,   101,
      -1,    -1,   175,    -1,  3969,    -1,    -1,   180,    -1,    -1,
      -1,  3976,  3977,  2459,  3979,    -1,    -1,   119,    -1,    -1,
      -1,    -1,    -1,     8,   126,    -1,    11,   129,   201,   202,
      15,    16,    17,    -1,  2480,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   216,    -1,  2491,    -1,    32,    -1,    -1,
      -1,    -1,   154,  1467,    -1,    40,    -1,    -1,    -1,    -1,
      -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  1487,   247,    -1,    -1,    -1,    -1,    -1,
     182,    -1,    -1,   185,    -1,    70,    -1,   260,  1502,    -1,
     263,    -1,    -1,    -1,    -1,    -1,  1510,    -1,  4063,    -1,
      -1,    -1,  1516,    -1,    -1,    -1,    -1,  1521,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4084,
      -1,    -1,    -1,  1537,    -1,    -1,    -1,  1541,   230,    -1,
     232,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1553,
     242,    -1,   244,    -1,    -1,    -1,    -1,    -1,    -1,  4114,
      -1,    -1,   254,    -1,  1568,    -1,    -1,    -1,    -1,    -1,
     262,  1575,    -1,    -1,    -1,    -1,    -1,  1581,   341,   271,
     272,    -1,    -1,  1587,    -1,    -1,    -1,    -1,    -1,  1593,
      -1,    -1,    -1,  2629,  2630,  2631,    -1,    -1,    -1,    -1,
     175,  1605,    -1,    -1,    -1,   180,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   306,    -1,    -1,   309,   310,   311,
    1624,    -1,  1626,  1627,    -1,    -1,   201,   202,    -1,    -1,
      -1,    -1,    -1,    -1,  4189,  1639,    -1,    -1,    -1,    -1,
      -1,   216,    -1,    -1,   336,  1649,    -1,    -1,  1652,  4204,
    1654,  1655,    -1,    -1,    -1,    -1,    -1,    -1,   350,    -1,
    2696,    -1,  1666,  2699,    -1,  2701,    -1,    -1,    -1,    -1,
    2706,   434,   247,    -1,   437,   438,   439,    -1,   441,   442,
     443,   444,   445,   446,   447,   260,    -1,    -1,   263,   452,
      -1,    -1,    -1,    -1,  1698,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   399,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  4271,    -1,    -1,    -1,
      -1,  2757,    -1,    -1,    -1,    -1,    -1,    -1,  1732,    -1,
    1734,    -1,    -1,    -1,  4289,  1739,  1740,    -1,  2774,  4294,
    4295,    -1,  1746,  1747,  1748,    -1,    -1,    -1,  1752,    -1,
    1754,  1755,  1756,  1757,  1758,  1759,    -1,  1761,    -1,  1763,
    1764,    -1,  2798,  1767,    -1,    -1,   341,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1782,  1783,
    1784,  1785,  1786,  1787,    -1,    -1,    -1,  1791,    -1,    -1,
      -1,  1795,    -1,    -1,  1798,  4350,    -1,  1801,  1802,  1803,
    1804,  1805,  1806,  1807,  1808,  1809,  1810,    -1,  1812,    -1,
      -1,    -1,    -1,    -1,    -1,  1819,    -1,  1821,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2863,    -1,  2865,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  4396,    -1,    -1,    -1,    -1,    -1,    -1,  4403,    25,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   434,
      -1,    -1,   437,   438,   439,    -1,   441,   442,   443,   444,
     445,   446,   447,    -1,    -1,    -1,    -1,   452,    -1,    -1,
      -1,    -1,    58,  4438,    -1,    -1,    -1,    -1,  2924,    -1,
      -1,    -1,    -1,    -1,  4449,    71,    72,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    81,    -1,    -1,    -1,    85,
      -1,    -1,    -1,  2949,    -1,    -1,  4471,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,     8,   103,    -1,    11,
      -1,    -1,    -1,    15,    16,    17,    -1,  2973,    -1,    -1,
    4495,    -1,    -1,    -1,  2980,  1949,    -1,    -1,   124,  4504,
      32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,   135,
      -1,    -1,    -1,    -1,    46,    -1,    -1,   143,    -1,    -1,
    4525,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,
      -1,    -1,    -1,    -1,   160,    -1,    -1,    -1,    70,    -1,
      -1,    -1,    -1,    -1,  1998,    -1,    -1,    -1,  2002,  2003,
      -1,    -1,  3038,    -1,    -1,    -1,    -1,   183,  2012,    -1,
      -1,    -1,  2016,  2017,    -1,    -1,    -1,  2021,    -1,    -1,
    3056,    -1,    -1,    -1,    -1,  2029,    -1,    -1,    -1,    -1,
      -1,    -1,   208,  3069,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2047,    -1,    -1,  2050,    -1,    -1,    -1,
    4605,    -1,    -1,   229,    -1,    -1,    -1,  2061,    -1,    -1,
      -1,  2065,    -1,    -1,  2068,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4627,  2077,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   260,  2089,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   175,    -1,    -1,    -1,    -1,   180,    -1,
      -1,    -1,  2106,  2107,   280,    -1,    -1,  4662,    -1,    -1,
    2114,    -1,    -1,    -1,   290,    -1,    -1,    -1,    -1,   201,
     202,    -1,  4677,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  2135,  2136,    -1,   216,  2139,  3172,    -1,    -1,    -1,
      -1,   317,    -1,    -1,    -1,    -1,   322,  4702,   324,    -1,
      -1,    -1,    -1,    -1,   330,    -1,    -1,   333,  3194,    -1,
      -1,    -1,    -1,  2167,    -1,   247,    -1,  2171,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   260,    -1,
      -1,   263,    -1,    -1,  3220,  2189,   362,    -1,    -1,   365,
      -1,    -1,    -1,   369,    -1,    -1,  2200,    -1,    -1,    -1,
     376,    -1,   378,    -1,    -1,    -1,    -1,   383,    -1,  2213,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2221,  4773,  3255,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  4798,     8,    -1,    -1,    11,    -1,    -1,
      -1,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,   341,
      -1,    -1,    -1,    -1,  2268,  2269,    -1,  3303,    32,    -1,
      -1,    -1,    -1,  2277,    -1,    -1,    40,    -1,    -1,    -1,
      -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,
    3346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  2339,    -1,    -1,    -1,  2343,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2352,    -1,
      -1,    -1,   434,    -1,    -1,   437,   438,   439,    -1,   441,
     442,   443,   444,   445,   446,   447,    -1,    -1,   450,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,     8,    -1,    -1,    11,    -1,    -1,    -1,    15,
      16,    17,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2407,    -1,  3441,    32,    -1,  2412,    35,
      -1,   175,    -1,    -1,    40,    -1,   180,    -1,    -1,    -1,
      46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   201,   202,  2443,
      -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   216,    -1,    -1,  2459,    -1,    -1,    -1,    -1,
      -1,  2465,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2473,
      -1,    -1,    -1,  2477,    -1,    -1,  2480,    -1,    -1,  2483,
      -1,    -1,    -1,   247,    -1,    -1,    -1,  2491,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   260,  2501,    -1,   263,
      -1,    -1,  2506,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     284,    -1,    -1,    -1,    -1,    -1,  2530,  2531,  2532,    -1,
      -1,  2535,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2543,
    2544,  2545,  2546,    -1,    -1,  3581,    -1,  2551,    -1,   175,
      -1,    -1,  2556,  2557,   180,  2559,    -1,  2561,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2573,
    2574,    -1,    -1,  2577,    -1,   201,   202,   341,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2591,    -1,  2593,
     216,  2595,    -1,   357,  3630,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  2616,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   247,    -1,  2627,    -1,  2629,  2630,  2631,    -1,    -1,
      -1,   197,    -1,    -1,   260,    -1,    -1,   263,   204,    -1,
    2644,    -1,    -1,  2647,    -1,    -1,    -1,    -1,    -1,   215,
      -1,    -1,    -1,    -1,    -1,  2659,    -1,    -1,    -1,    -1,
    2664,    -1,    -1,    -1,    -1,    -1,  2670,    -1,    -1,    -1,
     434,    -1,    -1,   437,   438,   439,  2680,   441,   442,   443,
     444,   445,   446,   447,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  2696,    -1,    -1,  2699,    -1,  2701,     8,    -1,
      -1,    11,  2706,    -1,  2708,    15,    16,    17,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   341,    -1,    -1,    -1,    -1,
    2724,  2725,    32,    -1,    -1,    -1,  2730,  3763,    -1,    -1,
      40,    -1,    -1,    -1,    -1,    -1,    46,    -1,  3774,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2751,    -1,    -1,
    2754,    -1,    -1,  2757,    -1,    -1,    -1,    -1,    -1,    -1,
      70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2774,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3826,    -1,    -1,    -1,  2798,  3831,    -1,    -1,    -1,    -1,
      -1,  3837,    -1,    -1,    -1,    -1,    -1,    -1,   434,    -1,
      -1,   437,   438,   439,    -1,   441,   442,   443,   444,   445,
     446,   447,    -1,    -1,    -1,    -1,  2830,  2831,  2832,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2854,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3894,  2863,
      -1,  2865,  2866,    -1,    -1,   175,  2870,    -1,    -1,    -1,
     180,    -1,    -1,    -1,    -1,    -1,  2880,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3923,    -1,    -1,
      -1,   201,   202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   216,  3943,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2924,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,  2943,
      -1,    -1,    -1,    -1,    -1,  2949,    -1,    -1,    -1,    -1,
     260,    -1,    -1,   263,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  3997,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2973,
      -1,    -1,   282,    -1,    -1,  2979,  2980,    -1,    -1,    -1,
      -1,  2985,    -1,  2987,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  2999,   562,  3001,    -1,    -1,
      -1,   567,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   578,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   594,    -1,
      -1,   341,    -1,    -1,  3038,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   609,    -1,    -1,    -1,    -1,    -1,   615,
      -1,  3055,  3056,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     626,  4097,    -1,  4099,    -1,  3069,    -1,    -1,   634,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,
      -1,    11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,  3112,  4145,
      40,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,
    3124,    -1,    -1,  3127,   434,    -1,    -1,   437,   438,   439,
      -1,   441,   442,   443,   444,   445,   446,   447,    -1,    -1,
      70,    -1,    -1,    -1,    -1,  3149,    -1,    -1,  3152,    -1,
      -1,    -1,    -1,   719,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  3169,    -1,    -1,  3172,    -1,
      -1,    -1,    -1,  3177,    -1,  3179,    -1,    -1,    -1,    -1,
      -1,  3185,    -1,  3187,    -1,    -1,  3190,    -1,    -1,    -1,
    3194,  3195,  3196,  3197,  3198,    -1,    -1,  3201,  3202,  3203,
    3204,  3205,  3206,  3207,  3208,  3209,  3210,  3211,    -1,    -1,
      -1,  3215,  3216,    -1,    -1,    -1,  3220,    -1,    -1,    -1,
      -1,  3225,    -1,    -1,    -1,  3229,    -1,  3231,    -1,  3233,
      -1,    -1,    -1,  4269,    -1,    -1,    -1,    -1,  3242,    -1,
      -1,  3245,    -1,  3247,    -1,   175,    -1,    -1,    -1,    -1,
     180,  3255,  3256,    -1,    -1,  3259,  3260,    -1,    -1,    -1,
    3264,  3265,    -1,    -1,    -1,    -1,    -1,  3271,    -1,    -1,
      -1,   201,   202,    -1,    -1,    -1,    -1,  3281,    -1,  3283,
      -1,    -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,    -1,
      -1,  3295,    -1,    -1,    -1,    -1,    -1,  3301,  3302,  3303,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   247,    -1,    -1,
      -1,    -1,    -1,  3327,    -1,    -1,    -1,    -1,    -1,    -1,
     260,    -1,    -1,   263,    -1,    -1,  3340,    -1,    -1,    -1,
      -1,    -1,  3346,    -1,    -1,    -1,    -1,    -1,   278,  4385,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3361,    -1,    -1,
      -1,    -1,    -1,     8,    -1,    -1,    11,    -1,    -1,    -1,
      15,    16,    17,    -1,    -1,    -1,    -1,  4413,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,    -1,  3393,
      35,    -1,    -1,    -1,    -1,    40,    -1,    -1,    -1,    -1,
      -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   341,    -1,    -1,    -1,  4451,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,
      -1,  3435,    -1,    -1,    -1,    -1,  3440,  3441,  3442,    -1,
       8,    -1,    -1,    11,    -1,    -1,    -1,    15,    16,    17,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    32,  1031,    -1,    -1,    -1,  4505,
      -1,    -1,    40,  4509,  4510,    -1,    -1,    -1,    46,    -1,
      -1,    -1,    -1,    -1,    -1,  1051,    -1,    -1,  3492,    -1,
      -1,  3495,    -1,    -1,    -1,    -1,    -1,  1063,    -1,    -1,
      -1,    -1,    70,    -1,   434,    -1,    -1,   437,   438,   439,
      -1,   441,   442,   443,   444,   445,   446,   447,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  1091,    -1,    -1,  3532,    -1,
     175,    -1,    -1,    -1,    -1,   180,  1102,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3554,  1117,    -1,    -1,  1120,    -1,   201,   202,    -1,    -1,
      -1,  4597,  4598,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   216,    -1,  3577,  3578,    -1,    -1,  3581,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3590,    -1,  3592,    -1,
     158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   247,    -1,    -1,    -1,    -1,   175,    -1,    -1,
      -1,    -1,   180,    -1,    -1,   260,    -1,    -1,   263,    -1,
      -1,    -1,    -1,    -1,    -1,   197,  3630,  3631,  3632,    -1,
      -1,    -1,   204,   201,   202,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   215,    -1,    -1,    -1,    -1,   216,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  1242,    -1,    -1,   247,
      -1,    -1,  3686,    -1,  1250,  1251,    -1,    -1,    -1,    -1,
      -1,    -1,   260,    -1,  1260,   263,   341,    -1,    -1,    -1,
      -1,    -1,    -1,  3707,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  3719,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3750,    -1,  1314,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3760,  3761,    -1,  3763,
      -1,    -1,    -1,    -1,  3768,  3769,    -1,    -1,    -1,  3773,
    3774,    -1,    -1,   341,  3778,    -1,    -1,  3781,  3782,    -1,
      -1,    -1,  3786,    -1,    -1,    -1,    -1,    -1,  3792,   434,
      -1,    -1,   437,   438,   439,    -1,   441,   442,   443,   444,
     445,   446,   447,    -1,    -1,    -1,  3810,    -1,    -1,    -1,
    3814,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  3826,    -1,    -1,    -1,    -1,  3831,    -1,    -1,
      -1,    -1,    -1,  3837,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3852,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   434,    -1,    -1,   437,
     438,   439,  3876,   441,   442,   443,   444,   445,   446,   447,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3894,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  1467,    -1,    -1,    -1,    -1,    -1,  3911,    -1,    -1,
    3914,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3923,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  3938,    -1,    -1,    -1,    -1,  3943,
      -1,    -1,    -1,    -1,    -1,    -1,  3950,    -1,    -1,    -1,
    1516,    -1,    -1,    -1,  3958,    -1,    -1,   604,    -1,     8,
      -1,    -1,    11,    -1,  3968,    -1,    15,    16,    17,    -1,
      -1,  1537,    -1,    -1,    -1,  1541,    -1,    -1,   625,    -1,
      -1,    -1,    -1,    32,    -1,    -1,    35,  1553,    -1,    -1,
     562,    40,    -1,  3997,    -1,   567,    -1,    46,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   578,    -1,    -1,    -1,
      -1,  4015,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    70,   594,    -1,    -1,    -1,    -1,    -1,  4032,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   609,    -1,  4043,
      -1,    -1,    -1,   615,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   626,    -1,    -1,    -1,    -1,    -1,
    1626,  1627,   634,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  1639,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1654,  1655,
      -1,    -1,    -1,  4097,    -1,  4099,    -1,    -1,    -1,    -1,
    1666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  4125,    -1,    -1,    -1,    -1,   175,    -1,    -1,    -1,
      -1,   180,    -1,    -1,    -1,    -1,    -1,  4141,    -1,    -1,
      -1,  4145,    -1,    -1,    -1,    -1,  4150,   719,    -1,    -1,
      -1,    -1,   201,   202,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  4168,  4169,    -1,   216,  4172,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4186,    -1,    -1,    -1,    -1,  4191,    -1,    -1,
      -1,    -1,  4196,    -1,    -1,  4199,  4200,    -1,   247,    -1,
      -1,    -1,    -1,  4207,  4208,    -1,    -1,    -1,    -1,    -1,
      -1,   260,    -1,    -1,   263,    -1,    -1,    -1,    -1,  4223,
      -1,  1787,    -1,    -1,    -1,    -1,  4230,    -1,  4232,    -1,
      -1,    -1,  4236,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   891,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   911,  4269,  4270,    -1,    -1,    -1,
      -1,    -1,    -1,   920,    -1,  4279,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   341,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4316,    -1,  4318,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  4330,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   604,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   996,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   625,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4383,
      -1,  4385,    -1,    -1,    -1,   434,    -1,    -1,   437,   438,
     439,    -1,   441,   442,   443,   444,   445,   446,   447,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4412,  4413,
      -1,  4415,    -1,  4417,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4441,    -1,    -1,
      -1,  4445,    -1,    -1,    -1,    -1,  2012,  4451,    -1,    -1,
    2016,  2017,  4456,  1100,    -1,  2021,    -1,    -1,    -1,  1031,
      -1,    -1,    -1,  2029,    -1,    -1,    -1,    22,    -1,    -1,
      -1,  4475,    -1,    28,    -1,    -1,    -1,    -1,    -1,  1051,
      -1,  2047,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  1063,    -1,    -1,    -1,  4499,    -1,    -1,    53,    -1,
      -1,  4505,    -1,    -1,    -1,  4509,  4510,    -1,    -1,    -1,
    4514,    -1,    -1,    68,    -1,    -1,    -1,    -1,    -1,  1091,
      -1,    -1,    -1,  2089,    -1,    -1,    -1,    -1,    -1,    -1,
    1102,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2106,  2107,    -1,    -1,    -1,  1117,   101,    -1,  1120,    -1,
      -1,  4555,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   119,    -1,    -1,    -1,    -1,  2135,
    2136,   126,  4576,  2139,   129,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  4597,  4598,    -1,    -1,    -1,  1245,   154,
      -1,  2167,    -1,    -1,    -1,  2171,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  4618,    -1,    -1,  4621,    -1,    -1,
      -1,    -1,    -1,  2189,    -1,   891,  4630,   182,    -1,    -1,
     185,  4635,    -1,  4637,  2200,  4639,    -1,    -1,    -1,    -1,
      -1,    -1,  4646,    -1,    -1,   911,    -1,  2213,    -1,    -1,
      -1,    -1,    -1,    -1,   920,  2221,    -1,    -1,    -1,    -1,
    4664,  1308,    -1,    -1,    -1,    -1,    -1,    -1,   713,   714,
    1242,    -1,    -1,    -1,    -1,   230,    -1,   232,  1250,  1251,
      -1,    25,    -1,  4687,    -1,    -1,    -1,   242,  1260,   244,
      -1,    -1,    -1,    37,    -1,    -1,    -1,    -1,    -1,   254,
     745,    -1,    -1,    -1,    -1,    -1,    -1,   262,    -1,    -1,
      -1,  2277,  4716,    -1,    58,    -1,   271,   272,    -1,    -1,
      -1,    -1,    -1,    -1,  1371,    -1,    -1,    71,    -1,    -1,
     996,    -1,    -1,    -1,    -1,    -1,    -1,    81,    -1,  4743,
    4744,    85,  1314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4754,   306,    -1,    -1,   309,   310,   311,    -1,  4762,   103,
    1407,    -1,    -1,    -1,    -1,   109,    -1,    -1,    -1,    -1,
    4774,    -1,    -1,    -1,    -1,    -1,    -1,  2343,    -1,    -1,
     124,   336,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   135,    -1,    -1,    -1,   350,    -1,    -1,    -1,   143,
      -1,    -1,    -1,    -1,    -1,    -1,  4810,    -1,    -1,    -1,
      -1,   155,  4816,  4817,  4818,    -1,    -1,    -1,   162,    -1,
      -1,    -1,   166,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  4837,  1100,    -1,    -1,    -1,    -1,   183,
    1487,  2407,    -1,    -1,   399,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  1502,  4860,    -1,    -1,    -1,
      -1,    -1,    -1,  1510,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  1521,    -1,   220,  2443,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   229,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  1467,    -1,    -1,    -1,  2465,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2473,    -1,    -1,
      -1,    -1,  4916,  4917,    -1,    -1,   260,    -1,  4922,   263,
      -1,  1568,    -1,    -1,    -1,    -1,  4930,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  1581,    -1,   280,  4941,  4942,  4943,
      -1,    -1,    -1,    -1,  1516,    -1,  1593,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   299,    -1,    -1,  1605,    -1,
      -1,    -1,    -1,    -1,    -1,  1537,    -1,    -1,    -1,  1541,
      -1,    -1,    -1,   317,    -1,    -1,    -1,    -1,    -1,    -1,
     324,  1553,    -1,    -1,    -1,  2551,   330,    -1,    -1,   333,
      -1,  2557,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  1649,    -1,    -1,  1652,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   362,    -1,
      -1,   365,   366,    -1,   368,   369,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   378,    -1,    -1,    -1,    -1,   383,
      -1,    -1,  1308,    -1,    -1,   389,    -1,    -1,   392,    -1,
      -1,   395,    -1,    -1,  1626,  1627,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   408,    -1,     8,  1639,    -1,    11,
      -1,    -1,    -1,    15,    16,    17,    -1,    -1,  2644,    -1,
      -1,    -1,  1654,  1655,    -1,    -1,    -1,  1132,    -1,    -1,
      32,    -1,    -1,    -1,  1666,    -1,    -1,    -1,    40,    -1,
      -1,    -1,    -1,    -1,    46,  1371,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  1161,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,    -1,
      -1,    -1,    -1,    -1,    -1,  1782,    -1,    -1,    -1,    -1,
      -1,  1407,  2708,    -1,  1189,  1190,  1191,    -1,    -1,  1194,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2724,  2725,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1214,
      -1,    25,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    37,    -1,  2751,    -1,    -1,  2754,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  1259,  1787,    -1,    71,    -1,    -1,
      -1,  1487,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    85,    -1,   175,    -1,    -1,  1502,    -1,   180,    -1,
      -1,    -1,    -1,  1288,  1510,    -1,    -1,  1292,  1293,   103,
      -1,    -1,    -1,    -1,    -1,  1521,    -1,    -1,    -1,   201,
     202,    -1,    -1,    -1,  2830,  2831,  2832,    -1,    -1,    -1,
     124,    -1,    -1,    -1,   216,    -1,    -1,    -1,    -1,    -1,
      -1,   135,    -1,    -1,    -1,    -1,    -1,    -1,  2854,   143,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2866,   155,  1568,    -1,  2870,   247,   160,    -1,    -1,    -1,
      -1,    -1,   166,    -1,  2880,  1581,    -1,    -1,   260,    -1,
      -1,   263,    -1,    -1,    -1,    -1,    -1,  1593,    -1,   183,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1605,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  1998,    -1,    -1,    -1,  2002,  2003,    -1,     8,    -1,
      -1,    11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   229,    -1,  2943,    -1,    -1,
      -1,    -1,    32,  1649,    -1,    35,  1652,    -1,    -1,    -1,
      40,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,   341,
      -1,    -1,    -1,    -1,    -1,    -1,   260,    -1,    -1,    -1,
      -1,    -1,    -1,  2979,    -1,    -1,    -1,   271,  2065,  2985,
      70,  2987,    -1,    -1,    -1,    -1,   280,    -1,   370,    -1,
    2077,    -1,    -1,  2999,    -1,  3001,   290,    -1,    -1,    -1,
    2012,    -1,    -1,    -1,  2016,  2017,    -1,    -1,    -1,  2021,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2029,    -1,    -1,
      -1,    -1,    -1,   317,    -1,    -1,    -1,  2114,   322,    -1,
     324,    -1,    -1,    -1,    -1,  2047,   330,    -1,    -1,   333,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3055,
      -1,    -1,   434,    -1,    -1,   437,   438,   439,    -1,   441,
     442,   443,   444,   445,   446,   447,    -1,    -1,   362,    -1,
      -1,   365,    -1,    -1,    -1,   369,  1782,  2089,    -1,    -1,
      -1,    -1,   376,    -1,   378,   175,    -1,    -1,    -1,   383,
     180,    -1,    -1,    -1,  2106,  2107,    -1,    -1,    -1,    -1,
      -1,   395,    -1,    -1,    -1,    -1,  3112,    -1,    -1,    -1,
      -1,   201,   202,    -1,   408,    -1,    -1,    -1,    -1,    -1,
      -1,  3127,    -1,  2135,  2136,    -1,   216,  2139,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  3149,    -1,    -1,  3152,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  2167,    -1,   247,    -1,  2171,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     260,    -1,    -1,   263,    -1,    -1,    -1,  2189,    -1,    -1,
      -1,    -1,  2269,    -1,    -1,    -1,    -1,    -1,  2200,    -1,
      -1,     8,    -1,    -1,    11,    -1,    -1,    -1,    15,    16,
      17,  2213,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2221,
      -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    40,    -1,  3231,    -1,    -1,    -1,    46,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   341,  2339,    70,  1739,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  2277,    -1,  1752,    -1,  1754,
      -1,    -1,  1757,  1758,  1759,    -1,    -1,    -1,    -1,  1764,
      -1,    -1,  1767,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  1998,    -1,    -1,    -1,  2002,  2003,  1783,  1784,
    1785,  1786,    -1,    -1,    -1,    -1,  1791,    -1,    -1,    -1,
    1795,    -1,    -1,  1798,    -1,    -1,  1801,  1802,  1803,  1804,
    1805,  1806,  1807,  1808,  1809,  1810,    -1,  1812,    -1,   604,
      -1,  2343,    -1,    -1,  1819,    -1,  1821,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   434,    -1,    -1,   437,   438,   439,
     625,   441,   442,   443,   444,   445,   446,   447,   175,  2065,
      -1,    -1,    -1,   180,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  2077,  2459,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   201,   202,    -1,  3393,    -1,    -1,
      -1,    -1,    -1,  2480,    -1,  2407,    -1,    -1,   604,   216,
      -1,    -1,    -1,    -1,  2491,    -1,    -1,    -1,  2114,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   625,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3435,
     247,  2443,    -1,    -1,  3440,    -1,  3442,    -1,    -1,    -1,
      -1,    -1,    -1,   260,    -1,    -1,   263,    -1,    -1,    -1,
      -1,    -1,    -1,  2465,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  2473,    -1,    -1,  1949,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3492,    -1,    -1,  3495,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   341,    -1,  3532,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2551,
      -1,    -1,    -1,    -1,    -1,  2557,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2269,    -1,  2050,    -1,    -1,    -1,    -1,
      -1,  3577,  3578,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  3590,    -1,  3592,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2696,
      -1,    -1,  2699,    -1,  2701,    -1,   891,   434,    -1,  2706,
     437,   438,   439,    -1,   441,   442,   443,   444,   445,   446,
     447,    -1,  2644,  2339,    -1,    -1,   911,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   920,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2757,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3686,    -1,    -1,    -1,    -1,   891,    -1,  2774,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  2708,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   911,    -1,    -1,    -1,    -1,
      -1,  2798,  2724,  2725,   920,    -1,    -1,    -1,    -1,    -1,
      -1,   996,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2751,
      -1,    -1,  2754,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2459,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  2480,    -1,  2863,    -1,  2865,    -1,
      -1,    -1,    -1,  2268,    -1,  2491,    -1,    -1,    -1,    -1,
     996,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2830,  2831,
    2832,    -1,    -1,    -1,    -1,  1100,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2924,    -1,    -1,
      -1,    -1,  2854,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  2866,    -1,    -1,    -1,  2870,    -1,
      -1,    -1,  2949,    -1,    -1,    -1,    -1,    -1,  2880,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  2973,    -1,    -1,    -1,
      -1,    -1,    -1,  2980,  1100,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  3911,    -1,    -1,  3914,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2412,    -1,    -1,
      -1,  2943,  3938,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  3950,    -1,    -1,    -1,    -1,    -1,
      -1,  3038,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  3968,    -1,    -1,    -1,    -1,  2979,    -1,  3056,
      -1,    -1,    -1,  2985,    -1,  2987,    -1,    -1,    -1,    -1,
      -1,    -1,  3069,    -1,    -1,    -1,    -1,  2999,    -1,  3001,
    2696,    -1,    -1,  2699,    -1,  2701,    -1,    -1,    -1,    -1,
    2706,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4015,
      -1,    -1,    -1,    -1,    -1,    -1,  2501,    -1,    -1,    -1,
      -1,  2506,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  1308,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  3055,    -1,    -1,    -1,  2532,    -1,    -1,
      -1,  2757,    -1,    -1,    -1,    -1,    -1,    -1,  2543,    -1,
    2545,  2546,    -1,    -1,    -1,    -1,    -1,    -1,  2774,    -1,
      -1,  2556,    -1,    -1,  2559,    -1,  2561,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  3172,    -1,    -1,    -1,    -1,
      -1,    -1,  2798,    -1,    -1,    -1,  1371,    -1,    -1,    -1,
    3112,    -1,  1308,    -1,    -1,    -1,  2591,  3194,  2593,    -1,
    2595,    -1,    -1,    -1,    -1,  3127,    -1,    -1,    -1,  4125,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  1407,  3220,    -1,    -1,    -1,  3149,    -1,    -1,
    3152,    -1,    -1,    -1,  2629,  2630,  2631,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2863,    -1,  2865,
      -1,    -1,  2647,    -1,    -1,  1371,    -1,    -1,  3255,    -1,
      -1,    -1,    -1,    -1,  2659,    -1,    -1,    -1,    -1,  2664,
      -1,    -1,    -1,    -1,    -1,  2670,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  1407,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  1487,    -1,    -1,    -1,    -1,    -1,  2924,  3231,
      -1,    -1,    -1,    -1,  4230,    -1,  4232,  1502,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  1510,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2949,    -1,  2730,  1521,   604,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3346,
      -1,    -1,    -1,    -1,  4270,    -1,    -1,  2973,   625,    -1,
      -1,    -1,    -1,    -1,  2980,    -1,    -1,    -1,    -1,    -1,
      -1,  1487,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  1568,    -1,    -1,  1502,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  1510,    -1,  1581,    -1,    -1,    -1,
    4316,    -1,  4318,    -1,    -1,  1521,    -1,    -1,  1593,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1605,    -1,  3038,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3056,    -1,    -1,    -1,  3441,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  1568,  3069,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  1649,  1581,    -1,  1652,    -1,    -1,
      -1,  3393,    -1,    -1,    -1,    -1,    -1,  1593,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1605,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  3435,    -1,    -1,    -1,    -1,  3440,    -1,
    3442,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  1649,    -1,    -1,  1652,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3172,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   604,    -1,    -1,
    3492,    -1,    -1,  3495,    -1,    -1,    -1,    -1,  3194,    -1,
      -1,    -1,    -1,  4499,  3581,    -1,    -1,    -1,   625,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1782,    -1,    -1,
      -1,    -1,    -1,    -1,  3220,    -1,    -1,    -1,    -1,    -1,
    3532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   891,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  3630,    -1,    -1,    -1,    -1,    -1,  3255,
      -1,    -1,    -1,    -1,   911,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   920,    -1,  3577,  3578,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  1782,    -1,  3590,    -1,
    3592,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   996,
    3346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  3686,    -1,  3763,    -1,    -1,    -1,
      -1,  4687,    -1,    -1,  3169,    -1,    -1,  3774,    -1,    -1,
      -1,    -1,  3177,    -1,  3179,    -1,    -1,    -1,    -1,    -1,
    3185,    -1,  3187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  1998,    -1,    -1,    -1,  2002,  2003,    -1,
    3215,  3216,    -1,    -1,    -1,  3441,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  1100,    -1,    -1,    -1,    -1,  3233,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  4762,  3242,    -1,    -1,
    3245,    -1,  3247,    -1,   891,    -1,    -1,    -1,    -1,    -1,
      -1,  3256,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3264,
    3265,    -1,    -1,    -1,   911,    -1,    -1,    -1,    -1,    -1,
    2065,    -1,  1998,   920,    -1,    -1,  2002,  2003,    -1,    -1,
      -1,    -1,  2077,    -1,    -1,    -1,    -1,  3894,    -1,    -1,
    3295,    -1,    -1,    -1,    -1,    -1,  3301,  3302,  3303,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3923,    -1,    -1,  2114,
      -1,    -1,  3327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   604,  4860,  3340,  3943,    -1,    -1,  2065,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   996,
      -1,  2077,    -1,    -1,   625,  3581,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3911,
      -1,    -1,  3914,    -1,    -1,    -1,    -1,    -1,  2114,    -1,
    3997,    -1,    -1,    -1,    -1,    -1,  4922,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  3630,    -1,  3938,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  4941,    -1,    -1,  3950,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  1308,    -1,    -1,    -1,    -1,  3968,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  1100,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  2269,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  4015,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4099,    -1,  1371,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1407,    -1,    -1,    -1,    -1,    -1,    -1,  3763,  4145,    -1,
      -1,    -1,    -1,  2269,  2339,    -1,    -1,    -1,  3774,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  4125,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1487,    -1,    -1,  2339,    -1,    -1,    -1,    -1,    -1,    -1,
     891,    -1,    -1,    -1,    -1,  1502,  3631,  3632,    -1,    -1,
      -1,    -1,    -1,  1510,    -1,    -1,    -1,    -1,    -1,    -1,
     911,    -1,    -1,    -1,  1521,    -1,    -1,    -1,    -1,   920,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  1308,  4269,    -1,  2459,    -1,    -1,    -1,  3894,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  2480,    -1,    -1,    -1,    -1,
      -1,  1568,    -1,    -1,    -1,    -1,  2491,  3923,  4230,    -1,
    4232,    -1,  3707,    -1,  1581,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  3719,    -1,  1593,  3943,    -1,    -1,
      -1,    -1,    -1,    -1,  1371,   996,    -1,    -1,  1605,    -1,
      -1,    -1,    -1,  2459,    -1,    -1,    -1,    -1,  4270,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  2480,  3760,  3761,    -1,    -1,    -1,
    1407,    -1,    -1,  3768,  3769,  2491,    -1,    -1,  3773,    -1,
      -1,  3997,  1649,  3778,    -1,  1652,  3781,  3782,  4385,    -1,
      -1,  3786,    -1,    -1,  4316,    -1,  4318,  3792,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  4413,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  3826,    -1,    -1,    -1,    -1,  3831,    -1,    -1,  1100,
      -1,    -1,  3837,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1487,    -1,    -1,    -1,  4451,    -1,    -1,  3852,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  1502,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  1510,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  3876,    -1,  4099,  1521,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4505,    -1,
      -1,  2696,  4509,  4510,  2699,  1782,  2701,    -1,    -1,    -1,
      -1,  2706,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4145,
      -1,  1568,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  1581,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  1593,    -1,    -1,    -1,
      -1,    -1,    -1,  3958,    -1,    -1,    -1,    -1,  1605,    -1,
      -1,    -1,  2757,    -1,    -1,    -1,    -1,  4499,    -1,    -1,
    2696,    -1,    -1,  2699,    -1,  2701,    -1,    -1,    -1,  2774,
    2706,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  4598,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  1649,  2798,    -1,  1652,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4032,    -1,    -1,
      -1,  2757,    -1,    -1,    -1,    -1,    -1,  1308,    -1,    -1,
      -1,    -1,    -1,  4269,    -1,    -1,    -1,    -1,  2774,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2863,    -1,
    2865,    -1,  2798,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1371,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  1998,    -1,    -1,    -1,  2002,  2003,    -1,    -1,  2924,
      -1,    -1,    -1,    -1,    -1,  1782,  1407,  2863,    -1,  2865,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  2949,  4687,    -1,    -1,    -1,  4385,
      -1,    -1,    -1,  4168,  4169,    -1,    -1,  4172,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2973,    -1,
      -1,    -1,    -1,    -1,    -1,  2980,    -1,  4413,  2065,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2924,    -1,
    2077,    -1,  4207,  4208,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  1487,    -1,    -1,    -1,
      -1,    -1,    -1,  2949,    -1,  4451,    -1,    -1,    -1,    -1,
    4762,  1502,    -1,    -1,    -1,    -1,    -1,  2114,    -1,  1510,
      -1,    -1,    -1,  3038,    -1,    -1,    -1,  2973,    -1,    -1,
    1521,    -1,    -1,    -1,  2980,    -1,    -1,    -1,    -1,    -1,
      -1,  3056,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  3069,    -1,    -1,    -1,    -1,  4505,
      -1,    -1,    -1,  4509,  4510,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1568,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    1581,    -1,  3038,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  1593,    -1,    -1,    -1,    -1,    -1,  4860,    -1,
    3056,    -1,    -1,    -1,  1605,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  3069,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  1998,    -1,    -1,    -1,  2002,  2003,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4598,    -1,    -1,    -1,    -1,  3172,  1649,    -1,
      -1,  1652,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4922,    -1,  2269,    -1,    -1,    -1,    -1,    -1,    -1,  3194,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4941,
    4415,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2065,    -1,
      -1,    -1,    -1,    -1,    -1,  3220,    -1,    -1,    -1,    -1,
    2077,    -1,    -1,    -1,    -1,    -1,  4441,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3172,    -1,    -1,    -1,
      -1,  4456,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3255,    -1,  2339,    -1,    -1,    -1,    -1,  2114,  3194,    -1,
    4475,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  3220,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4514,
      -1,  1782,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3255,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  3346,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  4576,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  2459,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2480,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  2491,    -1,    -1,    -1,    -1,    -1,
    3346,    -1,  2269,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  4639,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3441,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4664,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  2339,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  3441,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1998,    -1,    -1,
      -1,  2002,  2003,    -1,    -1,    -1,    -1,    -1,  4743,  4744,
      -1,    -1,    -1,    -1,  1206,    -1,    -1,    -1,    -1,  4754,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3581,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  2065,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  2077,    -1,    -1,    -1,
      -1,  1273,  2459,  4818,    -1,    -1,    -1,    -1,    -1,  2696,
      -1,    -1,  2699,    -1,  2701,    -1,    -1,    -1,    -1,  2706,
      -1,    -1,  4837,  2480,    -1,  3630,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2114,  2491,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  3581,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    2757,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2774,    -1,    -1,
      -1,    -1,    -1,    -1,  3630,    -1,    -1,    -1,    -1,    -1,
      -1,  4916,  4917,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  2798,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3763,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3774,
      -1,    -1,    -1,    -1,    -1,    -1,  2863,    -1,  2865,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2269,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3763,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2924,  3774,  2696,
      -1,    -1,  2699,    -1,  2701,    -1,    -1,    -1,    -1,  2706,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2339,    -1,
      -1,    -1,  2949,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  2973,    -1,    -1,  3894,
      -1,    -1,    -1,  2980,    -1,    -1,    -1,    -1,    -1,    -1,
    2757,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  2774,  3923,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3943,    -1,
      -1,  2798,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  3038,    -1,    -1,    -1,    -1,    -1,    -1,  3894,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3056,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2459,    -1,
      -1,    -1,  3069,    -1,    -1,    -1,    -1,  3923,    -1,    -1,
    1662,    -1,  3997,    -1,    -1,    -1,    -1,    -1,    -1,  2480,
      -1,    -1,    -1,    -1,    -1,    -1,  2863,  3943,  2865,    -1,
    2491,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  3997,    -1,    -1,    -1,  1737,    -1,  2924,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1751,
      -1,    -1,    -1,  1755,    -1,  3172,    -1,    -1,    -1,    -1,
      -1,    -1,  2949,    -1,  4099,    -1,    -1,  1769,  1770,  1771,
      -1,    -1,  1774,    -1,    -1,    -1,    -1,  3194,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  2973,    -1,    -1,    -1,
      -1,    -1,    -1,  2980,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  3220,    -1,    -1,    -1,    -1,    -1,    -1,
    4145,    -1,    -1,    -1,    -1,  1817,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  4099,    -1,    -1,    -1,    -1,  3255,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  3038,    -1,  1855,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3056,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4145,
      -1,    -1,  3069,    -1,    -1,  2696,    -1,    -1,  2699,    -1,
    2701,    -1,    -1,    -1,    -1,  2706,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3346,
      -1,    -1,    -1,    -1,  4269,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  2757,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  1959,    -1,    -1,
      -1,    -1,    -1,  2774,    -1,    -1,    -1,    -1,    -1,  1971,
      -1,    -1,  1974,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  3172,    -1,  2798,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  4269,    -1,    -1,    -1,  3194,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  3441,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  3220,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4385,    -1,  2863,    -1,  2865,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3255,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4413,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2924,    -1,    -1,  4451,    -1,    -1,  4385,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2949,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  4413,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3346,
      -1,    -1,  2973,    -1,  3581,    -1,    -1,    -1,    -1,  2980,
    4505,    -1,    -1,    -1,  4509,  4510,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  4451,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  3630,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3038,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4505,
      -1,    -1,    -1,  4509,  4510,  3056,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  3441,    -1,    -1,    -1,  3069,    -1,
      -1,    -1,    -1,  4598,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4598,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3763,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3774,    -1,    -1,
      -1,  3172,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  3194,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  3581,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3220,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  3630,  3255,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3894,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  2504,    -1,    -1,    -1,  3923,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  2525,    -1,  2527,  3943,    -1,  2530,  2531,
      -1,  2533,    -1,  2535,    -1,  3346,    -1,  2539,    -1,    -1,
    2542,    -1,    -1,    -1,    -1,  2547,    -1,    -1,    -1,    -1,
      -1,  2553,    -1,    -1,    -1,    -1,  2558,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  2566,  2567,  2568,  2569,    -1,    -1,
      -1,  2573,  2574,    -1,  2576,    -1,  3763,    -1,    -1,    -1,
    3997,    -1,    -1,    -1,    -1,    -1,  2588,  3774,  2590,    -1,
      -1,    -1,    -1,    -1,    -1,  2597,  2598,  2599,  2600,  2601,
    2602,  2603,  2604,  2605,  2606,  2607,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3441,    -1,    -1,  2635,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4099,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,  3894,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4145,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3923,    -1,    -1,    -1,
      -1,    -1,    -1,  2745,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3943,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3581,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    3997,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3630,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4269,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4099,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  3763,    -1,    -1,    -1,    -1,    -1,  4145,    -1,
      -1,    -1,    -1,  3774,    -1,    -1,    -1,    -1,  4385,    -1,
      -1,    -1,    -1,    -1,  2976,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  4413,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  4451,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4269,  3894,    -1,    -1,    -1,    -1,  4505,    -1,
      -1,    -1,  4509,  4510,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  3923,  3115,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  3943,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3168,    -1,    -1,    -1,
      -1,    -1,  3174,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  4598,    -1,    -1,    -1,    -1,  3997,    -1,    -1,  3191,
    3192,    -1,    -1,  3195,  3196,  3197,  3198,    -1,  4385,  3201,
    3202,  3203,  3204,  3205,  3206,  3207,  3208,  3209,  3210,  3211,
    3212,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  4413,    -1,    -1,    -1,
      -1,    -1,  3234,    -1,    -1,  3237,    -1,  3239,    -1,    -1,
      -1,  3243,  3244,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3258,  3259,  3260,  3261,
      -1,  3263,    -1,    -1,  4451,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4099,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3311,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4505,  3321,
      -1,    -1,  4509,  4510,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  4145,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3358,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  4598,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4269,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  3554,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  4385,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4413,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4451,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  4505,    -1,    -1,    -1,  4509,  4510,
      -1,    -1,    -1,    -1,    -1,    -1,  3708,    -1,    -1,    -1,
    3712,  3713,  3714,  3715,    -1,    -1,    -1,    -1,    -1,  3721,
    3722,  3723,  3724,    -1,    -1,    -1,    -1,  3729,  3730,  3731,
    3732,  3733,  3734,  3735,  3736,  3737,  3738,  3739,  3740,  3741,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  3767,    -1,    -1,  3770,    -1,
    3772,    -1,    -1,    -1,  3776,    -1,    -1,  3779,  3780,    -1,
      -1,  3783,  3784,    -1,    -1,    -1,    -1,  4598,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,  3828,    -1,    -1,    -1,
      -1,    -1,    -1,  3835,  3836,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3851,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  4035,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4094,  4095,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  4135,    -1,    -1,    -1,    -1,  4140,  4141,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  4155,    -1,  4157,    -1,    -1,    -1,    -1,
    4162,  4163,  4164,    -1,    -1,  4167,    -1,    -1,  4170,  4171,
      -1,    -1,    -1,  4175,    -1,    -1,    -1,  4179,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,  4234,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4290,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  4335,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4411,
    4412,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,  4427,  4428,  4429,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,  4463,  4464,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4610,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  4626,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,  4676,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,  4715,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
    4772,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4821,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,     4,
       5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    26,    27,    28,    29,    -1,    -1,  4889,    -1,    34,
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
      55,    56,    57,    58,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    71,  4929,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    89,    90,    91,    92,    93,    94,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,   121,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,   157,    -1,   159,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,   214,
     215,   216,    -1,   218,   219,   220,   221,   222,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,   364,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
     395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
     405,   406,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
      -1,    -1,    -1,    -1,    -1,    -1,   441,   442,   443,    -1,
      -1,    -1,   447,    -1,    -1,    -1,   451,   452,     3,     4,
       5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
      55,    56,    57,    58,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    71,    -1,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    89,    90,    91,    92,    93,    94,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,   157,    -1,   159,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,   214,
     215,   216,    -1,   218,   219,   220,   221,   222,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
     395,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,   406,   407,   408,   409,   410,    -1,    -1,   413,    -1,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
      -1,   436,    -1,    -1,    -1,    -1,   441,   442,    -1,    -1,
      -1,    -1,   447,    -1,    -1,    -1,   451,   452,     3,     4,
       5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
      55,    56,    57,    58,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    71,    -1,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    89,    90,    91,    92,    93,    94,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,   157,    -1,   159,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,   214,
     215,   216,    -1,   218,   219,   220,   221,   222,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,   364,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
     395,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,   406,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
      -1,    -1,    -1,    -1,    -1,    -1,   441,   442,    -1,    -1,
      -1,    -1,   447,    -1,    -1,    -1,   451,   452,     3,     4,
       5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
      55,    56,    57,    58,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    71,    -1,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    89,    90,    91,    92,    93,    94,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,   157,    -1,   159,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,   214,
     215,   216,    -1,   218,   219,   220,   221,   222,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,   364,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
     395,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,   406,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
      -1,    -1,    -1,    -1,    -1,    -1,   441,   442,    -1,    -1,
      -1,    -1,   447,    -1,    -1,    -1,   451,   452,     3,     4,
       5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
      55,    56,    57,    58,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    71,    -1,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    89,    90,    91,    92,    93,    94,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,   157,    -1,   159,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,   214,
     215,   216,    -1,   218,   219,   220,   221,   222,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,   364,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
     395,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,   406,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
      -1,    -1,    -1,     3,    -1,    -1,   441,   442,    -1,    -1,
      -1,    -1,   447,    -1,    -1,    -1,   451,   452,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    35,    -1,    37,    38,    -1,
      40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
      90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,   159,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,    -1,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,   189,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,    -1,    -1,   203,   204,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,   214,   215,    -1,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,   245,   246,    -1,   248,    -1,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,   316,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,    -1,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,    -1,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,    -1,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,    -1,    -1,    -1,    -1,     3,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   452,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
      45,    -1,    47,    48,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    -1,    -1,    71,    -1,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    89,    90,    91,    92,    -1,    -1,
      -1,    96,    -1,    -1,    -1,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,    -1,   142,   143,   144,
      -1,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,   157,    -1,   159,   160,   161,   162,    -1,   164,
      -1,    -1,    -1,   168,    -1,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
     185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,    -1,   212,    -1,   214,
     215,   216,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,    -1,    -1,
     245,   246,   247,   248,    -1,    -1,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,   267,   268,   269,    -1,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,    -1,   282,    -1,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,   316,   317,   318,   319,    -1,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
      -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,    -1,    -1,   360,   361,    -1,   363,   364,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,    -1,   378,    -1,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
      -1,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
     405,   406,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,     3,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   431,   432,   433,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,   452,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
      -1,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    -1,    -1,    71,    -1,    73,    74,    75,
      76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
      96,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,    -1,   142,   143,   144,    -1,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,   157,    -1,   159,   160,   161,   162,    -1,   164,    -1,
      -1,    -1,   168,    -1,   170,   171,   172,   173,   174,   175,
     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
     186,    -1,   188,   189,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,   201,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,    -1,   212,    -1,   214,   215,
     216,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,   239,   240,   241,   242,    -1,    -1,   245,
     246,   247,   248,    -1,    -1,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,   267,   268,   269,    -1,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,    -1,   282,    -1,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
     316,   317,   318,   319,    -1,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,    -1,    -1,   360,   361,    -1,   363,   364,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,    -1,   378,    -1,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
     406,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,     3,     4,     5,     6,
       7,     8,     9,    10,    -1,   431,   432,   433,    -1,    -1,
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
      27,    28,    29,    -1,    -1,    -1,   452,    34,    -1,    -1,
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
      47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
      57,    58,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    71,    -1,    73,    74,    75,    76,
      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    89,    90,    91,    92,    93,    94,    95,    96,
      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
     107,   108,   109,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
     157,    -1,   159,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,   175,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,   189,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,   201,   202,   203,   204,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,   214,   215,   216,
      -1,   218,   219,   220,   221,   222,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
     247,   248,   249,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,   316,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
     337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,   362,   363,   364,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
     387,    -1,   389,   390,   391,   392,   393,   394,   395,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,   406,
     407,   408,   409,   410,    -1,    -1,   413,    -1,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,   434,    -1,   436,
      -1,    -1,    -1,    -1,   441,   442,    -1,    -1,    -1,    -1,
     447,    -1,    -1,    -1,   451,     3,     4,     5,     6,     7,
       8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
      28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,
      38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
      48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
      58,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
      68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
      -1,    89,    90,    91,    92,    93,    94,    95,    96,    97,
      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
     108,    -1,   110,    -1,   112,   113,   114,   115,   116,    -1,
     118,   119,   120,    -1,    -1,   123,   124,   125,   126,   127,
      -1,   129,   130,   131,    -1,   133,   134,   135,    -1,   137,
     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
      -1,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
      -1,   159,   160,   161,   162,    -1,   164,   165,    -1,   167,
     168,    -1,   170,   171,   172,   173,   174,   175,   176,   177,
     178,   179,    -1,   181,   182,   183,   184,   185,   186,    -1,
     188,   189,   190,   191,   192,   193,   194,   195,   196,    -1,
     198,    -1,   200,   201,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,    -1,   212,   213,   214,   215,   216,    -1,
     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
     248,   249,   250,   251,   252,   253,   254,   255,    -1,   257,
      -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,   267,
     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
      -1,   279,   280,   281,   282,   283,   284,   285,   286,    -1,
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
     298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
     308,   309,   310,   311,   312,    -1,   314,   315,   316,   317,
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
     328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
     338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
     358,    -1,   360,   361,   362,   363,   364,   365,   366,   367,
     368,   369,    -1,   371,   372,    -1,    -1,   375,   376,   377,
     378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
      -1,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
     398,   399,   400,   401,   402,   403,    -1,   405,   406,   407,
     408,   409,   410,    -1,    -1,   413,    -1,   415,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,   434,    -1,   436,    -1,
      -1,    -1,    -1,   441,   442,    -1,    -1,    -1,    -1,   447,
      -1,    -1,    -1,   451,     3,     4,     5,     6,     7,     8,
       9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    71,    -1,    73,    74,    75,    76,    77,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,   146,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,   158,
     159,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,   175,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
     189,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,   201,   202,   203,   204,   205,   206,   207,   208,
     209,    -1,   211,   212,   213,   214,   215,   216,    -1,   218,
     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
     249,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,   267,   268,
     269,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,   316,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,   335,   336,   337,   338,
     339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,   374,   375,   376,   377,   378,
     379,   380,   381,   382,   383,   384,   385,   386,   387,    -1,
     389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,   406,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,   434,    -1,    -1,    -1,    -1,
      -1,    -1,   441,   442,    -1,    -1,    -1,    -1,   447,    -1,
      -1,    -1,   451,     3,     4,     5,     6,     7,     8,     9,
      10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
      50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,   146,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,   157,    -1,   159,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,   189,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,   214,   215,   216,    -1,   218,   219,
     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,   267,   268,   269,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,   316,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
     340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
     380,   381,   382,   383,   384,   385,   386,   387,    -1,   389,
     390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,   406,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,   434,    -1,    -1,    -1,    -1,    -1,
      -1,   441,   442,    -1,    -1,    -1,    -1,   447,    -1,   449,
     450,   451,     3,     4,     5,     6,     7,     8,     9,    10,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
      -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    89,    90,
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,   146,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,   157,    -1,   159,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,   175,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
     201,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,   214,   215,   216,    -1,   218,   219,   220,
     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,   267,   268,   269,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,   316,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
     341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,   364,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,   380,
     381,   382,   383,   384,   385,   386,   387,    -1,   389,   390,
     391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,   406,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,   434,    -1,    -1,    -1,    -1,    -1,    -1,
     441,   442,   443,    -1,    -1,    -1,   447,    -1,    -1,    -1,
     451,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
      -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,
      42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
     102,   103,   104,   105,   106,   107,   108,   109,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,   146,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,   157,    -1,   159,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,   175,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,   201,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,   214,   215,   216,    -1,   218,   219,   220,   221,
     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,    -1,   265,   266,   267,   268,   269,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,   316,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
      -1,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,   380,   381,
     382,   383,   384,   385,   386,   387,    -1,   389,   390,   391,
     392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,   406,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,   434,    -1,    -1,    -1,    -1,    -1,    -1,   441,
     442,    -1,    -1,    -1,    -1,   447,    -1,    -1,    -1,   451,
       3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    -1,
      -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
      43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    71,    -1,
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    89,    90,    91,    92,
      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,   146,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,   157,    -1,   159,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,   175,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,   201,   202,
     203,   204,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,   214,   215,   216,    -1,   218,   219,   220,   221,   222,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,   267,   268,   269,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,   316,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,   380,   381,   382,
     383,   384,   385,   386,   387,    -1,   389,   390,   391,   392,
     393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,   406,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,   434,    -1,    -1,    -1,    -1,    -1,    -1,   441,   442,
      -1,    -1,    -1,    -1,   447,    -1,    -1,    -1,   451,     3,
       4,     5,     6,     7,     8,     9,    10,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
      34,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
      44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
      -1,    65,    66,    67,    68,    69,    -1,    71,    -1,    73,
      74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
      84,    85,    86,    87,    -1,    89,    90,    91,    92,    93,
      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
     114,   115,   116,    -1,   118,   119,   120,    -1,    -1,   123,
     124,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
     134,   135,    -1,   137,   138,   139,   140,   141,   142,   143,
     144,   145,   146,   147,    -1,   149,   150,   151,   152,    -1,
     154,    -1,   156,   157,   158,   159,   160,   161,   162,    -1,
     164,   165,    -1,   167,   168,    -1,   170,   171,   172,   173,
     174,   175,   176,   177,   178,   179,    -1,   181,   182,   183,
     184,   185,   186,    -1,   188,   189,   190,   191,   192,   193,
     194,   195,   196,    -1,   198,    -1,   200,   201,   202,   203,
     204,   205,   206,   207,   208,   209,    -1,    -1,   212,   213,
     214,   215,   216,    -1,   218,   219,   220,   221,   222,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
     254,   255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,
      -1,   265,   266,   267,   268,   269,   270,   271,   272,   273,
     274,   275,   276,   277,    -1,   279,   280,   281,   282,   283,
     284,   285,   286,    -1,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,    -1,
     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
     324,   325,   326,   327,   328,    -1,   330,   331,   332,   333,
     334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
     344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,   358,    -1,   360,   361,    -1,   363,
     364,   365,   366,   367,   368,   369,    -1,   371,   372,    -1,
      -1,   375,   376,   377,   378,   379,   380,   381,   382,   383,
     384,   385,   386,   387,    -1,   389,   390,   391,   392,   393,
     394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
      -1,   405,   406,   407,   408,   409,   410,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
     434,    -1,    -1,    -1,    -1,    -1,    -1,   441,   442,    -1,
      -1,    -1,    -1,   447,    -1,    -1,    -1,   451,     3,     4,
       5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
      55,    56,    57,    58,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    71,    -1,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    89,    90,    91,    92,    93,    94,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,   157,    -1,   159,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,   214,
     215,   216,    -1,   218,   219,   220,   221,   222,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,   364,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
     395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
     405,   406,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
      -1,    -1,    -1,    -1,    -1,    -1,   441,   442,    -1,    -1,
      -1,    -1,   447,    -1,    -1,    -1,   451,     3,     4,     5,
       6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
      46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
      56,    57,    58,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    71,    -1,    73,    74,    75,
      76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    89,    90,    91,    92,    93,    94,    95,
      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
     146,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,   157,    -1,   159,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,   175,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,   189,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,   201,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,   214,   215,
     216,    -1,   218,   219,   220,   221,   222,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,   335,
     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,   364,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
     386,   387,    -1,   389,   390,   391,   392,   393,   394,   395,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
     406,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,   434,    -1,
      -1,    -1,    -1,    -1,    -1,   441,   442,    -1,    -1,    -1,
      -1,   447,    -1,    -1,    -1,   451,     3,     4,     5,     6,
       7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
      27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
      47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
      57,    58,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    71,    -1,    73,    74,    75,    76,
      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    89,    90,    91,    92,    93,    94,    95,    96,
      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
     107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
     157,    -1,   159,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,   175,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,   189,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,   201,   202,   203,   204,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,   214,   215,   216,
      -1,   218,   219,   220,   221,   222,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
     247,   248,   249,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,   316,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,    -1,   330,   331,   332,   333,   334,   335,   336,
     337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,    -1,   363,   364,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
     387,    -1,   389,   390,   391,   392,   393,   394,   395,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,   406,
     407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,   434,    -1,    -1,
      -1,    -1,    -1,    -1,   441,   442,    -1,    -1,    -1,    -1,
     447,    -1,    -1,    -1,   451,     3,     4,     5,     6,     7,
       8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
      28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,
      38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
      48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
      58,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
      68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
      -1,    89,    90,    91,    92,    93,    94,    95,    96,    97,
      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
     108,    -1,   110,    -1,   112,   113,   114,   115,   116,    -1,
     118,   119,   120,    -1,    -1,   123,   124,   125,   126,   127,
      -1,   129,   130,   131,    -1,   133,   134,   135,    -1,   137,
     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
      -1,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
      -1,   159,   160,   161,   162,    -1,   164,   165,    -1,   167,
     168,    -1,   170,   171,   172,   173,   174,   175,   176,   177,
     178,   179,    -1,   181,   182,   183,   184,   185,   186,    -1,
     188,   189,   190,   191,   192,   193,   194,   195,   196,    -1,
     198,    -1,   200,   201,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,    -1,   212,   213,   214,   215,   216,    -1,
     218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
     238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
     248,   249,   250,   251,   252,   253,   254,   255,    -1,   257,
      -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,   267,
     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
      -1,   279,   280,   281,   282,   283,   284,   285,   286,    -1,
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
     298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
     308,   309,   310,   311,   312,    -1,   314,   315,   316,   317,
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
     328,    -1,   330,   331,   332,   333,   334,   335,   336,   337,
     338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
     358,    -1,   360,   361,    -1,   363,   364,   365,   366,   367,
     368,   369,    -1,   371,   372,    -1,    -1,   375,   376,   377,
     378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
      -1,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
     398,   399,   400,   401,   402,   403,    -1,   405,   406,   407,
     408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,   434,    -1,    -1,    -1,
      -1,    -1,    -1,   441,   442,    -1,    -1,    -1,    -1,   447,
      -1,    -1,    -1,   451,     3,     4,     5,     6,     7,     8,
       9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
      49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    71,    -1,    73,    74,    75,    76,    77,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,   146,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,    -1,
     159,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,   175,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
     189,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,   201,   202,   203,   204,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,   214,   215,   216,    -1,   218,
     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
     239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
     249,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,   267,   268,
     269,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,   316,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,   335,   336,   337,   338,
     339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,   380,   381,   382,   383,   384,   385,   386,   387,    -1,
     389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,   406,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,   434,    -1,    -1,    -1,    -1,
      -1,    -1,   441,   442,    -1,    -1,    -1,    -1,   447,    -1,
      -1,    -1,   451,     3,     4,     5,     6,     7,     8,     9,
      10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
      50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
      90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,   146,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,   157,    -1,   159,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,   189,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,   214,   215,   216,    -1,   218,   219,
     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
     240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,   267,   268,   269,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,   316,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
     340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
     380,   381,   382,   383,   384,   385,   386,   387,    -1,   389,
     390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,   406,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,   434,    -1,    -1,    -1,    -1,    -1,
      -1,   441,   442,    -1,    -1,    -1,    -1,   447,    -1,    -1,
      -1,   451,     3,     4,     5,     6,     7,     8,     9,    10,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
      -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    89,    90,
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,   146,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,   157,    -1,   159,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,   175,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
     201,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,   214,   215,   216,    -1,   218,   219,   220,
     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
     241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,   267,   268,   269,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,   316,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
     341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,   364,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,   380,
     381,   382,   383,   384,   385,   386,   387,    -1,   389,   390,
     391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,   406,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,   434,    -1,    -1,    -1,    -1,    -1,    -1,
     441,   442,    -1,    -1,    -1,    -1,   447,    -1,    -1,    -1,
     451,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
      -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,
      42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,   146,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,   157,    -1,   159,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,   175,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,   201,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,   214,   215,   216,    -1,   218,   219,   220,   221,
     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
     242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,    -1,   265,   266,   267,   268,   269,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,   316,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
      -1,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,   380,   381,
     382,   383,   384,   385,   386,   387,    -1,   389,   390,   391,
     392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,   406,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,   434,    -1,    -1,    -1,    -1,    -1,    -1,   441,
     442,    -1,    -1,    -1,    -1,   447,    -1,    -1,    -1,   451,
       3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
      43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    71,    -1,
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    89,    90,    91,    92,
      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,   146,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,   157,    -1,   159,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,   175,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,   201,   202,
     203,   204,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,   214,   215,   216,    -1,   218,   219,   220,   221,   222,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
     243,    -1,   245,   246,   247,   248,   249,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,   267,   268,   269,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,   316,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,   380,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,   406,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   441,   442,
      -1,    -1,    -1,    -1,   447,    -1,    -1,    -1,   451,     3,
       4,     5,     6,     7,     8,     9,    10,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
      34,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
      44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
      -1,    65,    66,    67,    68,    69,    -1,    71,    -1,    73,
      74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
      84,    85,    86,    87,    -1,    89,    90,    91,    92,    93,
      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
     114,   115,   116,    -1,   118,   119,   120,    -1,    -1,   123,
     124,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
     134,   135,    -1,   137,   138,   139,   140,   141,   142,   143,
     144,   145,   146,   147,    -1,   149,   150,   151,   152,    -1,
     154,    -1,   156,   157,    -1,   159,   160,   161,   162,    -1,
     164,   165,    -1,   167,   168,    -1,   170,   171,   172,   173,
     174,   175,   176,   177,   178,   179,    -1,   181,   182,   183,
     184,   185,   186,    -1,   188,   189,   190,   191,   192,   193,
     194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,
     204,   205,   206,   207,   208,   209,    -1,    -1,   212,   213,
     214,   215,   216,    -1,   218,   219,   220,   221,   222,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
     244,   245,   246,    -1,   248,   249,   250,   251,   252,   253,
     254,   255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,
      -1,   265,   266,   267,   268,   269,   270,   271,   272,   273,
     274,   275,   276,   277,    -1,   279,   280,   281,   282,   283,
     284,   285,   286,    -1,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,    -1,
     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
     324,   325,   326,   327,   328,    -1,   330,   331,   332,   333,
     334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
     344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,   358,    -1,   360,   361,    -1,   363,
     364,   365,   366,   367,   368,   369,    -1,   371,   372,    -1,
      -1,   375,   376,   377,   378,   379,   380,   381,   382,   383,
     384,   385,   386,   387,    -1,   389,   390,   391,   392,   393,
     394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
      -1,   405,   406,   407,   408,   409,   410,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
     434,    -1,    -1,    -1,    -1,    -1,    -1,   441,   442,    -1,
      -1,    -1,    -1,   447,    -1,    -1,    -1,   451,     3,     4,
       5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
      55,    56,    57,    58,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    71,    -1,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    89,    90,    91,    92,    93,    94,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,   157,    -1,   159,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,    -1,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,   214,
     215,   216,    -1,   218,   219,   220,   221,   222,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,    -1,
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,   364,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
     395,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,   406,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   441,   442,    -1,    -1,
      -1,    -1,   447,    -1,    -1,    -1,   451,     3,     4,     5,
       6,     7,    -1,     9,    10,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
      46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
      56,    57,    58,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    71,    -1,    73,    74,    75,
      76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    89,    90,    91,    92,    93,    94,    95,
      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
     146,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,   157,    -1,   159,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,   175,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,   189,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,   201,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,   214,   215,
     216,    -1,   218,   219,   220,   221,   222,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,   239,   240,   241,   242,   243,    -1,   245,
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,   335,
     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,   364,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,   395,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
     406,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,    -1,    -1,
      -1,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
      -1,   447,    -1,    -1,    -1,   451,    18,    19,    20,    21,
      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
      -1,    33,    34,    -1,    -1,    37,    38,    -1,    40,    41,
      42,    43,    44,    45,    -1,    47,    48,    49,    50,    -1,
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
      92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,    -1,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,   146,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,   157,    -1,   159,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,    -1,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,    -1,
      -1,   203,   204,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,   214,   215,    -1,    -1,   218,   219,   220,   221,
     222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
     242,   243,   244,   245,   246,    -1,   248,   249,   250,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,    -1,   265,   266,   267,   268,   269,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,   316,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,   335,   336,   337,   338,   339,   340,    -1,
     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
      -1,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,   380,   381,
     382,   383,   384,   385,   386,   387,    -1,   389,   390,   391,
     392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,   406,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   441,
     442,    -1,    -1,    -1,    -1,   447,    -1,    -1,    -1,   451,
       3,     4,     5,     6,     7,    -1,     9,    10,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
      43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    71,    -1,
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    89,    90,    91,    92,
      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,   146,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,   157,    -1,   159,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,   175,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,   201,   202,
     203,   204,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,   214,   215,   216,    -1,   218,   219,   220,   221,   222,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
     243,    -1,   245,   246,   247,   248,   249,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,   267,   268,   269,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,   316,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,   380,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,   406,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,    -1,    -1,    -1,     3,     4,     5,     6,     7,     8,
       9,    10,    -1,    -1,   447,    -1,    -1,    -1,   451,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
      -1,    40,    41,    42,    43,    44,    45,    -1,    47,    48,
      49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    71,    -1,    73,    74,    75,    76,    77,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,    -1,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,   146,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,    -1,
     159,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,    -1,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
     189,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,    -1,    -1,   203,   204,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,   214,   215,    -1,    -1,   218,
     219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
     239,   240,   241,   242,   243,   244,   245,   246,    -1,   248,
     249,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,   267,   268,
     269,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,   316,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,   335,   336,   337,   338,
     339,   340,    -1,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,   380,   381,   382,   383,   384,   385,   386,   387,    -1,
     389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,   406,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,    -1,    -1,    -1,     3,    -1,
      -1,    -1,   441,   442,    -1,    -1,    -1,    -1,   447,    -1,
      -1,    -1,   451,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    58,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    71,    -1,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    89,    90,    91,    92,    93,    94,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,   157,    -1,   159,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
     215,   216,    -1,   218,   219,   220,   221,   222,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,    -1,
     245,   246,   247,   248,    -1,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,   259,   260,   261,   262,    -1,    -1,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
     395,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,   406,   407,   408,   409,   410,    -1,    -1,   413,    -1,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,    -1,
      -1,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   451,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    89,    90,
      91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,   157,    -1,   159,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,   175,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
     201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
      -1,   212,   213,   214,   215,   216,    -1,   218,   219,   220,
     221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
     241,   242,   243,    -1,   245,   246,   247,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,   259,   260,
     261,   262,    -1,    -1,   265,   266,   267,   268,   269,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,   316,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
     341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,   364,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,   406,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,    -1,    -1,    -1,     3,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     451,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
      47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
      -1,    58,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    71,    -1,    73,    74,    75,    76,
      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    89,    90,    91,    92,    93,    94,    95,    96,
      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
     107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,    -1,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
     157,    -1,   159,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,   175,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,   189,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,   201,   202,   203,   204,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,   214,   215,   216,
      -1,   218,   219,   220,   221,   222,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,   239,   240,   241,   242,   243,    -1,   245,   246,
     247,   248,    -1,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,   316,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,    -1,   330,   331,   332,   333,   334,   335,   336,
     337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,    -1,   363,   364,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,    -1,   381,   382,   383,   384,   385,   386,
     387,    -1,    -1,   390,   391,   392,   393,   394,   395,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,   406,
     407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,    -1,    -1,    -1,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   451,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
      43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    71,    -1,
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    89,    90,    91,    92,
      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,   157,    -1,   159,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,   175,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,   201,   202,
     203,   204,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,   214,   215,   216,    -1,   218,   219,   220,   221,   222,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
     243,    -1,   245,   246,   247,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,   267,   268,   269,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,   316,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,   406,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,    -1,    -1,    -1,     3,     4,     5,    -1,    -1,    -1,
       9,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   451,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    71,    -1,    73,    74,    75,    76,    77,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,
      -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,   146,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,    -1,
     159,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,   175,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
     189,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,   201,   202,   203,   204,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,   214,   215,   216,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
     239,   240,   241,   242,   243,    -1,   245,   246,   247,   248,
      -1,   250,   251,   252,   253,   254,   255,    -1,   257,   258,
      -1,   260,   261,   262,    -1,    -1,   265,   266,   267,   268,
     269,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,   316,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
     339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,   380,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,   406,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,    -1,    -1,    -1,     3,    -1,
      -1,    -1,   441,   442,   443,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   451,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    30,    31,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    71,    -1,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    89,    90,    91,    92,    -1,    -1,
      -1,    96,    -1,    -1,    -1,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,   157,    -1,   159,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,   214,
     215,   216,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,    -1,
     245,   246,   247,   248,    -1,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
      -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,   362,   363,   364,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
      -1,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,   406,   407,   408,   409,   410,    -1,    -1,   413,    -1,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,    -1,
      -1,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   451,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    89,    90,
      91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,   157,    -1,   159,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,   175,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
     201,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,   214,   215,   216,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
     241,   242,   243,    -1,   245,   246,   247,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,   267,   268,   269,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,   316,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
     341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,   364,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,   406,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,    -1,    -1,    -1,     3,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     451,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      37,    38,    -1,    40,    41,    -1,    43,    44,    45,    46,
      47,    -1,    49,    50,    -1,    52,    53,    54,    55,    56,
      -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    -1,    -1,    73,    74,    75,    76,
      -1,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
     107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,    -1,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
      -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,    -1,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,    -1,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,
      -1,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,    -1,   240,   241,   242,   243,    -1,   245,   246,
      -1,   248,    -1,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
      -1,   268,    -1,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,    -1,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,   329,   330,   331,   332,   333,   334,    -1,   336,
     337,   338,   339,   340,    -1,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,   362,   363,    -1,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,    -1,   381,   382,   383,   384,   385,   386,
     387,    -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,    -1,
     407,   408,   409,   410,    -1,    -1,   413,    -1,   415,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,    -1,    -1,   436,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   451,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,
      43,    44,    45,    46,    47,    -1,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,
      73,    74,    75,    76,    -1,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    -1,    90,    91,    92,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,    -1,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,    -1,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,
     203,    -1,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,    -1,   240,   241,   242,
     243,    -1,   245,   246,    -1,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,    -1,   336,   337,   338,   339,   340,    -1,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   451,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    -1,    43,    44,    45,    46,    47,    -1,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,    -1,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,
      -1,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,    -1,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
      -1,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
      -1,   240,   241,   242,   243,    -1,   245,   246,    -1,   248,
      -1,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,    -1,   268,
      -1,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,    -1,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
     339,   340,    -1,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,    -1,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,    -1,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,    -1,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,    -1,    -1,    -1,     3,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   451,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,    44,
      45,    46,    47,    -1,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    -1,    -1,    73,    74,
      75,    76,    -1,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
      -1,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,    -1,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,    -1,
     215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,    -1,   240,   241,   242,   243,    -1,
     245,   246,    -1,   248,    -1,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,    -1,   268,    -1,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
      -1,   336,   337,   338,   339,   340,    -1,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,    -1,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
      -1,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,    -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,    -1,
      -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   451,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    90,
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,    -1,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,    -1,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
      -1,    -1,   203,    -1,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,    -1,   240,
     241,   242,   243,    -1,   245,   246,    -1,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,    -1,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
      -1,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,    -1,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,    -1,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,    -1,    -1,    -1,    -1,    -1,    -1,     3,
       4,     5,    -1,    -1,     8,     9,    -1,    -1,    -1,    -1,
     451,    15,    16,    17,    18,    19,    20,    21,    22,    23,
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
      44,    45,    -1,    47,    48,    49,    50,    51,    52,    53,
      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
      64,    65,    66,    67,    68,    -1,    70,    71,    72,    73,
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
     134,   135,   136,   137,   138,   139,   140,    -1,   142,   143,
     144,    -1,   146,   147,   148,   149,   150,   151,   152,   153,
     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
     164,    -1,   166,    -1,   168,   169,   170,   171,   172,   173,
     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
     184,   185,   186,   187,   188,   189,    -1,   191,   192,   193,
     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
     204,   205,   206,   207,   208,   209,   210,   211,   212,    -1,
     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,   239,   240,   241,   242,    -1,
     244,   245,   246,   247,   248,   249,    -1,   251,   252,   253,
     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
     264,   265,    -1,   267,   268,   269,    -1,   271,   272,   273,
     274,   275,   276,   277,   278,   279,   280,    -1,   282,    -1,
     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
     314,   315,   316,   317,   318,   319,    -1,   321,   322,   323,
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
     334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,    -1,   359,   360,   361,   362,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,    -1,   378,    -1,   380,   381,   382,   383,
     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
     394,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
     414,   415,   416,   417,   418,   419,   420,   421,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   431,   432,   433,
       3,     4,     5,   437,   438,   439,     9,   441,   442,   443,
     444,   445,   446,   447,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
      43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    71,    -1,
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    89,    90,    91,    92,
      -1,    -1,    -1,    96,    -1,    -1,    -1,   100,   101,   102,
     103,   104,   105,   106,   107,   108,   109,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,   146,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,   157,    -1,   159,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,   175,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,   201,   202,
     203,   204,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,   214,   215,   216,    -1,   218,   219,   220,    -1,    -1,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
     243,    -1,   245,   246,   247,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,   258,    -1,   260,   261,   262,
      -1,    -1,   265,   266,   267,   268,   269,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,   316,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,   380,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,   406,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,     3,     4,     5,    -1,    -1,    -1,     9,   441,   442,
      -1,    -1,    -1,    -1,   447,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
      42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
      52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
      92,    -1,    -1,    -1,    96,    -1,    -1,    -1,   100,   101,
     102,   103,   104,   105,   106,   107,   108,   109,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,   146,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,   157,    -1,   159,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,   175,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,   201,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,   214,   215,   216,    -1,   218,   219,   220,    -1,
      -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
     242,   243,    -1,   245,   246,   247,   248,    -1,   250,   251,
     252,   253,   254,   255,    -1,   257,   258,    -1,   260,   261,
     262,    -1,    -1,   265,   266,   267,   268,   269,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,   316,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
      -1,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,   380,   381,
     382,   383,   384,   385,   386,   387,    -1,    -1,   390,   391,
     392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,   406,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,     3,     4,     5,    -1,    -1,    -1,     9,   441,
     442,    -1,    -1,    -1,    -1,   447,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    89,    90,
      91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,   146,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,   157,    -1,   159,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,   175,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
     201,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,   214,   215,   216,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
     241,   242,   243,    -1,   245,   246,   247,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,   258,    -1,   260,
     261,   262,    -1,    -1,   265,   266,   267,   268,   269,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,   316,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
     341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,   364,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,   380,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,   406,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,     3,    -1,     5,    -1,    -1,    -1,    -1,
     441,   442,    -1,    -1,    -1,    -1,   447,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
      90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,   157,    -1,   159,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,   189,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,   214,   215,   216,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,   245,   246,   247,   248,    -1,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,   267,   268,   269,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,   316,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,   406,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,     3,    -1,     5,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   447,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    71,    -1,    73,    74,    75,    76,    77,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,
      -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,    -1,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,    -1,
     159,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,   175,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
     189,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,   201,   202,   203,   204,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,   214,   215,   216,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
     239,   240,   241,   242,   243,    -1,   245,   246,   247,   248,
      -1,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,   267,   268,
     269,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,   316,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
     339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,    -1,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,   406,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,    -1,    -1,     3,    -1,    -1,
      -1,    -1,     8,    -1,    -1,    -1,    -1,    -1,   447,    15,
      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
      46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
      76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,    -1,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,    -1,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,    -1,   215,
      -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,    -1,   240,   241,   242,   243,    -1,   245,
     246,    -1,   248,    -1,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,    -1,   268,    -1,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
      -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,    -1,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,    -1,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
      -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,    -1,    -1,
      -1,   437,   438,   439,    -1,   441,   442,   443,   444,   445,
     446,   447,     3,    -1,    -1,    -1,    -1,     8,    -1,    -1,
      -1,    -1,    -1,    -1,    15,    16,    17,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    90,
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,    -1,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,    -1,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
      -1,    -1,   203,    -1,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,    -1,   240,
     241,   242,   243,    -1,   245,   246,    -1,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,    -1,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
      -1,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,    -1,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,    -1,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,    -1,    -1,    -1,   437,   438,   439,    -1,
     441,   442,   443,   444,   445,   446,   447,     3,    -1,    -1,
      -1,    -1,     8,    -1,    -1,    -1,    -1,    -1,    -1,    15,
      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
      46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
      76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,    -1,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,    -1,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,    -1,   215,
      -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,    -1,   240,   241,   242,   243,    -1,   245,
     246,    -1,   248,    -1,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,    -1,   268,    -1,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
      -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,    -1,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,    -1,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
      -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,    -1,    -1,
      -1,   437,   438,   439,    -1,   441,   442,   443,   444,   445,
     446,   447,     3,    -1,    -1,    -1,    -1,     8,    -1,    -1,
      -1,    -1,    -1,    -1,    15,    16,    17,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    90,
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,    -1,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,    -1,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
      -1,    -1,   203,    -1,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,    -1,   240,
     241,   242,   243,    -1,   245,   246,    -1,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,    -1,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
      -1,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,    -1,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,    -1,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,    -1,    -1,    -1,   437,   438,   439,    -1,
     441,   442,   443,   444,   445,   446,   447,     3,    -1,    -1,
      -1,    -1,     8,    -1,    -1,    -1,    -1,    -1,    -1,    15,
      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
      46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
      76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,    -1,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,    -1,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,    -1,   215,
      -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,    -1,   240,   241,   242,   243,    -1,   245,
     246,    -1,   248,    -1,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,    -1,   268,    -1,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
      -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,    -1,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,    -1,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
      -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,    -1,    -1,
      -1,   437,   438,   439,    -1,   441,   442,   443,   444,   445,
     446,   447,     3,    -1,    -1,    -1,    -1,     8,    -1,    -1,
      -1,    -1,    -1,    -1,    15,    16,    17,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    90,
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,    -1,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,    -1,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
      -1,    -1,   203,    -1,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,    -1,   240,
     241,   242,   243,    -1,   245,   246,    -1,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,    -1,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
      -1,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,    -1,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,    -1,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,    -1,    -1,    -1,   437,   438,   439,    -1,
     441,   442,   443,   444,   445,   446,   447,     3,    -1,    -1,
      -1,    -1,     8,    -1,    -1,    -1,    -1,    -1,    -1,    15,
      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
      46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
      76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,    -1,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,    -1,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,    -1,   215,
      -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,    -1,   240,   241,   242,   243,    -1,   245,
     246,    -1,   248,    -1,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,    -1,   268,    -1,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
      -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,    -1,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,    -1,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
      -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,     3,    -1,
       5,   437,   438,   439,    -1,   441,   442,   443,   444,   445,
     446,   447,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,    44,
      45,    46,    47,    -1,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    -1,    -1,    73,    74,
      75,    76,    -1,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
      -1,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,    -1,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,    -1,
     215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,    -1,   240,   241,   242,   243,    -1,
     245,   246,    -1,   248,    -1,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,    -1,   268,    -1,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
      -1,   336,   337,   338,   339,   340,    -1,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,    -1,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
      -1,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,    -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,     3,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   447,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
     334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
     394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   443,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,
      43,    44,    45,    46,    47,    -1,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,
      73,    74,    75,    76,    -1,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    -1,    90,    91,    92,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,    -1,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,    -1,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,
     203,    -1,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,    -1,   240,   241,   242,
     243,    -1,   245,   246,    -1,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,    -1,   336,   337,   338,   339,   340,    -1,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     443,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
      42,    43,    44,    45,    -1,    47,    48,    49,    50,    -1,
      52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    -1,    -1,    71,
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
      92,    -1,    -1,    -1,    96,    -1,    -1,    -1,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,    -1,
     142,   143,   144,    -1,    -1,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,   157,    -1,   159,   160,   161,
     162,    -1,   164,    -1,    -1,    -1,   168,    -1,   170,   171,
     172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
     182,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,   201,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,    -1,
     212,    -1,   214,   215,   216,    -1,   218,   219,   220,    -1,
      -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
     242,    -1,    -1,   245,   246,   247,   248,    -1,    -1,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,   264,   265,   266,   267,   268,   269,    -1,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,    -1,
     282,    -1,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,   316,   317,   318,   319,    -1,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,    -1,    -1,   360,   361,
      -1,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,    -1,   378,    -1,    -1,   381,
     382,   383,   384,   385,   386,   387,    -1,    -1,   390,   391,
     392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
      -1,   403,   404,   405,   406,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,   431,
     432,   433,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   443,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
      -1,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    -1,    -1,    71,    -1,    73,    74,    75,
      76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
      96,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,    -1,   142,   143,   144,    -1,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,   157,    -1,   159,   160,   161,   162,    -1,   164,    -1,
      -1,    -1,   168,    -1,   170,   171,   172,   173,   174,   175,
     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
     186,    -1,   188,   189,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,   201,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,    -1,   212,    -1,   214,   215,
     216,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,   239,   240,   241,   242,    -1,    -1,   245,
     246,   247,   248,    -1,    -1,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,   264,   265,
     266,   267,   268,   269,    -1,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,    -1,   282,    -1,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
     316,   317,   318,   319,    -1,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,    -1,    -1,   360,   361,    -1,   363,   364,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,    -1,   378,    -1,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
     406,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,     3,    -1,   431,   432,   433,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   443,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
      40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
      90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,    -1,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,    -1,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,    -1,    -1,   203,    -1,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,    -1,
     240,   241,   242,   243,    -1,   245,   246,    -1,   248,    -1,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,    -1,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,    -1,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,    -1,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,    -1,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,     3,     4,     5,    -1,    -1,    -1,
       9,    -1,    -1,   443,    -1,    -1,    -1,    -1,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    71,    -1,    73,    74,    75,    76,    77,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,
      -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,   146,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,    -1,
     159,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,   175,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
     189,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,   201,   202,   203,   204,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,   214,   215,   216,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
     239,   240,   241,   242,   243,    -1,   245,   246,   247,   248,
      -1,   250,   251,   252,   253,   254,   255,    -1,   257,   258,
      -1,   260,   261,   262,    -1,    -1,   265,   266,   267,   268,
     269,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,   316,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
     339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,   380,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,   406,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,     3,    -1,     5,    -1,    -1,
      -1,     9,   441,   442,    -1,    -1,    -1,    -1,    -1,    -1,
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
      38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
      48,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
      -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
      68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
      -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,
      -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
     108,   109,   110,    -1,   112,   113,   114,   115,   116,    -1,
     118,   119,   120,    -1,    -1,   123,   124,   125,   126,   127,
      -1,   129,   130,   131,    -1,   133,   134,   135,    -1,   137,
     138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
      -1,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
      -1,   159,   160,   161,   162,    -1,   164,   165,    -1,   167,
     168,    -1,   170,   171,   172,   173,   174,   175,   176,   177,
     178,   179,    -1,   181,   182,   183,   184,   185,   186,    -1,
     188,   189,   190,   191,   192,   193,   194,   195,   196,    -1,
     198,    -1,   200,   201,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,    -1,   212,   213,   214,   215,   216,    -1,
     218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
     238,   239,   240,   241,   242,   243,    -1,   245,   246,   247,
     248,    -1,   250,   251,   252,   253,   254,   255,    -1,   257,
     258,    -1,   260,   261,   262,    -1,    -1,   265,   266,   267,
     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
      -1,   279,   280,   281,   282,   283,   284,   285,   286,    -1,
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
     298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
     308,   309,   310,   311,   312,    -1,   314,   315,   316,   317,
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
     328,    -1,   330,   331,   332,   333,   334,    -1,   336,   337,
     338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
     358,    -1,   360,   361,    -1,   363,   364,   365,   366,   367,
     368,   369,    -1,   371,   372,    -1,    -1,   375,   376,   377,
     378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
      -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,   397,
     398,   399,   400,   401,   402,   403,    -1,   405,   406,   407,
     408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,     3,    -1,    -1,    -1,
      -1,    -1,     9,   441,   442,    -1,    -1,    -1,    -1,    -1,
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    26,
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      37,    38,    -1,    40,    41,    -1,    43,    44,    45,    46,
      47,    -1,    49,    50,    -1,    52,    53,    54,    55,    56,
      -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    -1,    -1,    73,    74,    75,    76,
      -1,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
     107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,    -1,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
      -1,   158,    -1,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,    -1,   176,
     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
      -1,   188,    -1,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,
      -1,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,    -1,   240,   241,   242,   243,    -1,   245,   246,
      -1,   248,    -1,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
      -1,   268,    -1,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,    -1,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,    -1,   330,   331,   332,   333,   334,    -1,   336,
     337,   338,   339,   340,    -1,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,    -1,   363,    -1,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,    -1,   381,   382,   383,   384,   385,   386,
     387,    -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,    -1,
     407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,     3,     4,     5,
      -1,    -1,    -1,     9,   441,   442,    -1,    -1,    -1,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
      36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
      46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
      56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
      66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
      76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
      86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
     106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
     116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
     126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
     136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
     146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
     156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
     246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
     256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
     276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
     346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
     366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
     376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
     386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
     396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,     3,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
      55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
      65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
      75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
      85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
      95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
     125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
     135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
     145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
     155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
     165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
     255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
     365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
     375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
     385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
     405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
     415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,     3,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
      34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
      44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
      54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
      64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
      74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
      84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
     104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
     114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
     124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
     134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
     144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
     154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
     204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
     214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
     254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
     264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
     334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
     344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
     374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
     384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
     394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
     414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
      43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    71,    -1,
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    89,    90,    91,    92,
      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,   157,    -1,   159,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,   175,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,   201,   202,
     203,   204,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,   214,   215,   216,    -1,   218,   219,   220,   221,   222,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
     243,    -1,   245,   246,   247,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,   267,   268,   269,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,   316,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,   406,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,     3,    -1,     5,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
      42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
      52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
      92,    -1,    -1,    -1,    96,    -1,    -1,    -1,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,   146,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,   157,    -1,   159,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,   175,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,   201,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,   214,   215,   216,    -1,   218,   219,   220,    -1,
      -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
     242,   243,    -1,   245,   246,   247,   248,    -1,   250,   251,
     252,   253,   254,   255,    -1,   257,   258,    -1,   260,   261,
     262,    -1,    -1,   265,   266,   267,   268,   269,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,   316,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
      -1,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,   380,   381,
     382,   383,   384,   385,   386,   387,    -1,    -1,   390,   391,
     392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,   406,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    89,    90,
      91,    92,    -1,    -1,    -1,    96,    -1,    -1,    99,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,   157,    -1,   159,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,   175,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
     201,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,   214,   215,   216,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
     241,   242,   243,    -1,   245,   246,   247,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,   267,   268,   269,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,   316,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
     341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,   364,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,   406,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
      90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    99,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,   157,    -1,   159,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,   189,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,   214,   215,   216,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,   245,   246,   247,   248,    -1,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,   267,   268,   269,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,   316,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
     340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,   406,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    71,    -1,    73,    74,    75,    76,    77,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,
      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,    -1,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,    -1,
     159,   160,   161,   162,    -1,   164,   165,   166,   167,   168,
      -1,   170,   171,   172,   173,   174,   175,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
     189,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,   201,   202,   203,   204,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,   214,   215,   216,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
     239,   240,   241,   242,   243,    -1,   245,   246,   247,   248,
      -1,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,   267,   268,
     269,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,   316,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,   335,   336,   337,   338,
     339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,    -1,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,   406,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
      38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
      48,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
      -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
      68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
      -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,
      -1,    99,   100,   101,   102,   103,   104,   105,   106,   107,
     108,    -1,   110,    -1,   112,   113,   114,   115,   116,    -1,
     118,   119,   120,    -1,    -1,   123,   124,   125,   126,   127,
      -1,   129,   130,   131,    -1,   133,   134,   135,    -1,   137,
     138,   139,   140,   141,   142,   143,   144,   145,    -1,   147,
      -1,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
      -1,   159,   160,   161,   162,    -1,   164,   165,    -1,   167,
     168,    -1,   170,   171,   172,   173,   174,   175,   176,   177,
     178,   179,    -1,   181,   182,   183,   184,   185,   186,    -1,
     188,   189,   190,   191,   192,   193,   194,   195,   196,    -1,
     198,    -1,   200,   201,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,    -1,   212,   213,   214,   215,   216,    -1,
     218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
     238,   239,   240,   241,   242,   243,    -1,   245,   246,   247,
     248,    -1,   250,   251,   252,   253,   254,   255,    -1,   257,
      -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,   267,
     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
      -1,   279,   280,   281,   282,   283,   284,   285,   286,    -1,
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
     298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
     308,   309,   310,   311,   312,    -1,   314,   315,   316,   317,
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
     328,    -1,   330,   331,   332,   333,   334,   335,   336,   337,
     338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
     358,    -1,   360,   361,    -1,   363,   364,   365,   366,   367,
     368,   369,    -1,   371,   372,    -1,    -1,   375,   376,   377,
     378,   379,    -1,   381,   382,   383,   384,   385,   386,   387,
      -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,   397,
     398,   399,   400,   401,   402,   403,    -1,   405,   406,   407,
     408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,     3,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
      47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
      -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    71,    -1,    73,    74,    75,    76,
      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,
      -1,    -1,    99,   100,   101,   102,   103,   104,   105,   106,
     107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,    -1,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
     157,    -1,   159,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,   175,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,   189,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,   201,   202,   203,   204,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,   214,   215,   216,
      -1,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,   239,   240,   241,   242,   243,    -1,   245,   246,
     247,   248,    -1,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,   316,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,    -1,   330,   331,   332,   333,   334,   335,   336,
     337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,    -1,   363,   364,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,    -1,   381,   382,   383,   384,   385,   386,
     387,    -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,   406,
     407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,     3,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
      46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    71,    -1,    73,    74,    75,
      76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
      96,    -1,    -1,    99,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,   157,    -1,   159,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,   175,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,   189,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,   201,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,   214,   215,
     216,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,   239,   240,   241,   242,   243,    -1,   245,
     246,   247,   248,    -1,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
     316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,   335,
     336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,   364,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
     406,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,     3,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
      45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    71,    -1,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    89,    90,    91,    92,    -1,    -1,
      -1,    96,    -1,    -1,    99,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,   157,    -1,   159,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,   189,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,   214,
     215,   216,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,   243,    -1,
     245,   246,   247,   248,    -1,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,   364,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
      -1,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,   406,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,     3,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
      44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
      54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
      -1,    65,    66,    67,    68,    69,    -1,    71,    -1,    73,
      74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
      84,    85,    86,    87,    -1,    89,    90,    91,    92,    -1,
      -1,    -1,    96,    -1,    -1,    99,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
     114,   115,   116,    -1,   118,   119,   120,    -1,    -1,   123,
     124,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
     134,   135,    -1,   137,   138,   139,   140,   141,   142,   143,
     144,   145,    -1,   147,    -1,   149,   150,   151,   152,    -1,
     154,    -1,   156,   157,    -1,   159,   160,   161,   162,    -1,
     164,   165,    -1,   167,   168,    -1,   170,   171,   172,   173,
     174,   175,   176,   177,   178,   179,    -1,   181,   182,   183,
     184,   185,   186,    -1,   188,   189,   190,   191,   192,   193,
     194,   195,   196,    -1,   198,    -1,   200,   201,   202,   203,
     204,   205,   206,   207,   208,   209,    -1,    -1,   212,   213,
     214,   215,   216,    -1,   218,   219,   220,    -1,    -1,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
      -1,   245,   246,   247,   248,    -1,   250,   251,   252,   253,
     254,   255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,
      -1,   265,   266,   267,   268,   269,   270,   271,   272,   273,
     274,   275,   276,   277,    -1,   279,   280,   281,   282,   283,
     284,   285,   286,    -1,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,    -1,
     314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
     324,   325,   326,   327,   328,    -1,   330,   331,   332,   333,
     334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
     344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,   358,    -1,   360,   361,    -1,   363,
     364,   365,   366,   367,   368,   369,    -1,   371,   372,    -1,
      -1,   375,   376,   377,   378,   379,    -1,   381,   382,   383,
     384,   385,   386,   387,    -1,    -1,   390,   391,   392,   393,
     394,    -1,    -1,   397,   398,   399,   400,   401,   402,   403,
      -1,   405,   406,   407,   408,   409,   410,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
      43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    71,    -1,
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    89,    90,    91,    92,
      -1,    -1,    -1,    96,    -1,    -1,    99,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,   157,    -1,   159,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,   175,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,   189,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,   201,   202,
     203,   204,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,   214,   215,   216,    -1,   218,   219,   220,    -1,    -1,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
     243,    -1,   245,   246,   247,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,   267,   268,   269,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,   316,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,   406,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    30,    31,
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
      42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
      52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
      92,    -1,    -1,    -1,    96,    -1,    -1,    -1,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,    -1,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,   157,    -1,   159,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,   175,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,   189,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,   201,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,   214,   215,   216,    -1,   218,   219,   220,    -1,
      -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
     242,   243,    -1,   245,   246,   247,   248,    -1,   250,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,    -1,   265,   266,   267,   268,   269,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,   316,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
      -1,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,    -1,   381,
     382,   383,   384,   385,   386,   387,    -1,    -1,   390,   391,
     392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,   406,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,     3,    -1,     5,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    89,    90,
      91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,   157,    -1,   159,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,   175,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,   189,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
     201,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,   214,   215,   216,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
     241,   242,   243,    -1,   245,   246,   247,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,   267,   268,   269,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,   316,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
     341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,   364,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,   406,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,     3,    -1,     5,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
      40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
      90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,   157,    -1,   159,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,   189,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,   214,   215,   216,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,   245,   246,   247,   248,    -1,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,   267,   268,   269,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,   316,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,   406,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    71,    -1,    73,    74,    75,    76,    77,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,
      -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,    -1,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,    -1,
     159,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,   175,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
     189,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,   201,   202,   203,   204,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,   214,   215,   216,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
     239,   240,   241,   242,   243,    -1,   245,   246,   247,   248,
      -1,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,   267,   268,
     269,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,   316,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
     339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,    -1,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,   406,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
      38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
      48,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
      -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
      68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
      -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,
      -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
     108,    -1,   110,    -1,   112,   113,   114,   115,   116,    -1,
     118,   119,   120,    -1,    -1,   123,   124,   125,   126,   127,
      -1,   129,   130,   131,    -1,   133,   134,   135,    -1,   137,
     138,   139,   140,   141,   142,   143,   144,   145,    -1,   147,
      -1,   149,   150,   151,   152,    -1,   154,    -1,   156,   157,
      -1,   159,   160,   161,   162,    -1,   164,   165,    -1,   167,
     168,    -1,   170,   171,   172,   173,   174,   175,   176,   177,
     178,   179,    -1,   181,   182,   183,   184,   185,   186,    -1,
     188,   189,   190,   191,   192,   193,   194,   195,   196,    -1,
     198,    -1,   200,   201,   202,   203,   204,   205,   206,   207,
     208,   209,    -1,    -1,   212,   213,   214,   215,   216,    -1,
     218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
     238,   239,   240,   241,   242,   243,    -1,   245,   246,   247,
     248,    -1,   250,   251,   252,   253,   254,   255,    -1,   257,
      -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,   267,
     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
      -1,   279,   280,   281,   282,   283,   284,   285,   286,    -1,
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
     298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
     308,   309,   310,   311,   312,    -1,   314,   315,   316,   317,
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
     328,    -1,   330,   331,   332,   333,   334,    -1,   336,   337,
     338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
     358,    -1,   360,   361,    -1,   363,   364,   365,   366,   367,
     368,   369,    -1,   371,   372,    -1,    -1,   375,   376,   377,
     378,   379,    -1,   381,   382,   383,   384,   385,   386,   387,
      -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,   397,
     398,   399,   400,   401,   402,   403,    -1,   405,   406,   407,
     408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,     3,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
      47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
      -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    71,    -1,    73,    74,    75,    76,
      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,
      -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
     107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,    -1,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
     157,    -1,   159,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,   175,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,   189,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,   201,   202,   203,   204,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,   214,   215,   216,
      -1,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,   239,   240,   241,   242,   243,    -1,   245,   246,
     247,   248,    -1,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
     267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,   316,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,    -1,   330,   331,   332,   333,   334,    -1,   336,
     337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,    -1,   363,   364,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,    -1,   381,   382,   383,   384,   385,   386,
     387,    -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,   406,
     407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,     3,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
      46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    64,    65,
      66,    67,    68,    69,    -1,    -1,    72,    73,    74,    75,
      76,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
      86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,   155,
     156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,    -1,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,    -1,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,    -1,   215,
      -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,    -1,   240,   241,   242,   243,    -1,   245,
     246,    -1,   248,    -1,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,    -1,   268,    -1,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
      -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,    -1,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,    -1,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,   389,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
      -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,     3,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,    44,
      45,    46,    47,    -1,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    64,
      65,    66,    67,    68,    69,    -1,    -1,    -1,    73,    74,
      75,    76,    -1,    78,    79,    80,    81,    82,    83,    84,
      85,    86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
     155,   156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
      -1,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,    -1,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,    -1,
     215,   216,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,    -1,   240,   241,   242,   243,    -1,
     245,   246,    -1,   248,    -1,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,    -1,   268,    -1,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
      -1,   336,   337,   338,   339,   340,    -1,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,    -1,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,   389,   390,   391,   392,   393,   394,
      -1,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,    -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,     3,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
      44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
      54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
      -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
      74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
      84,    85,    86,    87,    88,    -1,    90,    91,    92,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
     114,   115,   116,    -1,   118,   119,   120,    -1,    -1,   123,
     124,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
     134,   135,    -1,   137,   138,   139,   140,   141,   142,   143,
     144,   145,    -1,   147,    -1,   149,   150,   151,   152,    -1,
     154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,   163,
     164,   165,    -1,   167,   168,    -1,   170,   171,   172,   173,
     174,    -1,   176,   177,   178,   179,    -1,   181,   182,   183,
     184,   185,   186,    -1,   188,    -1,   190,   191,   192,   193,
     194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,
      -1,   205,   206,   207,   208,   209,    -1,    -1,   212,   213,
      -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,    -1,   240,   241,   242,   243,
      -1,   245,   246,    -1,   248,    -1,   250,   251,   252,   253,
     254,   255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,
      -1,   265,   266,    -1,   268,    -1,   270,   271,   272,   273,
     274,   275,   276,   277,    -1,   279,   280,   281,   282,   283,
     284,   285,   286,    -1,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,    -1,
     314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
     324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
     334,    -1,   336,   337,   338,   339,   340,    -1,   342,   343,
     344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,   358,    -1,   360,   361,    -1,   363,
      -1,   365,   366,   367,   368,   369,    -1,   371,   372,    -1,
      -1,   375,   376,   377,   378,   379,    -1,   381,   382,   383,
     384,   385,   386,   387,    -1,    -1,   390,   391,   392,   393,
     394,    -1,    -1,   397,   398,   399,   400,   401,   402,   403,
      -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,
      43,    44,    45,    46,    47,    -1,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,
      73,    74,    75,    76,    -1,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    88,    -1,    90,    91,    92,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,
     163,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,    -1,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,    -1,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,
     203,    -1,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,    -1,   240,   241,   242,
     243,    -1,   245,   246,    -1,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
     333,   334,    -1,   336,   337,   338,   339,   340,    -1,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
      -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
      52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
      62,    63,    64,    65,    66,    67,    68,    69,    -1,    -1,
      -1,    73,    74,    75,    76,    -1,    78,    79,    80,    81,
      82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
      92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,    -1,   147,    -1,   149,   150,   151,
     152,    -1,   154,   155,   156,    -1,    -1,    -1,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,    -1,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,    -1,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,    -1,
      -1,   203,    -1,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,
      -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,    -1,   240,   241,
     242,   243,    -1,   245,   246,    -1,   248,    -1,   250,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,    -1,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,    -1,   336,   337,   338,   339,   340,    -1,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
      -1,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,    -1,   381,
     382,   383,   384,   385,   386,   387,    -1,   389,   390,   391,
     392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,    -1,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    88,    -1,    90,
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,    -1,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,    -1,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
      -1,    -1,   203,    -1,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,    -1,   240,
     241,   242,   243,    -1,   245,   246,    -1,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,    -1,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
      -1,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,    -1,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,    -1,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
      40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
      90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,   155,   156,    -1,    -1,    -1,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,    -1,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,    -1,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,    -1,    -1,   203,    -1,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,    -1,
     240,   241,   242,   243,    -1,   245,   246,    -1,   248,    -1,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,    -1,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,    -1,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,   362,   363,    -1,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,    -1,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    -1,    43,    44,    45,    46,    47,    -1,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    88,
      -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,    -1,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,
      -1,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,    -1,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
      -1,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
      -1,   240,   241,   242,   243,    -1,   245,   246,    -1,   248,
      -1,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,    -1,   268,
      -1,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,    -1,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
     329,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
     339,   340,    -1,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,    -1,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,    -1,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,    -1,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
      38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
      -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
      -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
      68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
      -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
     108,    -1,   110,    -1,   112,   113,   114,   115,   116,    -1,
     118,   119,   120,    -1,    -1,   123,   124,   125,   126,   127,
      -1,   129,   130,   131,    -1,   133,   134,   135,    -1,   137,
     138,   139,   140,   141,   142,   143,   144,   145,    -1,   147,
      -1,   149,   150,   151,   152,    -1,   154,    -1,   156,    -1,
      -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,   167,
     168,    -1,   170,   171,   172,   173,   174,    -1,   176,   177,
     178,   179,    -1,   181,   182,   183,   184,   185,   186,    -1,
     188,    -1,   190,   191,   192,   193,   194,   195,   196,    -1,
     198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,
     208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,
     218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
     238,    -1,   240,   241,   242,   243,    -1,   245,   246,    -1,
     248,    -1,   250,   251,   252,   253,   254,   255,    -1,   257,
      -1,   259,   260,   261,   262,    -1,    -1,   265,   266,    -1,
     268,    -1,   270,   271,   272,   273,   274,   275,   276,   277,
      -1,   279,   280,   281,   282,   283,   284,   285,   286,    -1,
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
     298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
     308,   309,   310,   311,   312,    -1,   314,   315,    -1,   317,
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
     328,    -1,   330,   331,   332,   333,   334,    -1,   336,   337,
     338,   339,   340,    -1,   342,   343,   344,   345,    -1,   347,
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
     358,    -1,   360,   361,    -1,   363,    -1,   365,   366,   367,
     368,   369,    -1,   371,   372,    -1,    -1,   375,   376,   377,
     378,   379,    -1,   381,   382,   383,   384,   385,   386,   387,
      -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,   397,
     398,   399,   400,   401,   402,   403,    -1,   405,    -1,   407,
     408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,     3,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
      27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
      37,    38,    -1,    40,    41,    -1,    43,    44,    45,    46,
      47,    -1,    49,    50,    -1,    52,    53,    54,    55,    56,
      -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    -1,    -1,    73,    74,    75,    76,
      -1,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
     107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,    -1,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
      -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,    -1,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,    -1,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,
      -1,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,    -1,   240,   241,   242,   243,    -1,   245,   246,
      -1,   248,    -1,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
      -1,   268,    -1,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,    -1,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,    -1,   330,   331,   332,   333,   334,    -1,   336,
     337,   338,   339,   340,    -1,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,    -1,   363,    -1,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,    -1,   381,   382,   383,   384,   385,   386,
     387,    -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,    -1,
     407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,     3,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
      46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
      76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,    -1,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,    -1,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,    -1,   215,
      -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,    -1,   240,   241,   242,   243,    -1,   245,
     246,    -1,   248,    -1,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,    -1,   268,    -1,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
      -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,    -1,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,    -1,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,   395,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
      -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,     3,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,    44,
      45,    46,    47,    -1,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    -1,    -1,    73,    74,
      75,    76,    -1,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
      -1,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,    -1,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,    -1,
     215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,    -1,   240,   241,   242,   243,    -1,
     245,   246,    -1,   248,    -1,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,    -1,   268,    -1,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
      -1,   336,   337,   338,   339,   340,    -1,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,    -1,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
     395,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,    -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,     3,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
      44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
      54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
      -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
      74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
      84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
     114,   115,   116,    -1,   118,   119,   120,    -1,    -1,   123,
     124,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
     134,   135,    -1,   137,   138,   139,   140,   141,   142,   143,
     144,   145,    -1,   147,    -1,   149,   150,   151,   152,    -1,
     154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,
     164,   165,    -1,   167,   168,    -1,   170,   171,   172,   173,
     174,    -1,   176,   177,   178,   179,    -1,   181,   182,   183,
     184,   185,   186,    -1,   188,    -1,   190,   191,   192,   193,
     194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,
      -1,   205,   206,   207,   208,   209,    -1,    -1,   212,   213,
      -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,    -1,   240,   241,   242,   243,
      -1,   245,   246,    -1,   248,    -1,   250,   251,   252,   253,
     254,   255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,
      -1,   265,   266,    -1,   268,    -1,   270,   271,   272,   273,
     274,   275,   276,   277,    -1,   279,   280,   281,   282,   283,
     284,   285,   286,    -1,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,    -1,
     314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
     324,   325,   326,   327,   328,    -1,   330,   331,   332,   333,
     334,    -1,   336,   337,   338,   339,   340,    -1,   342,   343,
     344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,   358,    -1,   360,   361,    -1,   363,
      -1,   365,   366,   367,   368,   369,    -1,   371,   372,    -1,
      -1,   375,   376,   377,   378,   379,    -1,   381,   382,   383,
     384,   385,   386,   387,    -1,    -1,   390,   391,   392,   393,
     394,    -1,    -1,   397,   398,   399,   400,   401,   402,   403,
      -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,
      43,    44,    45,    46,    47,    -1,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,
      73,    74,    75,    76,    -1,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    -1,    90,    91,    92,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,    -1,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,    -1,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,
     203,    -1,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,    -1,   240,   241,   242,
     243,    -1,   245,   246,    -1,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,    -1,   336,   337,   338,   339,   340,    -1,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
      -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
      52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
      -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
      92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,    -1,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,    -1,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,    -1,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,    -1,
      -1,   203,    -1,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,
      -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,    -1,   240,   241,
     242,   243,    -1,   245,   246,    -1,   248,    -1,   250,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,    -1,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,    -1,   336,   337,   338,   339,   340,    -1,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
      -1,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,    -1,   381,
     382,   383,   384,   385,   386,   387,    -1,    -1,   390,   391,
     392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,    -1,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    26,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    90,
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,    -1,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,    -1,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
      -1,    -1,   203,    -1,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,    -1,   240,
     241,   242,   243,    -1,   245,   246,    -1,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,    -1,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
      -1,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,    -1,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,    -1,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
      40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
      90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,    -1,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,    -1,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,    -1,    -1,   203,    -1,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,    -1,
     240,   241,   242,   243,    -1,   245,   246,    -1,   248,    -1,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,   259,
     260,   261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,    -1,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,    -1,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,    -1,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,    -1,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    -1,    43,    44,    45,    46,    47,    -1,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,    -1,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,
      -1,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,    -1,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
      -1,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
      -1,   240,   241,   242,   243,    -1,   245,   246,    -1,   248,
      -1,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,    -1,   268,
      -1,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,    -1,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
     339,   340,    -1,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,    -1,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,    -1,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,    -1,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
      38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
      -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
      -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
      68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
      -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
     108,    -1,   110,    -1,   112,   113,   114,   115,   116,    -1,
     118,   119,   120,    -1,    -1,   123,   124,   125,   126,   127,
      -1,   129,   130,   131,    -1,   133,   134,   135,    -1,   137,
     138,   139,   140,   141,   142,   143,   144,   145,    -1,   147,
      -1,   149,   150,   151,   152,    -1,   154,    -1,   156,    -1,
      -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,   167,
     168,    -1,   170,   171,   172,   173,   174,    -1,   176,   177,
     178,   179,    -1,   181,   182,   183,   184,   185,   186,    -1,
     188,    -1,   190,   191,   192,   193,   194,   195,   196,    -1,
     198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,
     208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,
     218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
     238,    -1,   240,   241,   242,   243,    -1,   245,   246,    -1,
     248,    -1,   250,   251,   252,   253,   254,   255,    -1,   257,
      -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,    -1,
     268,    -1,   270,   271,   272,   273,   274,   275,   276,   277,
      -1,   279,   280,   281,   282,   283,   284,   285,   286,    -1,
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
     298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
     308,   309,   310,   311,   312,    -1,   314,   315,    -1,   317,
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
     328,    -1,   330,   331,   332,   333,   334,    -1,   336,   337,
     338,   339,   340,    -1,   342,   343,   344,   345,    -1,   347,
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
     358,    -1,   360,   361,    -1,   363,    -1,   365,   366,   367,
     368,   369,    -1,   371,   372,    -1,    -1,   375,   376,   377,
     378,   379,    -1,   381,   382,   383,   384,   385,   386,   387,
      -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,   397,
     398,   399,   400,   401,   402,   403,    -1,   405,    -1,   407,
     408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,     3,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    26,
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      37,    38,    -1,    40,    41,    -1,    43,    44,    45,    46,
      47,    -1,    49,    50,    -1,    52,    53,    54,    55,    56,
      -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    -1,    -1,    73,    74,    75,    76,
      -1,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
     107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,    -1,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
      -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,    -1,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,    -1,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,
      -1,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,    -1,   240,   241,   242,   243,    -1,   245,   246,
      -1,   248,    -1,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
      -1,   268,    -1,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,    -1,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,    -1,   330,   331,   332,   333,   334,    -1,   336,
     337,   338,   339,   340,    -1,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,    -1,   363,    -1,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,    -1,   381,   382,   383,   384,   385,   386,
     387,    -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,    -1,
     407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,     3,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
      46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
      76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,    -1,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,    -1,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,    -1,   215,
      -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,    -1,   240,   241,   242,   243,    -1,   245,
     246,    -1,   248,    -1,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,    -1,   268,    -1,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
      -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,    -1,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,    -1,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
      -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,     3,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,    44,
      45,    46,    47,    -1,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    -1,    -1,    73,    74,
      75,    76,    -1,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
      -1,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,    -1,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,    -1,
     215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,    -1,   240,   241,   242,   243,    -1,
     245,   246,    -1,   248,    -1,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,   259,   260,   261,   262,    -1,    -1,
     265,   266,    -1,   268,    -1,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
      -1,   336,   337,   338,   339,   340,    -1,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,    -1,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
      -1,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,    -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,     3,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
      44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
      54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
      -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
      74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
      84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
     114,   115,   116,    -1,   118,   119,   120,    -1,    -1,   123,
     124,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
     134,   135,    -1,   137,   138,   139,   140,   141,   142,   143,
     144,   145,    -1,   147,    -1,   149,   150,   151,   152,    -1,
     154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,
     164,   165,    -1,   167,   168,    -1,   170,   171,   172,   173,
     174,    -1,   176,   177,   178,   179,    -1,   181,   182,   183,
     184,   185,   186,    -1,   188,    -1,   190,   191,   192,   193,
     194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,
      -1,   205,   206,   207,   208,   209,    -1,    -1,   212,   213,
      -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,    -1,   240,   241,   242,   243,
      -1,   245,   246,    -1,   248,    -1,   250,   251,   252,   253,
     254,   255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,
      -1,   265,   266,    -1,   268,    -1,   270,   271,   272,   273,
     274,   275,   276,   277,    -1,   279,   280,   281,   282,   283,
     284,   285,   286,    -1,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,    -1,
     314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
     324,   325,   326,   327,   328,    -1,   330,   331,   332,   333,
     334,    -1,   336,   337,   338,   339,   340,    -1,   342,   343,
     344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,   358,    -1,   360,   361,    -1,   363,
      -1,   365,   366,   367,   368,   369,    -1,   371,   372,    -1,
      -1,   375,   376,   377,   378,   379,    -1,   381,   382,   383,
     384,   385,   386,   387,    -1,    -1,   390,   391,   392,   393,
     394,    -1,    -1,   397,   398,   399,   400,   401,   402,   403,
      -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    26,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,
      43,    44,    45,    46,    47,    -1,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,
      73,    74,    75,    76,    -1,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    -1,    90,    91,    92,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,    -1,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,    -1,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,
     203,    -1,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,    -1,   240,   241,   242,
     243,    -1,   245,   246,    -1,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,    -1,   336,   337,   338,   339,   340,    -1,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
      -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
      52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
      -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
      92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,    -1,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,    -1,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,    -1,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,    -1,
      -1,   203,    -1,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,
      -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,    -1,   240,   241,
     242,   243,    -1,   245,   246,    -1,   248,    -1,   250,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,    -1,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,    -1,   336,   337,   338,   339,   340,    -1,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
     362,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,    -1,   381,
     382,   383,   384,   385,   386,   387,    -1,    -1,   390,   391,
     392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,    -1,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    35,    -1,    37,    38,    -1,    40,
      41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    90,
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,    -1,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,    -1,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
      -1,    -1,   203,    -1,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,    -1,   240,
     241,   242,   243,    -1,   245,   246,    -1,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,    -1,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
      -1,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,    -1,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,    -1,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    35,    -1,    37,    38,    -1,
      40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
      90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,    -1,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,    -1,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,    -1,    -1,   203,    -1,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,    -1,
     240,   241,   242,   243,    -1,   245,   246,    -1,   248,    -1,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,    -1,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,    -1,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,    -1,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,    -1,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    -1,    43,    44,    45,    46,    47,    -1,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,    -1,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,
      -1,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,    -1,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
      -1,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
      -1,   240,   241,   242,   243,    -1,   245,   246,    -1,   248,
      -1,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,    -1,   268,
      -1,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,    -1,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
     339,   340,    -1,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,    -1,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,    -1,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,   396,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,    -1,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
      38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
      -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
      -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
      68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
      -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
     108,    -1,   110,    -1,   112,   113,   114,   115,   116,    -1,
     118,   119,   120,    -1,    -1,   123,   124,   125,   126,   127,
      -1,   129,   130,   131,    -1,   133,   134,   135,    -1,   137,
     138,   139,   140,   141,   142,   143,   144,   145,    -1,   147,
      -1,   149,   150,   151,   152,    -1,   154,    -1,   156,    -1,
      -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,   167,
     168,    -1,   170,   171,   172,   173,   174,    -1,   176,   177,
     178,   179,    -1,   181,   182,   183,   184,   185,   186,    -1,
     188,    -1,   190,   191,   192,   193,   194,   195,   196,    -1,
     198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,
     208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,
     218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
     238,    -1,   240,   241,   242,   243,    -1,   245,   246,    -1,
     248,    -1,   250,   251,   252,   253,   254,   255,    -1,   257,
      -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,    -1,
     268,    -1,   270,   271,   272,   273,   274,   275,   276,   277,
      -1,   279,   280,   281,   282,   283,   284,   285,   286,    -1,
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
     298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
     308,   309,   310,   311,   312,    -1,   314,   315,    -1,   317,
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
     328,    -1,   330,   331,   332,   333,   334,    -1,   336,   337,
     338,   339,   340,    -1,   342,   343,   344,   345,    -1,   347,
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
     358,    -1,   360,   361,    -1,   363,    -1,   365,   366,   367,
     368,   369,    -1,   371,   372,    -1,    -1,   375,   376,   377,
     378,   379,    -1,   381,   382,   383,   384,   385,   386,   387,
      -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,   397,
     398,   399,   400,   401,   402,   403,    -1,   405,    -1,   407,
     408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,     3,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      37,    38,    -1,    40,    41,    -1,    43,    44,    45,    46,
      47,    -1,    49,    50,    -1,    52,    53,    54,    55,    56,
      -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    -1,    -1,    73,    74,    75,    76,
      -1,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
     107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,    -1,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
      -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,    -1,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,    -1,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,
      -1,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,    -1,   240,   241,   242,   243,    -1,   245,   246,
      -1,   248,    -1,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
      -1,   268,    -1,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,    -1,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,    -1,   330,   331,   332,   333,   334,    -1,   336,
     337,   338,   339,   340,    -1,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,    -1,   363,    -1,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,    -1,   381,   382,   383,   384,   385,   386,
     387,    -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,    -1,
     407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,     3,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
      46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
      76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,    -1,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,    -1,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,    -1,   215,
      -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,    -1,   240,   241,   242,   243,    -1,   245,
     246,    -1,   248,    -1,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,    -1,   268,    -1,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
      -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,    -1,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,    -1,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
      -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,     3,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,    44,
      45,    46,    47,    -1,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    -1,    -1,    73,    74,
      75,    76,    -1,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
      -1,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,    -1,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,    -1,
     215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,    -1,   240,   241,   242,   243,    -1,
     245,   246,    -1,   248,    -1,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,    -1,   268,    -1,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
      -1,   336,   337,   338,   339,   340,    -1,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,    -1,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
      -1,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,    -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,     3,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
      44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
      54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
      -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
      74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
      84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
     114,   115,   116,    -1,   118,   119,   120,    -1,    -1,   123,
     124,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
     134,   135,    -1,   137,   138,   139,   140,   141,   142,   143,
     144,   145,    -1,   147,    -1,   149,   150,   151,   152,    -1,
     154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,
     164,   165,    -1,   167,   168,    -1,   170,   171,   172,   173,
     174,    -1,   176,   177,   178,   179,    -1,   181,   182,   183,
     184,   185,   186,    -1,   188,    -1,   190,   191,   192,   193,
     194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,
      -1,   205,   206,   207,   208,   209,    -1,    -1,   212,   213,
      -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,    -1,   240,   241,   242,   243,
      -1,   245,   246,    -1,   248,    -1,   250,   251,   252,   253,
     254,   255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,
      -1,   265,   266,    -1,   268,    -1,   270,   271,   272,   273,
     274,   275,   276,   277,    -1,   279,   280,   281,   282,   283,
     284,   285,   286,    -1,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,    -1,
     314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
     324,   325,   326,   327,   328,    -1,   330,   331,   332,   333,
     334,    -1,   336,   337,   338,   339,   340,    -1,   342,   343,
     344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,   358,    -1,   360,   361,    -1,   363,
      -1,   365,   366,   367,   368,   369,    -1,   371,   372,    -1,
      -1,   375,   376,   377,   378,   379,    -1,   381,   382,   383,
     384,   385,   386,   387,    -1,    -1,   390,   391,   392,   393,
     394,    -1,    -1,   397,   398,   399,   400,   401,   402,   403,
      -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,
      43,    44,    45,    46,    47,    -1,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,
      73,    74,    75,    76,    -1,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    -1,    90,    91,    92,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,    -1,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,    -1,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,
     203,    -1,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,    -1,   240,   241,   242,
     243,    -1,   245,   246,    -1,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,    -1,   336,   337,   338,   339,   340,    -1,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
      -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
      52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
      -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
      92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,    -1,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,    -1,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,    -1,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,    -1,
      -1,   203,    -1,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,
      -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,    -1,   240,   241,
     242,   243,    -1,   245,   246,    -1,   248,    -1,   250,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,    -1,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,    -1,   336,   337,   338,   339,   340,    -1,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
      -1,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,    -1,   381,
     382,   383,   384,   385,   386,   387,    -1,    -1,   390,   391,
     392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,    -1,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    90,
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,    -1,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,    -1,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
      -1,    -1,   203,    -1,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,    -1,   240,
     241,   242,   243,    -1,   245,   246,    -1,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,    -1,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
      -1,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,    -1,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,    -1,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
      40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
      90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,    -1,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,    -1,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,    -1,    -1,   203,    -1,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,    -1,
     240,   241,   242,   243,    -1,   245,   246,    -1,   248,    -1,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,    -1,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,    -1,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,    -1,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,    -1,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    -1,    43,    44,    45,    46,    47,    -1,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,    -1,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,
      -1,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,    -1,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
      -1,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
      -1,   240,   241,   242,   243,    -1,   245,   246,    -1,   248,
      -1,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,    -1,   268,
      -1,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,    -1,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
     339,   340,    -1,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,    -1,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,    -1,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,    -1,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
      38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
      -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
      -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
      68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
      -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
     108,    -1,   110,    -1,   112,   113,   114,   115,   116,    -1,
     118,   119,   120,    -1,    -1,   123,   124,   125,   126,   127,
      -1,   129,   130,   131,    -1,   133,   134,   135,    -1,   137,
     138,   139,   140,   141,   142,   143,   144,   145,    -1,   147,
      -1,   149,   150,   151,   152,    -1,   154,    -1,   156,    -1,
      -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,   167,
     168,    -1,   170,   171,   172,   173,   174,    -1,   176,   177,
     178,   179,    -1,   181,   182,   183,   184,   185,   186,    -1,
     188,    -1,   190,   191,   192,   193,   194,   195,   196,    -1,
     198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,
     208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,
     218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
     238,    -1,   240,   241,   242,   243,    -1,   245,   246,    -1,
     248,    -1,   250,   251,   252,   253,   254,   255,    -1,   257,
      -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,    -1,
     268,    -1,   270,   271,   272,   273,   274,   275,   276,   277,
      -1,   279,   280,   281,   282,   283,   284,   285,   286,    -1,
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
     298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
     308,   309,   310,   311,   312,    -1,   314,   315,    -1,   317,
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
     328,    -1,   330,   331,   332,   333,   334,    -1,   336,   337,
     338,   339,   340,    -1,   342,   343,   344,   345,    -1,   347,
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
     358,    -1,   360,   361,    -1,   363,    -1,   365,   366,   367,
     368,   369,    -1,   371,   372,    -1,    -1,   375,   376,   377,
     378,   379,    -1,   381,   382,   383,   384,   385,   386,   387,
      -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,   397,
     398,   399,   400,   401,   402,   403,    -1,   405,    -1,   407,
     408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,     3,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      37,    38,    -1,    40,    41,    -1,    43,    44,    45,    46,
      47,    -1,    49,    50,    -1,    52,    53,    54,    55,    56,
      -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    -1,    -1,    73,    74,    75,    76,
      -1,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
     107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,    -1,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
      -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,    -1,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,    -1,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,
      -1,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,    -1,   240,   241,   242,   243,    -1,   245,   246,
      -1,   248,    -1,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
      -1,   268,    -1,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,    -1,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,    -1,   330,   331,   332,   333,   334,    -1,   336,
     337,   338,   339,   340,    -1,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,    -1,   363,    -1,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,    -1,   381,   382,   383,   384,   385,   386,
     387,    -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,    -1,
     407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,     3,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
      46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
      76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,    -1,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,    -1,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,    -1,   215,
      -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,    -1,   240,   241,   242,   243,    -1,   245,
     246,    -1,   248,    -1,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,    -1,   268,    -1,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
      -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,    -1,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,    -1,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
      -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,     3,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,    44,
      45,    46,    47,    -1,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    -1,    -1,    73,    74,
      75,    76,    -1,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
      -1,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,    -1,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,    -1,
     215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,    -1,   240,   241,   242,   243,    -1,
     245,   246,    -1,   248,    -1,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,    -1,   268,    -1,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
      -1,   336,   337,   338,   339,   340,    -1,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,    -1,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
      -1,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,    -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,     3,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
      44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
      54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
      -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
      74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
      84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
     114,   115,   116,    -1,   118,   119,   120,    -1,    -1,   123,
     124,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
     134,   135,    -1,   137,   138,   139,   140,   141,   142,   143,
     144,   145,    -1,   147,    -1,   149,   150,   151,   152,    -1,
     154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,
     164,   165,    -1,   167,   168,    -1,   170,   171,   172,   173,
     174,    -1,   176,   177,   178,   179,    -1,   181,   182,   183,
     184,   185,   186,    -1,   188,    -1,   190,   191,   192,   193,
     194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,
      -1,   205,   206,   207,   208,   209,    -1,    -1,   212,   213,
      -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,    -1,   240,   241,   242,   243,
      -1,   245,   246,    -1,   248,    -1,   250,   251,   252,   253,
     254,   255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,
      -1,   265,   266,    -1,   268,    -1,   270,   271,   272,   273,
     274,   275,   276,   277,    -1,   279,   280,   281,   282,   283,
     284,   285,   286,    -1,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,    -1,
     314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
     324,   325,   326,   327,   328,    -1,   330,   331,   332,   333,
     334,    -1,   336,   337,   338,   339,   340,    -1,   342,   343,
     344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,   358,    -1,   360,   361,    -1,   363,
      -1,   365,   366,   367,   368,   369,    -1,   371,   372,    -1,
      -1,   375,   376,   377,   378,   379,    -1,   381,   382,   383,
     384,   385,   386,   387,    -1,    -1,   390,   391,   392,   393,
     394,    -1,    -1,   397,   398,   399,   400,   401,   402,   403,
      -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,
      43,    44,    45,    46,    47,    -1,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,
      73,    74,    75,    76,    -1,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    -1,    90,    91,    92,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,    -1,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,    -1,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,
     203,    -1,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,    -1,   240,   241,   242,
     243,    -1,   245,   246,    -1,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,    -1,   336,   337,   338,   339,   340,    -1,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
      -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
      52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
      -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
      92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,    -1,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,    -1,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,    -1,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,    -1,
      -1,   203,    -1,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,
      -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,    -1,   240,   241,
     242,   243,    -1,   245,   246,    -1,   248,    -1,   250,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,    -1,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,    -1,   336,   337,   338,   339,   340,    -1,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
      -1,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,    -1,   381,
     382,   383,   384,   385,   386,   387,    -1,    -1,   390,   391,
     392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,    -1,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    90,
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,    -1,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,    -1,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
      -1,    -1,   203,    -1,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,    -1,   240,
     241,   242,   243,    -1,   245,   246,    -1,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,    -1,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
      -1,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,    -1,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,    -1,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
      40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
      90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,    -1,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,    -1,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,    -1,    -1,   203,    -1,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,    -1,
     240,   241,   242,   243,    -1,   245,   246,    -1,   248,    -1,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,    -1,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,    -1,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,    -1,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,    -1,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    -1,    43,    44,    45,    46,    47,    -1,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,    -1,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,
      -1,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,    -1,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
      -1,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
      -1,   240,   241,   242,   243,    -1,   245,   246,    -1,   248,
      -1,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,    -1,   268,
      -1,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,    -1,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
     339,   340,    -1,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,    -1,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,    -1,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,    -1,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
      38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
      -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
      -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
      68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
      -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
     108,    -1,   110,    -1,   112,   113,   114,   115,   116,    -1,
     118,   119,   120,    -1,    -1,   123,   124,   125,   126,   127,
      -1,   129,   130,   131,    -1,   133,   134,   135,    -1,   137,
     138,   139,   140,   141,   142,   143,   144,   145,    -1,   147,
      -1,   149,   150,   151,   152,    -1,   154,    -1,   156,    -1,
      -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,   167,
     168,    -1,   170,   171,   172,   173,   174,    -1,   176,   177,
     178,   179,    -1,   181,   182,   183,   184,   185,   186,    -1,
     188,    -1,   190,   191,   192,   193,   194,   195,   196,    -1,
     198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,
     208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,
     218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
     238,    -1,   240,   241,   242,   243,    -1,   245,   246,    -1,
     248,    -1,   250,   251,   252,   253,   254,   255,    -1,   257,
      -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,    -1,
     268,    -1,   270,   271,   272,   273,   274,   275,   276,   277,
      -1,   279,   280,   281,   282,   283,   284,   285,   286,    -1,
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
     298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
     308,   309,   310,   311,   312,    -1,   314,   315,    -1,   317,
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
     328,    -1,   330,   331,   332,   333,   334,    -1,   336,   337,
     338,   339,   340,    -1,   342,   343,   344,   345,    -1,   347,
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
     358,    -1,   360,   361,    -1,   363,    -1,   365,   366,   367,
     368,   369,    -1,   371,   372,    -1,    -1,   375,   376,   377,
     378,   379,    -1,   381,   382,   383,   384,   385,   386,   387,
      -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,   397,
     398,   399,   400,   401,   402,   403,    -1,   405,    -1,   407,
     408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,     3,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      37,    38,    -1,    40,    41,    -1,    43,    44,    45,    46,
      47,    -1,    49,    50,    -1,    52,    53,    54,    55,    56,
      -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    -1,    -1,    73,    74,    75,    76,
      -1,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
     107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,    -1,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
      -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,    -1,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,    -1,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,
      -1,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,    -1,   240,   241,   242,   243,    -1,   245,   246,
      -1,   248,    -1,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
      -1,   268,    -1,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,    -1,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,    -1,   330,   331,   332,   333,   334,    -1,   336,
     337,   338,   339,   340,    -1,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,    -1,   363,    -1,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,    -1,   381,   382,   383,   384,   385,   386,
     387,    -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,    -1,
     407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,     3,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
      46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
      76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,    -1,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,    -1,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,    -1,   215,
      -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,    -1,   240,   241,   242,   243,    -1,   245,
     246,    -1,   248,    -1,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,    -1,   268,    -1,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
      -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,    -1,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,    -1,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
      -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,     3,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,    44,
      45,    46,    47,    -1,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    -1,    -1,    73,    74,
      75,    76,    -1,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
      -1,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,    -1,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,    -1,
     215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,    -1,   240,   241,   242,   243,    -1,
     245,   246,    -1,   248,    -1,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,    -1,   268,    -1,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
      -1,   336,   337,   338,   339,   340,    -1,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,    -1,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
      -1,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,    -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,     3,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
      44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
      54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
      -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
      74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
      84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
     114,   115,   116,    -1,   118,   119,   120,    -1,    -1,   123,
     124,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
     134,   135,    -1,   137,   138,   139,   140,   141,   142,   143,
     144,   145,    -1,   147,    -1,   149,   150,   151,   152,    -1,
     154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,
     164,   165,    -1,   167,   168,    -1,   170,   171,   172,   173,
     174,    -1,   176,   177,   178,   179,    -1,   181,   182,   183,
     184,   185,   186,    -1,   188,    -1,   190,   191,   192,   193,
     194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,
      -1,   205,   206,   207,   208,   209,    -1,    -1,   212,   213,
      -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,    -1,   240,   241,   242,   243,
      -1,   245,   246,    -1,   248,    -1,   250,   251,   252,   253,
     254,   255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,
      -1,   265,   266,    -1,   268,    -1,   270,   271,   272,   273,
     274,   275,   276,   277,    -1,   279,   280,   281,   282,   283,
     284,   285,   286,    -1,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,    -1,
     314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
     324,   325,   326,   327,   328,    -1,   330,   331,   332,   333,
     334,    -1,   336,   337,   338,   339,   340,    -1,   342,   343,
     344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,   358,    -1,   360,   361,    -1,   363,
      -1,   365,   366,   367,   368,   369,    -1,   371,   372,    -1,
      -1,   375,   376,   377,   378,   379,    -1,   381,   382,   383,
     384,   385,   386,   387,    -1,    -1,   390,   391,   392,   393,
     394,    -1,    -1,   397,   398,   399,   400,   401,   402,   403,
      -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    35,    -1,    37,    38,    -1,    40,    41,    -1,
      43,    44,    45,    46,    47,    -1,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,
      73,    74,    75,    76,    -1,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    -1,    90,    91,    92,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,    -1,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,    -1,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,
     203,    -1,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,    -1,   240,   241,   242,
     243,    -1,   245,   246,    -1,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,    -1,    -1,   337,   338,   339,   340,    -1,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
      -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
      52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
      -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
      92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,    -1,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,    -1,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,    -1,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,    -1,
      -1,   203,    -1,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,
      -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,    -1,   240,   241,
     242,   243,    -1,   245,   246,    -1,   248,    -1,   250,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,    -1,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,    -1,   336,   337,   338,   339,   340,    -1,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
      -1,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,    -1,   381,
     382,   383,   384,   385,   386,   387,    -1,    -1,   390,   391,
     392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,    -1,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    90,
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,    -1,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,    -1,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
      -1,    -1,   203,    -1,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,    -1,   240,
     241,   242,   243,    -1,   245,   246,    -1,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,    -1,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
      -1,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,    -1,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,    -1,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
      40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
      90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,    -1,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,    -1,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,    -1,    -1,   203,    -1,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,    -1,
     240,   241,   242,   243,    -1,   245,   246,    -1,   248,    -1,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,    -1,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,    -1,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,    -1,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,    -1,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    -1,    43,    44,    45,    46,    47,    -1,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,   141,   142,   143,   144,   145,    -1,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,
      -1,   160,   161,   162,    -1,   164,   165,    -1,   167,   168,
      -1,   170,   171,   172,   173,   174,    -1,   176,   177,   178,
     179,    -1,   181,   182,   183,   184,   185,   186,    -1,   188,
      -1,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,   208,
     209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
      -1,   240,   241,   242,   243,    -1,   245,   246,    -1,   248,
      -1,   250,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,    -1,   268,
      -1,   270,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,   281,   282,   283,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,    -1,   317,   318,
     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
     339,   340,    -1,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
      -1,   360,   361,    -1,   363,    -1,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,   377,   378,
     379,    -1,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
     399,   400,   401,   402,   403,    -1,   405,    -1,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
     429,   430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
      28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
      38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
      -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
      -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
      68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
      78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
      -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
     108,    -1,   110,    -1,   112,   113,   114,   115,   116,    -1,
     118,   119,   120,    -1,    -1,   123,   124,   125,   126,   127,
      -1,   129,   130,   131,    -1,   133,   134,   135,    -1,   137,
     138,   139,   140,   141,   142,   143,   144,   145,    -1,   147,
      -1,   149,   150,   151,   152,    -1,   154,    -1,   156,    -1,
      -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,   167,
     168,    -1,   170,   171,   172,   173,   174,    -1,   176,   177,
     178,   179,    -1,   181,   182,   183,   184,   185,   186,    -1,
     188,    -1,   190,   191,   192,   193,   194,   195,   196,    -1,
     198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,   207,
     208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,    -1,
     218,   219,   220,    -1,    -1,   223,   224,   225,   226,   227,
     228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
     238,    -1,   240,   241,   242,   243,    -1,   245,   246,    -1,
     248,    -1,   250,   251,   252,   253,   254,   255,    -1,   257,
      -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,    -1,
     268,    -1,   270,   271,   272,   273,   274,   275,   276,   277,
      -1,   279,   280,   281,   282,   283,   284,   285,   286,    -1,
     288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
     298,   299,   300,    -1,   302,   303,   304,   305,   306,   307,
     308,   309,   310,   311,   312,    -1,   314,   315,    -1,   317,
     318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
     328,    -1,   330,   331,   332,   333,   334,    -1,   336,   337,
     338,   339,   340,    -1,   342,   343,   344,   345,    -1,   347,
     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
     358,    -1,   360,   361,    -1,   363,    -1,   365,   366,   367,
     368,   369,    -1,   371,   372,    -1,    -1,   375,   376,   377,
     378,   379,    -1,   381,   382,   383,   384,   385,   386,   387,
      -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,   397,
     398,   399,   400,   401,   402,   403,    -1,   405,    -1,   407,
     408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,
     418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
     428,   429,   430,   431,   432,   433,     3,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      37,    38,    -1,    40,    41,    -1,    43,    44,    45,    46,
      47,    -1,    49,    50,    -1,    52,    53,    54,    55,    56,
      -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
      67,    68,    69,    -1,    -1,    -1,    73,    74,    75,    76,
      -1,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
     107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,   141,   142,   143,   144,   145,    -1,
     147,    -1,   149,   150,   151,   152,    -1,   154,    -1,   156,
      -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,    -1,
     167,   168,    -1,   170,   171,   172,   173,   174,    -1,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,    -1,   190,   191,   192,   193,   194,   195,   196,
      -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,   206,
     207,   208,   209,    -1,    -1,   212,   213,    -1,   215,    -1,
      -1,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,   238,    -1,   240,   241,   242,   243,    -1,   245,   246,
      -1,   248,    -1,   250,   251,   252,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,   266,
      -1,   268,    -1,   270,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,   281,   282,   283,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,   296,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,    -1,
     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
     327,   328,    -1,   330,   331,   332,   333,   334,    -1,   336,
     337,   338,   339,   340,    -1,   342,   343,   344,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,   358,    -1,   360,   361,    -1,   363,    -1,   365,   366,
     367,   368,   369,    -1,   371,   372,    -1,    -1,   375,   376,
     377,   378,   379,    -1,   381,   382,   383,   384,   385,   386,
     387,    -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,
     397,   398,   399,   400,   401,   402,   403,    -1,   405,    -1,
     407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,     3,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
      46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
      76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,   141,   142,   143,   144,   145,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,   165,
      -1,   167,   168,    -1,   170,   171,   172,   173,   174,    -1,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,    -1,   190,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,   205,
     206,   207,   208,   209,    -1,    -1,   212,   213,    -1,   215,
      -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,    -1,   240,   241,   242,   243,    -1,   245,
     246,    -1,   248,    -1,   250,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
     266,    -1,   268,    -1,   270,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,   281,   282,   283,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
      -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,   338,   339,   340,    -1,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,   358,    -1,   360,   361,    -1,   363,    -1,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,   377,   378,   379,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,   402,   403,    -1,   405,
      -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
     426,   427,   428,   429,   430,   431,   432,   433,     3,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,    44,
      45,    46,    47,    -1,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    69,    -1,    -1,    -1,    73,    74,
      75,    76,    -1,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,   141,   142,   143,   144,
     145,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,   164,
     165,    -1,   167,   168,    -1,   170,   171,   172,   173,   174,
      -1,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,    -1,   190,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,    -1,
     205,   206,   207,   208,   209,    -1,    -1,   212,   213,    -1,
     215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,    -1,   240,   241,   242,   243,    -1,
     245,   246,    -1,   248,    -1,   250,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,   266,    -1,   268,    -1,   270,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,   281,   282,   283,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
      -1,   336,   337,   338,   339,   340,    -1,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,   358,    -1,   360,   361,    -1,   363,    -1,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,   377,   378,   379,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
      -1,    -1,   397,   398,   399,   400,   401,   402,   403,    -1,
     405,    -1,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,   422,   423,   424,
     425,   426,   427,   428,   429,   430,   431,   432,   433,     3,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
      44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
      54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
      -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
      74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
      84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
     114,   115,   116,    -1,   118,   119,   120,    -1,    -1,   123,
     124,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
     134,   135,    -1,   137,   138,   139,   140,   141,   142,   143,
     144,   145,    -1,   147,    -1,   149,   150,   151,   152,    -1,
     154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,    -1,
     164,   165,    -1,   167,   168,    -1,   170,   171,   172,   173,
     174,    -1,   176,   177,   178,   179,    -1,   181,   182,   183,
     184,   185,   186,    -1,   188,    -1,   190,   191,   192,   193,
     194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,   203,
      -1,   205,   206,   207,   208,   209,    -1,    -1,   212,   213,
      -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,    -1,   240,   241,   242,   243,
      -1,   245,   246,    -1,   248,    -1,   250,   251,   252,   253,
     254,   255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,
      -1,   265,   266,    -1,   268,    -1,   270,   271,   272,   273,
     274,   275,   276,   277,    -1,   279,   280,   281,   282,   283,
     284,   285,   286,    -1,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,    -1,
     314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
     324,   325,   326,   327,   328,    -1,   330,   331,   332,   333,
     334,    -1,   336,   337,   338,   339,   340,    -1,   342,   343,
     344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,   358,    -1,   360,   361,    -1,   363,
      -1,   365,   366,   367,   368,   369,    -1,   371,   372,    -1,
      -1,   375,   376,   377,   378,   379,    -1,   381,   382,   383,
     384,   385,   386,   387,    -1,    -1,   390,   391,   392,   393,
     394,    -1,    -1,   397,   398,   399,   400,   401,   402,   403,
      -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,   420,   421,   422,   423,
     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,
      43,    44,    45,    46,    47,    -1,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,
      73,    74,    75,    76,    -1,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    -1,    90,    91,    92,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,   141,   142,
     143,   144,   145,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,   162,
      -1,   164,   165,    -1,   167,   168,    -1,   170,   171,   172,
     173,   174,    -1,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,    -1,   190,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,    -1,    -1,
     203,    -1,   205,   206,   207,   208,   209,    -1,    -1,   212,
     213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,    -1,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,    -1,   240,   241,   242,
     243,    -1,   245,   246,    -1,   248,    -1,   250,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,   281,   282,
     283,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,    -1,   336,   337,   338,   339,   340,    -1,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,   358,    -1,   360,   361,    -1,
     363,    -1,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,   377,   378,   379,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,    -1,    -1,   397,   398,   399,   400,   401,   402,
     403,    -1,   405,    -1,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,   422,
     423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
     433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
      -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
      52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
      -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
      92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,   141,
     142,   143,   144,   145,    -1,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,   161,
     162,    -1,   164,   165,    -1,   167,   168,    -1,   170,   171,
     172,   173,   174,    -1,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,    -1,   190,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,    -1,
      -1,   203,    -1,   205,   206,   207,   208,   209,    -1,    -1,
     212,   213,    -1,   215,    -1,    -1,   218,   219,   220,    -1,
      -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,    -1,   240,   241,
     242,   243,    -1,   245,   246,    -1,   248,    -1,   250,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,   281,
     282,   283,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,    -1,   317,   318,   319,   320,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,    -1,   336,   337,   338,   339,   340,    -1,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,   358,    -1,   360,   361,
      -1,   363,    -1,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,   377,   378,   379,    -1,   381,
     382,   383,   384,   385,   386,   387,    -1,    -1,   390,   391,
     392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
     402,   403,    -1,   405,    -1,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
     432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    90,
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,    -1,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,    -1,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
      -1,    -1,   203,    -1,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,    -1,   240,
     241,   242,   243,    -1,   245,   246,    -1,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,    -1,   317,   318,   319,   320,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
      -1,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,    -1,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,    -1,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
      40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
      -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
      90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,   141,   142,   143,   144,   145,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,
     160,   161,   162,    -1,   164,   165,    -1,   167,   168,    -1,
     170,   171,   172,   173,   174,    -1,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,    -1,
     190,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,    -1,    -1,   203,    -1,   205,   206,   207,   208,   209,
      -1,    -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,    -1,
     240,   241,   242,   243,    -1,   245,   246,    -1,   248,    -1,
     250,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,
     270,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,   281,   282,   283,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,    -1,   317,   318,   319,
     320,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,    -1,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,    -1,
     360,   361,    -1,   363,    -1,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,   377,   378,   379,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,   402,   403,    -1,   405,    -1,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
     430,   431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
      19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
      29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
      -1,    40,    41,    42,    43,    44,    45,    -1,    47,    48,
      49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
      59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
      -1,    -1,    71,    -1,    73,    74,    75,    76,    77,    78,
      79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
      89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,
      -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
      -1,   110,    -1,   112,   113,   114,   115,   116,    -1,   118,
     119,   120,    -1,    -1,   123,   124,   125,   126,   127,    -1,
     129,   130,   131,    -1,   133,   134,   135,    -1,   137,   138,
     139,   140,    -1,   142,   143,   144,    -1,    -1,   147,    -1,
     149,   150,   151,   152,    -1,   154,    -1,   156,   157,    -1,
     159,   160,   161,   162,    -1,   164,    -1,    -1,    -1,   168,
      -1,   170,   171,   172,   173,   174,   175,   176,   177,   178,
     179,   180,   181,   182,   183,   184,   185,   186,    -1,   188,
     189,   190,   191,   192,   193,   194,   195,   196,    -1,   198,
      -1,   200,   201,   202,   203,   204,   205,   206,   207,   208,
     209,    -1,    -1,   212,    -1,   214,   215,   216,    -1,   218,
     219,   220,    -1,    -1,   223,   224,   225,   226,   227,   228,
     229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
     239,   240,   241,   242,    -1,    -1,   245,   246,   247,   248,
      -1,    -1,   251,   252,   253,   254,   255,    -1,   257,    -1,
      -1,   260,   261,   262,    -1,    -1,   265,   266,   267,   268,
     269,    -1,   271,   272,   273,   274,   275,   276,   277,    -1,
     279,   280,    -1,   282,    -1,   284,   285,   286,    -1,   288,
     289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
     299,   300,    -1,   302,   303,   304,   305,   306,   307,   308,
     309,   310,   311,   312,    -1,   314,   315,   316,   317,   318,
     319,    -1,   321,   322,   323,   324,   325,   326,   327,   328,
      -1,   330,   331,   332,   333,   334,    -1,   336,   337,   338,
     339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
     349,   350,   351,   352,   353,   354,   355,   356,   357,    -1,
      -1,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
     369,    -1,   371,   372,    -1,    -1,   375,   376,    -1,   378,
      -1,    -1,   381,   382,   383,   384,   385,   386,   387,    -1,
      -1,   390,   391,   392,   393,   394,    -1,    -1,   397,   398,
     399,   400,   401,    -1,   403,   404,   405,   406,   407,   408,
     409,   410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,
     419,   420,   421,     3,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,   431,   432,   433,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
      40,    41,    42,    43,    44,    45,    -1,    47,    48,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    -1,
      -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
      90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,    -1,   142,   143,   144,    -1,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,   157,    -1,   159,
     160,   161,   162,    -1,   164,    -1,    -1,    -1,   168,    -1,
     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,   189,
      -1,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,    -1,   212,    -1,   214,   215,   216,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
     240,   241,   242,    -1,    -1,   245,   246,   247,   248,   249,
      -1,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,    -1,   267,   268,   269,
      -1,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,    -1,   282,    -1,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,   316,   317,   318,   319,
      -1,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,    -1,    -1,
     360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,    -1,   378,    -1,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,    -1,   403,    -1,   405,   406,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   431,   432,   433,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
      -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    90,
      91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
     141,   142,   143,   144,   145,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,    -1,    -1,    -1,   160,
     161,   162,    -1,   164,   165,    -1,   167,   168,    -1,   170,
     171,   172,   173,   174,    -1,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,    -1,   190,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
      -1,    -1,   203,    -1,   205,   206,   207,   208,   209,    -1,
      -1,   212,   213,    -1,   215,    -1,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,    -1,   240,
     241,   242,   243,    -1,   245,   246,    -1,   248,    -1,   250,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,   266,    -1,   268,    -1,   270,
     271,   272,   273,   274,    -1,   276,   277,    -1,   279,   280,
     281,   282,   283,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,    -1,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,    -1,   317,   318,   319,   320,
      -1,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
      -1,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,   358,    -1,   360,
     361,    -1,   363,    -1,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,   377,   378,   379,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,   402,   403,    -1,   405,    -1,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
     431,   432,   433,     3,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
      20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
      40,    41,    42,    43,    44,    45,    -1,    47,    48,    49,
      50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
      60,    61,    62,    63,    -1,    65,    66,    67,    68,    -1,
      -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
      80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
      90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,
     100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
     110,    -1,   112,   113,   114,   115,   116,    -1,   118,   119,
     120,    -1,    -1,   123,   124,   125,   126,   127,    -1,   129,
     130,   131,    -1,   133,   134,   135,    -1,   137,   138,   139,
     140,    -1,   142,   143,   144,    -1,    -1,   147,    -1,   149,
     150,   151,   152,    -1,   154,    -1,   156,   157,    -1,   159,
     160,   161,   162,    -1,   164,    -1,    -1,    -1,   168,    -1,
     170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
      -1,   181,   182,   183,   184,   185,   186,    -1,   188,   189,
      -1,   191,   192,   193,   194,   195,   196,    -1,   198,    -1,
     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
      -1,    -1,   212,    -1,   214,   215,   216,    -1,   218,   219,
     220,    -1,    -1,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
     240,   241,   242,   243,    -1,   245,   246,   247,   248,    -1,
      -1,   251,   252,   253,   254,   255,    -1,   257,    -1,    -1,
     260,   261,   262,    -1,    -1,   265,    -1,   267,   268,   269,
      -1,   271,   272,   273,   274,   275,   276,   277,    -1,   279,
     280,    -1,   282,    -1,   284,   285,   286,    -1,   288,   289,
     290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
     300,    -1,   302,   303,   304,   305,   306,   307,   308,   309,
     310,   311,   312,    -1,   314,   315,   316,   317,   318,   319,
      -1,   321,   322,   323,   324,   325,   326,   327,   328,    -1,
     330,   331,   332,   333,   334,    -1,   336,   337,   338,   339,
     340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,    -1,    -1,
     360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
      -1,   371,   372,    -1,    -1,   375,   376,    -1,   378,    -1,
      -1,   381,   382,   383,   384,   385,   386,   387,    -1,    -1,
     390,   391,   392,   393,   394,    -1,    -1,   397,   398,   399,
     400,   401,    -1,   403,    -1,   405,   406,   407,   408,   409,
     410,    -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,
     420,   421,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,   431,   432,   433,    -1,    -1,    -1,    18,    19,    20,
      21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
      41,    42,    43,    44,    45,    -1,    47,    48,    49,    50,
      -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
      61,    62,    63,    -1,    65,    66,    67,    68,    -1,    -1,
      71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
      -1,    82,    83,    84,    85,    86,    87,    -1,    89,    90,
      91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,   100,
     101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
      -1,   112,   113,   114,   115,   116,    -1,   118,   119,   120,
      -1,    -1,   123,   124,   125,   126,   127,    -1,   129,   130,
     131,    -1,   133,   134,   135,    -1,   137,   138,   139,   140,
      -1,   142,   143,   144,    -1,    -1,   147,    -1,   149,   150,
     151,   152,    -1,   154,    -1,   156,   157,    -1,   159,   160,
     161,   162,    -1,   164,    -1,    -1,    -1,   168,    -1,   170,
     171,   172,   173,   174,   175,   176,   177,   178,   179,    -1,
     181,   182,   183,   184,   185,   186,    -1,   188,   189,    -1,
     191,   192,   193,   194,   195,   196,    -1,   198,    -1,   200,
     201,   202,   203,   204,   205,   206,   207,   208,   209,    -1,
      -1,   212,    -1,   214,   215,   216,    -1,   218,   219,   220,
      -1,    -1,   223,   224,   225,   226,   227,   228,   229,   230,
     231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
     241,   242,   243,    -1,   245,   246,   247,   248,    -1,    -1,
     251,   252,   253,   254,   255,    -1,   257,    -1,    -1,   260,
     261,   262,    -1,    -1,   265,    -1,   267,   268,   269,    -1,
     271,   272,   273,   274,   275,   276,   277,    -1,   279,   280,
      -1,   282,    -1,   284,   285,   286,    -1,   288,   289,   290,
     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
      -1,   302,   303,   304,   305,   306,   307,   308,   309,   310,
     311,   312,    -1,   314,   315,   316,   317,   318,   319,    -1,
     321,   322,   323,   324,   325,   326,   327,   328,    -1,   330,
     331,   332,   333,   334,    -1,   336,   337,   338,   339,   340,
     341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
     351,   352,   353,   354,   355,   356,   357,    -1,    -1,   360,
     361,    -1,   363,   364,   365,   366,   367,   368,   369,    -1,
     371,   372,    -1,    -1,   375,   376,    -1,   378,    -1,    -1,
     381,   382,   383,   384,   385,   386,   387,    -1,    -1,   390,
     391,   392,   393,   394,    -1,    -1,   397,   398,   399,   400,
     401,    -1,   403,    -1,   405,   406,   407,   408,   409,   410,
      -1,    -1,   413,    -1,    -1,   416,   417,   418,   419,   420,
     421,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
     431,   432,   433,    -1,    -1,    -1,    18,    19,    20,    21,
      22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
      42,    43,    44,    45,    -1,    47,    48,    49,    50,    -1,
      52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
      62,    63,    -1,    65,    66,    67,    68,    -1,    -1,    71,
      -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
      82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
      92,    -1,    -1,    -1,    96,    -1,    -1,    -1,   100,   101,
     102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
     112,   113,   114,   115,   116,    -1,   118,   119,   120,    -1,
      -1,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
      -1,   133,   134,   135,    -1,   137,   138,   139,   140,    -1,
     142,   143,   144,    -1,    -1,   147,    -1,   149,   150,   151,
     152,    -1,   154,    -1,   156,   157,    -1,   159,   160,   161,
     162,    -1,   164,    -1,    -1,    -1,   168,    -1,   170,   171,
     172,   173,   174,   175,   176,   177,   178,   179,    -1,   181,
     182,   183,   184,   185,   186,    -1,   188,   189,    -1,   191,
     192,   193,   194,   195,   196,    -1,   198,    -1,   200,   201,
     202,   203,   204,   205,   206,   207,   208,   209,    -1,    -1,
     212,    -1,   214,   215,   216,    -1,   218,   219,   220,    -1,
      -1,   223,   224,   225,   226,   227,   228,   229,   230,   231,
     232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
     242,    -1,    -1,   245,   246,   247,   248,    -1,    -1,   251,
     252,   253,   254,   255,    -1,   257,    -1,    -1,   260,   261,
     262,    -1,    -1,   265,    -1,   267,   268,   269,    -1,   271,
     272,   273,   274,   275,   276,   277,    -1,   279,   280,    -1,
     282,    -1,   284,   285,   286,    -1,   288,   289,   290,   291,
     292,   293,   294,   295,   296,   297,   298,   299,   300,    -1,
     302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
     312,    -1,   314,   315,   316,   317,   318,   319,    -1,   321,
     322,   323,   324,   325,   326,   327,   328,    -1,   330,   331,
     332,   333,   334,    -1,   336,   337,   338,   339,   340,   341,
     342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
     352,   353,   354,   355,   356,   357,    -1,    -1,   360,   361,
      -1,   363,   364,   365,   366,   367,   368,   369,    -1,   371,
     372,    -1,    -1,   375,   376,    -1,   378,    -1,    -1,   381,
     382,   383,   384,   385,   386,   387,    -1,    -1,   390,   391,
     392,   393,   394,    -1,    -1,   397,   398,   399,   400,   401,
      -1,   403,    -1,   405,   406,   407,   408,   409,   410,    -1,
      -1,   413,    -1,    -1,   416,   417,   418,   419,   420,   421,
       3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   431,
     432,   433,    -1,    -1,    -1,    18,    19,    20,    21,    22,
      23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
      43,    44,    45,    -1,    47,    48,    49,    50,    -1,    52,
      53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
      63,    -1,    65,    66,    67,    68,    -1,    -1,    71,    -1,
      73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
      83,    84,    85,    86,    87,    -1,    89,    90,    91,    92,
      -1,    -1,    -1,    96,    -1,    -1,    -1,   100,   101,   102,
     103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
     113,   114,   115,   116,    -1,   118,   119,   120,    -1,    -1,
     123,   124,   125,   126,   127,    -1,   129,   130,   131,    -1,
     133,   134,   135,    -1,   137,   138,   139,   140,    -1,   142,
     143,   144,    -1,    -1,   147,    -1,   149,   150,   151,   152,
      -1,   154,    -1,   156,   157,    -1,   159,   160,   161,   162,
      -1,   164,    -1,    -1,    -1,   168,    -1,   170,   171,   172,
     173,   174,   175,   176,   177,   178,   179,    -1,   181,   182,
     183,   184,   185,   186,    -1,   188,   189,    -1,   191,   192,
     193,   194,   195,   196,    -1,   198,    -1,   200,   201,   202,
     203,   204,   205,   206,   207,   208,   209,    -1,    -1,   212,
      -1,   214,   215,   216,    -1,   218,   219,   220,    -1,    -1,
     223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
     233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
      -1,    -1,   245,   246,   247,   248,    -1,    -1,   251,   252,
     253,   254,   255,    -1,   257,    -1,    -1,   260,   261,   262,
      -1,    -1,   265,    -1,   267,   268,   269,    -1,   271,   272,
     273,   274,   275,   276,   277,    -1,   279,   280,    -1,   282,
      -1,   284,   285,   286,    -1,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,    -1,   302,
     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
      -1,   314,   315,   316,   317,   318,   319,    -1,   321,   322,
     323,   324,   325,   326,   327,   328,    -1,   330,   331,   332,
     333,   334,    -1,   336,   337,   338,   339,   340,   341,   342,
     343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
     353,   354,   355,   356,   357,    -1,    -1,   360,   361,    -1,
     363,   364,   365,   366,   367,   368,   369,    -1,   371,   372,
      -1,    -1,   375,   376,    -1,   378,    -1,    -1,   381,   382,
     383,   384,   385,   386,   387,    -1,    -1,   390,   391,   392,
     393,   394,    -1,    -1,   397,   398,   399,   400,   401,    -1,
     403,    -1,   405,   406,   407,   408,   409,   410,    -1,    -1,
     413,    -1,    -1,   416,   417,   418,   419,   420,   421,     3,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   431,   432,
     433,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
      24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
      44,    45,    -1,    47,    48,    49,    50,    -1,    52,    53,
      54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
      -1,    65,    66,    67,    68,    -1,    -1,    71,    -1,    73,
      74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
      84,    85,    86,    87,    -1,    89,    90,    91,    92,    -1,
      -1,    -1,    96,    -1,    -1,    -1,   100,   101,   102,   103,
     104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
     114,   115,   116,    -1,   118,   119,   120,    -1,    -1,   123,
     124,   125,   126,   127,    -1,   129,   130,   131,    -1,   133,
     134,   135,    -1,   137,   138,   139,   140,    -1,   142,   143,
     144,    -1,    -1,   147,    -1,   149,   150,   151,   152,    -1,
     154,    -1,   156,   157,    -1,   159,   160,   161,   162,    -1,
     164,    -1,    -1,    -1,   168,    -1,   170,   171,   172,   173,
     174,   175,   176,   177,   178,   179,    -1,   181,   182,   183,
     184,   185,   186,    -1,   188,   189,    -1,   191,   192,   193,
     194,   195,   196,    -1,   198,    -1,   200,   201,   202,   203,
     204,   205,   206,   207,   208,   209,    -1,    -1,   212,    -1,
     214,   215,   216,    -1,   218,   219,   220,    -1,    -1,   223,
     224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
     234,   235,   236,   237,   238,   239,   240,   241,   242,    -1,
      -1,   245,   246,   247,   248,    -1,    -1,   251,   252,   253,
     254,   255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,
      -1,   265,    -1,   267,   268,   269,    -1,   271,   272,   273,
     274,   275,   276,   277,    -1,   279,   280,    -1,   282,    -1,
     284,   285,   286,    -1,   288,   289,   290,   291,   292,   293,
     294,   295,   296,   297,   298,   299,   300,    -1,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,    -1,
     314,   315,   316,   317,   318,   319,    -1,   321,   322,   323,
     324,   325,   326,   327,   328,    -1,   330,   331,   332,   333,
     334,    -1,   336,   337,   338,   339,   340,   341,   342,   343,
     344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
     354,   355,   356,   357,    -1,    -1,   360,   361,    -1,   363,
     364,   365,   366,   367,   368,   369,    -1,   371,   372,    -1,
      -1,   375,   376,    -1,   378,    -1,    -1,   381,   382,   383,
     384,   385,   386,   387,    -1,    -1,   390,   391,   392,   393,
     394,    -1,    -1,   397,   398,   399,   400,   401,    -1,   403,
      -1,   405,   406,   407,   408,   409,   410,    -1,    -1,   413,
      -1,    -1,   416,   417,   418,   419,   420,   421,     3,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,    -1,   431,   432,   433,
      -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
      25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
      45,    -1,    47,    48,    49,    50,    -1,    52,    53,    54,
      55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
      65,    66,    67,    68,    -1,    -1,    71,    -1,    73,    74,
      75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
      85,    86,    87,    -1,    89,    90,    91,    92,    -1,    -1,
      -1,    96,    -1,    -1,    -1,   100,   101,   102,   103,   104,
     105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
     115,   116,    -1,   118,   119,   120,    -1,    -1,   123,   124,
     125,   126,   127,    -1,   129,   130,   131,    -1,   133,   134,
     135,    -1,   137,   138,   139,   140,    -1,   142,   143,   144,
      -1,    -1,   147,    -1,   149,   150,   151,   152,    -1,   154,
      -1,   156,   157,    -1,   159,   160,   161,   162,    -1,   164,
      -1,    -1,    -1,   168,    -1,   170,   171,   172,   173,   174,
     175,   176,   177,   178,   179,    -1,   181,   182,   183,   184,
     185,   186,    -1,   188,   189,    -1,   191,   192,   193,   194,
     195,   196,    -1,   198,    -1,   200,   201,   202,   203,   204,
     205,   206,   207,   208,   209,    -1,    -1,   212,    -1,   214,
     215,   216,    -1,   218,   219,   220,    -1,    -1,   223,   224,
     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
     235,   236,   237,   238,   239,   240,   241,   242,    -1,    -1,
     245,   246,   247,   248,    -1,    -1,   251,   252,   253,   254,
     255,    -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,
     265,    -1,   267,   268,   269,    -1,   271,   272,   273,   274,
     275,   276,   277,    -1,   279,   280,    -1,   282,    -1,   284,
     285,   286,    -1,   288,   289,   290,   291,   292,   293,   294,
     295,   296,   297,   298,   299,   300,    -1,   302,   303,   304,
     305,   306,   307,   308,   309,   310,   311,   312,    -1,   314,
     315,   316,   317,   318,   319,    -1,   321,   322,   323,   324,
     325,   326,   327,   328,    -1,   330,   331,   332,   333,   334,
      -1,   336,   337,   338,   339,   340,   341,   342,   343,   344,
     345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
     355,   356,   357,    -1,    -1,   360,   361,    -1,   363,   364,
     365,   366,   367,   368,   369,    -1,   371,   372,    -1,    -1,
     375,   376,    -1,   378,    -1,    -1,   381,   382,   383,   384,
     385,   386,   387,    -1,    -1,   390,   391,   392,   393,   394,
      -1,    -1,   397,   398,   399,   400,   401,    -1,   403,    -1,
     405,   406,   407,   408,   409,   410,    -1,    -1,   413,    -1,
      -1,   416,   417,   418,   419,   420,   421,     3,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,    -1,   431,   432,   433,    -1,
      -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
      -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
      -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
      -1,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
      56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
      66,    67,    68,    -1,    -1,    71,    -1,    73,    74,    75,
      76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
      86,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
      96,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
     106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
     116,    -1,   118,   119,   120,    -1,    -1,   123,   124,   125,
     126,   127,    -1,   129,   130,   131,    -1,   133,   134,   135,
      -1,   137,   138,   139,   140,    -1,   142,   143,   144,    -1,
      -1,   147,    -1,   149,   150,   151,   152,    -1,   154,    -1,
     156,   157,    -1,   159,   160,   161,   162,    -1,   164,    -1,
      -1,    -1,   168,    -1,   170,   171,   172,   173,   174,   175,
     176,   177,   178,   179,    -1,   181,   182,   183,   184,   185,
     186,    -1,   188,   189,    -1,   191,   192,   193,   194,   195,
     196,    -1,   198,    -1,   200,   201,   202,   203,   204,   205,
     206,   207,   208,   209,    -1,    -1,   212,    -1,   214,   215,
     216,    -1,   218,   219,   220,    -1,    -1,   223,   224,   225,
     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
     236,   237,   238,   239,   240,   241,   242,    -1,    -1,   245,
     246,   247,   248,    -1,    -1,   251,   252,   253,   254,   255,
      -1,   257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,
      -1,   267,   268,   269,    -1,   271,   272,   273,   274,   275,
     276,   277,    -1,   279,   280,    -1,   282,    -1,   284,   285,
     286,    -1,   288,   289,   290,   291,   292,   293,   294,   295,
     296,   297,   298,   299,   300,    -1,   302,   303,   304,   305,
     306,   307,   308,   309,   310,   311,   312,    -1,   314,   315,
     316,   317,   318,   319,    -1,   321,   322,   323,   324,   325,
     326,   327,   328,    -1,   330,   331,   332,   333,   334,    -1,
     336,   337,    -1,   339,   340,   341,   342,   343,   344,   345,
      -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
     356,   357,    -1,    -1,   360,   361,    -1,   363,   364,   365,
     366,   367,   368,   369,    -1,   371,   372,    -1,    -1,   375,
     376,    -1,   378,    -1,    -1,   381,   382,   383,   384,   385,
     386,   387,    -1,    -1,   390,   391,   392,   393,   394,    -1,
      -1,   397,   398,   399,   400,   401,    -1,   403,    -1,   405,
     406,   407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,
     416,   417,   418,   419,   420,   421,     3,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,    -1,   431,   432,   433,    -1,    -1,
      -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
      27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
      37,    38,    -1,    40,    41,    42,    43,    44,    45,    -1,
      -1,    48,    -1,    -1,    -1,    52,    53,    54,    55,    56,
      -1,    -1,    59,    60,    -1,    -1,    63,    -1,    65,    66,
      67,    68,    -1,    -1,    71,    -1,    73,    74,    75,    76,
      77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
      87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,
      -1,    -1,    -1,   100,   101,   102,   103,   104,   105,    -1,
      -1,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
      -1,   118,   119,   120,    -1,    -1,   123,   124,   125,   126,
     127,    -1,   129,   130,   131,    -1,   133,   134,   135,    -1,
     137,   138,   139,   140,    -1,   142,   143,   144,    -1,    -1,
     147,    -1,   149,   150,    -1,   152,    -1,   154,    -1,   156,
     157,    -1,   159,   160,   161,   162,    -1,   164,    -1,    -1,
      -1,   168,    -1,   170,   171,   172,   173,   174,   175,   176,
     177,   178,   179,    -1,   181,   182,   183,   184,   185,   186,
      -1,   188,   189,    -1,   191,   192,   193,   194,    -1,    -1,
      -1,    -1,    -1,   200,   201,   202,   203,   204,   205,   206,
     207,   208,   209,    -1,    -1,   212,    -1,   214,   215,   216,
      -1,   218,   219,   220,    -1,    -1,   223,   224,   225,   226,
     227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
     237,    -1,   239,    -1,   241,   242,    -1,    -1,   245,   246,
     247,   248,    -1,    -1,   251,    -1,   253,   254,   255,    -1,
     257,    -1,    -1,   260,   261,   262,    -1,    -1,   265,    -1,
     267,   268,   269,    -1,   271,   272,   273,   274,   275,   276,
     277,    -1,   279,   280,    -1,   282,    -1,   284,   285,   286,
      -1,   288,   289,   290,   291,   292,   293,   294,   295,    -1,
     297,   298,   299,   300,    -1,   302,   303,   304,   305,   306,
     307,   308,   309,   310,   311,   312,    -1,   314,   315,   316,
     317,   318,   319,    -1,   321,   322,   323,   324,   325,   326,
     327,   328,    -1,   330,   331,   332,   333,   334,    -1,   336,
     337,    -1,   339,   340,   341,   342,   343,    -1,   345,    -1,
     347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
     357,    -1,    -1,   360,   361,    -1,   363,   364,   365,   366,
     367,   368,   369,    -1,    -1,    -1,    -1,    -1,   375,   376,
      -1,   378,    -1,    -1,   381,   382,   383,   384,   385,   386,
     387,    -1,    -1,   390,   391,   392,   393,   394,    -1,    -1,
     397,   398,   399,   400,   401,    -1,    -1,    -1,   405,   406,
     407,   408,   409,   410,    -1,    -1,   413,    -1,    -1,   416,
     417,   418,   419,   420,   421,    -1,    -1,    -1,    -1,    -1,
      -1,    -1,    -1,    -1,   431,   432,   433
};

/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
   symbol of state STATE-NUM.  */
static const yytype_uint16 yystos[] =
{
       0,    18,    28,    30,    31,    45,    65,    67,    68,    73,
      75,    86,    88,   105,   108,   120,   122,   126,   132,   140,
     142,   148,   163,   179,   218,   219,   224,   235,   246,   285,
     297,   302,   303,   305,   310,   315,   318,   323,   328,   329,
     336,   340,   350,   362,   381,   391,   397,   402,   415,   436,
     451,   458,   459,   460,   461,   467,   468,   470,   471,   472,
     473,   474,   475,   476,   478,   479,   483,   495,   500,   501,
     504,   505,   506,   518,   521,   522,   538,   575,   578,   581,
     582,   583,   590,   596,   598,   600,   601,   604,   607,   608,
     612,   613,   622,   626,   627,   628,   629,   630,   633,   635,
     636,   637,   638,   639,   646,   659,   660,   664,   666,   667,
     668,   678,   680,   687,   688,   691,   692,   693,   694,   695,
     701,   703,   706,   710,   714,   715,   725,   726,   729,   734,
     745,   768,   771,   772,   773,   776,   779,   781,   783,   785,
     786,   791,   792,   795,   796,   797,   804,   805,   807,   808,
     809,   814,   816,   817,   823,   824,   825,   826,   827,   828,
     830,   831,   833,   834,   836,   839,   840,   845,   851,   854,
     856,   857,   865,   867,   872,   879,   883,   884,   885,   886,
     887,   888,   891,   926,   375,   418,   810,    25,    71,    85,
     103,   109,   124,   135,   143,   155,   160,   166,   183,   208,
     229,   260,   280,   290,   317,   322,   324,   330,   333,   361,
     362,   365,   369,   378,   383,   395,   408,   597,   810,     3,
      18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
      28,    29,    37,    38,    40,    41,    43,    44,    45,    46,
      47,    49,    50,    52,    53,    54,    55,    56,    59,    60,
      61,    62,    63,    65,    66,    67,    68,    69,    73,    74,
      75,    76,    78,    79,    80,    82,    83,    84,    85,    86,
      87,    90,    91,    92,   100,   101,   102,   103,   104,   105,
     106,   107,   108,   110,   112,   113,   114,   115,   116,   118,
     119,   120,   123,   124,   125,   126,   127,   129,   130,   131,
     133,   134,   135,   137,   138,   139,   140,   141,   142,   143,
     144,   145,   147,   149,   150,   151,   152,   154,   156,   160,
     161,   162,   164,   165,   167,   168,   170,   171,   172,   173,
     174,   176,   177,   178,   179,   181,   182,   183,   184,   185,
     186,   188,   190,   191,   192,   193,   194,   195,   196,   198,
     200,   203,   205,   206,   207,   208,   209,   212,   213,   215,
     218,   219,   220,   223,   224,   225,   226,   227,   228,   229,
     230,   231,   232,   233,   234,   235,   236,   237,   238,   240,
     241,   242,   243,   245,   246,   248,   250,   251,   252,   253,
     254,   255,   257,   260,   261,   262,   265,   266,   268,   270,
     271,   272,   273,   274,   275,   276,   277,   279,   280,   281,
     282,   283,   284,   285,   286,   288,   289,   290,   291,   292,
     293,   294,   295,   296,   297,   298,   299,   300,   302,   303,
     304,   305,   306,   307,   308,   309,   310,   311,   312,   314,
     315,   317,   318,   319,   320,   321,   322,   323,   324,   325,
     326,   327,   328,   330,   331,   332,   333,   334,   336,   337,
     338,   339,   340,   342,   343,   344,   345,   347,   348,   349,
     350,   351,   352,   353,   354,   355,   356,   357,   358,   360,
     361,   363,   365,   366,   367,   368,   369,   371,   372,   375,
     376,   377,   378,   379,   381,   382,   383,   384,   385,   386,
     387,   390,   391,   392,   393,   394,   397,   398,   399,   400,
     401,   402,   403,   405,   407,   408,   409,   410,   413,   416,
     417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
     427,   428,   429,   430,   431,   432,   433,   880,  1047,  1065,
    1069,  1070,   406,   841,   258,   286,   810,    48,   529,   884,
      25,    37,    58,    71,    81,   103,   109,   124,   135,   143,
     155,   162,   166,   220,   260,   263,   280,   317,   324,   333,
     365,   366,   368,   369,   378,   383,   389,   392,   395,   539,
     580,   683,   735,   746,    26,   285,  1047,   880,    26,   279,
     331,   366,   368,     5,   207,   777,   778,  1056,    25,    37,
      58,    71,    85,   103,   124,   135,   143,   155,   160,   166,
     183,   229,   260,   271,   280,   317,   322,   324,   330,   333,
     362,   365,   369,   376,   378,   383,   395,   408,   597,   696,
     810,  1047,    88,   406,   451,   575,   578,   581,   840,   846,
     854,   857,   865,   872,   879,   883,     9,    19,    26,    43,
     150,   156,   158,   180,   209,   241,   288,   304,   441,   442,
     711,   712,   880,  1055,  1057,    26,    88,   301,   329,   716,
     717,   718,  1065,   155,  1065,  1052,  1056,   362,   894,   711,
    1065,   375,  1047,   271,   229,   103,   183,   324,   361,   362,
     451,   787,   788,   323,  1065,    26,   334,   371,   375,   487,
     496,   497,  1065,    23,   163,   716,   717,   286,   810,  1065,
     206,    26,   121,   896,   897,    59,    82,   220,   237,   317,
     324,   334,   371,   375,   421,   484,   485,   486,   487,    26,
     334,   371,   375,   487,   375,   259,   937,  1045,  1065,   894,
     443,  1065,   159,   451,   842,   451,  1040,   299,   889,   890,
    1047,   889,   884,   885,   888,     0,   454,   841,   136,   197,
     264,   388,   898,   899,   884,   886,   887,   114,   193,   394,
     455,     3,    42,    48,    71,    77,    89,    96,   157,   159,
     175,   189,   201,   202,   204,   214,   216,   239,   247,   267,
     269,   316,   341,   364,   406,  1053,  1065,  1066,  1069,  1071,
     698,  1065,   698,  1048,  1065,   289,   698,   378,   698,  1047,
    1065,   102,   362,   724,  1053,     3,    99,   335,  1058,  1059,
    1067,  1069,  1070,  1071,    26,   174,  1045,   253,   408,     8,
      15,    16,    17,    66,   147,   437,   438,   439,   441,   442,
     443,   444,   445,   446,   447,   775,  1007,  1008,  1065,   174,
    1047,    26,  1058,  1059,  1047,  1047,   174,  1045,  1047,   310,
     336,    26,   174,   937,  1047,   326,  1047,   698,   227,  1058,
    1059,   174,  1045,   207,   111,   203,   244,   295,   811,   812,
     813,  1045,  1051,  1065,    25,    58,    71,    72,    81,    85,
     103,   124,   135,   143,   155,   160,   183,   208,   229,   260,
     280,   317,   322,   324,   330,   333,   362,   365,   369,   376,
     378,   383,   408,   597,   704,  1056,  1045,   373,  1053,  1047,
     451,   698,   378,  1048,   698,   378,   174,  1047,   102,   362,
     366,   368,  1058,  1059,   366,   368,    66,   147,   775,   308,
    1047,  1058,   174,   480,  1065,  1047,  1047,   326,  1047,   698,
     227,  1058,   299,   330,   362,   408,   229,    85,   183,   160,
     322,   376,   382,   591,    26,  1047,   881,   494,  1056,  1067,
     778,   174,  1053,  1047,   174,   782,   174,  1048,     3,    47,
      49,    50,    61,    62,   106,   107,   125,   151,   174,   195,
     196,   198,   238,   240,   252,   296,   338,   344,   371,   372,
     403,   700,   952,   954,   956,   958,   960,   962,   963,   964,
     966,   967,   968,   971,   972,  1066,  1069,   378,   102,   362,
     174,  1053,   174,  1059,  1060,    77,   408,    66,   147,   174,
     775,    52,   174,  1047,   174,  1060,   174,  1047,   174,  1047,
     174,  1047,   326,   782,   174,  1047,   174,   700,   174,   227,
    1060,   207,   174,   697,   698,   451,   855,   539,   846,   402,
     840,   847,   848,   849,  1067,   841,  1057,   712,   713,    26,
     713,  1057,   713,    26,   713,  1057,   713,   713,   713,  1057,
    1055,  1055,   880,   713,   289,   451,   451,   558,   558,   558,
     258,   373,   455,   558,   324,   937,   938,   455,   806,  1056,
     451,   852,    52,   408,   406,   789,   790,  1045,  1047,  1065,
      42,   433,   203,   453,   261,   261,   258,   158,  1056,   373,
     153,   707,   258,     4,     6,     7,     8,    10,    34,    47,
      49,    50,    57,    58,    61,    62,    69,    71,    93,    94,
      95,    96,    97,    98,    99,   106,   107,   141,   145,   146,
     151,   165,   167,   195,   196,   198,   213,   221,   222,   238,
     240,   244,   249,   250,   252,   260,   270,   281,   296,   320,
     335,   344,   358,   371,   372,   377,   379,   380,   389,   395,
     403,   423,   424,   425,   426,   427,   428,   429,   430,   434,
     441,   442,   443,   447,   451,   884,   955,   958,   961,   962,
     963,   965,   966,   967,   971,   972,   976,   978,   979,   980,
     982,  1003,  1004,  1005,  1009,  1028,  1033,  1042,  1043,  1053,
    1054,  1055,  1056,  1065,  1041,  1042,  1056,    26,   502,  1044,
    1045,   334,   484,   109,   493,  1056,   447,   494,  1064,   447,
    1056,  1062,    42,    63,   484,   433,   345,   812,   261,   158,
     373,   439,    42,   433,   203,   813,   451,  1045,   443,   449,
     453,  1034,  1035,   938,   157,   159,   406,   837,   838,   840,
     157,   843,   109,   976,  1038,  1039,   889,   455,   451,   844,
     452,   452,   460,  1045,    26,   121,   895,   895,    52,   895,
     148,   153,   217,   256,   902,   904,   905,   920,   922,   923,
     924,   898,   899,   158,   199,   937,   939,  1040,   451,   758,
    1035,   272,   306,   336,   453,   699,   272,   306,   336,     3,
      80,   130,   223,   272,   306,   336,   365,   367,   415,   495,
     498,   818,   819,   820,   821,   730,    22,   126,   272,   306,
     336,   399,   509,  1047,   336,    22,   126,   394,   477,   419,
     174,   937,    54,    87,   144,   177,   212,   244,   272,   306,
     314,   321,   328,   336,   348,   356,   410,   495,   499,   761,
     769,   451,   747,   306,   477,   180,   141,    22,    28,    68,
     119,   126,   129,   154,   185,   242,   244,   254,   262,   272,
     306,   309,   310,   336,   399,   507,   508,   616,     4,   442,
     588,  1057,    26,   174,  1045,   698,   698,   451,   774,   453,
     141,   258,   180,   469,   306,   415,   436,   462,   469,   258,
     272,   306,   141,    53,   101,   182,   230,   232,   242,   271,
     306,   311,   336,   350,   507,   585,   586,   272,   306,   407,
     616,   624,   497,   485,   487,   180,   141,   306,   336,   507,
     272,   306,   310,   336,    78,   118,   273,   367,   258,    22,
      28,   126,   272,   306,   336,   519,   520,   153,   306,   336,
     462,   498,   141,   306,   336,   507,  1047,   215,   111,   259,
     420,   455,   811,   396,   835,   258,  1053,   451,  1047,   952,
     378,   102,   362,  1053,   253,   408,    66,   147,   775,  1047,
    1047,   326,   153,  1047,   952,   207,   698,   558,   292,   524,
     451,   673,   758,    64,   952,   158,   451,   669,  1047,   462,
      35,   829,  1047,   244,   462,   419,   174,  1045,   462,   698,
     698,   669,   392,   539,   258,   462,   244,    42,   481,   383,
     623,   272,   599,    78,   118,   273,   367,    24,    44,   194,
     647,    35,   669,   153,   462,   408,   174,  1045,   174,   576,
    1045,  1045,   408,   698,    77,   736,  1053,  1047,   153,   597,
      48,   100,   192,   242,   325,   141,   758,    55,   312,   510,
     141,   451,   141,   405,   969,   969,   969,   451,   957,   957,
     283,   451,   959,   141,    61,    62,   969,   957,   954,   417,
     436,   451,   973,   451,   973,   455,   510,    34,   953,    62,
     451,   970,   104,   172,   231,   234,   327,   431,   451,   974,
     975,   699,   957,   419,   141,   747,   141,   455,   174,   697,
     174,   698,   174,   698,   141,   774,  1060,   141,   258,   141,
     141,   258,   141,   510,   141,    78,   118,   273,   367,   153,
     141,   258,   141,   510,   141,   153,   174,   174,   494,   141,
     455,   510,   976,  1012,   362,   452,   455,   146,   258,   380,
     491,   494,   588,   850,   846,   713,   880,   713,   880,   713,
     880,   713,   880,   713,   880,   880,   880,   713,   880,   451,
     559,   560,  1065,   559,    26,   103,   124,   155,   160,   207,
     208,   324,   330,   362,   365,   383,   719,  1044,  1060,   718,
    1047,   180,   455,   868,  1056,   952,  1015,    35,  1060,   736,
     452,   455,   215,  1065,   153,   153,   719,  1060,   323,  1065,
     494,   258,   451,  1036,   449,   884,  1016,   976,  1032,   451,
     451,   153,   451,   451,   884,   451,   451,   451,   451,   451,
     451,   976,   451,   451,   451,   451,   451,   451,   451,   451,
     884,   451,   451,   451,   451,   451,   451,   451,   451,   976,
     976,   976,  1036,   884,   976,  1012,  1035,  1056,   451,  1056,
       3,     8,    11,    15,    16,    17,    32,    35,    40,    46,
      70,   175,   180,   201,   202,   216,   247,   260,   263,   341,
     434,   437,   438,   439,   441,   442,   443,   444,   445,   446,
     447,  1007,  1009,  1011,   416,   991,   269,   976,   199,   455,
     892,   451,  1056,  1035,   892,   112,   176,   503,   455,    63,
     109,  1064,    35,     3,   109,   220,   492,   588,   972,  1062,
    1056,    83,   123,   988,    92,   109,   447,   488,   489,   491,
     588,   109,   488,   215,  1045,   976,     3,    26,    30,    31,
      32,    33,    34,    35,    36,    39,    51,    57,    58,    64,
      70,    72,    81,    88,    93,    94,    95,    97,    98,    99,
     109,   111,   117,   121,   122,   128,   132,   136,   146,   148,
     153,   155,   158,   163,   166,   169,   180,   187,   197,   199,
     210,   211,   217,   221,   222,   244,   249,   256,   258,   259,
     263,   264,   278,   287,   301,   313,   329,   335,   346,   359,
     362,   370,   373,   374,   380,   388,   389,   395,   396,   404,
     411,   412,   414,   415,   443,  1050,  1068,  1069,  1070,  1071,
    1072,  1034,    84,   311,   702,   452,   455,   841,   452,   455,
     890,  1046,  1047,    35,   844,   886,   886,   900,   901,   976,
     886,   150,   241,   911,   205,   242,   295,   339,   394,    26,
     906,   976,   907,   909,   976,   978,   920,   921,   905,   904,
     902,   903,   153,   923,   254,   925,   902,   920,   939,   858,
    1045,    35,  1065,   336,   180,   190,   264,   266,   338,   404,
     443,   751,   752,   753,   755,   757,   759,   952,  1066,   272,
     306,   336,   373,   373,   324,  1050,   453,   373,   373,   324,
     217,   373,   373,   365,   484,   272,   818,   820,   439,   822,
     153,   163,   180,   315,   731,   732,    64,    81,   137,   155,
     287,   389,   555,   556,    81,   109,   244,   373,    81,   373,
     109,   244,   324,    81,   119,   129,   272,   306,   665,   324,
     605,    25,    58,    71,    85,   124,   135,   155,   160,   229,
     260,   324,   330,   333,   362,   369,   376,   383,   408,   597,
    1047,   141,   306,   336,   507,   258,   588,   328,   212,   373,
     373,   249,   588,   113,   200,   324,   334,   375,   486,   312,
     336,   761,   770,   452,   748,   751,   373,   395,   365,  1045,
      72,   137,   546,   555,  1065,    72,    81,   793,   258,   320,
     322,   378,    81,   793,    29,   309,   320,   322,   378,   320,
    1045,   154,   185,   254,   698,   451,   373,   373,   173,   451,
     514,   226,   365,   392,   415,   417,   514,    81,   455,     4,
     272,   180,   141,   306,   336,   507,   396,   396,   243,   952,
     272,   336,   775,  1047,  1045,   103,   498,   373,   464,   498,
    1045,   373,   373,  1045,   588,    52,   587,   588,   588,   101,
     230,   232,    52,   373,   462,   324,   462,   242,   586,   373,
     373,   249,  1056,   616,   365,   937,    81,   373,   793,   324,
     373,   373,   514,   514,   698,   698,   698,   698,  1045,    41,
     401,    41,    41,   373,    41,   373,   324,   455,   395,   634,
    1059,   373,   464,  1045,   373,   324,   272,   306,   295,   307,
     332,   490,   811,  1051,  1065,  1045,   758,   952,   258,   201,
     419,   747,   588,   698,   698,   774,   258,   201,   258,    78,
     118,   273,   367,   952,   258,   201,   698,   201,   415,   530,
     353,   354,   525,  1056,     3,   674,   675,   669,   451,    35,
     698,   670,   671,  1068,    24,   818,   952,   258,   141,   602,
    1047,   244,   451,   463,   683,   396,   299,   408,  1045,   463,
     141,  1059,    88,   163,   482,   538,   582,   646,   714,   734,
     814,  1056,   624,   625,  1059,   223,   698,   698,   698,   698,
     254,   114,   193,   381,   394,   648,   649,   133,   294,   451,
     634,   463,  1045,   244,   584,   585,   244,    35,   254,   451,
     558,   558,   174,   579,  1045,   153,   174,   737,  1051,   451,
     749,    35,   952,   207,   415,   417,   882,   325,  1053,   510,
     952,  1048,   451,  1012,  1055,   700,   969,   969,    34,   953,
     371,   371,  1055,  1055,   952,   449,   449,   336,   447,  1055,
    1061,   373,   373,   373,   451,   373,  1055,   957,   174,  1047,
    1053,   510,  1060,  1059,   141,   510,   141,   396,   141,   396,
     775,   510,   510,  1047,   698,  1060,  1047,   698,  1047,  1047,
     952,  1047,   698,   700,  1060,   634,   141,   141,   510,   697,
     698,   452,   455,   174,  1045,   846,   848,   880,   880,   880,
     880,   880,   880,   559,   452,   455,   452,   161,   331,   363,
    1046,   697,   102,   333,   723,   724,  1046,   253,  1046,  1044,
    1044,  1046,   697,   373,   415,   727,   136,   217,   631,   632,
      20,   139,   320,   339,   869,   937,   248,   870,   452,   455,
     853,   857,   865,   872,   883,   373,  1045,   787,   788,   790,
     717,   716,   717,   158,   164,   728,  1065,    25,    72,   103,
     124,   135,   155,   160,   208,   229,   317,   324,   330,   362,
     365,   383,   408,   597,   708,  1012,  1034,   450,  1012,  1016,
    1017,   411,  1029,  1030,   976,  1012,   451,  1055,  1055,     3,
     104,   172,   231,   234,   327,   431,   447,  1018,  1019,  1056,
    1012,  1012,  1012,  1055,  1055,   976,   775,   976,  1020,   320,
     441,   442,   451,   977,   978,  1009,  1022,   452,  1012,   976,
    1012,  1023,   976,    51,   158,   211,   374,   976,  1012,  1026,
    1012,   236,   978,   976,   986,   987,   988,   236,   976,   988,
     452,   455,   447,  1055,   974,   952,   976,   976,   976,   976,
    1068,   371,    39,   359,  1037,   698,   976,   451,   884,  1027,
     121,   123,   146,   244,   249,   254,   380,   390,   976,   451,
     976,   373,    46,   175,   180,   216,   341,   976,   976,   976,
     976,   976,   976,   976,   976,   976,   976,   976,    26,    33,
     346,  1006,   166,   149,   992,   320,   451,  1003,   162,   220,
     362,   366,   368,   392,   893,  1045,  1043,   158,   927,    26,
     121,   404,   443,   452,   753,   976,  1013,  1014,  1066,   927,
    1045,   375,   451,  1056,   455,   452,   450,   456,   173,   173,
     510,  1045,   838,   839,  1045,  1038,   452,   455,   451,   455,
      36,   117,   396,   743,   451,   908,  1057,   339,   205,   259,
     455,   320,   321,   910,  1044,   248,   343,   871,   921,   903,
     396,   866,   109,   451,   859,   883,    35,  1065,   451,   873,
     874,   875,   876,   877,  1065,   266,    52,  1066,   452,   753,
     755,   752,   755,  1066,   264,   452,   455,   699,   373,   373,
     324,  1059,  1047,  1047,  1050,  1059,  1047,  1047,  1059,  1048,
    1047,   109,   491,  1057,   317,   395,   716,   324,   163,   716,
     451,  1047,   396,   738,   205,   205,   396,   451,   574,   174,
    1047,   249,  1059,  1047,  1047,   976,   249,  1047,  1047,    29,
     309,   373,   373,  1047,   373,   606,  1053,   451,   698,   698,
     952,   378,   102,   362,   724,   408,    66,   147,   775,  1047,
     698,  1047,   698,   326,   153,   952,   698,   207,   168,   242,
     272,   306,   400,   609,   610,   611,   937,   373,   793,   324,
     249,   113,   200,  1059,  1047,   258,  1047,   452,   455,  1058,
    1060,  1047,   306,   507,   546,   952,  1047,  1065,  1047,   215,
    1047,    26,   395,  1047,   174,  1047,   174,  1065,   322,   378,
     322,   378,   215,  1047,    26,   395,  1047,   215,   320,  1045,
      22,   126,   336,   617,   618,   619,   620,  1068,  1059,  1047,
     109,   159,   245,   396,   513,   516,   517,  1068,  1047,   257,
      68,   257,  1047,   508,   373,   365,  1045,   373,   793,   324,
    1049,  1065,  1049,   455,   452,   455,   373,   324,   258,   306,
     373,   643,  1048,  1058,     3,    80,   131,   185,   277,   387,
     395,   398,   465,   306,  1059,  1047,   306,   336,   507,   585,
     588,   698,  1047,   588,  1047,   588,  1059,  1047,  1047,   306,
     336,   507,  1047,  1047,  1047,  1047,  1059,  1047,    22,    28,
     126,   272,   306,   336,   272,   306,   336,   669,   306,   336,
     306,   336,   306,   951,  1065,   174,   679,  1065,   174,  1065,
    1059,  1047,  1047,  1047,    22,   520,   333,  1058,   306,   336,
     507,  1047,  1047,   373,   373,    76,   386,   295,   201,    35,
     124,   698,   249,   705,  1056,   201,   201,   396,   396,   201,
     698,   705,   698,   207,   698,   705,   201,   705,   257,   158,
     373,   523,   462,   439,   452,   455,   976,   952,   452,   455,
     439,   648,   548,  1068,  1047,   158,   324,   407,   603,   610,
     611,   141,   216,   540,   542,   544,   546,   552,   555,    23,
     180,   317,   360,   465,   466,   153,  1049,   408,  1045,   153,
     644,   480,  1065,   481,   263,   539,   155,  1056,   669,   669,
     669,   669,   254,   258,   263,   451,   669,   949,   950,   951,
     333,   451,   141,   141,   140,   883,   698,   540,  1065,   415,
     417,   570,   415,   515,   244,    35,   558,  1056,   244,   258,
     452,   750,   751,   756,    35,   207,   314,   376,   414,   760,
     761,   762,   258,   207,   494,   171,   171,   153,   758,    35,
    1012,   452,   452,   510,   449,   433,   433,   452,   452,  1055,
     450,  1055,  1065,   452,   172,   231,   975,   231,   975,   975,
    1055,   234,   452,   141,   510,   747,   697,   698,  1049,   698,
    1049,   774,   258,   510,   258,   510,   510,   207,   258,   510,
     510,   333,   153,   494,   510,   976,   244,   452,   560,   180,
     180,   180,   419,  1046,   455,   588,   589,   166,   720,   721,
    1059,    23,   728,   373,   451,   158,   139,   339,   139,   339,
     320,   394,   233,   952,  1059,   415,   577,  1045,  1047,   158,
     258,   720,    52,   510,  1053,   952,   378,   362,  1053,   253,
     408,   952,   207,   698,   452,   450,   450,   455,   976,   128,
    1030,  1031,    35,   452,   976,   452,   452,   158,   452,   158,
     452,   452,   452,   452,   452,   455,   452,   278,  1021,   452,
     451,   977,   977,  1012,    11,    15,    16,    17,   180,   201,
     260,   437,   438,   439,   441,   442,   443,   444,   445,   446,
     447,  1009,   977,   452,   452,   153,   158,  1024,  1025,   452,
      35,  1026,  1012,  1026,  1026,   158,   452,   452,  1068,   276,
     990,    35,   452,   455,   976,  1068,   455,   976,  1036,   976,
     452,   452,   433,   977,   977,   134,  1012,   158,   121,   123,
     146,   249,   254,   380,   390,   451,   134,   775,   976,   359,
    1037,   976,  1027,   976,   373,   451,   884,   451,   451,   268,
     996,   451,  1012,   366,   368,   366,   368,  1045,   894,   894,
     894,   210,   321,   451,   884,   928,   929,   930,   937,   942,
     979,   981,   982,  1053,  1065,   412,   947,  1013,  1013,  1014,
     452,    13,    14,   455,   898,   899,   947,   812,  1055,   974,
     489,   976,   844,  1047,   853,   901,   260,  1007,  1010,   435,
     744,   976,   910,   394,   907,   225,   928,   412,   948,   402,
     860,   861,  1065,   258,   862,  1065,   877,   878,   455,   927,
     439,  1036,   759,   699,   755,   755,    52,   757,   445,  1059,
    1047,  1047,  1060,  1060,   258,  1046,   261,   258,   976,   556,
    1049,   451,   451,   451,   574,   183,   559,   657,   141,   510,
     373,  1059,  1047,   494,   758,   952,  1047,   419,   698,   698,
     698,   698,   774,    78,   118,   273,   367,   952,  1047,   592,
    1047,   168,   400,   373,   373,   592,   609,   616,   306,   336,
     507,  1047,  1047,  1047,   191,   249,   751,   271,   336,   373,
     262,   614,   657,   126,   310,   336,   509,   616,   794,   328,
     141,   510,   141,   510,  1047,  1047,  1047,  1047,   328,   328,
     215,   619,   620,   619,   452,   455,   621,  1056,   183,   452,
     455,   439,   453,  1059,  1047,   306,   336,   507,  1047,  1047,
    1047,   272,   306,   336,    22,   126,   272,   306,   336,   952,
     243,   952,  1059,  1047,  1045,   373,  1060,   396,   640,   217,
     277,   249,   447,  1056,  1063,   277,  1060,   393,   373,   373,
     324,   271,   336,    81,   373,   793,   324,   373,   373,   227,
     227,   227,   373,   373,   324,   373,   373,   324,   373,   324,
     373,   324,   373,   510,   952,   244,  1056,   336,   794,   141,
     510,   373,  1047,   373,   324,  1059,  1047,   705,   952,   698,
     201,   705,   705,  1049,  1049,   705,   201,   201,  1047,   201,
     705,   524,   451,   526,   527,   260,   441,   442,   588,   672,
     755,  1010,  1056,  1072,     3,   675,   452,   452,   671,   672,
     258,    64,    70,    81,   109,   111,   187,   244,   249,   287,
     301,   389,   549,   550,   551,   140,   411,   462,   494,  1047,
     494,   614,  1045,  1045,   452,   455,  1060,   166,   317,  1060,
    1055,   383,  1045,   558,    26,   114,   193,   329,   394,   645,
     373,   642,    42,   481,   308,   362,   102,   515,   559,  1045,
     649,   676,   677,  1056,   452,   455,  1047,   559,  1045,   576,
    1045,  1047,   577,   451,   541,   452,   257,   514,   257,   258,
     571,   514,    35,   141,   883,   515,   373,   141,  1045,   452,
     455,   109,   439,   763,  1056,   494,   362,   754,   755,   153,
     764,   415,   762,   765,   114,   193,   329,   394,   802,  1047,
     168,   883,   510,   952,   452,  1055,   973,   973,   450,   450,
     970,   452,  1047,   510,   510,   396,   510,   396,   510,   510,
     698,   698,  1047,   698,  1047,   634,   510,   141,   324,   324,
     324,  1046,   724,   455,  1059,   415,   455,   722,   261,   938,
     333,   139,   139,   102,   242,  1060,   719,   510,  1059,   758,
     201,   747,   588,   201,   698,   201,  1016,   370,   976,   132,
     952,   452,   976,   976,   976,   976,  1024,   452,  1012,   455,
     952,   977,   977,   977,   977,   121,   123,   244,   254,   977,
     977,   977,   977,   977,   977,   977,   977,   977,   977,   977,
     976,   976,  1025,  1024,   952,   452,   452,   452,  1012,   452,
     455,    52,   978,   452,  1068,   987,   284,   357,   989,   452,
     455,   407,   983,    35,   452,   447,  1056,   976,    32,    32,
     976,   452,   976,   158,   451,  1015,   976,   452,   134,   977,
     977,   134,   134,   976,   976,   899,   412,   451,   997,  1065,
     452,  1012,   455,   894,   894,   894,   894,  1045,  1045,  1045,
     884,   942,   158,   884,   929,   930,    35,   931,   932,  1065,
     455,    89,   159,   189,   204,   214,   239,   316,   934,   932,
      35,   931,   933,  1065,   436,   946,   451,  1035,   976,   166,
     912,   455,   898,   898,   898,   976,   976,   404,  1014,   452,
     912,   452,   450,   452,   451,   744,   150,   209,   452,   259,
      92,   976,   313,   864,   452,   455,  1036,    79,   864,   452,
     455,   874,   948,  1038,   452,   445,   759,   383,   161,   331,
     363,   384,   733,   153,   733,   452,   451,   562,   563,   740,
     981,  1065,   559,   559,   657,  1051,   452,   111,   187,   242,
     244,   658,  1047,  1047,    35,  1047,   396,   396,   698,   698,
     698,   698,   207,   699,  1059,  1047,   373,   793,   324,   373,
     191,    52,   365,  1047,   451,   548,   244,   514,   102,   244,
     352,   355,   514,   383,  1047,  1065,   328,   618,  1047,   517,
     672,  1068,   271,   336,   373,   793,   324,   373,   373,   373,
     324,   160,   260,   355,   681,   682,   160,   260,   689,   690,
     373,   373,   324,   452,   452,   452,   306,  1047,   451,   415,
     641,  1057,  1063,  1063,  1056,  1047,  1047,  1047,    52,   365,
    1047,  1047,  1047,  1047,  1047,  1047,   153,   153,   308,   153,
     174,  1059,  1047,  1047,  1059,  1047,  1047,  1047,  1047,  1047,
    1047,  1047,    70,   511,   141,    24,    44,   383,  1065,  1047,
     616,  1047,  1047,   452,   201,   705,   201,   201,   705,   705,
     201,   705,   525,   533,   534,  1068,    48,    90,   115,   130,
     134,   154,   157,   170,   249,   257,   293,   528,   657,   415,
     417,  1045,   451,   698,  1047,   977,   112,   176,   111,   249,
     205,  1045,   765,   291,   661,   662,  1065,   602,   451,   553,
     186,   569,   544,  1060,  1060,   952,   451,   515,  1060,   640,
    1059,   174,  1045,   419,   153,   650,   452,   455,   951,   614,
     452,   584,    35,   254,   451,   855,   543,   545,   547,   555,
    1065,   570,   569,    75,   365,   572,   883,   579,   577,   572,
    1056,  1051,   738,   756,   976,   976,   455,   451,   760,   383,
     455,   669,   373,   451,   592,   452,   450,   510,  1049,  1049,
     510,   510,   510,   510,   333,  1046,  1046,  1046,   588,   163,
     721,   452,  1047,   102,   728,   158,   201,   249,   709,  1056,
     201,   201,   709,   201,   709,   976,   452,   452,  1025,   452,
     976,   158,   121,   123,   254,   451,   452,   422,   985,  1012,
     300,    52,   413,   413,   452,   976,   242,   976,   455,   984,
     954,   974,   976,   976,   976,  1015,   452,   976,    32,    32,
     976,   976,   134,   452,   452,   976,   998,  1065,   452,   976,
    1045,  1045,  1045,  1045,   932,   933,   451,   452,  1065,   451,
     929,   204,   267,   935,   929,   935,   204,   934,   935,   204,
     364,   940,   451,  1065,   451,   265,  1013,    52,   169,   919,
     452,   452,   452,  1014,  1056,   919,  1056,   775,   254,  1042,
     883,   861,   258,   451,   863,   439,   877,   864,   383,   452,
     373,   716,   158,   657,   976,   452,   455,   415,    70,   741,
     741,   452,   452,   765,   112,   176,   185,   111,   398,   510,
     952,  1049,  1049,  1047,  1047,  1047,  1047,  1047,  1060,  1047,
     615,   619,   249,   249,  1057,  1065,   952,   510,   510,   439,
      52,   365,  1047,  1047,  1047,  1047,  1059,  1047,  1047,  1055,
    1055,   952,   455,  1055,  1055,   455,  1059,  1047,  1047,   373,
     976,    64,  1060,  1047,   373,   373,  1046,  1046,   698,  1046,
     141,   698,  1056,  1056,   952,   510,   510,   201,   705,   705,
     705,   705,   396,   531,   532,   452,   455,   443,   451,   491,
     535,   588,   829,  1056,   829,   244,   249,   293,   829,   829,
     160,   190,   160,   158,   656,   976,   244,   550,   765,   558,
     396,   573,  1053,    32,   140,   180,   540,   138,   181,   451,
     333,   396,   559,    35,   641,   481,   244,   451,  1047,   127,
     651,   411,   653,  1056,   515,   883,   698,   540,   577,   452,
     455,   415,   571,   570,   114,   126,   284,  1047,   415,   815,
      35,   158,   258,   451,  1056,   753,   766,   767,  1066,   765,
     952,   153,  1045,   158,   373,   784,   188,   593,   510,   510,
     510,  1047,   261,   199,   510,   720,   709,   709,   709,   709,
     452,   977,   158,   451,  1015,   451,   452,   455,   452,   978,
     300,   452,   401,   349,   452,   452,   452,   976,   976,   976,
     452,   275,   999,   452,   943,   944,   981,   931,   451,  1046,
     929,   258,   396,   936,   929,   204,   929,  1053,   950,   451,
     950,  1065,   898,    91,   167,   319,   451,   913,   914,   915,
     916,   917,   918,   976,   976,   414,   993,   898,   993,   452,
     880,    81,   739,   740,   122,   451,   884,  1040,   720,   258,
     720,   452,   765,   563,   260,   775,   698,   396,   698,   742,
     742,   301,   765,   573,   452,   373,   336,   870,   452,   455,
     511,   672,  1060,  1047,   373,   451,  1053,   775,   682,   451,
     451,   690,  1047,   452,   451,   336,   870,  1047,  1047,   415,
     436,   832,   308,   832,   832,   153,   511,   705,   462,   116,
     534,   491,   536,   537,  1056,  1056,   249,   559,   443,   559,
    1056,  1056,   724,    35,   780,   780,  1045,   657,   452,   573,
     228,   561,   183,   451,   662,   291,   451,   452,    26,    74,
      82,   110,   184,   355,   554,   554,  1044,  1047,  1049,   452,
     883,   141,   614,   320,   351,   652,   451,   140,    35,   577,
     541,   452,   545,   262,   572,   571,   321,   321,    56,    64,
     220,   883,   698,  1045,   739,   755,   452,   455,   383,   947,
     347,   347,   452,   592,   242,   400,   594,   595,  1047,   510,
     977,  1015,   452,   986,  1012,    52,   242,   432,    52,   898,
     452,   455,    35,   945,  1046,   452,   976,   451,   929,   936,
     451,   452,   950,   452,   452,   451,   337,   451,   452,   455,
     994,   995,  1065,   452,  1047,   452,   455,   245,   394,   722,
     733,   510,   741,   573,   451,   698,   743,   743,  1045,   573,
     657,  1047,   365,   619,   396,   512,   336,   870,  1047,  1015,
     747,   153,   685,   774,  1015,  1015,   976,   365,   697,   698,
     697,   698,  1046,   510,   526,  1056,   452,   455,   559,   780,
      38,   178,   153,   242,   557,   159,   274,   342,   258,   565,
     566,   567,   365,   452,  1053,     5,   663,   569,   452,   614,
     147,   684,   515,   815,  1045,   976,   291,   883,   570,   569,
     548,   572,    64,   261,    64,   577,   738,   452,   760,   766,
     952,   122,   415,   415,   400,   592,   614,   452,   452,   452,
     300,   401,  1012,   294,   321,  1000,   946,   943,   451,   452,
    1046,  1012,   452,  1012,   451,  1012,   914,   455,    35,   947,
     740,   336,   158,   742,   412,   564,   775,   744,   744,   558,
     657,  1047,   976,   365,   452,   264,   326,   298,   686,   685,
     452,   452,   452,  1047,   832,   537,   127,   185,   114,   394,
     258,   567,   258,   566,  1047,   451,   452,   455,   333,   698,
      35,    35,   451,   452,  1053,   815,   571,   570,   261,   261,
     451,   515,   765,    27,   194,   803,   160,   160,    46,    92,
     385,   976,  1001,  1002,  1001,   452,   950,   452,   452,   452,
     913,   452,   995,   997,   873,   720,   743,   451,   657,   452,
     561,   870,  1047,  1053,    52,   686,   870,   698,   320,    55,
     242,   312,   336,   568,   568,   452,     5,  1047,   681,   883,
     451,   572,   571,   739,   572,   245,   451,   798,   800,   805,
     857,   865,   872,   883,   724,   724,  1002,   320,   152,   282,
     152,   282,   452,   307,   941,   452,   947,   510,   744,   976,
     565,   870,   747,   698,   653,    21,   109,   249,   614,   815,
       4,   654,   655,  1055,  1056,  1068,   572,   452,   947,   799,
     800,   801,   884,   885,   455,   455,    32,   451,   452,   657,
     140,   452,   455,   515,   452,   454,   373,   158,  1002,   976,
     291,   655,   572,   801,   347,   347,   452,  1053,   947,   415,
     415,   451,   160,   160,   654,   724,   724,   452
};

#define yyerrok		(yyerrstatus = 0)
#define yyclearin	(yychar = YYEMPTY)
#define YYEMPTY		(-2)
#define YYEOF		0

#define YYACCEPT	goto yyacceptlab
#define YYABORT		goto yyabortlab
#define YYERROR		goto yyerrorlab


/* Like YYERROR except do call yyerror.  This remains here temporarily
   to ease the transition to the new meaning of YYERROR, for GCC.
   Once GCC version 2 has supplanted version 1, this can go.  */

#define YYFAIL		goto yyerrlab

#define YYRECOVERING()  (!!yyerrstatus)

#define YYBACKUP(Token, Value)					\
do								\
  if (yychar == YYEMPTY && yylen == 1)				\
    {								\
      yychar = (Token);						\
      yylval = (Value);						\
      yytoken = YYTRANSLATE (yychar);				\
      YYPOPSTACK (1);						\
      goto yybackup;						\
    }								\
  else								\
    {								\
      yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
      YYERROR;							\
    }								\
while (YYID (0))


#define YYTERROR	1
#define YYERRCODE	256


/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
   If N is 0, then set CURRENT to the empty location which ends
   the previous symbol: RHS[0] (always defined).  */

#define YYRHSLOC(Rhs, K) ((Rhs)[K])
#ifndef YYLLOC_DEFAULT
# define YYLLOC_DEFAULT(Current, Rhs, N)				\
    do									\
      if (YYID (N))                                                    \
	{								\
	  (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;	\
	  (Current).first_column = YYRHSLOC (Rhs, 1).first_column;	\
	  (Current).last_line    = YYRHSLOC (Rhs, N).last_line;		\
	  (Current).last_column  = YYRHSLOC (Rhs, N).last_column;	\
	}								\
      else								\
	{								\
	  (Current).first_line   = (Current).last_line   =		\
	    YYRHSLOC (Rhs, 0).last_line;				\
	  (Current).first_column = (Current).last_column =		\
	    YYRHSLOC (Rhs, 0).last_column;				\
	}								\
    while (YYID (0))
#endif


/* YY_LOCATION_PRINT -- Print the location on the stream.
   This macro was not mandated originally: define only if we know
   we won't break user code: when these are the locations we know.  */

#ifndef YY_LOCATION_PRINT
# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
#  define YY_LOCATION_PRINT(File, Loc)			\
     fprintf (File, "%d.%d-%d.%d",			\
	      (Loc).first_line, (Loc).first_column,	\
	      (Loc).last_line,  (Loc).last_column)
# else
#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
# endif
#endif


/* YYLEX -- calling `yylex' with the right arguments.  */

#ifdef YYLEX_PARAM
# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
#else
# define YYLEX yylex (&yylval, &yylloc, yyscanner)
#endif

/* Enable debugging if requested.  */
#if YYDEBUG

# ifndef YYFPRINTF
#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
#  define YYFPRINTF fprintf
# endif

# define YYDPRINTF(Args)			\
do {						\
  if (yydebug)					\
    YYFPRINTF Args;				\
} while (YYID (0))

# define YY_SYMBOL_PRINT(Title, Type, Value, Location)			  \
do {									  \
  if (yydebug)								  \
    {									  \
      YYFPRINTF (stderr, "%s ", Title);					  \
      yy_symbol_print (stderr,						  \
		  Type, Value, Location, yyscanner); \
      YYFPRINTF (stderr, "\n");						  \
    }									  \
} while (YYID (0))


/*--------------------------------.
| Print this symbol on YYOUTPUT.  |
`--------------------------------*/

/*ARGSUSED*/
#if (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
#else
static void
yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner)
    FILE *yyoutput;
    int yytype;
    YYSTYPE const * const yyvaluep;
    YYLTYPE const * const yylocationp;
    core_yyscan_t yyscanner;
#endif
{
  if (!yyvaluep)
    return;
  YYUSE (yylocationp);
  YYUSE (yyscanner);
# ifdef YYPRINT
  if (yytype < YYNTOKENS)
    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
# else
  YYUSE (yyoutput);
# endif
  switch (yytype)
    {
      default:
	break;
    }
}


/*--------------------------------.
| Print this symbol on YYOUTPUT.  |
`--------------------------------*/

#if (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
static void
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
#else
static void
yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner)
    FILE *yyoutput;
    int yytype;
    YYSTYPE const * const yyvaluep;
    YYLTYPE const * const yylocationp;
    core_yyscan_t yyscanner;
#endif
{
  if (yytype < YYNTOKENS)
    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
  else
    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);

  YY_LOCATION_PRINT (yyoutput, *yylocationp);
  YYFPRINTF (yyoutput, ": ");
  yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, yyscanner);
  YYFPRINTF (yyoutput, ")");
}

/*------------------------------------------------------------------.
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
| TOP (included).                                                   |
`------------------------------------------------------------------*/

#if (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
static void
yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
#else
static void
yy_stack_print (bottom, top)
    yytype_int16 *bottom;
    yytype_int16 *top;
#endif
{
  YYFPRINTF (stderr, "Stack now");
  for (; bottom <= top; ++bottom)
    YYFPRINTF (stderr, " %d", *bottom);
  YYFPRINTF (stderr, "\n");
}

# define YY_STACK_PRINT(Bottom, Top)				\
do {								\
  if (yydebug)							\
    yy_stack_print ((Bottom), (Top));				\
} while (YYID (0))


/*------------------------------------------------.
| Report that the YYRULE is going to be reduced.  |
`------------------------------------------------*/

#if (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
static void
yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
#else
static void
yy_reduce_print (yyvsp, yylsp, yyrule, yyscanner)
    YYSTYPE *yyvsp;
    YYLTYPE *yylsp;
    int yyrule;
    core_yyscan_t yyscanner;
#endif
{
  int yynrhs = yyr2[yyrule];
  int yyi;
  unsigned long int yylno = yyrline[yyrule];
  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
	     yyrule - 1, yylno);
  /* The symbols being reduced.  */
  for (yyi = 0; yyi < yynrhs; yyi++)
    {
      fprintf (stderr, "   $%d = ", yyi + 1);
      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
		       &(yyvsp[(yyi + 1) - (yynrhs)])
		       , &(yylsp[(yyi + 1) - (yynrhs)])		       , yyscanner);
      fprintf (stderr, "\n");
    }
}

# define YY_REDUCE_PRINT(Rule)		\
do {					\
  if (yydebug)				\
    yy_reduce_print (yyvsp, yylsp, Rule, yyscanner); \
} while (YYID (0))

/* Nonzero means print parse trace.  It is left uninitialized so that
   multiple parsers can coexist.  */
int yydebug;
#else /* !YYDEBUG */
# define YYDPRINTF(Args)
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
# define YY_STACK_PRINT(Bottom, Top)
# define YY_REDUCE_PRINT(Rule)
#endif /* !YYDEBUG */


/* YYINITDEPTH -- initial size of the parser's stacks.  */
#ifndef	YYINITDEPTH
# define YYINITDEPTH 200
#endif

/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
   if the built-in stack extension method is used).

   Do not make this value too large; the results are undefined if
   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
   evaluated with infinite-precision integer arithmetic.  */

#ifndef YYMAXDEPTH
# define YYMAXDEPTH 10000
#endif



#if YYERROR_VERBOSE

# ifndef yystrlen
#  if defined __GLIBC__ && defined _STRING_H
#   define yystrlen strlen
#  else
/* Return the length of YYSTR.  */
#if (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
static YYSIZE_T
yystrlen (const char *yystr)
#else
static YYSIZE_T
yystrlen (yystr)
    const char *yystr;
#endif
{
  YYSIZE_T yylen;
  for (yylen = 0; yystr[yylen]; yylen++)
    continue;
  return yylen;
}
#  endif
# endif

# ifndef yystpcpy
#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
#   define yystpcpy stpcpy
#  else
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
   YYDEST.  */
#if (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
static char *
yystpcpy (char *yydest, const char *yysrc)
#else
static char *
yystpcpy (yydest, yysrc)
    char *yydest;
    const char *yysrc;
#endif
{
  char *yyd = yydest;
  const char *yys = yysrc;

  while ((*yyd++ = *yys++) != '\0')
    continue;

  return yyd - 1;
}
#  endif
# endif

# ifndef yytnamerr
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
   quotes and backslashes, so that it's suitable for yyerror.  The
   heuristic is that double-quoting is unnecessary unless the string
   contains an apostrophe, a comma, or backslash (other than
   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
   null, do not copy; instead, return the length of what the result
   would have been.  */
static YYSIZE_T
yytnamerr (char *yyres, const char *yystr)
{
  if (*yystr == '"')
    {
      YYSIZE_T yyn = 0;
      char const *yyp = yystr;

      for (;;)
	switch (*++yyp)
	  {
	  case '\'':
	  case ',':
	    goto do_not_strip_quotes;

	  case '\\':
	    if (*++yyp != '\\')
	      goto do_not_strip_quotes;
	    /* Fall through.  */
	  default:
	    if (yyres)
	      yyres[yyn] = *yyp;
	    yyn++;
	    break;

	  case '"':
	    if (yyres)
	      yyres[yyn] = '\0';
	    return yyn;
	  }
    do_not_strip_quotes: ;
    }

  if (! yyres)
    return yystrlen (yystr);

  return yystpcpy (yyres, yystr) - yyres;
}
# endif

/* Copy into YYRESULT an error message about the unexpected token
   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
   including the terminating null byte.  If YYRESULT is null, do not
   copy anything; just return the number of bytes that would be
   copied.  As a special case, return 0 if an ordinary "syntax error"
   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
   size calculation.  */
static YYSIZE_T
yysyntax_error (char *yyresult, int yystate, int yychar)
{
  int yyn = yypact[yystate];

  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
    return 0;
  else
    {
      int yytype = YYTRANSLATE (yychar);
      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
      YYSIZE_T yysize = yysize0;
      YYSIZE_T yysize1;
      int yysize_overflow = 0;
      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
      int yyx;

# if 0
      /* This is so xgettext sees the translatable formats that are
	 constructed on the fly.  */
      YY_("syntax error, unexpected %s");
      YY_("syntax error, unexpected %s, expecting %s");
      YY_("syntax error, unexpected %s, expecting %s or %s");
      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
# endif
      char *yyfmt;
      char const *yyf;
      static char const yyunexpected[] = "syntax error, unexpected %s";
      static char const yyexpecting[] = ", expecting %s";
      static char const yyor[] = " or %s";
      char yyformat[sizeof yyunexpected
		    + sizeof yyexpecting - 1
		    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
		       * (sizeof yyor - 1))];
      char const *yyprefix = yyexpecting;

      /* Start YYX at -YYN if negative to avoid negative indexes in
	 YYCHECK.  */
      int yyxbegin = yyn < 0 ? -yyn : 0;

      /* Stay within bounds of both yycheck and yytname.  */
      int yychecklim = YYLAST - yyn + 1;
      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
      int yycount = 1;

      yyarg[0] = yytname[yytype];
      yyfmt = yystpcpy (yyformat, yyunexpected);

      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
	if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
	  {
	    if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
	      {
		yycount = 1;
		yysize = yysize0;
		yyformat[sizeof yyunexpected - 1] = '\0';
		break;
	      }
	    yyarg[yycount++] = yytname[yyx];
	    yysize1 = yysize + yytnamerr (0, yytname[yyx]);
	    yysize_overflow |= (yysize1 < yysize);
	    yysize = yysize1;
	    yyfmt = yystpcpy (yyfmt, yyprefix);
	    yyprefix = yyor;
	  }

      yyf = YY_(yyformat);
      yysize1 = yysize + yystrlen (yyf);
      yysize_overflow |= (yysize1 < yysize);
      yysize = yysize1;

      if (yysize_overflow)
	return YYSIZE_MAXIMUM;

      if (yyresult)
	{
	  /* Avoid sprintf, as that infringes on the user's name space.
	     Don't have undefined behavior even if the translation
	     produced a string with the wrong number of "%s"s.  */
	  char *yyp = yyresult;
	  int yyi = 0;
	  while ((*yyp = *yyf) != '\0')
	    {
	      if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
		{
		  yyp += yytnamerr (yyp, yyarg[yyi++]);
		  yyf += 2;
		}
	      else
		{
		  yyp++;
		  yyf++;
		}
	    }
	}
      return yysize;
    }
}
#endif /* YYERROR_VERBOSE */


/*-----------------------------------------------.
| Release the memory associated to this symbol.  |
`-----------------------------------------------*/

/*ARGSUSED*/
#if (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
static void
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
#else
static void
yydestruct (yymsg, yytype, yyvaluep, yylocationp, yyscanner)
    const char *yymsg;
    int yytype;
    YYSTYPE *yyvaluep;
    YYLTYPE *yylocationp;
    core_yyscan_t yyscanner;
#endif
{
  YYUSE (yyvaluep);
  YYUSE (yylocationp);
  YYUSE (yyscanner);

  if (!yymsg)
    yymsg = "Deleting";
  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);

  switch (yytype)
    {

      default:
	break;
    }
}


/* Prevent warnings from -Wmissing-prototypes.  */

#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
#else
int yyparse ();
#endif
#else /* ! YYPARSE_PARAM */
#if defined __STDC__ || defined __cplusplus
int yyparse (core_yyscan_t yyscanner);
#else
int yyparse ();
#endif
#endif /* ! YYPARSE_PARAM */






/*----------.
| yyparse.  |
`----------*/

#ifdef YYPARSE_PARAM
#if (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
int
yyparse (void *YYPARSE_PARAM)
#else
int
yyparse (YYPARSE_PARAM)
    void *YYPARSE_PARAM;
#endif
#else /* ! YYPARSE_PARAM */
#if (defined __STDC__ || defined __C99__FUNC__ \
     || defined __cplusplus || defined _MSC_VER)
int
yyparse (core_yyscan_t yyscanner)
#else
int
yyparse (yyscanner)
    core_yyscan_t yyscanner;
#endif
#endif
{
  /* The look-ahead symbol.  */
int yychar;

/* The semantic value of the look-ahead symbol.  */
YYSTYPE yylval;

/* Number of syntax errors so far.  */
int yynerrs;
/* Location data for the look-ahead symbol.  */
YYLTYPE yylloc;

  int yystate;
  int yyn;
  int yyresult;
  /* Number of tokens to shift before error messages enabled.  */
  int yyerrstatus;
  /* Look-ahead token as an internal (translated) token number.  */
  int yytoken = 0;
#if YYERROR_VERBOSE
  /* Buffer for error messages, and its allocated size.  */
  char yymsgbuf[128];
  char *yymsg = yymsgbuf;
  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
#endif

  /* Three stacks and their tools:
     `yyss': related to states,
     `yyvs': related to semantic values,
     `yyls': related to locations.

     Refer to the stacks thru separate pointers, to allow yyoverflow
     to reallocate them elsewhere.  */

  /* The state stack.  */
  yytype_int16 yyssa[YYINITDEPTH];
  yytype_int16 *yyss = yyssa;
  yytype_int16 *yyssp;

  /* The semantic value stack.  */
  YYSTYPE yyvsa[YYINITDEPTH];
  YYSTYPE *yyvs = yyvsa;
  YYSTYPE *yyvsp;

  /* The location stack.  */
  YYLTYPE yylsa[YYINITDEPTH];
  YYLTYPE *yyls = yylsa;
  YYLTYPE *yylsp;
  /* The locations where the error started and ended.  */
  YYLTYPE yyerror_range[2];

#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))

  YYSIZE_T yystacksize = YYINITDEPTH;

  /* The variables used to return semantic value and location from the
     action routines.  */
  YYSTYPE yyval;
  YYLTYPE yyloc;

  /* The number of symbols on the RHS of the reduced rule.
     Keep to zero when no symbol should be popped.  */
  int yylen = 0;

  YYDPRINTF ((stderr, "Starting parse\n"));

  yystate = 0;
  yyerrstatus = 0;
  yynerrs = 0;
  yychar = YYEMPTY;		/* Cause a token to be read.  */

  /* Initialize stack pointers.
     Waste one element of value and location stack
     so that they stay on the same level as the state stack.
     The wasted elements are never initialized.  */

  yyssp = yyss;
  yyvsp = yyvs;
  yylsp = yyls;
#if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
  /* Initialize the default location before parsing starts.  */
  yylloc.first_line   = yylloc.last_line   = 1;
  yylloc.first_column = yylloc.last_column = 0;
#endif

  goto yysetstate;

/*------------------------------------------------------------.
| yynewstate -- Push a new state, which is found in yystate.  |
`------------------------------------------------------------*/
 yynewstate:
  /* In all cases, when you get here, the value and location stacks
     have just been pushed.  So pushing a state here evens the stacks.  */
  yyssp++;

 yysetstate:
  *yyssp = yystate;

  if (yyss + yystacksize - 1 <= yyssp)
    {
      /* Get the current used size of the three stacks, in elements.  */
      YYSIZE_T yysize = yyssp - yyss + 1;

#ifdef yyoverflow
      {
	/* Give user a chance to reallocate the stack.  Use copies of
	   these so that the &'s don't force the real ones into
	   memory.  */
	YYSTYPE *yyvs1 = yyvs;
	yytype_int16 *yyss1 = yyss;
	YYLTYPE *yyls1 = yyls;

	/* Each stack pointer address is followed by the size of the
	   data in use in that stack, in bytes.  This used to be a
	   conditional around just the two extra args, but that might
	   be undefined if yyoverflow is a macro.  */
	yyoverflow (YY_("memory exhausted"),
		    &yyss1, yysize * sizeof (*yyssp),
		    &yyvs1, yysize * sizeof (*yyvsp),
		    &yyls1, yysize * sizeof (*yylsp),
		    &yystacksize);
	yyls = yyls1;
	yyss = yyss1;
	yyvs = yyvs1;
      }
#else /* no yyoverflow */
# ifndef YYSTACK_RELOCATE
      goto yyexhaustedlab;
# else
      /* Extend the stack our own way.  */
      if (YYMAXDEPTH <= yystacksize)
	goto yyexhaustedlab;
      yystacksize *= 2;
      if (YYMAXDEPTH < yystacksize)
	yystacksize = YYMAXDEPTH;

      {
	yytype_int16 *yyss1 = yyss;
	union yyalloc *yyptr =
	  (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
	if (! yyptr)
	  goto yyexhaustedlab;
	YYSTACK_RELOCATE (yyss);
	YYSTACK_RELOCATE (yyvs);
	YYSTACK_RELOCATE (yyls);
#  undef YYSTACK_RELOCATE
	if (yyss1 != yyssa)
	  YYSTACK_FREE (yyss1);
      }
# endif
#endif /* no yyoverflow */

      yyssp = yyss + yysize - 1;
      yyvsp = yyvs + yysize - 1;
      yylsp = yyls + yysize - 1;

      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
		  (unsigned long int) yystacksize));

      if (yyss + yystacksize - 1 <= yyssp)
	YYABORT;
    }

  YYDPRINTF ((stderr, "Entering state %d\n", yystate));

  goto yybackup;

/*-----------.
| yybackup.  |
`-----------*/
yybackup:

  /* Do appropriate processing given the current state.  Read a
     look-ahead token if we need one and don't already have one.  */

  /* First try to decide what to do without reference to look-ahead token.  */
  yyn = yypact[yystate];
  if (yyn == YYPACT_NINF)
    goto yydefault;

  /* Not known => get a look-ahead token if don't already have one.  */

  /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol.  */
  if (yychar == YYEMPTY)
    {
      YYDPRINTF ((stderr, "Reading a token: "));
      yychar = YYLEX;
    }

  if (yychar <= YYEOF)
    {
      yychar = yytoken = YYEOF;
      YYDPRINTF ((stderr, "Now at end of input.\n"));
    }
  else
    {
      yytoken = YYTRANSLATE (yychar);
      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
    }

  /* If the proper action on seeing token YYTOKEN is to reduce or to
     detect an error, take that action.  */
  yyn += yytoken;
  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
    goto yydefault;
  yyn = yytable[yyn];
  if (yyn <= 0)
    {
      if (yyn == 0 || yyn == YYTABLE_NINF)
	goto yyerrlab;
      yyn = -yyn;
      goto yyreduce;
    }

  if (yyn == YYFINAL)
    YYACCEPT;

  /* Count tokens shifted since error; after three, turn off error
     status.  */
  if (yyerrstatus)
    yyerrstatus--;

  /* Shift the look-ahead token.  */
  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);

  /* Discard the shifted token unless it is eof.  */
  if (yychar != YYEOF)
    yychar = YYEMPTY;

  yystate = yyn;
  *++yyvsp = yylval;
  *++yylsp = yylloc;
  goto yynewstate;


/*-----------------------------------------------------------.
| yydefault -- do the default action for the current state.  |
`-----------------------------------------------------------*/
yydefault:
  yyn = yydefact[yystate];
  if (yyn == 0)
    goto yyerrlab;
  goto yyreduce;


/*-----------------------------.
| yyreduce -- Do a reduction.  |
`-----------------------------*/
yyreduce:
  /* yyn is the number of a rule to reduce with.  */
  yylen = yyr2[yyn];

  /* If YYLEN is nonzero, implement the default value of the action:
     `$$ = $1'.

     Otherwise, the following line sets YYVAL to garbage.
     This behavior is undocumented and Bison
     users should not rely upon it.  Assigning to YYVAL
     unconditionally makes the parser a bit smaller, and it avoids a
     GCC warning that YYVAL may be used uninitialized.  */
  yyval = yyvsp[1-yylen];

  /* Default location.  */
  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
  YY_REDUCE_PRINT (yyn);
  switch (yyn)
    {
        case 2:
#line 738 "gram.y"
    {
				pg_yyget_extra(yyscanner)->parsetree = (yyvsp[(1) - (1)].list);
			;}
    break;

  case 3:
#line 745 "gram.y"
    {
					if ((yyvsp[(3) - (3)].node) != NULL)
						(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
					else
						(yyval.list) = (yyvsp[(1) - (3)].list);
				;}
    break;

  case 4:
#line 752 "gram.y"
    {
					if ((yyvsp[(1) - (1)].node) != NULL)
						(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
					else
						(yyval.list) = NIL;
				;}
    break;

  case 127:
#line 884 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 128:
#line 895 "gram.y"
    {
					CreateRoleStmt *n = makeNode(CreateRoleStmt);
					n->stmt_type = ROLESTMT_ROLE;
					n->role = (yyvsp[(3) - (5)].str);
					n->options = (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 129:
#line 905 "gram.y"
    {;}
    break;

  case 130:
#line 906 "gram.y"
    {;}
    break;

  case 131:
#line 907 "gram.y"
    {;}
    break;

  case 132:
#line 916 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 133:
#line 917 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 134:
#line 921 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 135:
#line 922 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 136:
#line 927 "gram.y"
    {
					(yyval.defelt) = makeDefElemExtended(NULL, "password", (yyvsp[(2) - (2)].node), DEFELEM_UNSPEC, (yylsp[(2) - (2)]));
				;}
    break;

  case 137:
#line 931 "gram.y"
    {
					(yyval.defelt) = makeDefElem("password", NULL);
				;}
    break;

  case 138:
#line 935 "gram.y"
    {
					(yyval.defelt) = makeDefElemExtended(NULL, "encryptedPassword", (yyvsp[(3) - (3)].node), DEFELEM_UNSPEC, (yylsp[(3) - (3)]));
				;}
    break;

  case 139:
#line 939 "gram.y"
    {
					(yyval.defelt) = makeDefElemExtended(NULL, "unencryptedPassword", (yyvsp[(3) - (3)].node), DEFELEM_UNSPEC, (yylsp[(3) - (3)]));
				;}
    break;

  case 140:
#line 943 "gram.y"
    {
					(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(TRUE));
				;}
    break;

  case 141:
#line 947 "gram.y"
    {
					(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[(3) - (3)].ival)));
				;}
    break;

  case 142:
#line 951 "gram.y"
    {
					(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[(3) - (3)].str)));
				;}
    break;

  case 143:
#line 956 "gram.y"
    {
					(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[(2) - (2)].list));
				;}
    break;

  case 144:
#line 960 "gram.y"
    {
					/*
					 * We handle identifiers that aren't parser keywords with
					 * the following special-case codes, to avoid bloating the
					 * size of the main parser.
					 */
					if (strcmp((yyvsp[(1) - (1)].str), "superuser") == 0)
						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(TRUE));
					else if (strcmp((yyvsp[(1) - (1)].str), "nosuperuser") == 0)
						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(FALSE));
					else if (strcmp((yyvsp[(1) - (1)].str), "createuser") == 0)
					{
						/* For backwards compatibility, synonym for SUPERUSER */
						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(TRUE));
					}
					else if (strcmp((yyvsp[(1) - (1)].str), "nocreateuser") == 0)
					{
						/* For backwards compatibility, synonym for SUPERUSER */
						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(FALSE));
					}
					else if (strcmp((yyvsp[(1) - (1)].str), "createrole") == 0)
						(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(TRUE));
					else if (strcmp((yyvsp[(1) - (1)].str), "nocreaterole") == 0)
						(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(FALSE));
					else if (strcmp((yyvsp[(1) - (1)].str), "replication") == 0)
						(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(TRUE));
					else if (strcmp((yyvsp[(1) - (1)].str), "noreplication") == 0)
						(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(FALSE));
					else if (strcmp((yyvsp[(1) - (1)].str), "createdb") == 0)
						(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(TRUE));
					else if (strcmp((yyvsp[(1) - (1)].str), "nocreatedb") == 0)
						(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(FALSE));
					else if (strcmp((yyvsp[(1) - (1)].str), "login") == 0)
						(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(TRUE));
					else if (strcmp((yyvsp[(1) - (1)].str), "nologin") == 0)
						(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(FALSE));
					else if (strcmp((yyvsp[(1) - (1)].str), "bypassrls") == 0)
						(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(TRUE));
					else if (strcmp((yyvsp[(1) - (1)].str), "nobypassrls") == 0)
						(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(FALSE));
					else if (strcmp((yyvsp[(1) - (1)].str), "noinherit") == 0)
					{
						/*
						 * Note that INHERIT is a keyword, so it's handled by main parser, but
						 * NOINHERIT is handled here.
						 */
						(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(FALSE));
					}
					else
						ereport(ERROR,
								(errcode(ERRCODE_SYNTAX_ERROR),
								 errmsg("unrecognized role option \"%s\"", (yyvsp[(1) - (1)].str)),
									 parser_errposition((yylsp[(1) - (1)]))));
				;}
    break;

  case 145:
#line 1017 "gram.y"
    { (yyval.defelt) = (yyvsp[(1) - (1)].defelt); ;}
    break;

  case 146:
#line 1020 "gram.y"
    {
					(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[(2) - (2)].ival)));
				;}
    break;

  case 147:
#line 1024 "gram.y"
    {
					(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[(2) - (2)].list));
				;}
    break;

  case 148:
#line 1028 "gram.y"
    {
					(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[(2) - (2)].list));
				;}
    break;

  case 149:
#line 1032 "gram.y"
    {
					(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[(3) - (3)].list));
				;}
    break;

  case 150:
#line 1036 "gram.y"
    {
					(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[(3) - (3)].list));
				;}
    break;

  case 151:
#line 1050 "gram.y"
    {
					CreateRoleStmt *n = makeNode(CreateRoleStmt);
					n->stmt_type = ROLESTMT_USER;
					n->role = (yyvsp[(3) - (5)].str);
					n->options = (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 152:
#line 1068 "gram.y"
    {
					AlterRoleStmt *n = makeNode(AlterRoleStmt);
					n->role = (yyvsp[(3) - (5)].node);
					n->action = +1;	/* add, if there are members */
					n->options = (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *)n;
				 ;}
    break;

  case 153:
#line 1078 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 154:
#line 1079 "gram.y"
    { (yyval.str) = (yyvsp[(3) - (3)].str); ;}
    break;

  case 155:
#line 1084 "gram.y"
    {
					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
					n->role = (yyvsp[(3) - (5)].node);
					n->database = (yyvsp[(4) - (5)].str);
					n->setstmt = (yyvsp[(5) - (5)].vsetstmt);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 156:
#line 1092 "gram.y"
    {
					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
					n->role = NULL;
					n->database = (yyvsp[(4) - (5)].str);
					n->setstmt = (yyvsp[(5) - (5)].vsetstmt);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 157:
#line 1110 "gram.y"
    {
					AlterRoleStmt *n = makeNode(AlterRoleStmt);
					n->role = (yyvsp[(3) - (5)].node);
					n->action = +1;	/* add, if there are members */
					n->options = (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *)n;
				 ;}
    break;

  case 158:
#line 1122 "gram.y"
    {
					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
					n->role = (yyvsp[(3) - (4)].node);
					n->database = NULL;
					n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 159:
#line 1143 "gram.y"
    {
					DropRoleStmt *n = makeNode(DropRoleStmt);
					n->missing_ok = FALSE;
					n->roles = (yyvsp[(3) - (3)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 160:
#line 1150 "gram.y"
    {
					DropRoleStmt *n = makeNode(DropRoleStmt);
					n->missing_ok = TRUE;
					n->roles = (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 161:
#line 1169 "gram.y"
    {
					DropRoleStmt *n = makeNode(DropRoleStmt);
					n->missing_ok = FALSE;
					n->roles = (yyvsp[(3) - (3)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 162:
#line 1176 "gram.y"
    {
					DropRoleStmt *n = makeNode(DropRoleStmt);
					n->roles = (yyvsp[(5) - (5)].list);
					n->missing_ok = TRUE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 163:
#line 1193 "gram.y"
    {
					CreateRoleStmt *n = makeNode(CreateRoleStmt);
					n->stmt_type = ROLESTMT_GROUP;
					n->role = (yyvsp[(3) - (5)].str);
					n->options = (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 164:
#line 1211 "gram.y"
    {
					AlterRoleStmt *n = makeNode(AlterRoleStmt);
					n->role = (yyvsp[(3) - (6)].node);
					n->action = (yyvsp[(4) - (6)].ival);
					n->options = list_make1(makeDefElem("rolemembers",
														(Node *)(yyvsp[(6) - (6)].list)));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 165:
#line 1221 "gram.y"
    { (yyval.ival) = +1; ;}
    break;

  case 166:
#line 1222 "gram.y"
    { (yyval.ival) = -1; ;}
    break;

  case 167:
#line 1235 "gram.y"
    {
					DropRoleStmt *n = makeNode(DropRoleStmt);
					n->missing_ok = FALSE;
					n->roles = (yyvsp[(3) - (3)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 168:
#line 1242 "gram.y"
    {
					DropRoleStmt *n = makeNode(DropRoleStmt);
					n->missing_ok = TRUE;
					n->roles = (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 169:
#line 1259 "gram.y"
    {
					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
					/* One can omit the schema name or the authorization id. */
					n->schemaname = (yyvsp[(3) - (6)].str);
					n->authrole = (yyvsp[(5) - (6)].node);
					n->schemaElts = (yyvsp[(6) - (6)].list);
					n->if_not_exists = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 170:
#line 1269 "gram.y"
    {
					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
					/* ...but not both */
					n->schemaname = (yyvsp[(3) - (4)].str);
					n->authrole = NULL;
					n->schemaElts = (yyvsp[(4) - (4)].list);
					n->if_not_exists = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 171:
#line 1279 "gram.y"
    {
					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
					/* schema name can be omitted here, too */
					n->schemaname = (yyvsp[(6) - (9)].str);
					n->authrole = (yyvsp[(8) - (9)].node);
					if ((yyvsp[(9) - (9)].list) != NIL)
						ereport(ERROR,
								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
								 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
								 parser_errposition((yylsp[(9) - (9)]))));
					n->schemaElts = (yyvsp[(9) - (9)].list);
					n->if_not_exists = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 172:
#line 1294 "gram.y"
    {
					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
					/* ...but not here */
					n->schemaname = (yyvsp[(6) - (7)].str);
					n->authrole = NULL;
					if ((yyvsp[(7) - (7)].list) != NIL)
						ereport(ERROR,
								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
								 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
								 parser_errposition((yylsp[(7) - (7)]))));
					n->schemaElts = (yyvsp[(7) - (7)].list);
					n->if_not_exists = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 173:
#line 1311 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 174:
#line 1312 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 175:
#line 1317 "gram.y"
    {
					if ((yyloc) < 0)			/* see comments for YYLLOC_DEFAULT */
						(yyloc) = (yylsp[(2) - (2)]);
					(yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node));
				;}
    break;

  case 176:
#line 1323 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 183:
#line 1351 "gram.y"
    {
					VariableSetStmt *n = (yyvsp[(2) - (2)].vsetstmt);
					n->is_local = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 184:
#line 1357 "gram.y"
    {
					VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
					n->is_local = true;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 185:
#line 1363 "gram.y"
    {
					VariableSetStmt *n = (yyvsp[(3) - (3)].vsetstmt);
					n->is_local = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 186:
#line 1372 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_MULTI;
					n->name = "TRANSACTION";
					n->args = (yyvsp[(2) - (2)].list);
					(yyval.vsetstmt) = n;
				;}
    break;

  case 187:
#line 1380 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_MULTI;
					n->name = "SESSION CHARACTERISTICS";
					n->args = (yyvsp[(5) - (5)].list);
					(yyval.vsetstmt) = n;
				;}
    break;

  case 189:
#line 1392 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_VALUE;
					n->name = (yyvsp[(1) - (3)].str);
					n->args = (yyvsp[(3) - (3)].list);
					(yyval.vsetstmt) = n;
				;}
    break;

  case 190:
#line 1400 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_VALUE;
					n->name = (yyvsp[(1) - (3)].str);
					n->args = (yyvsp[(3) - (3)].list);
					(yyval.vsetstmt) = n;
				;}
    break;

  case 191:
#line 1408 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_DEFAULT;
					n->name = (yyvsp[(1) - (3)].str);
					(yyval.vsetstmt) = n;
				;}
    break;

  case 192:
#line 1415 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_DEFAULT;
					n->name = (yyvsp[(1) - (3)].str);
					(yyval.vsetstmt) = n;
				;}
    break;

  case 193:
#line 1423 "gram.y"
    {(yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt);;}
    break;

  case 194:
#line 1425 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_CURRENT;
					n->name = (yyvsp[(1) - (3)].str);
					(yyval.vsetstmt) = n;
				;}
    break;

  case 195:
#line 1433 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_VALUE;
					n->name = "timezone";
					if ((yyvsp[(3) - (3)].node) != NULL)
						n->args = list_make1((yyvsp[(3) - (3)].node));
					else
						n->kind = VAR_SET_DEFAULT;
					(yyval.vsetstmt) = n;
				;}
    break;

  case 196:
#line 1444 "gram.y"
    {
					ereport(ERROR,
							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
							 errmsg("current database cannot be changed"),
							 parser_errposition((yylsp[(2) - (2)]))));
					(yyval.vsetstmt) = NULL; /*not reached*/
				;}
    break;

  case 197:
#line 1452 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_VALUE;
					n->name = "search_path";
					n->args = list_make1((yyvsp[(2) - (2)].node));
					(yyval.vsetstmt) = n;
				;}
    break;

  case 198:
#line 1460 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_VALUE;
					n->name = "client_encoding";
					if ((yyvsp[(2) - (2)].str) != NULL)
						n->args = list_make1(makeStringConst((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)])));
					else
						n->kind = VAR_SET_DEFAULT;
					(yyval.vsetstmt) = n;
				;}
    break;

  case 199:
#line 1471 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_VALUE;
					n->name = "role";
					n->args = list_make1((yyvsp[(2) - (2)].node));
					(yyval.vsetstmt) = n;
				;}
    break;

  case 200:
#line 1479 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_VALUE;
					n->name = "session_authorization";
					n->args = list_make1((yyvsp[(3) - (3)].node));
					(yyval.vsetstmt) = n;
				;}
    break;

  case 201:
#line 1487 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_DEFAULT;
					n->name = "session_authorization";
					(yyval.vsetstmt) = n;
				;}
    break;

  case 202:
#line 1494 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_VALUE;
					n->name = "xmloption";
					n->args = list_make1(makeStringConst((yyvsp[(3) - (3)].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[(3) - (3)])));
					(yyval.vsetstmt) = n;
				;}
    break;

  case 203:
#line 1503 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_SET_MULTI;
					n->name = "TRANSACTION SNAPSHOT";
					n->args = list_make1(makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)])));
					(yyval.vsetstmt) = n;
				;}
    break;

  case 204:
#line 1512 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 205:
#line 1514 "gram.y"
    { (yyval.str) = psprintf("%s.%s", (yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str)); ;}
    break;

  case 206:
#line 1517 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 207:
#line 1518 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
    break;

  case 208:
#line 1522 "gram.y"
    { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;}
    break;

  case 209:
#line 1524 "gram.y"
    { (yyval.node) = makeAConst((yyvsp[(1) - (1)].value), (yylsp[(1) - (1)])); ;}
    break;

  case 210:
#line 1526 "gram.y"
    { (yyval.node) = makeStringConst("?", (yylsp[(1) - (1)])); ;}
    break;

  case 211:
#line 1529 "gram.y"
    { (yyval.str) = "read uncommitted"; ;}
    break;

  case 212:
#line 1530 "gram.y"
    { (yyval.str) = "read committed"; ;}
    break;

  case 213:
#line 1531 "gram.y"
    { (yyval.str) = "repeatable read"; ;}
    break;

  case 214:
#line 1532 "gram.y"
    { (yyval.str) = "serializable"; ;}
    break;

  case 215:
#line 1536 "gram.y"
    { (yyval.str) = "true"; ;}
    break;

  case 216:
#line 1537 "gram.y"
    { (yyval.str) = "false"; ;}
    break;

  case 217:
#line 1538 "gram.y"
    { (yyval.str) = "on"; ;}
    break;

  case 218:
#line 1544 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 219:
#line 1557 "gram.y"
    {
					(yyval.node) = (yyvsp[(1) - (1)].node);
				;}
    break;

  case 220:
#line 1561 "gram.y"
    {
					(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
				;}
    break;

  case 221:
#line 1565 "gram.y"
    {
					TypeName *t = (yyvsp[(1) - (3)].typnam);
					if ((yyvsp[(3) - (3)].list) != NIL)
					{
						A_Const *n = (A_Const *) linitial((yyvsp[(3) - (3)].list));
						if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
							ereport(ERROR,
									(errcode(ERRCODE_SYNTAX_ERROR),
									 errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
									 parser_errposition((yylsp[(3) - (3)]))));
					}
					t->typmods = (yyvsp[(3) - (3)].list);
					(yyval.node) = makeStringConstCast((yyvsp[(2) - (3)].str), (yylsp[(2) - (3)]), t);
				;}
    break;

  case 222:
#line 1580 "gram.y"
    {
					TypeName *t = (yyvsp[(1) - (5)].typnam);
					t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
											makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
					(yyval.node) = makeStringConstCast((yyvsp[(5) - (5)].str), (yylsp[(5) - (5)]), t);
				;}
    break;

  case 223:
#line 1586 "gram.y"
    { (yyval.node) = makeAConst((yyvsp[(1) - (1)].value), (yylsp[(1) - (1)])); ;}
    break;

  case 224:
#line 1587 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 225:
#line 1588 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 226:
#line 1592 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 227:
#line 1593 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 228:
#line 1594 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 229:
#line 1598 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 230:
#line 1599 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 231:
#line 1603 "gram.y"
    { (yyval.node) = (Node *) (yyvsp[(2) - (2)].vsetstmt); ;}
    break;

  case 232:
#line 1607 "gram.y"
    { (yyval.vsetstmt) = (yyvsp[(1) - (1)].vsetstmt); ;}
    break;

  case 233:
#line 1609 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_RESET;
					n->name = "timezone";
					(yyval.vsetstmt) = n;
				;}
    break;

  case 234:
#line 1616 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_RESET;
					n->name = "transaction_isolation";
					(yyval.vsetstmt) = n;
				;}
    break;

  case 235:
#line 1623 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_RESET;
					n->name = "session_authorization";
					(yyval.vsetstmt) = n;
				;}
    break;

  case 236:
#line 1633 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_RESET;
					n->name = (yyvsp[(1) - (1)].str);
					(yyval.vsetstmt) = n;
				;}
    break;

  case 237:
#line 1640 "gram.y"
    {
					VariableSetStmt *n = makeNode(VariableSetStmt);
					n->kind = VAR_RESET_ALL;
					(yyval.vsetstmt) = n;
				;}
    break;

  case 238:
#line 1649 "gram.y"
    { (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;}
    break;

  case 239:
#line 1650 "gram.y"
    { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;}
    break;

  case 240:
#line 1655 "gram.y"
    { (yyval.vsetstmt) = (yyvsp[(2) - (2)].vsetstmt); ;}
    break;

  case 241:
#line 1656 "gram.y"
    { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[(1) - (1)].node); ;}
    break;

  case 242:
#line 1662 "gram.y"
    {
					VariableShowStmt *n = makeNode(VariableShowStmt);
					n->name = (yyvsp[(2) - (2)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 243:
#line 1668 "gram.y"
    {
					VariableShowStmt *n = makeNode(VariableShowStmt);
					n->name = "timezone";
					(yyval.node) = (Node *) n;
				;}
    break;

  case 244:
#line 1674 "gram.y"
    {
					VariableShowStmt *n = makeNode(VariableShowStmt);
					n->name = "transaction_isolation";
					(yyval.node) = (Node *) n;
				;}
    break;

  case 245:
#line 1680 "gram.y"
    {
					VariableShowStmt *n = makeNode(VariableShowStmt);
					n->name = "session_authorization";
					(yyval.node) = (Node *) n;
				;}
    break;

  case 246:
#line 1686 "gram.y"
    {
					VariableShowStmt *n = makeNode(VariableShowStmt);
					n->name = "all";
					(yyval.node) = (Node *) n;
				;}
    break;

  case 247:
#line 1696 "gram.y"
    {
					ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
					n->constraints = (yyvsp[(3) - (4)].list);
					n->deferred = (yyvsp[(4) - (4)].boolean);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 248:
#line 1705 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 249:
#line 1706 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 250:
#line 1710 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 251:
#line 1711 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 252:
#line 1720 "gram.y"
    {
					CheckPointStmt *n = makeNode(CheckPointStmt);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 253:
#line 1735 "gram.y"
    {
					DiscardStmt *n = makeNode(DiscardStmt);
					n->target = DISCARD_ALL;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 254:
#line 1741 "gram.y"
    {
					DiscardStmt *n = makeNode(DiscardStmt);
					n->target = DISCARD_TEMP;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 255:
#line 1747 "gram.y"
    {
					DiscardStmt *n = makeNode(DiscardStmt);
					n->target = DISCARD_TEMP;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 256:
#line 1753 "gram.y"
    {
					DiscardStmt *n = makeNode(DiscardStmt);
					n->target = DISCARD_PLANS;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 257:
#line 1759 "gram.y"
    {
					DiscardStmt *n = makeNode(DiscardStmt);
					n->target = DISCARD_SEQUENCES;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 258:
#line 1778 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);
					n->relation = (yyvsp[(3) - (4)].range);
					n->cmds = (yyvsp[(4) - (4)].list);
					n->relkind = OBJECT_TABLE;
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 259:
#line 1787 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);
					n->relation = (yyvsp[(5) - (6)].range);
					n->cmds = (yyvsp[(6) - (6)].list);
					n->relkind = OBJECT_TABLE;
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 260:
#line 1796 "gram.y"
    {
					AlterTableMoveAllStmt *n =
						makeNode(AlterTableMoveAllStmt);
					n->orig_tablespacename = (yyvsp[(6) - (10)].str);
					n->objtype = OBJECT_TABLE;
					n->roles = NIL;
					n->new_tablespacename = (yyvsp[(9) - (10)].str);
					n->nowait = (yyvsp[(10) - (10)].boolean);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 261:
#line 1807 "gram.y"
    {
					AlterTableMoveAllStmt *n =
						makeNode(AlterTableMoveAllStmt);
					n->orig_tablespacename = (yyvsp[(6) - (13)].str);
					n->objtype = OBJECT_TABLE;
					n->roles = (yyvsp[(9) - (13)].list);
					n->new_tablespacename = (yyvsp[(12) - (13)].str);
					n->nowait = (yyvsp[(13) - (13)].boolean);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 262:
#line 1818 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);
					n->relation = (yyvsp[(3) - (4)].range);
					n->cmds = (yyvsp[(4) - (4)].list);
					n->relkind = OBJECT_INDEX;
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 263:
#line 1827 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);
					n->relation = (yyvsp[(5) - (6)].range);
					n->cmds = (yyvsp[(6) - (6)].list);
					n->relkind = OBJECT_INDEX;
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 264:
#line 1836 "gram.y"
    {
					AlterTableMoveAllStmt *n =
						makeNode(AlterTableMoveAllStmt);
					n->orig_tablespacename = (yyvsp[(6) - (10)].str);
					n->objtype = OBJECT_INDEX;
					n->roles = NIL;
					n->new_tablespacename = (yyvsp[(9) - (10)].str);
					n->nowait = (yyvsp[(10) - (10)].boolean);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 265:
#line 1847 "gram.y"
    {
					AlterTableMoveAllStmt *n =
						makeNode(AlterTableMoveAllStmt);
					n->orig_tablespacename = (yyvsp[(6) - (13)].str);
					n->objtype = OBJECT_INDEX;
					n->roles = (yyvsp[(9) - (13)].list);
					n->new_tablespacename = (yyvsp[(12) - (13)].str);
					n->nowait = (yyvsp[(13) - (13)].boolean);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 266:
#line 1858 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);
					n->relation = (yyvsp[(3) - (4)].range);
					n->cmds = (yyvsp[(4) - (4)].list);
					n->relkind = OBJECT_SEQUENCE;
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 267:
#line 1867 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);
					n->relation = (yyvsp[(5) - (6)].range);
					n->cmds = (yyvsp[(6) - (6)].list);
					n->relkind = OBJECT_SEQUENCE;
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 268:
#line 1876 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);
					n->relation = (yyvsp[(3) - (4)].range);
					n->cmds = (yyvsp[(4) - (4)].list);
					n->relkind = OBJECT_VIEW;
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 269:
#line 1885 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);
					n->relation = (yyvsp[(5) - (6)].range);
					n->cmds = (yyvsp[(6) - (6)].list);
					n->relkind = OBJECT_VIEW;
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 270:
#line 1894 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);
					n->relation = (yyvsp[(4) - (5)].range);
					n->cmds = (yyvsp[(5) - (5)].list);
					n->relkind = OBJECT_MATVIEW;
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 271:
#line 1903 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);
					n->relation = (yyvsp[(6) - (7)].range);
					n->cmds = (yyvsp[(7) - (7)].list);
					n->relkind = OBJECT_MATVIEW;
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 272:
#line 1912 "gram.y"
    {
					AlterTableMoveAllStmt *n =
						makeNode(AlterTableMoveAllStmt);
					n->orig_tablespacename = (yyvsp[(7) - (11)].str);
					n->objtype = OBJECT_MATVIEW;
					n->roles = NIL;
					n->new_tablespacename = (yyvsp[(10) - (11)].str);
					n->nowait = (yyvsp[(11) - (11)].boolean);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 273:
#line 1923 "gram.y"
    {
					AlterTableMoveAllStmt *n =
						makeNode(AlterTableMoveAllStmt);
					n->orig_tablespacename = (yyvsp[(7) - (14)].str);
					n->objtype = OBJECT_MATVIEW;
					n->roles = (yyvsp[(10) - (14)].list);
					n->new_tablespacename = (yyvsp[(13) - (14)].str);
					n->nowait = (yyvsp[(14) - (14)].boolean);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 274:
#line 1936 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 275:
#line 1937 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
    break;

  case 276:
#line 1943 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_AddColumn;
					n->def = (yyvsp[(2) - (2)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 277:
#line 1951 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_AddColumn;
					n->def = (yyvsp[(3) - (3)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 278:
#line 1959 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_ColumnDefault;
					n->name = (yyvsp[(3) - (4)].str);
					n->def = (yyvsp[(4) - (4)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 279:
#line 1968 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DropNotNull;
					n->name = (yyvsp[(3) - (6)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 280:
#line 1976 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_SetNotNull;
					n->name = (yyvsp[(3) - (6)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 281:
#line 1984 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_SetStatistics;
					n->name = (yyvsp[(3) - (6)].str);
					n->def = (Node *) makeInteger((yyvsp[(6) - (6)].ival));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 282:
#line 1993 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_SetOptions;
					n->name = (yyvsp[(3) - (5)].str);
					n->def = (Node *) (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 283:
#line 2002 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_ResetOptions;
					n->name = (yyvsp[(3) - (5)].str);
					n->def = (Node *) (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 284:
#line 2011 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_SetStorage;
					n->name = (yyvsp[(3) - (6)].str);
					n->def = (Node *) makeString((yyvsp[(6) - (6)].str));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 285:
#line 2020 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DropColumn;
					n->name = (yyvsp[(5) - (6)].str);
					n->behavior = (yyvsp[(6) - (6)].dbehavior);
					n->missing_ok = TRUE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 286:
#line 2030 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DropColumn;
					n->name = (yyvsp[(3) - (4)].str);
					n->behavior = (yyvsp[(4) - (4)].dbehavior);
					n->missing_ok = FALSE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 287:
#line 2043 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					ColumnDef *def = makeNode(ColumnDef);
					n->subtype = AT_AlterColumnType;
					n->name = (yyvsp[(3) - (8)].str);
					n->def = (Node *) def;
					/* We only use these fields of the ColumnDef node */
					def->typeName = (yyvsp[(6) - (8)].typnam);
					def->collClause = (CollateClause *) (yyvsp[(7) - (8)].node);
					def->raw_default = (yyvsp[(8) - (8)].node);
					def->location = (yylsp[(3) - (8)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 288:
#line 2058 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_AlterColumnGenericOptions;
					n->name = (yyvsp[(3) - (4)].str);
					n->def = (Node *) (yyvsp[(4) - (4)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 289:
#line 2067 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_AddConstraint;
					n->def = (yyvsp[(2) - (2)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 290:
#line 2075 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					Constraint *c = makeNode(Constraint);
					n->subtype = AT_AlterConstraint;
					n->def = (Node *) c;
					c->contype = CONSTR_FOREIGN; /* others not supported, yet */
					c->conname = (yyvsp[(3) - (4)].str);
					processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "ALTER CONSTRAINT statement",
									&c->deferrable,
									&c->initdeferred,
									NULL, NULL, yyscanner);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 291:
#line 2090 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_ValidateConstraint;
					n->name = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 292:
#line 2098 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DropConstraint;
					n->name = (yyvsp[(5) - (6)].str);
					n->behavior = (yyvsp[(6) - (6)].dbehavior);
					n->missing_ok = TRUE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 293:
#line 2108 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DropConstraint;
					n->name = (yyvsp[(3) - (4)].str);
					n->behavior = (yyvsp[(4) - (4)].dbehavior);
					n->missing_ok = FALSE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 294:
#line 2118 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_AddOids;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 295:
#line 2125 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DropOids;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 296:
#line 2132 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_ClusterOn;
					n->name = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 297:
#line 2140 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DropCluster;
					n->name = NULL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 298:
#line 2148 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_SetLogged;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 299:
#line 2155 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_SetUnLogged;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 300:
#line 2162 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_EnableTrig;
					n->name = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 301:
#line 2170 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_EnableAlwaysTrig;
					n->name = (yyvsp[(4) - (4)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 302:
#line 2178 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_EnableReplicaTrig;
					n->name = (yyvsp[(4) - (4)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 303:
#line 2186 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_EnableTrigAll;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 304:
#line 2193 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_EnableTrigUser;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 305:
#line 2200 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DisableTrig;
					n->name = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 306:
#line 2208 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DisableTrigAll;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 307:
#line 2215 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DisableTrigUser;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 308:
#line 2222 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_EnableRule;
					n->name = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 309:
#line 2230 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_EnableAlwaysRule;
					n->name = (yyvsp[(4) - (4)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 310:
#line 2238 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_EnableReplicaRule;
					n->name = (yyvsp[(4) - (4)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 311:
#line 2246 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DisableRule;
					n->name = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 312:
#line 2254 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_AddInherit;
					n->def = (Node *) (yyvsp[(2) - (2)].range);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 313:
#line 2262 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DropInherit;
					n->def = (Node *) (yyvsp[(3) - (3)].range);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 314:
#line 2270 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					TypeName *def = makeTypeNameFromNameList((yyvsp[(2) - (2)].list));
					def->location = (yylsp[(2) - (2)]);
					n->subtype = AT_AddOf;
					n->def = (Node *) def;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 315:
#line 2280 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DropOf;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 316:
#line 2287 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_ChangeOwner;
					n->newowner = (yyvsp[(3) - (3)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 317:
#line 2295 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_SetTableSpace;
					n->name = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 318:
#line 2303 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_SetRelOptions;
					n->def = (Node *)(yyvsp[(2) - (2)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 319:
#line 2311 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_ResetRelOptions;
					n->def = (Node *)(yyvsp[(2) - (2)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 320:
#line 2319 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_ReplicaIdentity;
					n->def = (yyvsp[(3) - (3)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 321:
#line 2327 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_EnableRowSecurity;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 322:
#line 2334 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DisableRowSecurity;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 323:
#line 2341 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_ForceRowSecurity;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 324:
#line 2348 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_NoForceRowSecurity;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 325:
#line 2354 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_GenericOptions;
					n->def = (Node *)(yyvsp[(1) - (1)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 326:
#line 2363 "gram.y"
    { (yyval.node) = (yyvsp[(3) - (3)].node); ;}
    break;

  case 327:
#line 2364 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 328:
#line 2368 "gram.y"
    { (yyval.dbehavior) = DROP_CASCADE; ;}
    break;

  case 329:
#line 2369 "gram.y"
    { (yyval.dbehavior) = DROP_RESTRICT; ;}
    break;

  case 330:
#line 2370 "gram.y"
    { (yyval.dbehavior) = DROP_RESTRICT; /* default */ ;}
    break;

  case 331:
#line 2375 "gram.y"
    {
					CollateClause *n = makeNode(CollateClause);
					n->arg = NULL;
					n->collname = (yyvsp[(2) - (2)].list);
					n->location = (yylsp[(1) - (2)]);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 332:
#line 2382 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 333:
#line 2386 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 334:
#line 2387 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 335:
#line 2392 "gram.y"
    {
					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
					n->identity_type = REPLICA_IDENTITY_NOTHING;
					n->name = NULL;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 336:
#line 2399 "gram.y"
    {
					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
					n->identity_type = REPLICA_IDENTITY_FULL;
					n->name = NULL;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 337:
#line 2406 "gram.y"
    {
					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
					n->identity_type = REPLICA_IDENTITY_DEFAULT;
					n->name = NULL;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 338:
#line 2413 "gram.y"
    {
					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
					n->identity_type = REPLICA_IDENTITY_INDEX;
					n->name = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 339:
#line 2422 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 340:
#line 2425 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 341:
#line 2426 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 342:
#line 2430 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
    break;

  case 343:
#line 2431 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
    break;

  case 344:
#line 2437 "gram.y"
    {
					(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node));
				;}
    break;

  case 345:
#line 2441 "gram.y"
    {
					(yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL);
				;}
    break;

  case 346:
#line 2445 "gram.y"
    {
					(yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (5)].str), (yyvsp[(3) - (5)].str), (Node *) (yyvsp[(5) - (5)].node),
											 DEFELEM_UNSPEC, (yylsp[(1) - (5)]));
				;}
    break;

  case 347:
#line 2450 "gram.y"
    {
					(yyval.defelt) = makeDefElemExtended((yyvsp[(1) - (3)].str), (yyvsp[(3) - (3)].str), NULL, DEFELEM_UNSPEC, (yylsp[(1) - (3)]));
				;}
    break;

  case 348:
#line 2465 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);

					/* can't use qualified_name, sigh */
					n->relation = makeRangeVarFromAnyName((yyvsp[(3) - (4)].list), (yylsp[(3) - (4)]), yyscanner);
					n->cmds = (yyvsp[(4) - (4)].list);
					n->relkind = OBJECT_TYPE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 349:
#line 2477 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 350:
#line 2478 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
    break;

  case 351:
#line 2484 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_AddColumn;
					n->def = (yyvsp[(3) - (4)].node);
					n->behavior = (yyvsp[(4) - (4)].dbehavior);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 352:
#line 2493 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DropColumn;
					n->name = (yyvsp[(5) - (6)].str);
					n->behavior = (yyvsp[(6) - (6)].dbehavior);
					n->missing_ok = TRUE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 353:
#line 2503 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					n->subtype = AT_DropColumn;
					n->name = (yyvsp[(3) - (4)].str);
					n->behavior = (yyvsp[(4) - (4)].dbehavior);
					n->missing_ok = FALSE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 354:
#line 2513 "gram.y"
    {
					AlterTableCmd *n = makeNode(AlterTableCmd);
					ColumnDef *def = makeNode(ColumnDef);
					n->subtype = AT_AlterColumnType;
					n->name = (yyvsp[(3) - (8)].str);
					n->def = (Node *) def;
					n->behavior = (yyvsp[(8) - (8)].dbehavior);
					/* We only use these fields of the ColumnDef node */
					def->typeName = (yyvsp[(6) - (8)].typnam);
					def->collClause = (CollateClause *) (yyvsp[(7) - (8)].node);
					def->raw_default = NULL;
					def->location = (yylsp[(3) - (8)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 355:
#line 2539 "gram.y"
    {
					ClosePortalStmt *n = makeNode(ClosePortalStmt);
					n->portalname = (yyvsp[(2) - (2)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 356:
#line 2545 "gram.y"
    {
					ClosePortalStmt *n = makeNode(ClosePortalStmt);
					n->portalname = NULL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 357:
#line 2576 "gram.y"
    {
					CopyStmt *n = makeNode(CopyStmt);
					n->relation = (yyvsp[(3) - (11)].range);
					n->query = NULL;
					n->attlist = (yyvsp[(4) - (11)].list);
					n->is_from = (yyvsp[(6) - (11)].boolean);
					n->is_program = (yyvsp[(7) - (11)].boolean);
					n->filename = (yyvsp[(8) - (11)].str);

					if (n->is_program && n->filename == NULL)
						ereport(ERROR,
								(errcode(ERRCODE_SYNTAX_ERROR),
								 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
								 parser_errposition((yylsp[(8) - (11)]))));

					n->options = NIL;
					/* Concatenate user-supplied flags */
					if ((yyvsp[(2) - (11)].defelt))
						n->options = lappend(n->options, (yyvsp[(2) - (11)].defelt));
					if ((yyvsp[(5) - (11)].defelt))
						n->options = lappend(n->options, (yyvsp[(5) - (11)].defelt));
					if ((yyvsp[(9) - (11)].defelt))
						n->options = lappend(n->options, (yyvsp[(9) - (11)].defelt));
					if ((yyvsp[(11) - (11)].list))
						n->options = list_concat(n->options, (yyvsp[(11) - (11)].list));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 358:
#line 2604 "gram.y"
    {
					CopyStmt *n = makeNode(CopyStmt);
					n->relation = NULL;
					n->query = (yyvsp[(2) - (7)].node);
					n->attlist = NIL;
					n->is_from = false;
					n->is_program = (yyvsp[(4) - (7)].boolean);
					n->filename = (yyvsp[(5) - (7)].str);
					n->options = (yyvsp[(7) - (7)].list);

					if (n->is_program && n->filename == NULL)
						ereport(ERROR,
								(errcode(ERRCODE_SYNTAX_ERROR),
								 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
								 parser_errposition((yylsp[(5) - (7)]))));

					(yyval.node) = (Node *)n;
				;}
    break;

  case 359:
#line 2625 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 360:
#line 2626 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 361:
#line 2630 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 362:
#line 2631 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 363:
#line 2640 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 364:
#line 2641 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 365:
#line 2642 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 366:
#line 2645 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 367:
#line 2646 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 368:
#line 2651 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 369:
#line 2652 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 370:
#line 2657 "gram.y"
    {
					(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"));
				;}
    break;

  case 371:
#line 2661 "gram.y"
    {
					(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE));
				;}
    break;

  case 372:
#line 2665 "gram.y"
    {
					(yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(TRUE));
				;}
    break;

  case 373:
#line 2669 "gram.y"
    {
					(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[(3) - (3)].str)));
				;}
    break;

  case 374:
#line 2673 "gram.y"
    {
					(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[(3) - (3)].str)));
				;}
    break;

  case 375:
#line 2677 "gram.y"
    {
					(yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"));
				;}
    break;

  case 376:
#line 2681 "gram.y"
    {
					(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(TRUE));
				;}
    break;

  case 377:
#line 2685 "gram.y"
    {
					(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[(3) - (3)].str)));
				;}
    break;

  case 378:
#line 2689 "gram.y"
    {
					(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[(3) - (3)].str)));
				;}
    break;

  case 379:
#line 2693 "gram.y"
    {
					(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[(3) - (3)].list));
				;}
    break;

  case 380:
#line 2697 "gram.y"
    {
					(yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star));
				;}
    break;

  case 381:
#line 2701 "gram.y"
    {
					(yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[(4) - (4)].list));
				;}
    break;

  case 382:
#line 2705 "gram.y"
    {
					(yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[(3) - (3)].list));
				;}
    break;

  case 383:
#line 2709 "gram.y"
    {
					(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[(2) - (2)].str)));
				;}
    break;

  case 384:
#line 2718 "gram.y"
    {
					(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"));
				;}
    break;

  case 385:
#line 2721 "gram.y"
    { (yyval.defelt) = NULL; ;}
    break;

  case 386:
#line 2726 "gram.y"
    {
					(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE));
				;}
    break;

  case 387:
#line 2729 "gram.y"
    { (yyval.defelt) = NULL; ;}
    break;

  case 388:
#line 2734 "gram.y"
    {
					(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[(3) - (3)].str)));
				;}
    break;

  case 389:
#line 2737 "gram.y"
    { (yyval.defelt) = NULL; ;}
    break;

  case 390:
#line 2741 "gram.y"
    {;}
    break;

  case 391:
#line 2742 "gram.y"
    {;}
    break;

  case 392:
#line 2748 "gram.y"
    {
					(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
				;}
    break;

  case 393:
#line 2752 "gram.y"
    {
					(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
				;}
    break;

  case 394:
#line 2759 "gram.y"
    {
					(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node));
				;}
    break;

  case 395:
#line 2765 "gram.y"
    { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
    break;

  case 396:
#line 2766 "gram.y"
    { (yyval.node) = (Node *) (yyvsp[(1) - (1)].value); ;}
    break;

  case 397:
#line 2767 "gram.y"
    { (yyval.node) = (Node *) makeNode(A_Star); ;}
    break;

  case 398:
#line 2768 "gram.y"
    { (yyval.node) = (Node *) (yyvsp[(2) - (3)].list); ;}
    break;

  case 399:
#line 2769 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 400:
#line 2774 "gram.y"
    {
					(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
				;}
    break;

  case 401:
#line 2778 "gram.y"
    {
					(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
				;}
    break;

  case 402:
#line 2785 "gram.y"
    { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
    break;

  case 403:
#line 2798 "gram.y"
    {
					CreateStmt *n = makeNode(CreateStmt);
					(yyvsp[(4) - (11)].range)->relpersistence = (yyvsp[(2) - (11)].ival);
					n->relation = (yyvsp[(4) - (11)].range);
					n->tableElts = (yyvsp[(6) - (11)].list);
					n->inhRelations = (yyvsp[(8) - (11)].list);
					n->ofTypename = NULL;
					n->constraints = NIL;
					n->options = (yyvsp[(9) - (11)].list);
					n->oncommit = (yyvsp[(10) - (11)].oncommit);
					n->tablespacename = (yyvsp[(11) - (11)].str);
					n->if_not_exists = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 404:
#line 2815 "gram.y"
    {
					CreateStmt *n = makeNode(CreateStmt);
					(yyvsp[(7) - (14)].range)->relpersistence = (yyvsp[(2) - (14)].ival);
					n->relation = (yyvsp[(7) - (14)].range);
					n->tableElts = (yyvsp[(9) - (14)].list);
					n->inhRelations = (yyvsp[(11) - (14)].list);
					n->ofTypename = NULL;
					n->constraints = NIL;
					n->options = (yyvsp[(12) - (14)].list);
					n->oncommit = (yyvsp[(13) - (14)].oncommit);
					n->tablespacename = (yyvsp[(14) - (14)].str);
					n->if_not_exists = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 405:
#line 2831 "gram.y"
    {
					CreateStmt *n = makeNode(CreateStmt);
					(yyvsp[(4) - (10)].range)->relpersistence = (yyvsp[(2) - (10)].ival);
					n->relation = (yyvsp[(4) - (10)].range);
					n->tableElts = (yyvsp[(7) - (10)].list);
					n->inhRelations = NIL;
					n->ofTypename = makeTypeNameFromNameList((yyvsp[(6) - (10)].list));
					n->ofTypename->location = (yylsp[(6) - (10)]);
					n->constraints = NIL;
					n->options = (yyvsp[(8) - (10)].list);
					n->oncommit = (yyvsp[(9) - (10)].oncommit);
					n->tablespacename = (yyvsp[(10) - (10)].str);
					n->if_not_exists = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 406:
#line 2848 "gram.y"
    {
					CreateStmt *n = makeNode(CreateStmt);
					(yyvsp[(7) - (13)].range)->relpersistence = (yyvsp[(2) - (13)].ival);
					n->relation = (yyvsp[(7) - (13)].range);
					n->tableElts = (yyvsp[(10) - (13)].list);
					n->inhRelations = NIL;
					n->ofTypename = makeTypeNameFromNameList((yyvsp[(9) - (13)].list));
					n->ofTypename->location = (yylsp[(9) - (13)]);
					n->constraints = NIL;
					n->options = (yyvsp[(11) - (13)].list);
					n->oncommit = (yyvsp[(12) - (13)].oncommit);
					n->tablespacename = (yyvsp[(13) - (13)].str);
					n->if_not_exists = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 407:
#line 2876 "gram.y"
    { (yyval.ival) = RELPERSISTENCE_TEMP; ;}
    break;

  case 408:
#line 2877 "gram.y"
    { (yyval.ival) = RELPERSISTENCE_TEMP; ;}
    break;

  case 409:
#line 2878 "gram.y"
    { (yyval.ival) = RELPERSISTENCE_TEMP; ;}
    break;

  case 410:
#line 2879 "gram.y"
    { (yyval.ival) = RELPERSISTENCE_TEMP; ;}
    break;

  case 411:
#line 2881 "gram.y"
    {
					ereport(WARNING,
							(errmsg("GLOBAL is deprecated in temporary table creation"),
							 parser_errposition((yylsp[(1) - (2)]))));
					(yyval.ival) = RELPERSISTENCE_TEMP;
				;}
    break;

  case 412:
#line 2888 "gram.y"
    {
					ereport(WARNING,
							(errmsg("GLOBAL is deprecated in temporary table creation"),
							 parser_errposition((yylsp[(1) - (2)]))));
					(yyval.ival) = RELPERSISTENCE_TEMP;
				;}
    break;

  case 413:
#line 2894 "gram.y"
    { (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;}
    break;

  case 414:
#line 2895 "gram.y"
    { (yyval.ival) = RELPERSISTENCE_PERMANENT; ;}
    break;

  case 415:
#line 2899 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 416:
#line 2900 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 417:
#line 2904 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 418:
#line 2905 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 419:
#line 2910 "gram.y"
    {
					(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
				;}
    break;

  case 420:
#line 2914 "gram.y"
    {
					(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
				;}
    break;

  case 421:
#line 2921 "gram.y"
    {
					(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
				;}
    break;

  case 422:
#line 2925 "gram.y"
    {
					(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
				;}
    break;

  case 423:
#line 2931 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 424:
#line 2932 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 425:
#line 2933 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 426:
#line 2937 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 427:
#line 2938 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 428:
#line 2942 "gram.y"
    {
					ColumnDef *n = makeNode(ColumnDef);
					n->colname = (yyvsp[(1) - (4)].str);
					n->typeName = (yyvsp[(2) - (4)].typnam);
					n->inhcount = 0;
					n->is_local = true;
					n->is_not_null = false;
					n->is_from_type = false;
					n->storage = 0;
					n->raw_default = NULL;
					n->cooked_default = NULL;
					n->collOid = InvalidOid;
					n->fdwoptions = (yyvsp[(3) - (4)].list);
					SplitColQualList((yyvsp[(4) - (4)].list), &n->constraints, &n->collClause,
									 yyscanner);
					n->location = (yylsp[(1) - (4)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 429:
#line 2963 "gram.y"
    {
					ColumnDef *n = makeNode(ColumnDef);
					n->colname = (yyvsp[(1) - (4)].str);
					n->typeName = NULL;
					n->inhcount = 0;
					n->is_local = true;
					n->is_not_null = false;
					n->is_from_type = false;
					n->storage = 0;
					n->raw_default = NULL;
					n->cooked_default = NULL;
					n->collOid = InvalidOid;
					SplitColQualList((yyvsp[(4) - (4)].list), &n->constraints, &n->collClause,
									 yyscanner);
					n->location = (yylsp[(1) - (4)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 430:
#line 2983 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
    break;

  case 431:
#line 2984 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 432:
#line 2989 "gram.y"
    {
					Constraint *n = (Constraint *) (yyvsp[(3) - (3)].node);
					Assert(IsA(n, Constraint));
					n->conname = (yyvsp[(2) - (3)].str);
					n->location = (yylsp[(1) - (3)]);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 433:
#line 2996 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 434:
#line 2997 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 435:
#line 2999 "gram.y"
    {
					/*
					 * Note: the CollateClause is momentarily included in
					 * the list built by ColQualList, but we split it out
					 * again in SplitColQualList.
					 */
					CollateClause *n = makeNode(CollateClause);
					n->arg = NULL;
					n->collname = (yyvsp[(2) - (2)].list);
					n->location = (yylsp[(1) - (2)]);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 436:
#line 3030 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_NOTNULL;
					n->location = (yylsp[(1) - (2)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 437:
#line 3037 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_NULL;
					n->location = (yylsp[(1) - (1)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 438:
#line 3044 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_UNIQUE;
					n->location = (yylsp[(1) - (3)]);
					n->keys = NULL;
					n->options = (yyvsp[(2) - (3)].list);
					n->indexname = NULL;
					n->indexspace = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 439:
#line 3055 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_PRIMARY;
					n->location = (yylsp[(1) - (4)]);
					n->keys = NULL;
					n->options = (yyvsp[(3) - (4)].list);
					n->indexname = NULL;
					n->indexspace = (yyvsp[(4) - (4)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 440:
#line 3066 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_CHECK;
					n->location = (yylsp[(1) - (5)]);
					n->is_no_inherit = (yyvsp[(5) - (5)].boolean);
					n->raw_expr = (yyvsp[(3) - (5)].node);
					n->cooked_expr = NULL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 441:
#line 3076 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_DEFAULT;
					n->location = (yylsp[(1) - (2)]);
					n->raw_expr = (yyvsp[(2) - (2)].node);
					n->cooked_expr = NULL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 442:
#line 3085 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_FOREIGN;
					n->location = (yylsp[(1) - (5)]);
					n->pktable			= (yyvsp[(2) - (5)].range);
					n->fk_attrs			= NIL;
					n->pk_attrs			= (yyvsp[(3) - (5)].list);
					n->fk_matchtype		= (yyvsp[(4) - (5)].ival);
					n->fk_upd_action	= (char) ((yyvsp[(5) - (5)].ival) >> 8);
					n->fk_del_action	= (char) ((yyvsp[(5) - (5)].ival) & 0xFF);
					n->skip_validation  = false;
					n->initially_valid  = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 443:
#line 3118 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_ATTR_DEFERRABLE;
					n->location = (yylsp[(1) - (1)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 444:
#line 3125 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
					n->location = (yylsp[(1) - (2)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 445:
#line 3132 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_ATTR_DEFERRED;
					n->location = (yylsp[(1) - (2)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 446:
#line 3139 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_ATTR_IMMEDIATE;
					n->location = (yylsp[(1) - (2)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 447:
#line 3150 "gram.y"
    {
					TableLikeClause *n = makeNode(TableLikeClause);
					n->relation = (yyvsp[(2) - (3)].range);
					n->options = (yyvsp[(3) - (3)].ival);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 448:
#line 3159 "gram.y"
    { (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); ;}
    break;

  case 449:
#line 3160 "gram.y"
    { (yyval.ival) = (yyvsp[(1) - (3)].ival) & ~(yyvsp[(3) - (3)].ival); ;}
    break;

  case 450:
#line 3161 "gram.y"
    { (yyval.ival) = 0; ;}
    break;

  case 451:
#line 3165 "gram.y"
    { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; ;}
    break;

  case 452:
#line 3166 "gram.y"
    { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; ;}
    break;

  case 453:
#line 3167 "gram.y"
    { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; ;}
    break;

  case 454:
#line 3168 "gram.y"
    { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; ;}
    break;

  case 455:
#line 3169 "gram.y"
    { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; ;}
    break;

  case 456:
#line 3170 "gram.y"
    { (yyval.ival) = CREATE_TABLE_LIKE_ALL; ;}
    break;

  case 457:
#line 3180 "gram.y"
    {
					Constraint *n = (Constraint *) (yyvsp[(3) - (3)].node);
					Assert(IsA(n, Constraint));
					n->conname = (yyvsp[(2) - (3)].str);
					n->location = (yylsp[(1) - (3)]);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 458:
#line 3187 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 459:
#line 3192 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_CHECK;
					n->location = (yylsp[(1) - (5)]);
					n->raw_expr = (yyvsp[(3) - (5)].node);
					n->cooked_expr = NULL;
					processCASbits((yyvsp[(5) - (5)].ival), (yylsp[(5) - (5)]), "CHECK",
								   NULL, NULL, &n->skip_validation,
								   &n->is_no_inherit, yyscanner);
					n->initially_valid = !n->skip_validation;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 460:
#line 3206 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_UNIQUE;
					n->location = (yylsp[(1) - (7)]);
					n->keys = (yyvsp[(3) - (7)].list);
					n->options = (yyvsp[(5) - (7)].list);
					n->indexname = NULL;
					n->indexspace = (yyvsp[(6) - (7)].str);
					processCASbits((yyvsp[(7) - (7)].ival), (yylsp[(7) - (7)]), "UNIQUE",
								   &n->deferrable, &n->initdeferred, NULL,
								   NULL, yyscanner);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 461:
#line 3220 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_UNIQUE;
					n->location = (yylsp[(1) - (3)]);
					n->keys = NIL;
					n->options = NIL;
					n->indexname = (yyvsp[(2) - (3)].str);
					n->indexspace = NULL;
					processCASbits((yyvsp[(3) - (3)].ival), (yylsp[(3) - (3)]), "UNIQUE",
								   &n->deferrable, &n->initdeferred, NULL,
								   NULL, yyscanner);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 462:
#line 3235 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_PRIMARY;
					n->location = (yylsp[(1) - (8)]);
					n->keys = (yyvsp[(4) - (8)].list);
					n->options = (yyvsp[(6) - (8)].list);
					n->indexname = NULL;
					n->indexspace = (yyvsp[(7) - (8)].str);
					processCASbits((yyvsp[(8) - (8)].ival), (yylsp[(8) - (8)]), "PRIMARY KEY",
								   &n->deferrable, &n->initdeferred, NULL,
								   NULL, yyscanner);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 463:
#line 3249 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_PRIMARY;
					n->location = (yylsp[(1) - (4)]);
					n->keys = NIL;
					n->options = NIL;
					n->indexname = (yyvsp[(3) - (4)].str);
					n->indexspace = NULL;
					processCASbits((yyvsp[(4) - (4)].ival), (yylsp[(4) - (4)]), "PRIMARY KEY",
								   &n->deferrable, &n->initdeferred, NULL,
								   NULL, yyscanner);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 464:
#line 3265 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_EXCLUSION;
					n->location = (yylsp[(1) - (9)]);
					n->access_method	= (yyvsp[(2) - (9)].str);
					n->exclusions		= (yyvsp[(4) - (9)].list);
					n->options			= (yyvsp[(6) - (9)].list);
					n->indexname		= NULL;
					n->indexspace		= (yyvsp[(7) - (9)].str);
					n->where_clause		= (yyvsp[(8) - (9)].node);
					processCASbits((yyvsp[(9) - (9)].ival), (yylsp[(9) - (9)]), "EXCLUDE",
								   &n->deferrable, &n->initdeferred, NULL,
								   NULL, yyscanner);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 465:
#line 3282 "gram.y"
    {
					Constraint *n = makeNode(Constraint);
					n->contype = CONSTR_FOREIGN;
					n->location = (yylsp[(1) - (11)]);
					n->pktable			= (yyvsp[(7) - (11)].range);
					n->fk_attrs			= (yyvsp[(4) - (11)].list);
					n->pk_attrs			= (yyvsp[(8) - (11)].list);
					n->fk_matchtype		= (yyvsp[(9) - (11)].ival);
					n->fk_upd_action	= (char) ((yyvsp[(10) - (11)].ival) >> 8);
					n->fk_del_action	= (char) ((yyvsp[(10) - (11)].ival) & 0xFF);
					processCASbits((yyvsp[(11) - (11)].ival), (yylsp[(11) - (11)]), "FOREIGN KEY",
								   &n->deferrable, &n->initdeferred,
								   &n->skip_validation, NULL,
								   yyscanner);
					n->initially_valid = !n->skip_validation;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 466:
#line 3301 "gram.y"
    {  (yyval.boolean) = TRUE; ;}
    break;

  case 467:
#line 3302 "gram.y"
    {  (yyval.boolean) = FALSE; ;}
    break;

  case 468:
#line 3306 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 469:
#line 3307 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 470:
#line 3311 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 471:
#line 3312 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
    break;

  case 472:
#line 3316 "gram.y"
    {
					(yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str));
				;}
    break;

  case 473:
#line 3322 "gram.y"
    {
				(yyval.ival) = FKCONSTR_MATCH_FULL;
			;}
    break;

  case 474:
#line 3326 "gram.y"
    {
				ereport(ERROR,
						(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
						 errmsg("MATCH PARTIAL not yet implemented"),
						 parser_errposition((yylsp[(1) - (2)]))));
				(yyval.ival) = FKCONSTR_MATCH_PARTIAL;
			;}
    break;

  case 475:
#line 3334 "gram.y"
    {
				(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
			;}
    break;

  case 476:
#line 3338 "gram.y"
    {
				(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
			;}
    break;

  case 477:
#line 3344 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
    break;

  case 478:
#line 3346 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
    break;

  case 479:
#line 3350 "gram.y"
    {
				(yyval.list) = list_make2((yyvsp[(1) - (3)].ielem), (yyvsp[(3) - (3)].list));
			;}
    break;

  case 480:
#line 3355 "gram.y"
    {
				(yyval.list) = list_make2((yyvsp[(1) - (6)].ielem), (yyvsp[(5) - (6)].list));
			;}
    break;

  case 481:
#line 3361 "gram.y"
    { (yyval.node) = (yyvsp[(3) - (4)].node); ;}
    break;

  case 482:
#line 3362 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 483:
#line 3373 "gram.y"
    { (yyval.ival) = ((yyvsp[(1) - (1)].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); ;}
    break;

  case 484:
#line 3375 "gram.y"
    { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[(1) - (1)].ival) & 0xFF); ;}
    break;

  case 485:
#line 3377 "gram.y"
    { (yyval.ival) = ((yyvsp[(1) - (2)].ival) << 8) | ((yyvsp[(2) - (2)].ival) & 0xFF); ;}
    break;

  case 486:
#line 3379 "gram.y"
    { (yyval.ival) = ((yyvsp[(2) - (2)].ival) << 8) | ((yyvsp[(1) - (2)].ival) & 0xFF); ;}
    break;

  case 487:
#line 3381 "gram.y"
    { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); ;}
    break;

  case 488:
#line 3384 "gram.y"
    { (yyval.ival) = (yyvsp[(3) - (3)].ival); ;}
    break;

  case 489:
#line 3387 "gram.y"
    { (yyval.ival) = (yyvsp[(3) - (3)].ival); ;}
    break;

  case 490:
#line 3391 "gram.y"
    { (yyval.ival) = FKCONSTR_ACTION_NOACTION; ;}
    break;

  case 491:
#line 3392 "gram.y"
    { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; ;}
    break;

  case 492:
#line 3393 "gram.y"
    { (yyval.ival) = FKCONSTR_ACTION_CASCADE; ;}
    break;

  case 493:
#line 3394 "gram.y"
    { (yyval.ival) = FKCONSTR_ACTION_SETNULL; ;}
    break;

  case 494:
#line 3395 "gram.y"
    { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; ;}
    break;

  case 495:
#line 3398 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
    break;

  case 496:
#line 3399 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 497:
#line 3404 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 498:
#line 3405 "gram.y"
    { (yyval.list) = list_make1(defWithOids(true)); ;}
    break;

  case 499:
#line 3406 "gram.y"
    { (yyval.list) = list_make1(defWithOids(false)); ;}
    break;

  case 500:
#line 3407 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 501:
#line 3410 "gram.y"
    { (yyval.oncommit) = ONCOMMIT_DROP; ;}
    break;

  case 502:
#line 3411 "gram.y"
    { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; ;}
    break;

  case 503:
#line 3412 "gram.y"
    { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; ;}
    break;

  case 504:
#line 3413 "gram.y"
    { (yyval.oncommit) = ONCOMMIT_NOOP; ;}
    break;

  case 505:
#line 3416 "gram.y"
    { (yyval.str) = (yyvsp[(2) - (2)].str); ;}
    break;

  case 506:
#line 3417 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 507:
#line 3420 "gram.y"
    { (yyval.str) = (yyvsp[(4) - (4)].str); ;}
    break;

  case 508:
#line 3421 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 509:
#line 3424 "gram.y"
    { (yyval.str) = (yyvsp[(3) - (3)].str); ;}
    break;

  case 510:
#line 3440 "gram.y"
    {
					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
					ctas->query = (yyvsp[(6) - (7)].node);
					ctas->into = (yyvsp[(4) - (7)].into);
					ctas->relkind = OBJECT_TABLE;
					ctas->is_select_into = false;
					ctas->if_not_exists = false;
					/* cram additional flags into the IntoClause */
					(yyvsp[(4) - (7)].into)->rel->relpersistence = (yyvsp[(2) - (7)].ival);
					(yyvsp[(4) - (7)].into)->skipData = !((yyvsp[(7) - (7)].boolean));
					(yyval.node) = (Node *) ctas;
				;}
    break;

  case 511:
#line 3453 "gram.y"
    {
					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
					ctas->query = (yyvsp[(9) - (10)].node);
					ctas->into = (yyvsp[(7) - (10)].into);
					ctas->relkind = OBJECT_TABLE;
					ctas->is_select_into = false;
					ctas->if_not_exists = true;
					/* cram additional flags into the IntoClause */
					(yyvsp[(7) - (10)].into)->rel->relpersistence = (yyvsp[(2) - (10)].ival);
					(yyvsp[(7) - (10)].into)->skipData = !((yyvsp[(10) - (10)].boolean));
					(yyval.node) = (Node *) ctas;
				;}
    break;

  case 512:
#line 3469 "gram.y"
    {
					(yyval.into) = makeNode(IntoClause);
					(yyval.into)->rel = (yyvsp[(1) - (5)].range);
					(yyval.into)->colNames = (yyvsp[(2) - (5)].list);
					(yyval.into)->options = (yyvsp[(3) - (5)].list);
					(yyval.into)->onCommit = (yyvsp[(4) - (5)].oncommit);
					(yyval.into)->tableSpaceName = (yyvsp[(5) - (5)].str);
					(yyval.into)->viewQuery = NULL;
					(yyval.into)->skipData = false;		/* might get changed later */
				;}
    break;

  case 513:
#line 3482 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 514:
#line 3483 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 515:
#line 3484 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 516:
#line 3497 "gram.y"
    {
					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
					ctas->query = (yyvsp[(7) - (8)].node);
					ctas->into = (yyvsp[(5) - (8)].into);
					ctas->relkind = OBJECT_MATVIEW;
					ctas->is_select_into = false;
					ctas->if_not_exists = false;
					/* cram additional flags into the IntoClause */
					(yyvsp[(5) - (8)].into)->rel->relpersistence = (yyvsp[(2) - (8)].ival);
					(yyvsp[(5) - (8)].into)->skipData = !((yyvsp[(8) - (8)].boolean));
					(yyval.node) = (Node *) ctas;
				;}
    break;

  case 517:
#line 3510 "gram.y"
    {
					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
					ctas->query = (yyvsp[(10) - (11)].node);
					ctas->into = (yyvsp[(8) - (11)].into);
					ctas->relkind = OBJECT_MATVIEW;
					ctas->is_select_into = false;
					ctas->if_not_exists = true;
					/* cram additional flags into the IntoClause */
					(yyvsp[(8) - (11)].into)->rel->relpersistence = (yyvsp[(2) - (11)].ival);
					(yyvsp[(8) - (11)].into)->skipData = !((yyvsp[(11) - (11)].boolean));
					(yyval.node) = (Node *) ctas;
				;}
    break;

  case 518:
#line 3526 "gram.y"
    {
					(yyval.into) = makeNode(IntoClause);
					(yyval.into)->rel = (yyvsp[(1) - (4)].range);
					(yyval.into)->colNames = (yyvsp[(2) - (4)].list);
					(yyval.into)->options = (yyvsp[(3) - (4)].list);
					(yyval.into)->onCommit = ONCOMMIT_NOOP;
					(yyval.into)->tableSpaceName = (yyvsp[(4) - (4)].str);
					(yyval.into)->viewQuery = NULL;		/* filled at analysis time */
					(yyval.into)->skipData = false;		/* might get changed later */
				;}
    break;

  case 519:
#line 3538 "gram.y"
    { (yyval.ival) = RELPERSISTENCE_UNLOGGED; ;}
    break;

  case 520:
#line 3539 "gram.y"
    { (yyval.ival) = RELPERSISTENCE_PERMANENT; ;}
    break;

  case 521:
#line 3552 "gram.y"
    {
					RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
					n->concurrent = (yyvsp[(4) - (6)].boolean);
					n->relation = (yyvsp[(5) - (6)].range);
					n->skipData = !((yyvsp[(6) - (6)].boolean));
					(yyval.node) = (Node *) n;
				;}
    break;

  case 522:
#line 3572 "gram.y"
    {
					CreateSeqStmt *n = makeNode(CreateSeqStmt);
					(yyvsp[(4) - (5)].range)->relpersistence = (yyvsp[(2) - (5)].ival);
					n->sequence = (yyvsp[(4) - (5)].range);
					n->options = (yyvsp[(5) - (5)].list);
					n->ownerId = InvalidOid;
					n->if_not_exists = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 523:
#line 3582 "gram.y"
    {
					CreateSeqStmt *n = makeNode(CreateSeqStmt);
					(yyvsp[(7) - (8)].range)->relpersistence = (yyvsp[(2) - (8)].ival);
					n->sequence = (yyvsp[(7) - (8)].range);
					n->options = (yyvsp[(8) - (8)].list);
					n->ownerId = InvalidOid;
					n->if_not_exists = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 524:
#line 3595 "gram.y"
    {
					AlterSeqStmt *n = makeNode(AlterSeqStmt);
					n->sequence = (yyvsp[(3) - (4)].range);
					n->options = (yyvsp[(4) - (4)].list);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 525:
#line 3603 "gram.y"
    {
					AlterSeqStmt *n = makeNode(AlterSeqStmt);
					n->sequence = (yyvsp[(5) - (6)].range);
					n->options = (yyvsp[(6) - (6)].list);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 526:
#line 3613 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 527:
#line 3614 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 528:
#line 3617 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
    break;

  case 529:
#line 3618 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 530:
#line 3622 "gram.y"
    {
					(yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[(2) - (2)].value));
				;}
    break;

  case 531:
#line 3626 "gram.y"
    {
					(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(TRUE));
				;}
    break;

  case 532:
#line 3630 "gram.y"
    {
					(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(FALSE));
				;}
    break;

  case 533:
#line 3634 "gram.y"
    {
					(yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[(3) - (3)].value));
				;}
    break;

  case 534:
#line 3638 "gram.y"
    {
					(yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[(2) - (2)].value));
				;}
    break;

  case 535:
#line 3642 "gram.y"
    {
					(yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[(2) - (2)].value));
				;}
    break;

  case 536:
#line 3646 "gram.y"
    {
					(yyval.defelt) = makeDefElem("maxvalue", NULL);
				;}
    break;

  case 537:
#line 3650 "gram.y"
    {
					(yyval.defelt) = makeDefElem("minvalue", NULL);
				;}
    break;

  case 538:
#line 3654 "gram.y"
    {
					(yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[(3) - (3)].list));
				;}
    break;

  case 539:
#line 3658 "gram.y"
    {
					(yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[(3) - (3)].value));
				;}
    break;

  case 540:
#line 3662 "gram.y"
    {
					(yyval.defelt) = makeDefElem("restart", NULL);
				;}
    break;

  case 541:
#line 3666 "gram.y"
    {
					(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[(3) - (3)].value));
				;}
    break;

  case 542:
#line 3671 "gram.y"
    {;}
    break;

  case 543:
#line 3672 "gram.y"
    {;}
    break;

  case 544:
#line 3676 "gram.y"
    { (yyval.value) = makeFloat((yyvsp[(1) - (1)].str)); ;}
    break;

  case 545:
#line 3678 "gram.y"
    {
					(yyval.value) = makeFloat((yyvsp[(2) - (2)].str));
					doNegateFloat((yyval.value));
				;}
    break;

  case 546:
#line 3682 "gram.y"
    { (yyval.value) = makeInteger((yyvsp[(1) - (1)].ival)); ;}
    break;

  case 547:
#line 3685 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].value)); ;}
    break;

  case 548:
#line 3686 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].value)); ;}
    break;

  case 549:
#line 3699 "gram.y"
    {
				CreatePLangStmt *n = makeNode(CreatePLangStmt);
				n->replace = (yyvsp[(2) - (6)].boolean);
				n->plname = (yyvsp[(6) - (6)].str);
				/* parameters are all to be supplied by system */
				n->plhandler = NIL;
				n->plinline = NIL;
				n->plvalidator = NIL;
				n->pltrusted = false;
				(yyval.node) = (Node *)n;
			;}
    break;

  case 550:
#line 3712 "gram.y"
    {
				CreatePLangStmt *n = makeNode(CreatePLangStmt);
				n->replace = (yyvsp[(2) - (10)].boolean);
				n->plname = (yyvsp[(6) - (10)].str);
				n->plhandler = (yyvsp[(8) - (10)].list);
				n->plinline = (yyvsp[(9) - (10)].list);
				n->plvalidator = (yyvsp[(10) - (10)].list);
				n->pltrusted = (yyvsp[(3) - (10)].boolean);
				(yyval.node) = (Node *)n;
			;}
    break;

  case 551:
#line 3725 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 552:
#line 3726 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 553:
#line 3734 "gram.y"
    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
    break;

  case 554:
#line 3735 "gram.y"
    { (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;}
    break;

  case 555:
#line 3739 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 556:
#line 3740 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 557:
#line 3744 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 558:
#line 3745 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 559:
#line 3749 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 560:
#line 3750 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 561:
#line 3755 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_LANGUAGE;
					n->objects = list_make1(list_make1(makeString((yyvsp[(4) - (5)].str))));
					n->arguments = NIL;
					n->behavior = (yyvsp[(5) - (5)].dbehavior);
					n->missing_ok = false;
					n->concurrent = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 562:
#line 3766 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_LANGUAGE;
					n->objects = list_make1(list_make1(makeString((yyvsp[(6) - (7)].str))));
					n->behavior = (yyvsp[(7) - (7)].dbehavior);
					n->missing_ok = true;
					n->concurrent = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 563:
#line 3778 "gram.y"
    {;}
    break;

  case 564:
#line 3779 "gram.y"
    {;}
    break;

  case 565:
#line 3790 "gram.y"
    {
					CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
					n->tablespacename = (yyvsp[(3) - (7)].str);
					n->owner = (yyvsp[(4) - (7)].node);
					n->location = (yyvsp[(6) - (7)].str);
					n->options = (yyvsp[(7) - (7)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 566:
#line 3800 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 567:
#line 3801 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 568:
#line 3815 "gram.y"
    {
					DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
					n->tablespacename = (yyvsp[(3) - (3)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 569:
#line 3822 "gram.y"
    {
					DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
					n->tablespacename = (yyvsp[(5) - (5)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 570:
#line 3839 "gram.y"
    {
					CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
					n->extname = (yyvsp[(3) - (5)].str);
					n->if_not_exists = false;
					n->options = (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 571:
#line 3847 "gram.y"
    {
					CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
					n->extname = (yyvsp[(6) - (8)].str);
					n->if_not_exists = true;
					n->options = (yyvsp[(8) - (8)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 572:
#line 3858 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 573:
#line 3860 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 574:
#line 3865 "gram.y"
    {
					(yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[(2) - (2)].str)));
				;}
    break;

  case 575:
#line 3869 "gram.y"
    {
					(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[(2) - (2)].str)));
				;}
    break;

  case 576:
#line 3873 "gram.y"
    {
					(yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[(2) - (2)].str)));
				;}
    break;

  case 577:
#line 3885 "gram.y"
    {
					AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
					n->extname = (yyvsp[(3) - (5)].str);
					n->options = (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 578:
#line 3895 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 579:
#line 3897 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 580:
#line 3902 "gram.y"
    {
					(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[(2) - (2)].str)));
				;}
    break;

  case 581:
#line 3915 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (7)].str);
					n->action = (yyvsp[(4) - (7)].ival);
					n->objtype = OBJECT_AGGREGATE;
					n->objname = (yyvsp[(6) - (7)].list);
					n->objargs = extractAggrArgTypes((yyvsp[(7) - (7)].list));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 582:
#line 3925 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (10)].str);
					n->action = (yyvsp[(4) - (10)].ival);
					n->objtype = OBJECT_CAST;
					n->objname = list_make1((yyvsp[(7) - (10)].typnam));
					n->objargs = list_make1((yyvsp[(9) - (10)].typnam));
					(yyval.node) = (Node *) n;
				;}
    break;

  case 583:
#line 3935 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (6)].str);
					n->action = (yyvsp[(4) - (6)].ival);
					n->objtype = OBJECT_COLLATION;
					n->objname = (yyvsp[(6) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 584:
#line 3944 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (6)].str);
					n->action = (yyvsp[(4) - (6)].ival);
					n->objtype = OBJECT_CONVERSION;
					n->objname = (yyvsp[(6) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 585:
#line 3953 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (6)].str);
					n->action = (yyvsp[(4) - (6)].ival);
					n->objtype = OBJECT_DOMAIN;
					n->objname = list_make1((yyvsp[(6) - (6)].typnam));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 586:
#line 3962 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (6)].str);
					n->action = (yyvsp[(4) - (6)].ival);
					n->objtype = OBJECT_FUNCTION;
					n->objname = (yyvsp[(6) - (6)].funwithargs)->funcname;
					n->objargs = (yyvsp[(6) - (6)].funwithargs)->funcargs;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 587:
#line 3972 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (7)].str);
					n->action = (yyvsp[(4) - (7)].ival);
					n->objtype = OBJECT_LANGUAGE;
					n->objname = list_make1(makeString((yyvsp[(7) - (7)].str)));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 588:
#line 3981 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (7)].str);
					n->action = (yyvsp[(4) - (7)].ival);
					n->objtype = OBJECT_OPERATOR;
					n->objname = (yyvsp[(6) - (7)].list);
					n->objargs = (yyvsp[(7) - (7)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 589:
#line 3991 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (9)].str);
					n->action = (yyvsp[(4) - (9)].ival);
					n->objtype = OBJECT_OPCLASS;
					n->objname = lcons(makeString((yyvsp[(9) - (9)].str)), (yyvsp[(7) - (9)].list));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 590:
#line 4000 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (9)].str);
					n->action = (yyvsp[(4) - (9)].ival);
					n->objtype = OBJECT_OPFAMILY;
					n->objname = lcons(makeString((yyvsp[(9) - (9)].str)), (yyvsp[(7) - (9)].list));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 591:
#line 4009 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (6)].str);
					n->action = (yyvsp[(4) - (6)].ival);
					n->objtype = OBJECT_SCHEMA;
					n->objname = list_make1(makeString((yyvsp[(6) - (6)].str)));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 592:
#line 4018 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (7)].str);
					n->action = (yyvsp[(4) - (7)].ival);
					n->objtype = OBJECT_EVENT_TRIGGER;
					n->objname = list_make1(makeString((yyvsp[(7) - (7)].str)));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 593:
#line 4027 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (6)].str);
					n->action = (yyvsp[(4) - (6)].ival);
					n->objtype = OBJECT_TABLE;
					n->objname = (yyvsp[(6) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 594:
#line 4036 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (8)].str);
					n->action = (yyvsp[(4) - (8)].ival);
					n->objtype = OBJECT_TSPARSER;
					n->objname = (yyvsp[(8) - (8)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 595:
#line 4045 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (8)].str);
					n->action = (yyvsp[(4) - (8)].ival);
					n->objtype = OBJECT_TSDICTIONARY;
					n->objname = (yyvsp[(8) - (8)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 596:
#line 4054 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (8)].str);
					n->action = (yyvsp[(4) - (8)].ival);
					n->objtype = OBJECT_TSTEMPLATE;
					n->objname = (yyvsp[(8) - (8)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 597:
#line 4063 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (8)].str);
					n->action = (yyvsp[(4) - (8)].ival);
					n->objtype = OBJECT_TSCONFIGURATION;
					n->objname = (yyvsp[(8) - (8)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 598:
#line 4072 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (6)].str);
					n->action = (yyvsp[(4) - (6)].ival);
					n->objtype = OBJECT_SEQUENCE;
					n->objname = (yyvsp[(6) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 599:
#line 4081 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (6)].str);
					n->action = (yyvsp[(4) - (6)].ival);
					n->objtype = OBJECT_VIEW;
					n->objname = (yyvsp[(6) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 600:
#line 4090 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (7)].str);
					n->action = (yyvsp[(4) - (7)].ival);
					n->objtype = OBJECT_MATVIEW;
					n->objname = (yyvsp[(7) - (7)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 601:
#line 4099 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (7)].str);
					n->action = (yyvsp[(4) - (7)].ival);
					n->objtype = OBJECT_FOREIGN_TABLE;
					n->objname = (yyvsp[(7) - (7)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 602:
#line 4108 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (8)].str);
					n->action = (yyvsp[(4) - (8)].ival);
					n->objtype = OBJECT_FDW;
					n->objname = list_make1(makeString((yyvsp[(8) - (8)].str)));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 603:
#line 4117 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (6)].str);
					n->action = (yyvsp[(4) - (6)].ival);
					n->objtype = OBJECT_FOREIGN_SERVER;
					n->objname = list_make1(makeString((yyvsp[(6) - (6)].str)));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 604:
#line 4126 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (9)].str);
					n->action = (yyvsp[(4) - (9)].ival);
					n->objtype = OBJECT_TRANSFORM;
					n->objname = list_make1((yyvsp[(7) - (9)].typnam));
					n->objargs = list_make1(makeString((yyvsp[(9) - (9)].str)));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 605:
#line 4136 "gram.y"
    {
					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
					n->extname = (yyvsp[(3) - (6)].str);
					n->action = (yyvsp[(4) - (6)].ival);
					n->objtype = OBJECT_TYPE;
					n->objname = list_make1((yyvsp[(6) - (6)].typnam));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 606:
#line 4154 "gram.y"
    {
					CreateFdwStmt *n = makeNode(CreateFdwStmt);
					n->fdwname = (yyvsp[(5) - (7)].str);
					n->func_options = (yyvsp[(6) - (7)].list);
					n->options = (yyvsp[(7) - (7)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 607:
#line 4164 "gram.y"
    { (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[(2) - (2)].list)); ;}
    break;

  case 608:
#line 4165 "gram.y"
    { (yyval.defelt) = makeDefElem("handler", NULL); ;}
    break;

  case 609:
#line 4166 "gram.y"
    { (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[(2) - (2)].list)); ;}
    break;

  case 610:
#line 4167 "gram.y"
    { (yyval.defelt) = makeDefElem("validator", NULL); ;}
    break;

  case 611:
#line 4171 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
    break;

  case 612:
#line 4172 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 613:
#line 4176 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 614:
#line 4177 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 615:
#line 4188 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_FDW;
					n->objects = list_make1(list_make1(makeString((yyvsp[(5) - (6)].str))));
					n->arguments = NIL;
					n->missing_ok = false;
					n->behavior = (yyvsp[(6) - (6)].dbehavior);
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 616:
#line 4199 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_FDW;
					n->objects = list_make1(list_make1(makeString((yyvsp[(7) - (8)].str))));
					n->arguments = NIL;
					n->missing_ok = true;
					n->behavior = (yyvsp[(8) - (8)].dbehavior);
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 617:
#line 4219 "gram.y"
    {
					AlterFdwStmt *n = makeNode(AlterFdwStmt);
					n->fdwname = (yyvsp[(5) - (7)].str);
					n->func_options = (yyvsp[(6) - (7)].list);
					n->options = (yyvsp[(7) - (7)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 618:
#line 4227 "gram.y"
    {
					AlterFdwStmt *n = makeNode(AlterFdwStmt);
					n->fdwname = (yyvsp[(5) - (6)].str);
					n->func_options = (yyvsp[(6) - (6)].list);
					n->options = NIL;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 619:
#line 4238 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
    break;

  case 620:
#line 4239 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 621:
#line 4244 "gram.y"
    {
					(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
				;}
    break;

  case 622:
#line 4248 "gram.y"
    {
					(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
				;}
    break;

  case 623:
#line 4255 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
    break;

  case 624:
#line 4260 "gram.y"
    {
					(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
				;}
    break;

  case 625:
#line 4264 "gram.y"
    {
					(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
				;}
    break;

  case 626:
#line 4271 "gram.y"
    {
					(yyval.defelt) = (yyvsp[(1) - (1)].defelt);
				;}
    break;

  case 627:
#line 4275 "gram.y"
    {
					(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
					(yyval.defelt)->defaction = DEFELEM_SET;
				;}
    break;

  case 628:
#line 4280 "gram.y"
    {
					(yyval.defelt) = (yyvsp[(2) - (2)].defelt);
					(yyval.defelt)->defaction = DEFELEM_ADD;
				;}
    break;

  case 629:
#line 4285 "gram.y"
    {
					(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[(2) - (2)].str), NULL, DEFELEM_DROP, (yylsp[(2) - (2)]));
				;}
    break;

  case 630:
#line 4292 "gram.y"
    {
					(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node));
				;}
    break;

  case 631:
#line 4298 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 632:
#line 4303 "gram.y"
    { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
    break;

  case 633:
#line 4315 "gram.y"
    {
					CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
					n->servername = (yyvsp[(3) - (10)].str);
					n->servertype = (yyvsp[(4) - (10)].str);
					n->version = (yyvsp[(5) - (10)].str);
					n->fdwname = (yyvsp[(9) - (10)].str);
					n->options = (yyvsp[(10) - (10)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 634:
#line 4327 "gram.y"
    { (yyval.str) = (yyvsp[(2) - (2)].str); ;}
    break;

  case 635:
#line 4328 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 636:
#line 4333 "gram.y"
    { (yyval.str) = (yyvsp[(2) - (2)].str); ;}
    break;

  case 637:
#line 4334 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 638:
#line 4338 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 639:
#line 4339 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 640:
#line 4350 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_FOREIGN_SERVER;
					n->objects = list_make1(list_make1(makeString((yyvsp[(3) - (4)].str))));
					n->arguments = NIL;
					n->missing_ok = false;
					n->behavior = (yyvsp[(4) - (4)].dbehavior);
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 641:
#line 4361 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_FOREIGN_SERVER;
					n->objects = list_make1(list_make1(makeString((yyvsp[(5) - (6)].str))));
					n->arguments = NIL;
					n->missing_ok = true;
					n->behavior = (yyvsp[(6) - (6)].dbehavior);
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 642:
#line 4381 "gram.y"
    {
					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
					n->servername = (yyvsp[(3) - (5)].str);
					n->version = (yyvsp[(4) - (5)].str);
					n->options = (yyvsp[(5) - (5)].list);
					n->has_version = true;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 643:
#line 4390 "gram.y"
    {
					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
					n->servername = (yyvsp[(3) - (4)].str);
					n->version = (yyvsp[(4) - (4)].str);
					n->has_version = true;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 644:
#line 4398 "gram.y"
    {
					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
					n->servername = (yyvsp[(3) - (4)].str);
					n->options = (yyvsp[(4) - (4)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 645:
#line 4417 "gram.y"
    {
					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
					(yyvsp[(4) - (11)].range)->relpersistence = RELPERSISTENCE_PERMANENT;
					n->base.relation = (yyvsp[(4) - (11)].range);
					n->base.tableElts = (yyvsp[(6) - (11)].list);
					n->base.inhRelations = (yyvsp[(8) - (11)].list);
					n->base.ofTypename = NULL;
					n->base.constraints = NIL;
					n->base.options = NIL;
					n->base.oncommit = ONCOMMIT_NOOP;
					n->base.tablespacename = NULL;
					n->base.if_not_exists = false;
					/* FDW-specific data */
					n->servername = (yyvsp[(10) - (11)].str);
					n->options = (yyvsp[(11) - (11)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 646:
#line 4437 "gram.y"
    {
					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
					(yyvsp[(7) - (14)].range)->relpersistence = RELPERSISTENCE_PERMANENT;
					n->base.relation = (yyvsp[(7) - (14)].range);
					n->base.tableElts = (yyvsp[(9) - (14)].list);
					n->base.inhRelations = (yyvsp[(11) - (14)].list);
					n->base.ofTypename = NULL;
					n->base.constraints = NIL;
					n->base.options = NIL;
					n->base.oncommit = ONCOMMIT_NOOP;
					n->base.tablespacename = NULL;
					n->base.if_not_exists = true;
					/* FDW-specific data */
					n->servername = (yyvsp[(13) - (14)].str);
					n->options = (yyvsp[(14) - (14)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 647:
#line 4465 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);
					n->relation = (yyvsp[(4) - (5)].range);
					n->cmds = (yyvsp[(5) - (5)].list);
					n->relkind = OBJECT_FOREIGN_TABLE;
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 648:
#line 4474 "gram.y"
    {
					AlterTableStmt *n = makeNode(AlterTableStmt);
					n->relation = (yyvsp[(6) - (7)].range);
					n->cmds = (yyvsp[(7) - (7)].list);
					n->relkind = OBJECT_FOREIGN_TABLE;
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 649:
#line 4496 "gram.y"
    {
				ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
				n->server_name = (yyvsp[(8) - (11)].str);
				n->remote_schema = (yyvsp[(4) - (11)].str);
				n->local_schema = (yyvsp[(10) - (11)].str);
				n->list_type = (yyvsp[(5) - (11)].importqual)->type;
				n->table_list = (yyvsp[(5) - (11)].importqual)->table_names;
				n->options = (yyvsp[(11) - (11)].list);
				(yyval.node) = (Node *) n;
			;}
    break;

  case 650:
#line 4509 "gram.y"
    { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; ;}
    break;

  case 651:
#line 4510 "gram.y"
    { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; ;}
    break;

  case 652:
#line 4515 "gram.y"
    {
				ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
				n->type = (yyvsp[(1) - (4)].ival);
				n->table_names = (yyvsp[(3) - (4)].list);
				(yyval.importqual) = n;
			;}
    break;

  case 653:
#line 4522 "gram.y"
    {
				ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
				n->type = FDW_IMPORT_SCHEMA_ALL;
				n->table_names = NIL;
				(yyval.importqual) = n;
			;}
    break;

  case 654:
#line 4538 "gram.y"
    {
					CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
					n->user = (yyvsp[(5) - (8)].node);
					n->servername = (yyvsp[(7) - (8)].str);
					n->options = (yyvsp[(8) - (8)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 655:
#line 4548 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 656:
#line 4549 "gram.y"
    { (yyval.node) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)])); ;}
    break;

  case 657:
#line 4560 "gram.y"
    {
					DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
					n->user = (yyvsp[(5) - (7)].node);
					n->servername = (yyvsp[(7) - (7)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 658:
#line 4568 "gram.y"
    {
					DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
					n->user = (yyvsp[(7) - (9)].node);
					n->servername = (yyvsp[(9) - (9)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 659:
#line 4585 "gram.y"
    {
					AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
					n->user = (yyvsp[(5) - (8)].node);
					n->servername = (yyvsp[(7) - (8)].str);
					n->options = (yyvsp[(8) - (8)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 660:
#line 4609 "gram.y"
    {
					CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
					n->policy_name = (yyvsp[(3) - (9)].str);
					n->table = (yyvsp[(5) - (9)].range);
					n->cmd_name = (yyvsp[(6) - (9)].str);
					n->roles = (yyvsp[(7) - (9)].list);
					n->qual = (yyvsp[(8) - (9)].node);
					n->with_check = (yyvsp[(9) - (9)].node);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 661:
#line 4624 "gram.y"
    {
					AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
					n->policy_name = (yyvsp[(3) - (8)].str);
					n->table = (yyvsp[(5) - (8)].range);
					n->roles = (yyvsp[(6) - (8)].list);
					n->qual = (yyvsp[(7) - (8)].node);
					n->with_check = (yyvsp[(8) - (8)].node);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 662:
#line 4637 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_POLICY;
					n->objects = list_make1(lappend((yyvsp[(5) - (6)].list), makeString((yyvsp[(3) - (6)].str))));
					n->arguments = NIL;
					n->behavior = (yyvsp[(6) - (6)].dbehavior);
					n->missing_ok = false;
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 663:
#line 4648 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_POLICY;
					n->objects = list_make1(lappend((yyvsp[(7) - (8)].list), makeString((yyvsp[(5) - (8)].str))));
					n->arguments = NIL;
					n->behavior = (yyvsp[(8) - (8)].dbehavior);
					n->missing_ok = true;
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 664:
#line 4661 "gram.y"
    { (yyval.node) = (yyvsp[(3) - (4)].node); ;}
    break;

  case 665:
#line 4662 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 666:
#line 4666 "gram.y"
    { (yyval.node) = (yyvsp[(4) - (5)].node); ;}
    break;

  case 667:
#line 4667 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 668:
#line 4671 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 669:
#line 4672 "gram.y"
    { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); ;}
    break;

  case 670:
#line 4676 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 671:
#line 4677 "gram.y"
    { (yyval.list) = NULL; ;}
    break;

  case 672:
#line 4681 "gram.y"
    { (yyval.str) = (yyvsp[(2) - (2)].str); ;}
    break;

  case 673:
#line 4682 "gram.y"
    { (yyval.str) = "all"; ;}
    break;

  case 674:
#line 4686 "gram.y"
    { (yyval.str) = "all"; ;}
    break;

  case 675:
#line 4687 "gram.y"
    { (yyval.str) = "select"; ;}
    break;

  case 676:
#line 4688 "gram.y"
    { (yyval.str) = "insert"; ;}
    break;

  case 677:
#line 4689 "gram.y"
    { (yyval.str) = "update"; ;}
    break;

  case 678:
#line 4690 "gram.y"
    { (yyval.str) = "delete"; ;}
    break;

  case 679:
#line 4705 "gram.y"
    {
					CreateTrigStmt *n = makeNode(CreateTrigStmt);
					n->trigname = (yyvsp[(3) - (15)].str);
					n->relation = (yyvsp[(7) - (15)].range);
					n->funcname = (yyvsp[(12) - (15)].list);
					n->args = (yyvsp[(14) - (15)].list);
					n->row = (yyvsp[(8) - (15)].boolean);
					n->timing = (yyvsp[(4) - (15)].ival);
					n->events = intVal(linitial((yyvsp[(5) - (15)].list)));
					n->columns = (List *) lsecond((yyvsp[(5) - (15)].list));
					n->whenClause = (yyvsp[(9) - (15)].node);
					n->isconstraint  = FALSE;
					n->deferrable	 = FALSE;
					n->initdeferred  = FALSE;
					n->constrrel = NULL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 680:
#line 4726 "gram.y"
    {
					CreateTrigStmt *n = makeNode(CreateTrigStmt);
					n->trigname = (yyvsp[(4) - (20)].str);
					n->relation = (yyvsp[(8) - (20)].range);
					n->funcname = (yyvsp[(17) - (20)].list);
					n->args = (yyvsp[(19) - (20)].list);
					n->row = TRUE;
					n->timing = TRIGGER_TYPE_AFTER;
					n->events = intVal(linitial((yyvsp[(6) - (20)].list)));
					n->columns = (List *) lsecond((yyvsp[(6) - (20)].list));
					n->whenClause = (yyvsp[(14) - (20)].node);
					n->isconstraint  = TRUE;
					processCASbits((yyvsp[(10) - (20)].ival), (yylsp[(10) - (20)]), "TRIGGER",
								   &n->deferrable, &n->initdeferred, NULL,
								   NULL, yyscanner);
					n->constrrel = (yyvsp[(9) - (20)].range);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 681:
#line 4747 "gram.y"
    { (yyval.ival) = TRIGGER_TYPE_BEFORE; ;}
    break;

  case 682:
#line 4748 "gram.y"
    { (yyval.ival) = TRIGGER_TYPE_AFTER; ;}
    break;

  case 683:
#line 4749 "gram.y"
    { (yyval.ival) = TRIGGER_TYPE_INSTEAD; ;}
    break;

  case 684:
#line 4754 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 685:
#line 4756 "gram.y"
    {
					int		events1 = intVal(linitial((yyvsp[(1) - (3)].list)));
					int		events2 = intVal(linitial((yyvsp[(3) - (3)].list)));
					List   *columns1 = (List *) lsecond((yyvsp[(1) - (3)].list));
					List   *columns2 = (List *) lsecond((yyvsp[(3) - (3)].list));

					if (events1 & events2)
						parser_yyerror("duplicate trigger events specified");
					/*
					 * concat'ing the columns lists loses information about
					 * which columns went with which event, but so long as
					 * only UPDATE carries columns and we disallow multiple
					 * UPDATE items, it doesn't matter.  Command execution
					 * should just ignore the columns for non-UPDATE events.
					 */
					(yyval.list) = list_make2(makeInteger(events1 | events2),
									list_concat(columns1, columns2));
				;}
    break;

  case 686:
#line 4778 "gram.y"
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); ;}
    break;

  case 687:
#line 4780 "gram.y"
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); ;}
    break;

  case 688:
#line 4782 "gram.y"
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); ;}
    break;

  case 689:
#line 4784 "gram.y"
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[(3) - (3)].list)); ;}
    break;

  case 690:
#line 4786 "gram.y"
    { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); ;}
    break;

  case 691:
#line 4791 "gram.y"
    {
					(yyval.boolean) = (yyvsp[(3) - (3)].boolean);
				;}
    break;

  case 692:
#line 4795 "gram.y"
    {
					/*
					 * If ROW/STATEMENT not specified, default to
					 * STATEMENT, per SQL
					 */
					(yyval.boolean) = FALSE;
				;}
    break;

  case 693:
#line 4805 "gram.y"
    {;}
    break;

  case 694:
#line 4806 "gram.y"
    {;}
    break;

  case 695:
#line 4810 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 696:
#line 4811 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 697:
#line 4815 "gram.y"
    { (yyval.node) = (yyvsp[(3) - (4)].node); ;}
    break;

  case 698:
#line 4816 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 699:
#line 4820 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].value)); ;}
    break;

  case 700:
#line 4821 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].value)); ;}
    break;

  case 701:
#line 4822 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 702:
#line 4827 "gram.y"
    {
					(yyval.value) = makeString(psprintf("%d", (yyvsp[(1) - (1)].ival)));
				;}
    break;

  case 703:
#line 4830 "gram.y"
    { (yyval.value) = makeString((yyvsp[(1) - (1)].str)); ;}
    break;

  case 704:
#line 4831 "gram.y"
    { (yyval.value) = makeString((yyvsp[(1) - (1)].str)); ;}
    break;

  case 705:
#line 4832 "gram.y"
    { (yyval.value) = makeString((yyvsp[(1) - (1)].str)); ;}
    break;

  case 706:
#line 4836 "gram.y"
    { (yyval.range) = (yyvsp[(2) - (2)].range); ;}
    break;

  case 707:
#line 4837 "gram.y"
    { (yyval.range) = NULL; ;}
    break;

  case 708:
#line 4842 "gram.y"
    { (yyval.ival) = 0; ;}
    break;

  case 709:
#line 4844 "gram.y"
    {
					/*
					 * We must complain about conflicting options.
					 * We could, but choose not to, complain about redundant
					 * options (ie, where $2's bit is already set in $1).
					 */
					int		newspec = (yyvsp[(1) - (2)].ival) | (yyvsp[(2) - (2)].ival);

					/* special message for this case */
					if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
						ereport(ERROR,
								(errcode(ERRCODE_SYNTAX_ERROR),
								 errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
								 parser_errposition((yylsp[(2) - (2)]))));
					/* generic message for other conflicts */
					if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
						(newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
						ereport(ERROR,
								(errcode(ERRCODE_SYNTAX_ERROR),
								 errmsg("conflicting constraint properties"),
								 parser_errposition((yylsp[(2) - (2)]))));
					(yyval.ival) = newspec;
				;}
    break;

  case 710:
#line 4870 "gram.y"
    { (yyval.ival) = CAS_NOT_DEFERRABLE; ;}
    break;

  case 711:
#line 4871 "gram.y"
    { (yyval.ival) = CAS_DEFERRABLE; ;}
    break;

  case 712:
#line 4872 "gram.y"
    { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; ;}
    break;

  case 713:
#line 4873 "gram.y"
    { (yyval.ival) = CAS_INITIALLY_DEFERRED; ;}
    break;

  case 714:
#line 4874 "gram.y"
    { (yyval.ival) = CAS_NOT_VALID; ;}
    break;

  case 715:
#line 4875 "gram.y"
    { (yyval.ival) = CAS_NO_INHERIT; ;}
    break;

  case 716:
#line 4881 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_TRIGGER;
					n->objects = list_make1(lappend((yyvsp[(5) - (6)].list), makeString((yyvsp[(3) - (6)].str))));
					n->arguments = NIL;
					n->behavior = (yyvsp[(6) - (6)].dbehavior);
					n->missing_ok = false;
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 717:
#line 4892 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_TRIGGER;
					n->objects = list_make1(lappend((yyvsp[(7) - (8)].list), makeString((yyvsp[(5) - (8)].str))));
					n->arguments = NIL;
					n->behavior = (yyvsp[(8) - (8)].dbehavior);
					n->missing_ok = true;
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 718:
#line 4916 "gram.y"
    {
					CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
					n->trigname = (yyvsp[(4) - (11)].str);
					n->eventname = (yyvsp[(6) - (11)].str);
					n->whenclause = NULL;
					n->funcname = (yyvsp[(9) - (11)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 719:
#line 4927 "gram.y"
    {
					CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
					n->trigname = (yyvsp[(4) - (13)].str);
					n->eventname = (yyvsp[(6) - (13)].str);
					n->whenclause = (yyvsp[(8) - (13)].list);
					n->funcname = (yyvsp[(11) - (13)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 720:
#line 4939 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
    break;

  case 721:
#line 4941 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
    break;

  case 722:
#line 4946 "gram.y"
    { (yyval.defelt) = makeDefElem((yyvsp[(1) - (5)].str), (Node *) (yyvsp[(4) - (5)].list)); ;}
    break;

  case 723:
#line 4951 "gram.y"
    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
    break;

  case 724:
#line 4953 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
    break;

  case 725:
#line 4958 "gram.y"
    {
					AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
					n->trigname = (yyvsp[(4) - (5)].str);
					n->tgenabled = (yyvsp[(5) - (5)].chr);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 726:
#line 4967 "gram.y"
    { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; ;}
    break;

  case 727:
#line 4968 "gram.y"
    { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; ;}
    break;

  case 728:
#line 4969 "gram.y"
    { (yyval.chr) = TRIGGER_FIRES_ALWAYS; ;}
    break;

  case 729:
#line 4970 "gram.y"
    { (yyval.chr) = TRIGGER_DISABLED; ;}
    break;

  case 730:
#line 4984 "gram.y"
    {
					CreateTrigStmt *n = makeNode(CreateTrigStmt);
					n->trigname = (yyvsp[(3) - (8)].str);
					n->args = list_make1((yyvsp[(6) - (8)].node));
					n->isconstraint  = TRUE;
					processCASbits((yyvsp[(8) - (8)].ival), (yylsp[(8) - (8)]), "ASSERTION",
								   &n->deferrable, &n->initdeferred, NULL,
								   NULL, yyscanner);

					ereport(ERROR,
							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
							 errmsg("CREATE ASSERTION is not yet implemented")));

					(yyval.node) = (Node *)n;
				;}
    break;

  case 731:
#line 5003 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->objects = NIL;
					n->arguments = NIL;
					n->behavior = (yyvsp[(4) - (4)].dbehavior);
					n->removeType = OBJECT_TRIGGER; /* XXX */
					ereport(ERROR,
							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
							 errmsg("DROP ASSERTION is not yet implemented")));
					(yyval.node) = (Node *) n;
				;}
    break;

  case 732:
#line 5026 "gram.y"
    {
					DefineStmt *n = makeNode(DefineStmt);
					n->kind = OBJECT_AGGREGATE;
					n->oldstyle = false;
					n->defnames = (yyvsp[(3) - (5)].list);
					n->args = (yyvsp[(4) - (5)].list);
					n->definition = (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 733:
#line 5036 "gram.y"
    {
					/* old-style (pre-8.2) syntax for CREATE AGGREGATE */
					DefineStmt *n = makeNode(DefineStmt);
					n->kind = OBJECT_AGGREGATE;
					n->oldstyle = true;
					n->defnames = (yyvsp[(3) - (4)].list);
					n->args = NIL;
					n->definition = (yyvsp[(4) - (4)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 734:
#line 5047 "gram.y"
    {
					DefineStmt *n = makeNode(DefineStmt);
					n->kind = OBJECT_OPERATOR;
					n->oldstyle = false;
					n->defnames = (yyvsp[(3) - (4)].list);
					n->args = NIL;
					n->definition = (yyvsp[(4) - (4)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 735:
#line 5057 "gram.y"
    {
					DefineStmt *n = makeNode(DefineStmt);
					n->kind = OBJECT_TYPE;
					n->oldstyle = false;
					n->defnames = (yyvsp[(3) - (4)].list);
					n->args = NIL;
					n->definition = (yyvsp[(4) - (4)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 736:
#line 5067 "gram.y"
    {
					/* Shell type (identified by lack of definition) */
					DefineStmt *n = makeNode(DefineStmt);
					n->kind = OBJECT_TYPE;
					n->oldstyle = false;
					n->defnames = (yyvsp[(3) - (3)].list);
					n->args = NIL;
					n->definition = NIL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 737:
#line 5078 "gram.y"
    {
					CompositeTypeStmt *n = makeNode(CompositeTypeStmt);

					/* can't use qualified_name, sigh */
					n->typevar = makeRangeVarFromAnyName((yyvsp[(3) - (7)].list), (yylsp[(3) - (7)]), yyscanner);
					n->coldeflist = (yyvsp[(6) - (7)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 738:
#line 5087 "gram.y"
    {
					CreateEnumStmt *n = makeNode(CreateEnumStmt);
					n->typeName = (yyvsp[(3) - (8)].list);
					n->vals = (yyvsp[(7) - (8)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 739:
#line 5094 "gram.y"
    {
					CreateRangeStmt *n = makeNode(CreateRangeStmt);
					n->typeName = (yyvsp[(3) - (6)].list);
					n->params	= (yyvsp[(6) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 740:
#line 5101 "gram.y"
    {
					DefineStmt *n = makeNode(DefineStmt);
					n->kind = OBJECT_TSPARSER;
					n->args = NIL;
					n->defnames = (yyvsp[(5) - (6)].list);
					n->definition = (yyvsp[(6) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 741:
#line 5110 "gram.y"
    {
					DefineStmt *n = makeNode(DefineStmt);
					n->kind = OBJECT_TSDICTIONARY;
					n->args = NIL;
					n->defnames = (yyvsp[(5) - (6)].list);
					n->definition = (yyvsp[(6) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 742:
#line 5119 "gram.y"
    {
					DefineStmt *n = makeNode(DefineStmt);
					n->kind = OBJECT_TSTEMPLATE;
					n->args = NIL;
					n->defnames = (yyvsp[(5) - (6)].list);
					n->definition = (yyvsp[(6) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 743:
#line 5128 "gram.y"
    {
					DefineStmt *n = makeNode(DefineStmt);
					n->kind = OBJECT_TSCONFIGURATION;
					n->args = NIL;
					n->defnames = (yyvsp[(5) - (6)].list);
					n->definition = (yyvsp[(6) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 744:
#line 5137 "gram.y"
    {
					DefineStmt *n = makeNode(DefineStmt);
					n->kind = OBJECT_COLLATION;
					n->args = NIL;
					n->defnames = (yyvsp[(3) - (4)].list);
					n->definition = (yyvsp[(4) - (4)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 745:
#line 5146 "gram.y"
    {
					DefineStmt *n = makeNode(DefineStmt);
					n->kind = OBJECT_COLLATION;
					n->args = NIL;
					n->defnames = (yyvsp[(3) - (5)].list);
					n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[(5) - (5)].list)));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 746:
#line 5156 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 747:
#line 5159 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
    break;

  case 748:
#line 5160 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
    break;

  case 749:
#line 5164 "gram.y"
    {
					(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *) (yyvsp[(3) - (3)].node));
				;}
    break;

  case 750:
#line 5168 "gram.y"
    {
					(yyval.defelt) = makeDefElem((yyvsp[(1) - (1)].str), NULL);
				;}
    break;

  case 751:
#line 5174 "gram.y"
    { (yyval.node) = (Node *)(yyvsp[(1) - (1)].typnam); ;}
    break;

  case 752:
#line 5175 "gram.y"
    { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[(1) - (1)].keyword))); ;}
    break;

  case 753:
#line 5176 "gram.y"
    { (yyval.node) = (Node *)(yyvsp[(1) - (1)].list); ;}
    break;

  case 754:
#line 5177 "gram.y"
    { (yyval.node) = (Node *)(yyvsp[(1) - (1)].value); ;}
    break;

  case 755:
#line 5178 "gram.y"
    { (yyval.node) = (Node *)makeString((yyvsp[(1) - (1)].str)); ;}
    break;

  case 756:
#line 5181 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 757:
#line 5184 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
    break;

  case 758:
#line 5185 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
    break;

  case 759:
#line 5194 "gram.y"
    {
					(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)(yyvsp[(3) - (3)].node));
				;}
    break;

  case 760:
#line 5200 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 761:
#line 5201 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 762:
#line 5205 "gram.y"
    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
    break;

  case 763:
#line 5207 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
    break;

  case 764:
#line 5218 "gram.y"
    {
				AlterEnumStmt *n = makeNode(AlterEnumStmt);
				n->typeName = (yyvsp[(3) - (7)].list);
				n->newVal = (yyvsp[(7) - (7)].str);
				n->newValNeighbor = NULL;
				n->newValIsAfter = true;
				n->skipIfExists = (yyvsp[(6) - (7)].boolean);
				(yyval.node) = (Node *) n;
			;}
    break;

  case 765:
#line 5228 "gram.y"
    {
				AlterEnumStmt *n = makeNode(AlterEnumStmt);
				n->typeName = (yyvsp[(3) - (9)].list);
				n->newVal = (yyvsp[(7) - (9)].str);
				n->newValNeighbor = (yyvsp[(9) - (9)].str);
				n->newValIsAfter = false;
				n->skipIfExists = (yyvsp[(6) - (9)].boolean);
				(yyval.node) = (Node *) n;
			;}
    break;

  case 766:
#line 5238 "gram.y"
    {
				AlterEnumStmt *n = makeNode(AlterEnumStmt);
				n->typeName = (yyvsp[(3) - (9)].list);
				n->newVal = (yyvsp[(7) - (9)].str);
				n->newValNeighbor = (yyvsp[(9) - (9)].str);
				n->newValIsAfter = true;
				n->skipIfExists = (yyvsp[(6) - (9)].boolean);
				(yyval.node) = (Node *) n;
			;}
    break;

  case 767:
#line 5249 "gram.y"
    { (yyval.boolean) = true; ;}
    break;

  case 768:
#line 5250 "gram.y"
    { (yyval.boolean) = false; ;}
    break;

  case 769:
#line 5268 "gram.y"
    {
					CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
					n->opclassname = (yyvsp[(4) - (13)].list);
					n->isDefault = (yyvsp[(5) - (13)].boolean);
					n->datatype = (yyvsp[(8) - (13)].typnam);
					n->amname = (yyvsp[(10) - (13)].str);
					n->opfamilyname = (yyvsp[(11) - (13)].list);
					n->items = (yyvsp[(13) - (13)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 770:
#line 5281 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 771:
#line 5282 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
    break;

  case 772:
#line 5287 "gram.y"
    {
					CreateOpClassItem *n = makeNode(CreateOpClassItem);
					n->itemtype = OPCLASS_ITEM_OPERATOR;
					n->name = (yyvsp[(3) - (5)].list);
					n->args = NIL;
					n->number = (yyvsp[(2) - (5)].ival);
					n->order_family = (yyvsp[(4) - (5)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 773:
#line 5298 "gram.y"
    {
					CreateOpClassItem *n = makeNode(CreateOpClassItem);
					n->itemtype = OPCLASS_ITEM_OPERATOR;
					n->name = (yyvsp[(3) - (6)].list);
					n->args = (yyvsp[(4) - (6)].list);
					n->number = (yyvsp[(2) - (6)].ival);
					n->order_family = (yyvsp[(5) - (6)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 774:
#line 5308 "gram.y"
    {
					CreateOpClassItem *n = makeNode(CreateOpClassItem);
					n->itemtype = OPCLASS_ITEM_FUNCTION;
					n->name = (yyvsp[(3) - (4)].list);
					n->args = extractArgTypes((yyvsp[(4) - (4)].list));
					n->number = (yyvsp[(2) - (4)].ival);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 775:
#line 5317 "gram.y"
    {
					CreateOpClassItem *n = makeNode(CreateOpClassItem);
					n->itemtype = OPCLASS_ITEM_FUNCTION;
					n->name = (yyvsp[(6) - (7)].list);
					n->args = extractArgTypes((yyvsp[(7) - (7)].list));
					n->number = (yyvsp[(2) - (7)].ival);
					n->class_args = (yyvsp[(4) - (7)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 776:
#line 5327 "gram.y"
    {
					CreateOpClassItem *n = makeNode(CreateOpClassItem);
					n->itemtype = OPCLASS_ITEM_STORAGETYPE;
					n->storedtype = (yyvsp[(2) - (2)].typnam);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 777:
#line 5335 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 778:
#line 5336 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 779:
#line 5339 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 780:
#line 5340 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 781:
#line 5343 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 782:
#line 5344 "gram.y"
    { (yyval.list) = (yyvsp[(4) - (4)].list); ;}
    break;

  case 783:
#line 5345 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 784:
#line 5349 "gram.y"
    {
					/*
					 * RECHECK no longer does anything in opclass definitions,
					 * but we still accept it to ease porting of old database
					 * dumps.
					 */
					ereport(NOTICE,
							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
							 errmsg("RECHECK is no longer required"),
							 errhint("Update your data type."),
							 parser_errposition((yylsp[(1) - (1)]))));
					(yyval.boolean) = TRUE;
				;}
    break;

  case 785:
#line 5362 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 786:
#line 5368 "gram.y"
    {
					CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
					n->opfamilyname = (yyvsp[(4) - (6)].list);
					n->amname = (yyvsp[(6) - (6)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 787:
#line 5378 "gram.y"
    {
					AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
					n->opfamilyname = (yyvsp[(4) - (8)].list);
					n->amname = (yyvsp[(6) - (8)].str);
					n->isDrop = false;
					n->items = (yyvsp[(8) - (8)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 788:
#line 5387 "gram.y"
    {
					AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
					n->opfamilyname = (yyvsp[(4) - (8)].list);
					n->amname = (yyvsp[(6) - (8)].str);
					n->isDrop = true;
					n->items = (yyvsp[(8) - (8)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 789:
#line 5398 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 790:
#line 5399 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
    break;

  case 791:
#line 5404 "gram.y"
    {
					CreateOpClassItem *n = makeNode(CreateOpClassItem);
					n->itemtype = OPCLASS_ITEM_OPERATOR;
					n->number = (yyvsp[(2) - (5)].ival);
					n->args = (yyvsp[(4) - (5)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 792:
#line 5412 "gram.y"
    {
					CreateOpClassItem *n = makeNode(CreateOpClassItem);
					n->itemtype = OPCLASS_ITEM_FUNCTION;
					n->number = (yyvsp[(2) - (5)].ival);
					n->args = (yyvsp[(4) - (5)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 793:
#line 5424 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->objects = list_make1(lcons(makeString((yyvsp[(6) - (7)].str)), (yyvsp[(4) - (7)].list)));
					n->removeType = OBJECT_OPCLASS;
					n->behavior = (yyvsp[(7) - (7)].dbehavior);
					n->missing_ok = false;
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 794:
#line 5434 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->objects = list_make1(lcons(makeString((yyvsp[(8) - (9)].str)), (yyvsp[(6) - (9)].list)));
					n->removeType = OBJECT_OPCLASS;
					n->behavior = (yyvsp[(9) - (9)].dbehavior);
					n->missing_ok = true;
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 795:
#line 5447 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->objects = list_make1(lcons(makeString((yyvsp[(6) - (7)].str)), (yyvsp[(4) - (7)].list)));
					n->removeType = OBJECT_OPFAMILY;
					n->behavior = (yyvsp[(7) - (7)].dbehavior);
					n->missing_ok = false;
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 796:
#line 5457 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->objects = list_make1(lcons(makeString((yyvsp[(8) - (9)].str)), (yyvsp[(6) - (9)].list)));
					n->removeType = OBJECT_OPFAMILY;
					n->behavior = (yyvsp[(9) - (9)].dbehavior);
					n->missing_ok = true;
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 797:
#line 5479 "gram.y"
    {
					DropOwnedStmt *n = makeNode(DropOwnedStmt);
					n->roles = (yyvsp[(4) - (5)].list);
					n->behavior = (yyvsp[(5) - (5)].dbehavior);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 798:
#line 5489 "gram.y"
    {
					ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
					n->roles = (yyvsp[(4) - (6)].list);
					n->newrole = (yyvsp[(6) - (6)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 799:
#line 5507 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = (yyvsp[(2) - (6)].objtype);
					n->missing_ok = TRUE;
					n->objects = (yyvsp[(5) - (6)].list);
					n->arguments = NIL;
					n->behavior = (yyvsp[(6) - (6)].dbehavior);
					n->concurrent = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 800:
#line 5518 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = (yyvsp[(2) - (4)].objtype);
					n->missing_ok = FALSE;
					n->objects = (yyvsp[(3) - (4)].list);
					n->arguments = NIL;
					n->behavior = (yyvsp[(4) - (4)].dbehavior);
					n->concurrent = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 801:
#line 5529 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_TYPE;
					n->missing_ok = FALSE;
					n->objects = (yyvsp[(3) - (4)].list);
					n->behavior = (yyvsp[(4) - (4)].dbehavior);
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 802:
#line 5539 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_TYPE;
					n->missing_ok = TRUE;
					n->objects = (yyvsp[(5) - (6)].list);
					n->behavior = (yyvsp[(6) - (6)].dbehavior);
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 803:
#line 5549 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_DOMAIN;
					n->missing_ok = FALSE;
					n->objects = (yyvsp[(3) - (4)].list);
					n->behavior = (yyvsp[(4) - (4)].dbehavior);
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 804:
#line 5559 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_DOMAIN;
					n->missing_ok = TRUE;
					n->objects = (yyvsp[(5) - (6)].list);
					n->behavior = (yyvsp[(6) - (6)].dbehavior);
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 805:
#line 5569 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_INDEX;
					n->missing_ok = FALSE;
					n->objects = (yyvsp[(4) - (5)].list);
					n->arguments = NIL;
					n->behavior = (yyvsp[(5) - (5)].dbehavior);
					n->concurrent = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 806:
#line 5580 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_INDEX;
					n->missing_ok = TRUE;
					n->objects = (yyvsp[(6) - (7)].list);
					n->arguments = NIL;
					n->behavior = (yyvsp[(7) - (7)].dbehavior);
					n->concurrent = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 807:
#line 5593 "gram.y"
    { (yyval.objtype) = OBJECT_TABLE; ;}
    break;

  case 808:
#line 5594 "gram.y"
    { (yyval.objtype) = OBJECT_SEQUENCE; ;}
    break;

  case 809:
#line 5595 "gram.y"
    { (yyval.objtype) = OBJECT_VIEW; ;}
    break;

  case 810:
#line 5596 "gram.y"
    { (yyval.objtype) = OBJECT_MATVIEW; ;}
    break;

  case 811:
#line 5597 "gram.y"
    { (yyval.objtype) = OBJECT_INDEX; ;}
    break;

  case 812:
#line 5598 "gram.y"
    { (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;}
    break;

  case 813:
#line 5599 "gram.y"
    { (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;}
    break;

  case 814:
#line 5600 "gram.y"
    { (yyval.objtype) = OBJECT_COLLATION; ;}
    break;

  case 815:
#line 5601 "gram.y"
    { (yyval.objtype) = OBJECT_CONVERSION; ;}
    break;

  case 816:
#line 5602 "gram.y"
    { (yyval.objtype) = OBJECT_SCHEMA; ;}
    break;

  case 817:
#line 5603 "gram.y"
    { (yyval.objtype) = OBJECT_EXTENSION; ;}
    break;

  case 818:
#line 5604 "gram.y"
    { (yyval.objtype) = OBJECT_TSPARSER; ;}
    break;

  case 819:
#line 5605 "gram.y"
    { (yyval.objtype) = OBJECT_TSDICTIONARY; ;}
    break;

  case 820:
#line 5606 "gram.y"
    { (yyval.objtype) = OBJECT_TSTEMPLATE; ;}
    break;

  case 821:
#line 5607 "gram.y"
    { (yyval.objtype) = OBJECT_TSCONFIGURATION; ;}
    break;

  case 822:
#line 5611 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
    break;

  case 823:
#line 5612 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
    break;

  case 824:
#line 5615 "gram.y"
    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
    break;

  case 825:
#line 5616 "gram.y"
    { (yyval.list) = lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)); ;}
    break;

  case 826:
#line 5620 "gram.y"
    { (yyval.list) = list_make1(makeString((yyvsp[(2) - (2)].str))); ;}
    break;

  case 827:
#line 5622 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
    break;

  case 828:
#line 5626 "gram.y"
    { (yyval.list) = list_make1(list_make1((yyvsp[(1) - (1)].typnam))); ;}
    break;

  case 829:
#line 5627 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), list_make1((yyvsp[(3) - (3)].typnam))); ;}
    break;

  case 830:
#line 5638 "gram.y"
    {
					TruncateStmt *n = makeNode(TruncateStmt);
					n->relations = (yyvsp[(3) - (5)].list);
					n->restart_seqs = (yyvsp[(4) - (5)].boolean);
					n->behavior = (yyvsp[(5) - (5)].dbehavior);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 831:
#line 5648 "gram.y"
    { (yyval.boolean) = false; ;}
    break;

  case 832:
#line 5649 "gram.y"
    { (yyval.boolean) = true; ;}
    break;

  case 833:
#line 5650 "gram.y"
    { (yyval.boolean) = false; ;}
    break;

  case 834:
#line 5684 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = (yyvsp[(3) - (6)].objtype);
					n->objname = (yyvsp[(4) - (6)].list);
					n->objargs = NIL;
					n->comment = (yyvsp[(6) - (6)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 835:
#line 5693 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_TYPE;
					n->objname = list_make1((yyvsp[(4) - (6)].typnam));
					n->objargs = NIL;
					n->comment = (yyvsp[(6) - (6)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 836:
#line 5702 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_DOMAIN;
					n->objname = list_make1((yyvsp[(4) - (6)].typnam));
					n->objargs = NIL;
					n->comment = (yyvsp[(6) - (6)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 837:
#line 5711 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_AGGREGATE;
					n->objname = (yyvsp[(4) - (7)].list);
					n->objargs = extractAggrArgTypes((yyvsp[(5) - (7)].list));
					n->comment = (yyvsp[(7) - (7)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 838:
#line 5720 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_FUNCTION;
					n->objname = (yyvsp[(4) - (7)].list);
					n->objargs = extractArgTypes((yyvsp[(5) - (7)].list));
					n->comment = (yyvsp[(7) - (7)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 839:
#line 5729 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_OPERATOR;
					n->objname = (yyvsp[(4) - (7)].list);
					n->objargs = (yyvsp[(5) - (7)].list);
					n->comment = (yyvsp[(7) - (7)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 840:
#line 5738 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_TABCONSTRAINT;
					n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
					n->objargs = NIL;
					n->comment = (yyvsp[(8) - (8)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 841:
#line 5747 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_DOMCONSTRAINT;
					/*
					 * should use Typename not any_name in the production, but
					 * there's a shift/reduce conflict if we do that, so fix it
					 * up here.
					 */
					n->objname = list_make1(makeTypeNameFromNameList((yyvsp[(7) - (9)].list)));
					n->objargs = list_make1(makeString((yyvsp[(4) - (9)].str)));
					n->comment = (yyvsp[(9) - (9)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 842:
#line 5761 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_POLICY;
					n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
					n->objargs = NIL;
					n->comment = (yyvsp[(8) - (8)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 843:
#line 5770 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_RULE;
					n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
					n->objargs = NIL;
					n->comment = (yyvsp[(8) - (8)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 844:
#line 5779 "gram.y"
    {
					/* Obsolete syntax supported for awhile for compatibility */
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_RULE;
					n->objname = list_make1(makeString((yyvsp[(4) - (6)].str)));
					n->objargs = NIL;
					n->comment = (yyvsp[(6) - (6)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 845:
#line 5789 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_TRANSFORM;
					n->objname = list_make1((yyvsp[(5) - (9)].typnam));
					n->objargs = list_make1(makeString((yyvsp[(7) - (9)].str)));
					n->comment = (yyvsp[(9) - (9)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 846:
#line 5798 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_TRIGGER;
					n->objname = lappend((yyvsp[(6) - (8)].list), makeString((yyvsp[(4) - (8)].str)));
					n->objargs = NIL;
					n->comment = (yyvsp[(8) - (8)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 847:
#line 5807 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_OPCLASS;
					n->objname = lcons(makeString((yyvsp[(7) - (9)].str)), (yyvsp[(5) - (9)].list));
					n->comment = (yyvsp[(9) - (9)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 848:
#line 5815 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_OPFAMILY;
					n->objname = lcons(makeString((yyvsp[(7) - (9)].str)), (yyvsp[(5) - (9)].list));
					n->objargs = NIL;
					n->comment = (yyvsp[(9) - (9)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 849:
#line 5824 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_LARGEOBJECT;
					n->objname = list_make1((yyvsp[(5) - (7)].value));
					n->objargs = NIL;
					n->comment = (yyvsp[(7) - (7)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 850:
#line 5833 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_CAST;
					n->objname = list_make1((yyvsp[(5) - (10)].typnam));
					n->objargs = list_make1((yyvsp[(7) - (10)].typnam));
					n->comment = (yyvsp[(10) - (10)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 851:
#line 5842 "gram.y"
    {
					CommentStmt *n = makeNode(CommentStmt);
					n->objtype = OBJECT_LANGUAGE;
					n->objname = (yyvsp[(5) - (7)].list);
					n->objargs = NIL;
					n->comment = (yyvsp[(7) - (7)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 852:
#line 5853 "gram.y"
    { (yyval.objtype) = OBJECT_COLUMN; ;}
    break;

  case 853:
#line 5854 "gram.y"
    { (yyval.objtype) = OBJECT_DATABASE; ;}
    break;

  case 854:
#line 5855 "gram.y"
    { (yyval.objtype) = OBJECT_SCHEMA; ;}
    break;

  case 855:
#line 5856 "gram.y"
    { (yyval.objtype) = OBJECT_INDEX; ;}
    break;

  case 856:
#line 5857 "gram.y"
    { (yyval.objtype) = OBJECT_SEQUENCE; ;}
    break;

  case 857:
#line 5858 "gram.y"
    { (yyval.objtype) = OBJECT_TABLE; ;}
    break;

  case 858:
#line 5859 "gram.y"
    { (yyval.objtype) = OBJECT_VIEW; ;}
    break;

  case 859:
#line 5860 "gram.y"
    { (yyval.objtype) = OBJECT_MATVIEW; ;}
    break;

  case 860:
#line 5861 "gram.y"
    { (yyval.objtype) = OBJECT_COLLATION; ;}
    break;

  case 861:
#line 5862 "gram.y"
    { (yyval.objtype) = OBJECT_CONVERSION; ;}
    break;

  case 862:
#line 5863 "gram.y"
    { (yyval.objtype) = OBJECT_TABLESPACE; ;}
    break;

  case 863:
#line 5864 "gram.y"
    { (yyval.objtype) = OBJECT_EXTENSION; ;}
    break;

  case 864:
#line 5865 "gram.y"
    { (yyval.objtype) = OBJECT_ROLE; ;}
    break;

  case 865:
#line 5866 "gram.y"
    { (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;}
    break;

  case 866:
#line 5867 "gram.y"
    { (yyval.objtype) = OBJECT_FOREIGN_SERVER; ;}
    break;

  case 867:
#line 5868 "gram.y"
    { (yyval.objtype) = OBJECT_FDW; ;}
    break;

  case 868:
#line 5869 "gram.y"
    { (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;}
    break;

  case 869:
#line 5870 "gram.y"
    { (yyval.objtype) = OBJECT_TSCONFIGURATION; ;}
    break;

  case 870:
#line 5871 "gram.y"
    { (yyval.objtype) = OBJECT_TSDICTIONARY; ;}
    break;

  case 871:
#line 5872 "gram.y"
    { (yyval.objtype) = OBJECT_TSPARSER; ;}
    break;

  case 872:
#line 5873 "gram.y"
    { (yyval.objtype) = OBJECT_TSTEMPLATE; ;}
    break;

  case 873:
#line 5877 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 874:
#line 5878 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 875:
#line 5894 "gram.y"
    {
					SecLabelStmt *n = makeNode(SecLabelStmt);
					n->provider = (yyvsp[(3) - (8)].str);
					n->objtype = (yyvsp[(5) - (8)].objtype);
					n->objname = (yyvsp[(6) - (8)].list);
					n->objargs = NIL;
					n->label = (yyvsp[(8) - (8)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 876:
#line 5905 "gram.y"
    {
					SecLabelStmt *n = makeNode(SecLabelStmt);
					n->provider = (yyvsp[(3) - (8)].str);
					n->objtype = OBJECT_TYPE;
					n->objname = list_make1((yyvsp[(6) - (8)].typnam));
					n->objargs = NIL;
					n->label = (yyvsp[(8) - (8)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 877:
#line 5916 "gram.y"
    {
					SecLabelStmt *n = makeNode(SecLabelStmt);
					n->provider = (yyvsp[(3) - (8)].str);
					n->objtype = OBJECT_TYPE;
					n->objname = list_make1((yyvsp[(6) - (8)].typnam));
					n->objargs = NIL;
					n->label = (yyvsp[(8) - (8)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 878:
#line 5927 "gram.y"
    {
					SecLabelStmt *n = makeNode(SecLabelStmt);
					n->provider = (yyvsp[(3) - (9)].str);
					n->objtype = OBJECT_AGGREGATE;
					n->objname = (yyvsp[(6) - (9)].list);
					n->objargs = extractAggrArgTypes((yyvsp[(7) - (9)].list));
					n->label = (yyvsp[(9) - (9)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 879:
#line 5938 "gram.y"
    {
					SecLabelStmt *n = makeNode(SecLabelStmt);
					n->provider = (yyvsp[(3) - (9)].str);
					n->objtype = OBJECT_FUNCTION;
					n->objname = (yyvsp[(6) - (9)].list);
					n->objargs = extractArgTypes((yyvsp[(7) - (9)].list));
					n->label = (yyvsp[(9) - (9)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 880:
#line 5949 "gram.y"
    {
					SecLabelStmt *n = makeNode(SecLabelStmt);
					n->provider = (yyvsp[(3) - (9)].str);
					n->objtype = OBJECT_LARGEOBJECT;
					n->objname = list_make1((yyvsp[(7) - (9)].value));
					n->objargs = NIL;
					n->label = (yyvsp[(9) - (9)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 881:
#line 5960 "gram.y"
    {
					SecLabelStmt *n = makeNode(SecLabelStmt);
					n->provider = (yyvsp[(3) - (9)].str);
					n->objtype = OBJECT_LANGUAGE;
					n->objname = (yyvsp[(7) - (9)].list);
					n->objargs = NIL;
					n->label = (yyvsp[(9) - (9)].str);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 882:
#line 5971 "gram.y"
    { (yyval.str) = (yyvsp[(2) - (2)].str); ;}
    break;

  case 883:
#line 5972 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 884:
#line 5976 "gram.y"
    { (yyval.objtype) = OBJECT_COLUMN; ;}
    break;

  case 885:
#line 5977 "gram.y"
    { (yyval.objtype) = OBJECT_DATABASE; ;}
    break;

  case 886:
#line 5978 "gram.y"
    { (yyval.objtype) = OBJECT_EVENT_TRIGGER; ;}
    break;

  case 887:
#line 5979 "gram.y"
    { (yyval.objtype) = OBJECT_FOREIGN_TABLE; ;}
    break;

  case 888:
#line 5980 "gram.y"
    { (yyval.objtype) = OBJECT_SCHEMA; ;}
    break;

  case 889:
#line 5981 "gram.y"
    { (yyval.objtype) = OBJECT_SEQUENCE; ;}
    break;

  case 890:
#line 5982 "gram.y"
    { (yyval.objtype) = OBJECT_TABLE; ;}
    break;

  case 891:
#line 5983 "gram.y"
    { (yyval.objtype) = OBJECT_ROLE; ;}
    break;

  case 892:
#line 5984 "gram.y"
    { (yyval.objtype) = OBJECT_TABLESPACE; ;}
    break;

  case 893:
#line 5985 "gram.y"
    { (yyval.objtype) = OBJECT_VIEW; ;}
    break;

  case 894:
#line 5986 "gram.y"
    { (yyval.objtype) = OBJECT_MATVIEW; ;}
    break;

  case 895:
#line 5989 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 896:
#line 5990 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 897:
#line 6001 "gram.y"
    {
					FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
					n->ismove = FALSE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 898:
#line 6007 "gram.y"
    {
					FetchStmt *n = (FetchStmt *) (yyvsp[(2) - (2)].node);
					n->ismove = TRUE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 899:
#line 6015 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(1) - (1)].str);
					n->direction = FETCH_FORWARD;
					n->howMany = 1;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 900:
#line 6023 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(2) - (2)].str);
					n->direction = FETCH_FORWARD;
					n->howMany = 1;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 901:
#line 6031 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(3) - (3)].str);
					n->direction = FETCH_FORWARD;
					n->howMany = 1;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 902:
#line 6039 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(3) - (3)].str);
					n->direction = FETCH_BACKWARD;
					n->howMany = 1;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 903:
#line 6047 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(3) - (3)].str);
					n->direction = FETCH_ABSOLUTE;
					n->howMany = 1;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 904:
#line 6055 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(3) - (3)].str);
					n->direction = FETCH_ABSOLUTE;
					n->howMany = -1;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 905:
#line 6063 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(4) - (4)].str);
					n->direction = FETCH_ABSOLUTE;
					n->howMany = (yyvsp[(2) - (4)].ival);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 906:
#line 6071 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(4) - (4)].str);
					n->direction = FETCH_RELATIVE;
					n->howMany = (yyvsp[(2) - (4)].ival);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 907:
#line 6079 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(3) - (3)].str);
					n->direction = FETCH_FORWARD;
					n->howMany = (yyvsp[(1) - (3)].ival);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 908:
#line 6087 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(3) - (3)].str);
					n->direction = FETCH_FORWARD;
					n->howMany = FETCH_ALL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 909:
#line 6095 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(3) - (3)].str);
					n->direction = FETCH_FORWARD;
					n->howMany = 1;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 910:
#line 6103 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(4) - (4)].str);
					n->direction = FETCH_FORWARD;
					n->howMany = (yyvsp[(2) - (4)].ival);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 911:
#line 6111 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(4) - (4)].str);
					n->direction = FETCH_FORWARD;
					n->howMany = FETCH_ALL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 912:
#line 6119 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(3) - (3)].str);
					n->direction = FETCH_BACKWARD;
					n->howMany = 1;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 913:
#line 6127 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(4) - (4)].str);
					n->direction = FETCH_BACKWARD;
					n->howMany = (yyvsp[(2) - (4)].ival);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 914:
#line 6135 "gram.y"
    {
					FetchStmt *n = makeNode(FetchStmt);
					n->portalname = (yyvsp[(4) - (4)].str);
					n->direction = FETCH_BACKWARD;
					n->howMany = FETCH_ALL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 915:
#line 6144 "gram.y"
    {;}
    break;

  case 916:
#line 6145 "gram.y"
    {;}
    break;

  case 917:
#line 6148 "gram.y"
    {;}
    break;

  case 918:
#line 6149 "gram.y"
    {;}
    break;

  case 919:
#line 6161 "gram.y"
    {
					GrantStmt *n = makeNode(GrantStmt);
					n->is_grant = true;
					n->privileges = (yyvsp[(2) - (7)].list);
					n->targtype = ((yyvsp[(4) - (7)].privtarget))->targtype;
					n->objtype = ((yyvsp[(4) - (7)].privtarget))->objtype;
					n->objects = ((yyvsp[(4) - (7)].privtarget))->objs;
					n->grantees = (yyvsp[(6) - (7)].list);
					n->grant_option = (yyvsp[(7) - (7)].boolean);
					(yyval.node) = (Node*)n;
				;}
    break;

  case 920:
#line 6177 "gram.y"
    {
					GrantStmt *n = makeNode(GrantStmt);
					n->is_grant = false;
					n->grant_option = false;
					n->privileges = (yyvsp[(2) - (7)].list);
					n->targtype = ((yyvsp[(4) - (7)].privtarget))->targtype;
					n->objtype = ((yyvsp[(4) - (7)].privtarget))->objtype;
					n->objects = ((yyvsp[(4) - (7)].privtarget))->objs;
					n->grantees = (yyvsp[(6) - (7)].list);
					n->behavior = (yyvsp[(7) - (7)].dbehavior);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 921:
#line 6191 "gram.y"
    {
					GrantStmt *n = makeNode(GrantStmt);
					n->is_grant = false;
					n->grant_option = true;
					n->privileges = (yyvsp[(5) - (10)].list);
					n->targtype = ((yyvsp[(7) - (10)].privtarget))->targtype;
					n->objtype = ((yyvsp[(7) - (10)].privtarget))->objtype;
					n->objects = ((yyvsp[(7) - (10)].privtarget))->objs;
					n->grantees = (yyvsp[(9) - (10)].list);
					n->behavior = (yyvsp[(10) - (10)].dbehavior);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 922:
#line 6216 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 923:
#line 6218 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 924:
#line 6220 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 925:
#line 6222 "gram.y"
    {
					AccessPriv *n = makeNode(AccessPriv);
					n->priv_name = NULL;
					n->cols = (yyvsp[(3) - (4)].list);
					(yyval.list) = list_make1(n);
				;}
    break;

  case 926:
#line 6229 "gram.y"
    {
					AccessPriv *n = makeNode(AccessPriv);
					n->priv_name = NULL;
					n->cols = (yyvsp[(4) - (5)].list);
					(yyval.list) = list_make1(n);
				;}
    break;

  case 927:
#line 6237 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].accesspriv)); ;}
    break;

  case 928:
#line 6238 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].accesspriv)); ;}
    break;

  case 929:
#line 6242 "gram.y"
    {
				AccessPriv *n = makeNode(AccessPriv);
				n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
				n->cols = (yyvsp[(2) - (2)].list);
				(yyval.accesspriv) = n;
			;}
    break;

  case 930:
#line 6249 "gram.y"
    {
				AccessPriv *n = makeNode(AccessPriv);
				n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
				n->cols = (yyvsp[(2) - (2)].list);
				(yyval.accesspriv) = n;
			;}
    break;

  case 931:
#line 6256 "gram.y"
    {
				AccessPriv *n = makeNode(AccessPriv);
				n->priv_name = pstrdup((yyvsp[(1) - (2)].keyword));
				n->cols = (yyvsp[(2) - (2)].list);
				(yyval.accesspriv) = n;
			;}
    break;

  case 932:
#line 6263 "gram.y"
    {
				AccessPriv *n = makeNode(AccessPriv);
				n->priv_name = (yyvsp[(1) - (2)].str);
				n->cols = (yyvsp[(2) - (2)].list);
				(yyval.accesspriv) = n;
			;}
    break;

  case 933:
#line 6277 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_RELATION;
					n->objs = (yyvsp[(1) - (1)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 934:
#line 6285 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_RELATION;
					n->objs = (yyvsp[(2) - (2)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 935:
#line 6293 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_SEQUENCE;
					n->objs = (yyvsp[(2) - (2)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 936:
#line 6301 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_FDW;
					n->objs = (yyvsp[(4) - (4)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 937:
#line 6309 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_FOREIGN_SERVER;
					n->objs = (yyvsp[(3) - (3)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 938:
#line 6317 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_FUNCTION;
					n->objs = (yyvsp[(2) - (2)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 939:
#line 6325 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_DATABASE;
					n->objs = (yyvsp[(2) - (2)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 940:
#line 6333 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_DOMAIN;
					n->objs = (yyvsp[(2) - (2)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 941:
#line 6341 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_LANGUAGE;
					n->objs = (yyvsp[(2) - (2)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 942:
#line 6349 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_LARGEOBJECT;
					n->objs = (yyvsp[(3) - (3)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 943:
#line 6357 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_NAMESPACE;
					n->objs = (yyvsp[(2) - (2)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 944:
#line 6365 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_TABLESPACE;
					n->objs = (yyvsp[(2) - (2)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 945:
#line 6373 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_OBJECT;
					n->objtype = ACL_OBJECT_TYPE;
					n->objs = (yyvsp[(2) - (2)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 946:
#line 6381 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
					n->objtype = ACL_OBJECT_RELATION;
					n->objs = (yyvsp[(5) - (5)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 947:
#line 6389 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
					n->objtype = ACL_OBJECT_SEQUENCE;
					n->objs = (yyvsp[(5) - (5)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 948:
#line 6397 "gram.y"
    {
					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
					n->objtype = ACL_OBJECT_FUNCTION;
					n->objs = (yyvsp[(5) - (5)].list);
					(yyval.privtarget) = n;
				;}
    break;

  case 949:
#line 6408 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 950:
#line 6409 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
    break;

  case 951:
#line 6413 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 952:
#line 6414 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 953:
#line 6419 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 954:
#line 6420 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 955:
#line 6424 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].funwithargs)); ;}
    break;

  case 956:
#line 6426 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].funwithargs)); ;}
    break;

  case 957:
#line 6431 "gram.y"
    {
					FuncWithArgs *n = makeNode(FuncWithArgs);
					n->funcname = (yyvsp[(1) - (2)].list);
					n->funcargs = extractArgTypes((yyvsp[(2) - (2)].list));
					(yyval.funwithargs) = n;
				;}
    break;

  case 958:
#line 6447 "gram.y"
    {
					GrantRoleStmt *n = makeNode(GrantRoleStmt);
					n->is_grant = true;
					n->granted_roles = (yyvsp[(2) - (6)].list);
					n->grantee_roles = (yyvsp[(4) - (6)].list);
					n->admin_opt = (yyvsp[(5) - (6)].boolean);
					n->grantor = (yyvsp[(6) - (6)].node);
					(yyval.node) = (Node*)n;
				;}
    break;

  case 959:
#line 6460 "gram.y"
    {
					GrantRoleStmt *n = makeNode(GrantRoleStmt);
					n->is_grant = false;
					n->admin_opt = false;
					n->granted_roles = (yyvsp[(2) - (6)].list);
					n->grantee_roles = (yyvsp[(4) - (6)].list);
					n->behavior = (yyvsp[(6) - (6)].dbehavior);
					(yyval.node) = (Node*)n;
				;}
    break;

  case 960:
#line 6470 "gram.y"
    {
					GrantRoleStmt *n = makeNode(GrantRoleStmt);
					n->is_grant = false;
					n->admin_opt = true;
					n->granted_roles = (yyvsp[(5) - (9)].list);
					n->grantee_roles = (yyvsp[(7) - (9)].list);
					n->behavior = (yyvsp[(9) - (9)].dbehavior);
					(yyval.node) = (Node*)n;
				;}
    break;

  case 961:
#line 6481 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 962:
#line 6482 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 963:
#line 6485 "gram.y"
    { (yyval.node) = (yyvsp[(3) - (3)].node); ;}
    break;

  case 964:
#line 6486 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 965:
#line 6497 "gram.y"
    {
					AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
					n->options = (yyvsp[(4) - (5)].list);
					n->action = (GrantStmt *) (yyvsp[(5) - (5)].node);
					(yyval.node) = (Node*)n;
				;}
    break;

  case 966:
#line 6506 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 967:
#line 6507 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 968:
#line 6512 "gram.y"
    {
					(yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[(3) - (3)].list));
				;}
    break;

  case 969:
#line 6516 "gram.y"
    {
					(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[(3) - (3)].list));
				;}
    break;

  case 970:
#line 6520 "gram.y"
    {
					(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[(3) - (3)].list));
				;}
    break;

  case 971:
#line 6532 "gram.y"
    {
					GrantStmt *n = makeNode(GrantStmt);
					n->is_grant = true;
					n->privileges = (yyvsp[(2) - (7)].list);
					n->targtype = ACL_TARGET_DEFAULTS;
					n->objtype = (yyvsp[(4) - (7)].ival);
					n->objects = NIL;
					n->grantees = (yyvsp[(6) - (7)].list);
					n->grant_option = (yyvsp[(7) - (7)].boolean);
					(yyval.node) = (Node*)n;
				;}
    break;

  case 972:
#line 6545 "gram.y"
    {
					GrantStmt *n = makeNode(GrantStmt);
					n->is_grant = false;
					n->grant_option = false;
					n->privileges = (yyvsp[(2) - (7)].list);
					n->targtype = ACL_TARGET_DEFAULTS;
					n->objtype = (yyvsp[(4) - (7)].ival);
					n->objects = NIL;
					n->grantees = (yyvsp[(6) - (7)].list);
					n->behavior = (yyvsp[(7) - (7)].dbehavior);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 973:
#line 6559 "gram.y"
    {
					GrantStmt *n = makeNode(GrantStmt);
					n->is_grant = false;
					n->grant_option = true;
					n->privileges = (yyvsp[(5) - (10)].list);
					n->targtype = ACL_TARGET_DEFAULTS;
					n->objtype = (yyvsp[(7) - (10)].ival);
					n->objects = NIL;
					n->grantees = (yyvsp[(9) - (10)].list);
					n->behavior = (yyvsp[(10) - (10)].dbehavior);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 974:
#line 6574 "gram.y"
    { (yyval.ival) = ACL_OBJECT_RELATION; ;}
    break;

  case 975:
#line 6575 "gram.y"
    { (yyval.ival) = ACL_OBJECT_FUNCTION; ;}
    break;

  case 976:
#line 6576 "gram.y"
    { (yyval.ival) = ACL_OBJECT_SEQUENCE; ;}
    break;

  case 977:
#line 6577 "gram.y"
    { (yyval.ival) = ACL_OBJECT_TYPE; ;}
    break;

  case 978:
#line 6592 "gram.y"
    {
					IndexStmt *n = makeNode(IndexStmt);
					n->unique = (yyvsp[(2) - (14)].boolean);
					n->concurrent = (yyvsp[(4) - (14)].boolean);
					n->idxname = (yyvsp[(5) - (14)].str);
					n->relation = (yyvsp[(7) - (14)].range);
					n->accessMethod = (yyvsp[(8) - (14)].str);
					n->indexParams = (yyvsp[(10) - (14)].list);
					n->options = (yyvsp[(12) - (14)].list);
					n->tableSpace = (yyvsp[(13) - (14)].str);
					n->whereClause = (yyvsp[(14) - (14)].node);
					n->excludeOpNames = NIL;
					n->idxcomment = NULL;
					n->indexOid = InvalidOid;
					n->oldNode = InvalidOid;
					n->primary = false;
					n->isconstraint = false;
					n->deferrable = false;
					n->initdeferred = false;
					n->transformed = false;
					n->if_not_exists = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 979:
#line 6618 "gram.y"
    {
					IndexStmt *n = makeNode(IndexStmt);
					n->unique = (yyvsp[(2) - (17)].boolean);
					n->concurrent = (yyvsp[(4) - (17)].boolean);
					n->idxname = (yyvsp[(8) - (17)].str);
					n->relation = (yyvsp[(10) - (17)].range);
					n->accessMethod = (yyvsp[(11) - (17)].str);
					n->indexParams = (yyvsp[(13) - (17)].list);
					n->options = (yyvsp[(15) - (17)].list);
					n->tableSpace = (yyvsp[(16) - (17)].str);
					n->whereClause = (yyvsp[(17) - (17)].node);
					n->excludeOpNames = NIL;
					n->idxcomment = NULL;
					n->indexOid = InvalidOid;
					n->oldNode = InvalidOid;
					n->primary = false;
					n->isconstraint = false;
					n->deferrable = false;
					n->initdeferred = false;
					n->transformed = false;
					n->if_not_exists = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 980:
#line 6644 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 981:
#line 6645 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 982:
#line 6649 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 983:
#line 6650 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 984:
#line 6654 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 985:
#line 6655 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 986:
#line 6659 "gram.y"
    { (yyval.str) = (yyvsp[(2) - (2)].str); ;}
    break;

  case 987:
#line 6660 "gram.y"
    { (yyval.str) = DEFAULT_INDEX_TYPE; ;}
    break;

  case 988:
#line 6663 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].ielem)); ;}
    break;

  case 989:
#line 6664 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].ielem)); ;}
    break;

  case 990:
#line 6673 "gram.y"
    {
					(yyval.ielem) = makeNode(IndexElem);
					(yyval.ielem)->name = (yyvsp[(1) - (5)].str);
					(yyval.ielem)->expr = NULL;
					(yyval.ielem)->indexcolname = NULL;
					(yyval.ielem)->collation = (yyvsp[(2) - (5)].list);
					(yyval.ielem)->opclass = (yyvsp[(3) - (5)].list);
					(yyval.ielem)->ordering = (yyvsp[(4) - (5)].ival);
					(yyval.ielem)->nulls_ordering = (yyvsp[(5) - (5)].ival);
				;}
    break;

  case 991:
#line 6684 "gram.y"
    {
					(yyval.ielem) = makeNode(IndexElem);
					(yyval.ielem)->name = NULL;
					(yyval.ielem)->expr = (yyvsp[(1) - (5)].node);
					(yyval.ielem)->indexcolname = NULL;
					(yyval.ielem)->collation = (yyvsp[(2) - (5)].list);
					(yyval.ielem)->opclass = (yyvsp[(3) - (5)].list);
					(yyval.ielem)->ordering = (yyvsp[(4) - (5)].ival);
					(yyval.ielem)->nulls_ordering = (yyvsp[(5) - (5)].ival);
				;}
    break;

  case 992:
#line 6695 "gram.y"
    {
					(yyval.ielem) = makeNode(IndexElem);
					(yyval.ielem)->name = NULL;
					(yyval.ielem)->expr = (yyvsp[(2) - (7)].node);
					(yyval.ielem)->indexcolname = NULL;
					(yyval.ielem)->collation = (yyvsp[(4) - (7)].list);
					(yyval.ielem)->opclass = (yyvsp[(5) - (7)].list);
					(yyval.ielem)->ordering = (yyvsp[(6) - (7)].ival);
					(yyval.ielem)->nulls_ordering = (yyvsp[(7) - (7)].ival);
				;}
    break;

  case 993:
#line 6707 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 994:
#line 6708 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 995:
#line 6711 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 996:
#line 6712 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 997:
#line 6713 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 998:
#line 6716 "gram.y"
    { (yyval.ival) = SORTBY_ASC; ;}
    break;

  case 999:
#line 6717 "gram.y"
    { (yyval.ival) = SORTBY_DESC; ;}
    break;

  case 1000:
#line 6718 "gram.y"
    { (yyval.ival) = SORTBY_DEFAULT; ;}
    break;

  case 1001:
#line 6721 "gram.y"
    { (yyval.ival) = SORTBY_NULLS_FIRST; ;}
    break;

  case 1002:
#line 6722 "gram.y"
    { (yyval.ival) = SORTBY_NULLS_LAST; ;}
    break;

  case 1003:
#line 6723 "gram.y"
    { (yyval.ival) = SORTBY_NULLS_DEFAULT; ;}
    break;

  case 1004:
#line 6741 "gram.y"
    {
					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
					n->replace = (yyvsp[(2) - (9)].boolean);
					n->funcname = (yyvsp[(4) - (9)].list);
					n->parameters = (yyvsp[(5) - (9)].list);
					n->returnType = (yyvsp[(7) - (9)].typnam);
					n->options = (yyvsp[(8) - (9)].list);
					n->withClause = (yyvsp[(9) - (9)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1005:
#line 6753 "gram.y"
    {
					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
					n->replace = (yyvsp[(2) - (12)].boolean);
					n->funcname = (yyvsp[(4) - (12)].list);
					n->parameters = mergeTableFuncParameters((yyvsp[(5) - (12)].list), (yyvsp[(9) - (12)].list));
					n->returnType = TableFuncTypeName((yyvsp[(9) - (12)].list));
					n->returnType->location = (yylsp[(7) - (12)]);
					n->options = (yyvsp[(11) - (12)].list);
					n->withClause = (yyvsp[(12) - (12)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1006:
#line 6766 "gram.y"
    {
					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
					n->replace = (yyvsp[(2) - (7)].boolean);
					n->funcname = (yyvsp[(4) - (7)].list);
					n->parameters = (yyvsp[(5) - (7)].list);
					n->returnType = NULL;
					n->options = (yyvsp[(6) - (7)].list);
					n->withClause = (yyvsp[(7) - (7)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1007:
#line 6779 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 1008:
#line 6780 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1009:
#line 6783 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 1010:
#line 6784 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1011:
#line 6788 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
    break;

  case 1012:
#line 6789 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
    break;

  case 1013:
#line 6797 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 1014:
#line 6798 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1015:
#line 6802 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
    break;

  case 1016:
#line 6804 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
    break;

  case 1017:
#line 6819 "gram.y"
    {
					FunctionParameter *n = makeNode(FunctionParameter);
					n->name = (yyvsp[(2) - (3)].str);
					n->argType = (yyvsp[(3) - (3)].typnam);
					n->mode = (yyvsp[(1) - (3)].fun_param_mode);
					n->defexpr = NULL;
					(yyval.fun_param) = n;
				;}
    break;

  case 1018:
#line 6828 "gram.y"
    {
					FunctionParameter *n = makeNode(FunctionParameter);
					n->name = (yyvsp[(1) - (3)].str);
					n->argType = (yyvsp[(3) - (3)].typnam);
					n->mode = (yyvsp[(2) - (3)].fun_param_mode);
					n->defexpr = NULL;
					(yyval.fun_param) = n;
				;}
    break;

  case 1019:
#line 6837 "gram.y"
    {
					FunctionParameter *n = makeNode(FunctionParameter);
					n->name = (yyvsp[(1) - (2)].str);
					n->argType = (yyvsp[(2) - (2)].typnam);
					n->mode = FUNC_PARAM_IN;
					n->defexpr = NULL;
					(yyval.fun_param) = n;
				;}
    break;

  case 1020:
#line 6846 "gram.y"
    {
					FunctionParameter *n = makeNode(FunctionParameter);
					n->name = NULL;
					n->argType = (yyvsp[(2) - (2)].typnam);
					n->mode = (yyvsp[(1) - (2)].fun_param_mode);
					n->defexpr = NULL;
					(yyval.fun_param) = n;
				;}
    break;

  case 1021:
#line 6855 "gram.y"
    {
					FunctionParameter *n = makeNode(FunctionParameter);
					n->name = NULL;
					n->argType = (yyvsp[(1) - (1)].typnam);
					n->mode = FUNC_PARAM_IN;
					n->defexpr = NULL;
					(yyval.fun_param) = n;
				;}
    break;

  case 1022:
#line 6866 "gram.y"
    { (yyval.fun_param_mode) = FUNC_PARAM_IN; ;}
    break;

  case 1023:
#line 6867 "gram.y"
    { (yyval.fun_param_mode) = FUNC_PARAM_OUT; ;}
    break;

  case 1024:
#line 6868 "gram.y"
    { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;}
    break;

  case 1025:
#line 6869 "gram.y"
    { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; ;}
    break;

  case 1026:
#line 6870 "gram.y"
    { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; ;}
    break;

  case 1028:
#line 6881 "gram.y"
    {
					/* We can catch over-specified results here if we want to,
					 * but for now better to silently swallow typmod, etc.
					 * - thomas 2000-03-22
					 */
					(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
				;}
    break;

  case 1029:
#line 6895 "gram.y"
    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
    break;

  case 1030:
#line 6897 "gram.y"
    {
					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (4)].str)), (yyvsp[(2) - (4)].list)));
					(yyval.typnam)->pct_type = true;
					(yyval.typnam)->location = (yylsp[(1) - (4)]);
				;}
    break;

  case 1031:
#line 6903 "gram.y"
    {
					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(2) - (5)].str)), (yyvsp[(3) - (5)].list)));
					(yyval.typnam)->pct_type = true;
					(yyval.typnam)->setof = TRUE;
					(yyval.typnam)->location = (yylsp[(2) - (5)]);
				;}
    break;

  case 1032:
#line 6913 "gram.y"
    {
					(yyval.fun_param) = (yyvsp[(1) - (1)].fun_param);
				;}
    break;

  case 1033:
#line 6917 "gram.y"
    {
					(yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
					(yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
				;}
    break;

  case 1034:
#line 6922 "gram.y"
    {
					(yyval.fun_param) = (yyvsp[(1) - (3)].fun_param);
					(yyval.fun_param)->defexpr = (yyvsp[(3) - (3)].node);
				;}
    break;

  case 1035:
#line 6930 "gram.y"
    {
					if (!((yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_IN ||
						  (yyvsp[(1) - (1)].fun_param)->mode == FUNC_PARAM_VARIADIC))
						ereport(ERROR,
								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
								 errmsg("aggregates cannot have output arguments"),
								 parser_errposition((yylsp[(1) - (1)]))));
					(yyval.fun_param) = (yyvsp[(1) - (1)].fun_param);
				;}
    break;

  case 1036:
#line 6971 "gram.y"
    {
					(yyval.list) = list_make2(NIL, makeInteger(-1));
				;}
    break;

  case 1037:
#line 6975 "gram.y"
    {
					(yyval.list) = list_make2((yyvsp[(2) - (3)].list), makeInteger(-1));
				;}
    break;

  case 1038:
#line 6979 "gram.y"
    {
					(yyval.list) = list_make2((yyvsp[(4) - (5)].list), makeInteger(0));
				;}
    break;

  case 1039:
#line 6983 "gram.y"
    {
					/* this is the only case requiring consistency checking */
					(yyval.list) = makeOrderedSetArgs((yyvsp[(2) - (6)].list), (yyvsp[(5) - (6)].list), yyscanner);
				;}
    break;

  case 1040:
#line 6990 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param)); ;}
    break;

  case 1041:
#line 6991 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param)); ;}
    break;

  case 1042:
#line 6996 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
    break;

  case 1043:
#line 6997 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 1044:
#line 7005 "gram.y"
    {
					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(FALSE));
				;}
    break;

  case 1045:
#line 7009 "gram.y"
    {
					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE));
				;}
    break;

  case 1046:
#line 7013 "gram.y"
    {
					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE));
				;}
    break;

  case 1047:
#line 7017 "gram.y"
    {
					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"));
				;}
    break;

  case 1048:
#line 7021 "gram.y"
    {
					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"));
				;}
    break;

  case 1049:
#line 7025 "gram.y"
    {
					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"));
				;}
    break;

  case 1050:
#line 7029 "gram.y"
    {
					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE));
				;}
    break;

  case 1051:
#line 7033 "gram.y"
    {
					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE));
				;}
    break;

  case 1052:
#line 7037 "gram.y"
    {
					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE));
				;}
    break;

  case 1053:
#line 7041 "gram.y"
    {
					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE));
				;}
    break;

  case 1054:
#line 7045 "gram.y"
    {
					(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(TRUE));
				;}
    break;

  case 1055:
#line 7049 "gram.y"
    {
					(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(FALSE));
				;}
    break;

  case 1056:
#line 7053 "gram.y"
    {
					(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[(2) - (2)].value));
				;}
    break;

  case 1057:
#line 7057 "gram.y"
    {
					(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[(2) - (2)].value));
				;}
    break;

  case 1058:
#line 7061 "gram.y"
    {
					/* we abuse the normal content of a DefElem here */
					(yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[(1) - (1)].vsetstmt));
				;}
    break;

  case 1059:
#line 7069 "gram.y"
    {
					(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[(2) - (2)].list));
				;}
    break;

  case 1060:
#line 7073 "gram.y"
    {
					(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[(2) - (2)].str)));
				;}
    break;

  case 1061:
#line 7077 "gram.y"
    {
					(yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[(2) - (2)].list));
				;}
    break;

  case 1062:
#line 7081 "gram.y"
    {
					(yyval.defelt) = makeDefElem("window", (Node *)makeInteger(TRUE));
				;}
    break;

  case 1063:
#line 7085 "gram.y"
    {
					(yyval.defelt) = (yyvsp[(1) - (1)].defelt);
				;}
    break;

  case 1064:
#line 7090 "gram.y"
    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
    break;

  case 1065:
#line 7092 "gram.y"
    {
					(yyval.list) = list_make2(makeString((yyvsp[(1) - (3)].str)), makeString((yyvsp[(3) - (3)].str)));
				;}
    break;

  case 1066:
#line 7098 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(3) - (3)].typnam)); ;}
    break;

  case 1067:
#line 7099 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (5)].list), (yyvsp[(5) - (5)].typnam)); ;}
    break;

  case 1068:
#line 7103 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 1069:
#line 7104 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1070:
#line 7108 "gram.y"
    {
					FunctionParameter *n = makeNode(FunctionParameter);
					n->name = (yyvsp[(1) - (2)].str);
					n->argType = (yyvsp[(2) - (2)].typnam);
					n->mode = FUNC_PARAM_TABLE;
					n->defexpr = NULL;
					(yyval.fun_param) = n;
				;}
    break;

  case 1071:
#line 7120 "gram.y"
    {
					(yyval.list) = list_make1((yyvsp[(1) - (1)].fun_param));
				;}
    break;

  case 1072:
#line 7124 "gram.y"
    {
					(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].fun_param));
				;}
    break;

  case 1073:
#line 7139 "gram.y"
    {
					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
					n->func = (yyvsp[(3) - (5)].funwithargs);
					n->actions = (yyvsp[(4) - (5)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1074:
#line 7149 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
    break;

  case 1075:
#line 7150 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 1078:
#line 7172 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_FUNCTION;
					n->objects = list_make1((yyvsp[(3) - (5)].list));
					n->arguments = list_make1(extractArgTypes((yyvsp[(4) - (5)].list)));
					n->behavior = (yyvsp[(5) - (5)].dbehavior);
					n->missing_ok = false;
					n->concurrent = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1079:
#line 7183 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_FUNCTION;
					n->objects = list_make1((yyvsp[(5) - (7)].list));
					n->arguments = list_make1(extractArgTypes((yyvsp[(6) - (7)].list)));
					n->behavior = (yyvsp[(7) - (7)].dbehavior);
					n->missing_ok = true;
					n->concurrent = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1080:
#line 7197 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_AGGREGATE;
					n->objects = list_make1((yyvsp[(3) - (5)].list));
					n->arguments = list_make1(extractAggrArgTypes((yyvsp[(4) - (5)].list)));
					n->behavior = (yyvsp[(5) - (5)].dbehavior);
					n->missing_ok = false;
					n->concurrent = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1081:
#line 7208 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_AGGREGATE;
					n->objects = list_make1((yyvsp[(5) - (7)].list));
					n->arguments = list_make1(extractAggrArgTypes((yyvsp[(6) - (7)].list)));
					n->behavior = (yyvsp[(7) - (7)].dbehavior);
					n->missing_ok = true;
					n->concurrent = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1082:
#line 7222 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_OPERATOR;
					n->objects = list_make1((yyvsp[(3) - (5)].list));
					n->arguments = list_make1((yyvsp[(4) - (5)].list));
					n->behavior = (yyvsp[(5) - (5)].dbehavior);
					n->missing_ok = false;
					n->concurrent = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1083:
#line 7233 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_OPERATOR;
					n->objects = list_make1((yyvsp[(5) - (7)].list));
					n->arguments = list_make1((yyvsp[(6) - (7)].list));
					n->behavior = (yyvsp[(7) - (7)].dbehavior);
					n->missing_ok = true;
					n->concurrent = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1084:
#line 7247 "gram.y"
    {
				   ereport(ERROR,
						   (errcode(ERRCODE_SYNTAX_ERROR),
							errmsg("missing argument"),
							errhint("Use NONE to denote the missing argument of a unary operator."),
							parser_errposition((yylsp[(3) - (3)]))));
				;}
    break;

  case 1085:
#line 7255 "gram.y"
    { (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), (yyvsp[(4) - (5)].typnam)); ;}
    break;

  case 1086:
#line 7257 "gram.y"
    { (yyval.list) = list_make2(NULL, (yyvsp[(4) - (5)].typnam)); ;}
    break;

  case 1087:
#line 7259 "gram.y"
    { (yyval.list) = list_make2((yyvsp[(2) - (5)].typnam), NULL); ;}
    break;

  case 1088:
#line 7264 "gram.y"
    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
    break;

  case 1089:
#line 7266 "gram.y"
    { (yyval.list) = lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(3) - (3)].list)); ;}
    break;

  case 1090:
#line 7279 "gram.y"
    {
					DoStmt *n = makeNode(DoStmt);
					n->args = (yyvsp[(2) - (2)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1091:
#line 7287 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
    break;

  case 1092:
#line 7288 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 1093:
#line 7293 "gram.y"
    {
					(yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[(1) - (1)].str)));
				;}
    break;

  case 1094:
#line 7297 "gram.y"
    {
					(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[(2) - (2)].str)));
				;}
    break;

  case 1095:
#line 7310 "gram.y"
    {
					CreateCastStmt *n = makeNode(CreateCastStmt);
					n->sourcetype = (yyvsp[(4) - (11)].typnam);
					n->targettype = (yyvsp[(6) - (11)].typnam);
					n->func = (yyvsp[(10) - (11)].funwithargs);
					n->context = (CoercionContext) (yyvsp[(11) - (11)].ival);
					n->inout = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1096:
#line 7321 "gram.y"
    {
					CreateCastStmt *n = makeNode(CreateCastStmt);
					n->sourcetype = (yyvsp[(4) - (10)].typnam);
					n->targettype = (yyvsp[(6) - (10)].typnam);
					n->func = NULL;
					n->context = (CoercionContext) (yyvsp[(10) - (10)].ival);
					n->inout = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1097:
#line 7332 "gram.y"
    {
					CreateCastStmt *n = makeNode(CreateCastStmt);
					n->sourcetype = (yyvsp[(4) - (10)].typnam);
					n->targettype = (yyvsp[(6) - (10)].typnam);
					n->func = NULL;
					n->context = (CoercionContext) (yyvsp[(10) - (10)].ival);
					n->inout = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1098:
#line 7343 "gram.y"
    { (yyval.ival) = COERCION_IMPLICIT; ;}
    break;

  case 1099:
#line 7344 "gram.y"
    { (yyval.ival) = COERCION_ASSIGNMENT; ;}
    break;

  case 1100:
#line 7345 "gram.y"
    { (yyval.ival) = COERCION_EXPLICIT; ;}
    break;

  case 1101:
#line 7350 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_CAST;
					n->objects = list_make1(list_make1((yyvsp[(5) - (9)].typnam)));
					n->arguments = list_make1(list_make1((yyvsp[(7) - (9)].typnam)));
					n->behavior = (yyvsp[(9) - (9)].dbehavior);
					n->missing_ok = (yyvsp[(3) - (9)].boolean);
					n->concurrent = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1102:
#line 7362 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 1103:
#line 7363 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1104:
#line 7374 "gram.y"
    {
					CreateTransformStmt *n = makeNode(CreateTransformStmt);
					n->replace = (yyvsp[(2) - (10)].boolean);
					n->type_name = (yyvsp[(5) - (10)].typnam);
					n->lang = (yyvsp[(7) - (10)].str);
					n->fromsql = linitial((yyvsp[(9) - (10)].list));
					n->tosql = lsecond((yyvsp[(9) - (10)].list));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1105:
#line 7386 "gram.y"
    {
					(yyval.list) = list_make2((yyvsp[(5) - (11)].funwithargs), (yyvsp[(11) - (11)].funwithargs));
				;}
    break;

  case 1106:
#line 7390 "gram.y"
    {
					(yyval.list) = list_make2((yyvsp[(11) - (11)].funwithargs), (yyvsp[(5) - (11)].funwithargs));
				;}
    break;

  case 1107:
#line 7394 "gram.y"
    {
					(yyval.list) = list_make2((yyvsp[(5) - (5)].funwithargs), NULL);
				;}
    break;

  case 1108:
#line 7398 "gram.y"
    {
					(yyval.list) = list_make2(NULL, (yyvsp[(5) - (5)].funwithargs));
				;}
    break;

  case 1109:
#line 7405 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_TRANSFORM;
					n->objects = list_make1(list_make1((yyvsp[(5) - (8)].typnam)));
					n->arguments = list_make1(list_make1(makeString((yyvsp[(7) - (8)].str))));
					n->behavior = (yyvsp[(8) - (8)].dbehavior);
					n->missing_ok = (yyvsp[(3) - (8)].boolean);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1110:
#line 7426 "gram.y"
    {
					ReindexStmt *n = makeNode(ReindexStmt);
					n->kind = (yyvsp[(2) - (3)].ival);
					n->relation = (yyvsp[(3) - (3)].range);
					n->name = NULL;
					n->options = 0;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1111:
#line 7435 "gram.y"
    {
					ReindexStmt *n = makeNode(ReindexStmt);
					n->kind = (yyvsp[(2) - (3)].ival);
					n->name = (yyvsp[(3) - (3)].str);
					n->relation = NULL;
					n->options = 0;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1112:
#line 7444 "gram.y"
    {
					ReindexStmt *n = makeNode(ReindexStmt);
					n->kind = (yyvsp[(5) - (6)].ival);
					n->relation = (yyvsp[(6) - (6)].range);
					n->name = NULL;
					n->options = (yyvsp[(3) - (6)].ival);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1113:
#line 7453 "gram.y"
    {
					ReindexStmt *n = makeNode(ReindexStmt);
					n->kind = (yyvsp[(5) - (6)].ival);
					n->name = (yyvsp[(6) - (6)].str);
					n->relation = NULL;
					n->options = (yyvsp[(3) - (6)].ival);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1114:
#line 7463 "gram.y"
    { (yyval.ival) = REINDEX_OBJECT_INDEX; ;}
    break;

  case 1115:
#line 7464 "gram.y"
    { (yyval.ival) = REINDEX_OBJECT_TABLE; ;}
    break;

  case 1116:
#line 7467 "gram.y"
    { (yyval.ival) = REINDEX_OBJECT_SCHEMA; ;}
    break;

  case 1117:
#line 7468 "gram.y"
    { (yyval.ival) = REINDEX_OBJECT_SYSTEM; ;}
    break;

  case 1118:
#line 7469 "gram.y"
    { (yyval.ival) = REINDEX_OBJECT_DATABASE; ;}
    break;

  case 1119:
#line 7472 "gram.y"
    { (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
    break;

  case 1120:
#line 7473 "gram.y"
    { (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); ;}
    break;

  case 1121:
#line 7476 "gram.y"
    { (yyval.ival) = REINDEXOPT_VERBOSE; ;}
    break;

  case 1122:
#line 7487 "gram.y"
    {
					AlterTableSpaceOptionsStmt *n =
						makeNode(AlterTableSpaceOptionsStmt);
					n->tablespacename = (yyvsp[(3) - (5)].str);
					n->options = (yyvsp[(5) - (5)].list);
					n->isReset = FALSE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1123:
#line 7496 "gram.y"
    {
					AlterTableSpaceOptionsStmt *n =
						makeNode(AlterTableSpaceOptionsStmt);
					n->tablespacename = (yyvsp[(3) - (5)].str);
					n->options = (yyvsp[(5) - (5)].list);
					n->isReset = TRUE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1124:
#line 7513 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_AGGREGATE;
					n->object = (yyvsp[(3) - (7)].list);
					n->objarg = extractAggrArgTypes((yyvsp[(4) - (7)].list));
					n->newname = (yyvsp[(7) - (7)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1125:
#line 7523 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_COLLATION;
					n->object = (yyvsp[(3) - (6)].list);
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1126:
#line 7532 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_CONVERSION;
					n->object = (yyvsp[(3) - (6)].list);
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1127:
#line 7541 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_DATABASE;
					n->subname = (yyvsp[(3) - (6)].str);
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1128:
#line 7550 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_DOMAIN;
					n->object = (yyvsp[(3) - (6)].list);
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1129:
#line 7559 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_DOMCONSTRAINT;
					n->object = (yyvsp[(3) - (8)].list);
					n->subname = (yyvsp[(6) - (8)].str);
					n->newname = (yyvsp[(8) - (8)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1130:
#line 7568 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_FDW;
					n->object = list_make1(makeString((yyvsp[(5) - (8)].str)));
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1131:
#line 7577 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_FUNCTION;
					n->object = (yyvsp[(3) - (6)].funwithargs)->funcname;
					n->objarg = (yyvsp[(3) - (6)].funwithargs)->funcargs;
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1132:
#line 7587 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_ROLE;
					n->subname = (yyvsp[(3) - (6)].str);
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1133:
#line 7596 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_LANGUAGE;
					n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
					n->newname = (yyvsp[(7) - (7)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1134:
#line 7605 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_OPCLASS;
					n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
					n->newname = (yyvsp[(9) - (9)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1135:
#line 7614 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_OPFAMILY;
					n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
					n->newname = (yyvsp[(9) - (9)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1136:
#line 7623 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_POLICY;
					n->relation = (yyvsp[(5) - (8)].range);
					n->subname = (yyvsp[(3) - (8)].str);
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1137:
#line 7633 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_POLICY;
					n->relation = (yyvsp[(7) - (10)].range);
					n->subname = (yyvsp[(5) - (10)].str);
					n->newname = (yyvsp[(10) - (10)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1138:
#line 7643 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_SCHEMA;
					n->subname = (yyvsp[(3) - (6)].str);
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1139:
#line 7652 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_FOREIGN_SERVER;
					n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1140:
#line 7661 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_TABLE;
					n->relation = (yyvsp[(3) - (6)].range);
					n->subname = NULL;
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1141:
#line 7671 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_TABLE;
					n->relation = (yyvsp[(5) - (8)].range);
					n->subname = NULL;
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1142:
#line 7681 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_SEQUENCE;
					n->relation = (yyvsp[(3) - (6)].range);
					n->subname = NULL;
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1143:
#line 7691 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_SEQUENCE;
					n->relation = (yyvsp[(5) - (8)].range);
					n->subname = NULL;
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1144:
#line 7701 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_VIEW;
					n->relation = (yyvsp[(3) - (6)].range);
					n->subname = NULL;
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1145:
#line 7711 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_VIEW;
					n->relation = (yyvsp[(5) - (8)].range);
					n->subname = NULL;
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1146:
#line 7721 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_MATVIEW;
					n->relation = (yyvsp[(4) - (7)].range);
					n->subname = NULL;
					n->newname = (yyvsp[(7) - (7)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1147:
#line 7731 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_MATVIEW;
					n->relation = (yyvsp[(6) - (9)].range);
					n->subname = NULL;
					n->newname = (yyvsp[(9) - (9)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1148:
#line 7741 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_INDEX;
					n->relation = (yyvsp[(3) - (6)].range);
					n->subname = NULL;
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1149:
#line 7751 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_INDEX;
					n->relation = (yyvsp[(5) - (8)].range);
					n->subname = NULL;
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1150:
#line 7761 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_FOREIGN_TABLE;
					n->relation = (yyvsp[(4) - (7)].range);
					n->subname = NULL;
					n->newname = (yyvsp[(7) - (7)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1151:
#line 7771 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_FOREIGN_TABLE;
					n->relation = (yyvsp[(6) - (9)].range);
					n->subname = NULL;
					n->newname = (yyvsp[(9) - (9)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1152:
#line 7781 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_COLUMN;
					n->relationType = OBJECT_TABLE;
					n->relation = (yyvsp[(3) - (8)].range);
					n->subname = (yyvsp[(6) - (8)].str);
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1153:
#line 7792 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_COLUMN;
					n->relationType = OBJECT_TABLE;
					n->relation = (yyvsp[(5) - (10)].range);
					n->subname = (yyvsp[(8) - (10)].str);
					n->newname = (yyvsp[(10) - (10)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1154:
#line 7803 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_COLUMN;
					n->relationType = OBJECT_MATVIEW;
					n->relation = (yyvsp[(4) - (9)].range);
					n->subname = (yyvsp[(7) - (9)].str);
					n->newname = (yyvsp[(9) - (9)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1155:
#line 7814 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_COLUMN;
					n->relationType = OBJECT_MATVIEW;
					n->relation = (yyvsp[(6) - (11)].range);
					n->subname = (yyvsp[(9) - (11)].str);
					n->newname = (yyvsp[(11) - (11)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1156:
#line 7825 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_TABCONSTRAINT;
					n->relation = (yyvsp[(3) - (8)].range);
					n->subname = (yyvsp[(6) - (8)].str);
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1157:
#line 7835 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_TABCONSTRAINT;
					n->relation = (yyvsp[(5) - (10)].range);
					n->subname = (yyvsp[(8) - (10)].str);
					n->newname = (yyvsp[(10) - (10)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1158:
#line 7845 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_COLUMN;
					n->relationType = OBJECT_FOREIGN_TABLE;
					n->relation = (yyvsp[(4) - (9)].range);
					n->subname = (yyvsp[(7) - (9)].str);
					n->newname = (yyvsp[(9) - (9)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1159:
#line 7856 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_COLUMN;
					n->relationType = OBJECT_FOREIGN_TABLE;
					n->relation = (yyvsp[(6) - (11)].range);
					n->subname = (yyvsp[(9) - (11)].str);
					n->newname = (yyvsp[(11) - (11)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1160:
#line 7867 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_RULE;
					n->relation = (yyvsp[(5) - (8)].range);
					n->subname = (yyvsp[(3) - (8)].str);
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1161:
#line 7877 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_TRIGGER;
					n->relation = (yyvsp[(5) - (8)].range);
					n->subname = (yyvsp[(3) - (8)].str);
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1162:
#line 7887 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_EVENT_TRIGGER;
					n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
					n->newname = (yyvsp[(7) - (7)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1163:
#line 7895 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_ROLE;
					n->subname = (yyvsp[(3) - (6)].str);
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1164:
#line 7904 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_ROLE;
					n->subname = (yyvsp[(3) - (6)].str);
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1165:
#line 7913 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_TABLESPACE;
					n->subname = (yyvsp[(3) - (6)].str);
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1166:
#line 7922 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_TSPARSER;
					n->object = (yyvsp[(5) - (8)].list);
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1167:
#line 7931 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_TSDICTIONARY;
					n->object = (yyvsp[(5) - (8)].list);
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1168:
#line 7940 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_TSTEMPLATE;
					n->object = (yyvsp[(5) - (8)].list);
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1169:
#line 7949 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_TSCONFIGURATION;
					n->object = (yyvsp[(5) - (8)].list);
					n->newname = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1170:
#line 7958 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_TYPE;
					n->object = (yyvsp[(3) - (6)].list);
					n->newname = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1171:
#line 7967 "gram.y"
    {
					RenameStmt *n = makeNode(RenameStmt);
					n->renameType = OBJECT_ATTRIBUTE;
					n->relationType = OBJECT_TYPE;
					n->relation = makeRangeVarFromAnyName((yyvsp[(3) - (9)].list), (yylsp[(3) - (9)]), yyscanner);
					n->subname = (yyvsp[(6) - (9)].str);
					n->newname = (yyvsp[(8) - (9)].str);
					n->behavior = (yyvsp[(9) - (9)].dbehavior);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1172:
#line 7980 "gram.y"
    { (yyval.ival) = COLUMN; ;}
    break;

  case 1173:
#line 7981 "gram.y"
    { (yyval.ival) = 0; ;}
    break;

  case 1174:
#line 7984 "gram.y"
    { (yyval.ival) = 1; ;}
    break;

  case 1175:
#line 7985 "gram.y"
    { (yyval.ival) = 0; ;}
    break;

  case 1176:
#line 7996 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_AGGREGATE;
					n->object = (yyvsp[(3) - (7)].list);
					n->objarg = extractAggrArgTypes((yyvsp[(4) - (7)].list));
					n->newschema = (yyvsp[(7) - (7)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1177:
#line 8006 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_COLLATION;
					n->object = (yyvsp[(3) - (6)].list);
					n->newschema = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1178:
#line 8015 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_CONVERSION;
					n->object = (yyvsp[(3) - (6)].list);
					n->newschema = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1179:
#line 8024 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_DOMAIN;
					n->object = (yyvsp[(3) - (6)].list);
					n->newschema = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1180:
#line 8033 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_EXTENSION;
					n->object = (yyvsp[(3) - (6)].list);
					n->newschema = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1181:
#line 8042 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_FUNCTION;
					n->object = (yyvsp[(3) - (6)].funwithargs)->funcname;
					n->objarg = (yyvsp[(3) - (6)].funwithargs)->funcargs;
					n->newschema = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1182:
#line 8052 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_OPERATOR;
					n->object = (yyvsp[(3) - (7)].list);
					n->objarg = (yyvsp[(4) - (7)].list);
					n->newschema = (yyvsp[(7) - (7)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1183:
#line 8062 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_OPCLASS;
					n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
					n->newschema = (yyvsp[(9) - (9)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1184:
#line 8071 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_OPFAMILY;
					n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
					n->newschema = (yyvsp[(9) - (9)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1185:
#line 8080 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_TABLE;
					n->relation = (yyvsp[(3) - (6)].range);
					n->newschema = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1186:
#line 8089 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_TABLE;
					n->relation = (yyvsp[(5) - (8)].range);
					n->newschema = (yyvsp[(8) - (8)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1187:
#line 8098 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_TSPARSER;
					n->object = (yyvsp[(5) - (8)].list);
					n->newschema = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1188:
#line 8107 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_TSDICTIONARY;
					n->object = (yyvsp[(5) - (8)].list);
					n->newschema = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1189:
#line 8116 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_TSTEMPLATE;
					n->object = (yyvsp[(5) - (8)].list);
					n->newschema = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1190:
#line 8125 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_TSCONFIGURATION;
					n->object = (yyvsp[(5) - (8)].list);
					n->newschema = (yyvsp[(8) - (8)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1191:
#line 8134 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_SEQUENCE;
					n->relation = (yyvsp[(3) - (6)].range);
					n->newschema = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1192:
#line 8143 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_SEQUENCE;
					n->relation = (yyvsp[(5) - (8)].range);
					n->newschema = (yyvsp[(8) - (8)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1193:
#line 8152 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_VIEW;
					n->relation = (yyvsp[(3) - (6)].range);
					n->newschema = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1194:
#line 8161 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_VIEW;
					n->relation = (yyvsp[(5) - (8)].range);
					n->newschema = (yyvsp[(8) - (8)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1195:
#line 8170 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_MATVIEW;
					n->relation = (yyvsp[(4) - (7)].range);
					n->newschema = (yyvsp[(7) - (7)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1196:
#line 8179 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_MATVIEW;
					n->relation = (yyvsp[(6) - (9)].range);
					n->newschema = (yyvsp[(9) - (9)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1197:
#line 8188 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_FOREIGN_TABLE;
					n->relation = (yyvsp[(4) - (7)].range);
					n->newschema = (yyvsp[(7) - (7)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1198:
#line 8197 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_FOREIGN_TABLE;
					n->relation = (yyvsp[(6) - (9)].range);
					n->newschema = (yyvsp[(9) - (9)].str);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1199:
#line 8206 "gram.y"
    {
					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
					n->objectType = OBJECT_TYPE;
					n->object = (yyvsp[(3) - (6)].list);
					n->newschema = (yyvsp[(6) - (6)].str);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1200:
#line 8223 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_AGGREGATE;
					n->object = (yyvsp[(3) - (7)].list);
					n->objarg = extractAggrArgTypes((yyvsp[(4) - (7)].list));
					n->newowner = (yyvsp[(7) - (7)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1201:
#line 8232 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_COLLATION;
					n->object = (yyvsp[(3) - (6)].list);
					n->newowner = (yyvsp[(6) - (6)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1202:
#line 8240 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_CONVERSION;
					n->object = (yyvsp[(3) - (6)].list);
					n->newowner = (yyvsp[(6) - (6)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1203:
#line 8248 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_DATABASE;
					n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
					n->newowner = (yyvsp[(6) - (6)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1204:
#line 8256 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_DOMAIN;
					n->object = (yyvsp[(3) - (6)].list);
					n->newowner = (yyvsp[(6) - (6)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1205:
#line 8264 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_FUNCTION;
					n->object = (yyvsp[(3) - (6)].funwithargs)->funcname;
					n->objarg = (yyvsp[(3) - (6)].funwithargs)->funcargs;
					n->newowner = (yyvsp[(6) - (6)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1206:
#line 8273 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_LANGUAGE;
					n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
					n->newowner = (yyvsp[(7) - (7)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1207:
#line 8281 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_LARGEOBJECT;
					n->object = list_make1((yyvsp[(4) - (7)].value));
					n->newowner = (yyvsp[(7) - (7)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1208:
#line 8289 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_OPERATOR;
					n->object = (yyvsp[(3) - (7)].list);
					n->objarg = (yyvsp[(4) - (7)].list);
					n->newowner = (yyvsp[(7) - (7)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1209:
#line 8298 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_OPCLASS;
					n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
					n->newowner = (yyvsp[(9) - (9)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1210:
#line 8306 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_OPFAMILY;
					n->object = lcons(makeString((yyvsp[(6) - (9)].str)), (yyvsp[(4) - (9)].list));
					n->newowner = (yyvsp[(9) - (9)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1211:
#line 8314 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_SCHEMA;
					n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
					n->newowner = (yyvsp[(6) - (6)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1212:
#line 8322 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_TYPE;
					n->object = (yyvsp[(3) - (6)].list);
					n->newowner = (yyvsp[(6) - (6)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1213:
#line 8330 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_TABLESPACE;
					n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
					n->newowner = (yyvsp[(6) - (6)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1214:
#line 8338 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_TSDICTIONARY;
					n->object = (yyvsp[(5) - (8)].list);
					n->newowner = (yyvsp[(8) - (8)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1215:
#line 8346 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_TSCONFIGURATION;
					n->object = (yyvsp[(5) - (8)].list);
					n->newowner = (yyvsp[(8) - (8)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1216:
#line 8354 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_FDW;
					n->object = list_make1(makeString((yyvsp[(5) - (8)].str)));
					n->newowner = (yyvsp[(8) - (8)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1217:
#line 8362 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_FOREIGN_SERVER;
					n->object = list_make1(makeString((yyvsp[(3) - (6)].str)));
					n->newowner = (yyvsp[(6) - (6)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1218:
#line 8370 "gram.y"
    {
					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
					n->objectType = OBJECT_EVENT_TRIGGER;
					n->object = list_make1(makeString((yyvsp[(4) - (7)].str)));
					n->newowner = (yyvsp[(7) - (7)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1219:
#line 8389 "gram.y"
    {
					RuleStmt *n = makeNode(RuleStmt);
					n->replace = (yyvsp[(2) - (13)].boolean);
					n->relation = (yyvsp[(9) - (13)].range);
					n->rulename = (yyvsp[(4) - (13)].str);
					n->whereClause = (yyvsp[(10) - (13)].node);
					n->event = (yyvsp[(7) - (13)].ival);
					n->instead = (yyvsp[(12) - (13)].boolean);
					n->actions = (yyvsp[(13) - (13)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1220:
#line 8403 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1221:
#line 8404 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 1222:
#line 8405 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 1223:
#line 8411 "gram.y"
    { if ((yyvsp[(3) - (3)].node) != NULL)
					(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
				  else
					(yyval.list) = (yyvsp[(1) - (3)].list);
				;}
    break;

  case 1224:
#line 8417 "gram.y"
    { if ((yyvsp[(1) - (1)].node) != NULL)
					(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
				  else
					(yyval.list) = NIL;
				;}
    break;

  case 1230:
#line 8433 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1231:
#line 8434 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 1232:
#line 8437 "gram.y"
    { (yyval.ival) = CMD_SELECT; ;}
    break;

  case 1233:
#line 8438 "gram.y"
    { (yyval.ival) = CMD_UPDATE; ;}
    break;

  case 1234:
#line 8439 "gram.y"
    { (yyval.ival) = CMD_DELETE; ;}
    break;

  case 1235:
#line 8440 "gram.y"
    { (yyval.ival) = CMD_INSERT; ;}
    break;

  case 1236:
#line 8444 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 1237:
#line 8445 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1238:
#line 8446 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1239:
#line 8452 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_RULE;
					n->objects = list_make1(lappend((yyvsp[(5) - (6)].list), makeString((yyvsp[(3) - (6)].str))));
					n->arguments = NIL;
					n->behavior = (yyvsp[(6) - (6)].dbehavior);
					n->missing_ok = false;
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1240:
#line 8463 "gram.y"
    {
					DropStmt *n = makeNode(DropStmt);
					n->removeType = OBJECT_RULE;
					n->objects = list_make1(lappend((yyvsp[(7) - (8)].list), makeString((yyvsp[(5) - (8)].str))));
					n->arguments = NIL;
					n->behavior = (yyvsp[(8) - (8)].dbehavior);
					n->missing_ok = true;
					n->concurrent = false;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1241:
#line 8485 "gram.y"
    {
					NotifyStmt *n = makeNode(NotifyStmt);
					n->conditionname = (yyvsp[(2) - (3)].str);
					n->payload = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1242:
#line 8494 "gram.y"
    { (yyval.str) = (yyvsp[(2) - (2)].str); ;}
    break;

  case 1243:
#line 8495 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 1244:
#line 8499 "gram.y"
    {
					ListenStmt *n = makeNode(ListenStmt);
					n->conditionname = (yyvsp[(2) - (2)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1245:
#line 8508 "gram.y"
    {
					UnlistenStmt *n = makeNode(UnlistenStmt);
					n->conditionname = (yyvsp[(2) - (2)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1246:
#line 8514 "gram.y"
    {
					UnlistenStmt *n = makeNode(UnlistenStmt);
					n->conditionname = NULL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1247:
#line 8533 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_ROLLBACK;
					n->options = NIL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1248:
#line 8540 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_BEGIN;
					n->options = (yyvsp[(3) - (3)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1249:
#line 8547 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_START;
					n->options = (yyvsp[(3) - (3)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1250:
#line 8554 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_COMMIT;
					n->options = NIL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1251:
#line 8561 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_COMMIT;
					n->options = NIL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1252:
#line 8568 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_ROLLBACK;
					n->options = NIL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1253:
#line 8575 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_SAVEPOINT;
					n->options = list_make1(makeDefElem("savepoint_name",
														(Node *)makeString((yyvsp[(2) - (2)].str))));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1254:
#line 8583 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_RELEASE;
					n->options = list_make1(makeDefElem("savepoint_name",
														(Node *)makeString((yyvsp[(3) - (3)].str))));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1255:
#line 8591 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_RELEASE;
					n->options = list_make1(makeDefElem("savepoint_name",
														(Node *)makeString((yyvsp[(2) - (2)].str))));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1256:
#line 8599 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_ROLLBACK_TO;
					n->options = list_make1(makeDefElem("savepoint_name",
														(Node *)makeString((yyvsp[(5) - (5)].str))));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1257:
#line 8607 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_ROLLBACK_TO;
					n->options = list_make1(makeDefElem("savepoint_name",
														(Node *)makeString((yyvsp[(4) - (4)].str))));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1258:
#line 8615 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_PREPARE;
					n->gid = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1259:
#line 8622 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_COMMIT_PREPARED;
					n->gid = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1260:
#line 8629 "gram.y"
    {
					TransactionStmt *n = makeNode(TransactionStmt);
					n->kind = TRANS_STMT_ROLLBACK_PREPARED;
					n->gid = (yyvsp[(3) - (3)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1261:
#line 8637 "gram.y"
    {;}
    break;

  case 1262:
#line 8638 "gram.y"
    {;}
    break;

  case 1263:
#line 8639 "gram.y"
    {;}
    break;

  case 1264:
#line 8644 "gram.y"
    { (yyval.defelt) = makeDefElem("transaction_isolation",
									   makeStringConst((yyvsp[(3) - (3)].str), (yylsp[(3) - (3)]))); ;}
    break;

  case 1265:
#line 8647 "gram.y"
    { (yyval.defelt) = makeDefElem("transaction_read_only",
									   makeIntConst(TRUE, (yylsp[(1) - (2)]))); ;}
    break;

  case 1266:
#line 8650 "gram.y"
    { (yyval.defelt) = makeDefElem("transaction_read_only",
									   makeIntConst(FALSE, (yylsp[(1) - (2)]))); ;}
    break;

  case 1267:
#line 8653 "gram.y"
    { (yyval.defelt) = makeDefElem("transaction_deferrable",
									   makeIntConst(TRUE, (yylsp[(1) - (1)]))); ;}
    break;

  case 1268:
#line 8656 "gram.y"
    { (yyval.defelt) = makeDefElem("transaction_deferrable",
									   makeIntConst(FALSE, (yylsp[(1) - (2)]))); ;}
    break;

  case 1269:
#line 8663 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
    break;

  case 1270:
#line 8665 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt)); ;}
    break;

  case 1271:
#line 8667 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 1273:
#line 8673 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1274:
#line 8687 "gram.y"
    {
					ViewStmt *n = makeNode(ViewStmt);
					n->view = (yyvsp[(4) - (9)].range);
					n->view->relpersistence = (yyvsp[(2) - (9)].ival);
					n->aliases = (yyvsp[(5) - (9)].list);
					n->query = (yyvsp[(8) - (9)].node);
					n->replace = false;
					n->options = (yyvsp[(6) - (9)].list);
					n->withCheckOption = (yyvsp[(9) - (9)].ival);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1275:
#line 8700 "gram.y"
    {
					ViewStmt *n = makeNode(ViewStmt);
					n->view = (yyvsp[(6) - (11)].range);
					n->view->relpersistence = (yyvsp[(4) - (11)].ival);
					n->aliases = (yyvsp[(7) - (11)].list);
					n->query = (yyvsp[(10) - (11)].node);
					n->replace = true;
					n->options = (yyvsp[(8) - (11)].list);
					n->withCheckOption = (yyvsp[(11) - (11)].ival);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1276:
#line 8713 "gram.y"
    {
					ViewStmt *n = makeNode(ViewStmt);
					n->view = (yyvsp[(5) - (12)].range);
					n->view->relpersistence = (yyvsp[(2) - (12)].ival);
					n->aliases = (yyvsp[(7) - (12)].list);
					n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[(11) - (12)].node));
					n->replace = false;
					n->options = (yyvsp[(9) - (12)].list);
					n->withCheckOption = (yyvsp[(12) - (12)].ival);
					if (n->withCheckOption != NO_CHECK_OPTION)
						ereport(ERROR,
								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
								 errmsg("WITH CHECK OPTION not supported on recursive views"),
								 parser_errposition((yylsp[(12) - (12)]))));
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1277:
#line 8731 "gram.y"
    {
					ViewStmt *n = makeNode(ViewStmt);
					n->view = (yyvsp[(7) - (14)].range);
					n->view->relpersistence = (yyvsp[(4) - (14)].ival);
					n->aliases = (yyvsp[(9) - (14)].list);
					n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[(13) - (14)].node));
					n->replace = true;
					n->options = (yyvsp[(11) - (14)].list);
					n->withCheckOption = (yyvsp[(14) - (14)].ival);
					if (n->withCheckOption != NO_CHECK_OPTION)
						ereport(ERROR,
								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
								 errmsg("WITH CHECK OPTION not supported on recursive views"),
								 parser_errposition((yylsp[(14) - (14)]))));
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1278:
#line 8750 "gram.y"
    { (yyval.ival) = CASCADED_CHECK_OPTION; ;}
    break;

  case 1279:
#line 8751 "gram.y"
    { (yyval.ival) = CASCADED_CHECK_OPTION; ;}
    break;

  case 1280:
#line 8752 "gram.y"
    { (yyval.ival) = LOCAL_CHECK_OPTION; ;}
    break;

  case 1281:
#line 8753 "gram.y"
    { (yyval.ival) = NO_CHECK_OPTION; ;}
    break;

  case 1282:
#line 8764 "gram.y"
    {
					LoadStmt *n = makeNode(LoadStmt);
					n->filename = (yyvsp[(2) - (2)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1283:
#line 8780 "gram.y"
    {
					CreatedbStmt *n = makeNode(CreatedbStmt);
					n->dbname = (yyvsp[(3) - (5)].str);
					n->options = (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1284:
#line 8789 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 1285:
#line 8790 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1286:
#line 8794 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].defelt)); ;}
    break;

  case 1287:
#line 8795 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].defelt)); ;}
    break;

  case 1288:
#line 8800 "gram.y"
    {
					(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)makeInteger((yyvsp[(3) - (3)].ival)));
				;}
    break;

  case 1289:
#line 8804 "gram.y"
    {
					(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), (Node *)makeString((yyvsp[(3) - (3)].str)));
				;}
    break;

  case 1290:
#line 8808 "gram.y"
    {
					(yyval.defelt) = makeDefElem((yyvsp[(1) - (3)].str), NULL);
				;}
    break;

  case 1291:
#line 8825 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 1292:
#line 8826 "gram.y"
    { (yyval.str) = pstrdup("connection_limit"); ;}
    break;

  case 1293:
#line 8827 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 1294:
#line 8828 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 1295:
#line 8829 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 1296:
#line 8830 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 1297:
#line 8831 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 1298:
#line 8838 "gram.y"
    {;}
    break;

  case 1299:
#line 8839 "gram.y"
    {;}
    break;

  case 1300:
#line 8851 "gram.y"
    {
					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
					n->dbname = (yyvsp[(3) - (5)].str);
					n->options = (yyvsp[(5) - (5)].list);
					(yyval.node) = (Node *)n;
				 ;}
    break;

  case 1301:
#line 8858 "gram.y"
    {
					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
					n->dbname = (yyvsp[(3) - (4)].str);
					n->options = (yyvsp[(4) - (4)].list);
					(yyval.node) = (Node *)n;
				 ;}
    break;

  case 1302:
#line 8865 "gram.y"
    {
					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
					n->dbname = (yyvsp[(3) - (6)].str);
					n->options = list_make1(makeDefElem("tablespace",
													(Node *)makeString((yyvsp[(6) - (6)].str))));
					(yyval.node) = (Node *)n;
				 ;}
    break;

  case 1303:
#line 8876 "gram.y"
    {
					AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
					n->dbname = (yyvsp[(3) - (4)].str);
					n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1304:
#line 8893 "gram.y"
    {
					DropdbStmt *n = makeNode(DropdbStmt);
					n->dbname = (yyvsp[(3) - (3)].str);
					n->missing_ok = FALSE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1305:
#line 8900 "gram.y"
    {
					DropdbStmt *n = makeNode(DropdbStmt);
					n->dbname = (yyvsp[(5) - (5)].str);
					n->missing_ok = TRUE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1306:
#line 8918 "gram.y"
    {
					AlterSystemStmt *n = makeNode(AlterSystemStmt);
					n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1307:
#line 8924 "gram.y"
    {
					AlterSystemStmt *n = makeNode(AlterSystemStmt);
					n->setstmt = (yyvsp[(4) - (4)].vsetstmt);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1308:
#line 8940 "gram.y"
    {
					CreateDomainStmt *n = makeNode(CreateDomainStmt);
					n->domainname = (yyvsp[(3) - (6)].list);
					n->typeName = (yyvsp[(5) - (6)].typnam);
					SplitColQualList((yyvsp[(6) - (6)].list), &n->constraints, &n->collClause,
									 yyscanner);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1309:
#line 8953 "gram.y"
    {
					AlterDomainStmt *n = makeNode(AlterDomainStmt);
					n->subtype = 'T';
					n->typeName = (yyvsp[(3) - (4)].list);
					n->def = (yyvsp[(4) - (4)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1310:
#line 8962 "gram.y"
    {
					AlterDomainStmt *n = makeNode(AlterDomainStmt);
					n->subtype = 'N';
					n->typeName = (yyvsp[(3) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1311:
#line 8970 "gram.y"
    {
					AlterDomainStmt *n = makeNode(AlterDomainStmt);
					n->subtype = 'O';
					n->typeName = (yyvsp[(3) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1312:
#line 8978 "gram.y"
    {
					AlterDomainStmt *n = makeNode(AlterDomainStmt);
					n->subtype = 'C';
					n->typeName = (yyvsp[(3) - (5)].list);
					n->def = (yyvsp[(5) - (5)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1313:
#line 8987 "gram.y"
    {
					AlterDomainStmt *n = makeNode(AlterDomainStmt);
					n->subtype = 'X';
					n->typeName = (yyvsp[(3) - (7)].list);
					n->name = (yyvsp[(6) - (7)].str);
					n->behavior = (yyvsp[(7) - (7)].dbehavior);
					n->missing_ok = false;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1314:
#line 8998 "gram.y"
    {
					AlterDomainStmt *n = makeNode(AlterDomainStmt);
					n->subtype = 'X';
					n->typeName = (yyvsp[(3) - (9)].list);
					n->name = (yyvsp[(8) - (9)].str);
					n->behavior = (yyvsp[(9) - (9)].dbehavior);
					n->missing_ok = true;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1315:
#line 9009 "gram.y"
    {
					AlterDomainStmt *n = makeNode(AlterDomainStmt);
					n->subtype = 'V';
					n->typeName = (yyvsp[(3) - (6)].list);
					n->name = (yyvsp[(6) - (6)].str);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1316:
#line 9018 "gram.y"
    {;}
    break;

  case 1317:
#line 9019 "gram.y"
    {;}
    break;

  case 1318:
#line 9031 "gram.y"
    {
					AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
					n->dictname = (yyvsp[(5) - (6)].list);
					n->options = (yyvsp[(6) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1319:
#line 9041 "gram.y"
    {
					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
					n->kind = ALTER_TSCONFIG_ADD_MAPPING;
					n->cfgname = (yyvsp[(5) - (11)].list);
					n->tokentype = (yyvsp[(9) - (11)].list);
					n->dicts = (yyvsp[(11) - (11)].list);
					n->override = false;
					n->replace = false;
					(yyval.node) = (Node*)n;
				;}
    break;

  case 1320:
#line 9052 "gram.y"
    {
					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
					n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
					n->cfgname = (yyvsp[(5) - (11)].list);
					n->tokentype = (yyvsp[(9) - (11)].list);
					n->dicts = (yyvsp[(11) - (11)].list);
					n->override = true;
					n->replace = false;
					(yyval.node) = (Node*)n;
				;}
    break;

  case 1321:
#line 9063 "gram.y"
    {
					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
					n->kind = ALTER_TSCONFIG_REPLACE_DICT;
					n->cfgname = (yyvsp[(5) - (11)].list);
					n->tokentype = NIL;
					n->dicts = list_make2((yyvsp[(9) - (11)].list),(yyvsp[(11) - (11)].list));
					n->override = false;
					n->replace = true;
					(yyval.node) = (Node*)n;
				;}
    break;

  case 1322:
#line 9074 "gram.y"
    {
					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
					n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
					n->cfgname = (yyvsp[(5) - (13)].list);
					n->tokentype = (yyvsp[(9) - (13)].list);
					n->dicts = list_make2((yyvsp[(11) - (13)].list),(yyvsp[(13) - (13)].list));
					n->override = false;
					n->replace = true;
					(yyval.node) = (Node*)n;
				;}
    break;

  case 1323:
#line 9085 "gram.y"
    {
					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
					n->kind = ALTER_TSCONFIG_DROP_MAPPING;
					n->cfgname = (yyvsp[(5) - (9)].list);
					n->tokentype = (yyvsp[(9) - (9)].list);
					n->missing_ok = false;
					(yyval.node) = (Node*)n;
				;}
    break;

  case 1324:
#line 9094 "gram.y"
    {
					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
					n->kind = ALTER_TSCONFIG_DROP_MAPPING;
					n->cfgname = (yyvsp[(5) - (11)].list);
					n->tokentype = (yyvsp[(11) - (11)].list);
					n->missing_ok = true;
					(yyval.node) = (Node*)n;
				;}
    break;

  case 1325:
#line 9105 "gram.y"
    {;}
    break;

  case 1326:
#line 9106 "gram.y"
    {;}
    break;

  case 1327:
#line 9122 "gram.y"
    {
				CreateConversionStmt *n = makeNode(CreateConversionStmt);
				n->conversion_name = (yyvsp[(4) - (10)].list);
				n->for_encoding_name = (yyvsp[(6) - (10)].str);
				n->to_encoding_name = (yyvsp[(8) - (10)].str);
				n->func_name = (yyvsp[(10) - (10)].list);
				n->def = (yyvsp[(2) - (10)].boolean);
				(yyval.node) = (Node *)n;
			;}
    break;

  case 1328:
#line 9144 "gram.y"
    {
					ClusterStmt *n = makeNode(ClusterStmt);
					n->relation = (yyvsp[(3) - (4)].range);
					n->indexname = (yyvsp[(4) - (4)].str);
					n->verbose = (yyvsp[(2) - (4)].boolean);
					(yyval.node) = (Node*)n;
				;}
    break;

  case 1329:
#line 9152 "gram.y"
    {
					ClusterStmt *n = makeNode(ClusterStmt);
					n->relation = NULL;
					n->indexname = NULL;
					n->verbose = (yyvsp[(2) - (2)].boolean);
					(yyval.node) = (Node*)n;
				;}
    break;

  case 1330:
#line 9161 "gram.y"
    {
					ClusterStmt *n = makeNode(ClusterStmt);
					n->relation = (yyvsp[(5) - (5)].range);
					n->indexname = (yyvsp[(3) - (5)].str);
					n->verbose = (yyvsp[(2) - (5)].boolean);
					(yyval.node) = (Node*)n;
				;}
    break;

  case 1331:
#line 9171 "gram.y"
    { (yyval.str) = (yyvsp[(2) - (2)].str); ;}
    break;

  case 1332:
#line 9172 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 1333:
#line 9185 "gram.y"
    {
					VacuumStmt *n = makeNode(VacuumStmt);
					n->options = VACOPT_VACUUM;
					if ((yyvsp[(2) - (4)].boolean))
						n->options |= VACOPT_FULL;
					if ((yyvsp[(3) - (4)].boolean))
						n->options |= VACOPT_FREEZE;
					if ((yyvsp[(4) - (4)].boolean))
						n->options |= VACOPT_VERBOSE;
					n->relation = NULL;
					n->va_cols = NIL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1334:
#line 9199 "gram.y"
    {
					VacuumStmt *n = makeNode(VacuumStmt);
					n->options = VACOPT_VACUUM;
					if ((yyvsp[(2) - (5)].boolean))
						n->options |= VACOPT_FULL;
					if ((yyvsp[(3) - (5)].boolean))
						n->options |= VACOPT_FREEZE;
					if ((yyvsp[(4) - (5)].boolean))
						n->options |= VACOPT_VERBOSE;
					n->relation = (yyvsp[(5) - (5)].range);
					n->va_cols = NIL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1335:
#line 9213 "gram.y"
    {
					VacuumStmt *n = (VacuumStmt *) (yyvsp[(5) - (5)].node);
					n->options |= VACOPT_VACUUM;
					if ((yyvsp[(2) - (5)].boolean))
						n->options |= VACOPT_FULL;
					if ((yyvsp[(3) - (5)].boolean))
						n->options |= VACOPT_FREEZE;
					if ((yyvsp[(4) - (5)].boolean))
						n->options |= VACOPT_VERBOSE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1336:
#line 9225 "gram.y"
    {
					VacuumStmt *n = makeNode(VacuumStmt);
					n->options = VACOPT_VACUUM | (yyvsp[(3) - (4)].ival);
					n->relation = NULL;
					n->va_cols = NIL;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1337:
#line 9233 "gram.y"
    {
					VacuumStmt *n = makeNode(VacuumStmt);
					n->options = VACOPT_VACUUM | (yyvsp[(3) - (6)].ival);
					n->relation = (yyvsp[(5) - (6)].range);
					n->va_cols = (yyvsp[(6) - (6)].list);
					if (n->va_cols != NIL)	/* implies analyze */
						n->options |= VACOPT_ANALYZE;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1338:
#line 9245 "gram.y"
    { (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
    break;

  case 1339:
#line 9246 "gram.y"
    { (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival); ;}
    break;

  case 1340:
#line 9250 "gram.y"
    { (yyval.ival) = VACOPT_ANALYZE; ;}
    break;

  case 1341:
#line 9251 "gram.y"
    { (yyval.ival) = VACOPT_VERBOSE; ;}
    break;

  case 1342:
#line 9252 "gram.y"
    { (yyval.ival) = VACOPT_FREEZE; ;}
    break;

  case 1343:
#line 9253 "gram.y"
    { (yyval.ival) = VACOPT_FULL; ;}
    break;

  case 1344:
#line 9258 "gram.y"
    {
					VacuumStmt *n = makeNode(VacuumStmt);
					n->options = VACOPT_ANALYZE;
					if ((yyvsp[(2) - (2)].boolean))
						n->options |= VACOPT_VERBOSE;
					n->relation = NULL;
					n->va_cols = NIL;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1345:
#line 9268 "gram.y"
    {
					VacuumStmt *n = makeNode(VacuumStmt);
					n->options = VACOPT_ANALYZE;
					if ((yyvsp[(2) - (4)].boolean))
						n->options |= VACOPT_VERBOSE;
					n->relation = (yyvsp[(3) - (4)].range);
					n->va_cols = (yyvsp[(4) - (4)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1346:
#line 9280 "gram.y"
    {;}
    break;

  case 1347:
#line 9281 "gram.y"
    {;}
    break;

  case 1348:
#line 9285 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 1349:
#line 9286 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1350:
#line 9289 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 1351:
#line 9290 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1352:
#line 9293 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 1353:
#line 9294 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1354:
#line 9298 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 1355:
#line 9299 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1356:
#line 9313 "gram.y"
    {
					ExplainStmt *n = makeNode(ExplainStmt);
					n->query = (yyvsp[(2) - (2)].node);
					n->options = NIL;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1357:
#line 9320 "gram.y"
    {
					ExplainStmt *n = makeNode(ExplainStmt);
					n->query = (yyvsp[(4) - (4)].node);
					n->options = list_make1(makeDefElem("analyze", NULL));
					if ((yyvsp[(3) - (4)].boolean))
						n->options = lappend(n->options,
											 makeDefElem("verbose", NULL));
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1358:
#line 9330 "gram.y"
    {
					ExplainStmt *n = makeNode(ExplainStmt);
					n->query = (yyvsp[(3) - (3)].node);
					n->options = list_make1(makeDefElem("verbose", NULL));
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1359:
#line 9337 "gram.y"
    {
					ExplainStmt *n = makeNode(ExplainStmt);
					n->query = (yyvsp[(5) - (5)].node);
					n->options = (yyvsp[(3) - (5)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1369:
#line 9359 "gram.y"
    {
					(yyval.list) = list_make1((yyvsp[(1) - (1)].defelt));
				;}
    break;

  case 1370:
#line 9363 "gram.y"
    {
					(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].defelt));
				;}
    break;

  case 1371:
#line 9370 "gram.y"
    {
					(yyval.defelt) = makeDefElem((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].node));
				;}
    break;

  case 1372:
#line 9376 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 1373:
#line 9377 "gram.y"
    { (yyval.str) = "analyze"; ;}
    break;

  case 1374:
#line 9381 "gram.y"
    { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
    break;

  case 1375:
#line 9382 "gram.y"
    { (yyval.node) = (Node *) (yyvsp[(1) - (1)].value); ;}
    break;

  case 1376:
#line 9383 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 1377:
#line 9394 "gram.y"
    {
					PrepareStmt *n = makeNode(PrepareStmt);
					n->name = (yyvsp[(2) - (5)].str);
					n->argtypes = (yyvsp[(3) - (5)].list);
					n->query = (yyvsp[(5) - (5)].node);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1378:
#line 9403 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 1379:
#line 9404 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1384:
#line 9422 "gram.y"
    {
					ExecuteStmt *n = makeNode(ExecuteStmt);
					n->name = (yyvsp[(2) - (3)].str);
					n->params = (yyvsp[(3) - (3)].list);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1385:
#line 9430 "gram.y"
    {
					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
					ExecuteStmt *n = makeNode(ExecuteStmt);
					n->name = (yyvsp[(7) - (9)].str);
					n->params = (yyvsp[(8) - (9)].list);
					ctas->query = (Node *) n;
					ctas->into = (yyvsp[(4) - (9)].into);
					ctas->relkind = OBJECT_TABLE;
					ctas->is_select_into = false;
					/* cram additional flags into the IntoClause */
					(yyvsp[(4) - (9)].into)->rel->relpersistence = (yyvsp[(2) - (9)].ival);
					(yyvsp[(4) - (9)].into)->skipData = !((yyvsp[(9) - (9)].boolean));
					(yyval.node) = (Node *) ctas;
				;}
    break;

  case 1386:
#line 9446 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 1387:
#line 9447 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1388:
#line 9458 "gram.y"
    {
						DeallocateStmt *n = makeNode(DeallocateStmt);
						n->name = (yyvsp[(2) - (2)].str);
						(yyval.node) = (Node *) n;
					;}
    break;

  case 1389:
#line 9464 "gram.y"
    {
						DeallocateStmt *n = makeNode(DeallocateStmt);
						n->name = (yyvsp[(3) - (3)].str);
						(yyval.node) = (Node *) n;
					;}
    break;

  case 1390:
#line 9470 "gram.y"
    {
						DeallocateStmt *n = makeNode(DeallocateStmt);
						n->name = NULL;
						(yyval.node) = (Node *) n;
					;}
    break;

  case 1391:
#line 9476 "gram.y"
    {
						DeallocateStmt *n = makeNode(DeallocateStmt);
						n->name = NULL;
						(yyval.node) = (Node *) n;
					;}
    break;

  case 1392:
#line 9493 "gram.y"
    {
					(yyvsp[(5) - (7)].istmt)->relation = (yyvsp[(4) - (7)].range);
					(yyvsp[(5) - (7)].istmt)->onConflictClause = (yyvsp[(6) - (7)].onconflict);
					(yyvsp[(5) - (7)].istmt)->returningList = (yyvsp[(7) - (7)].list);
					(yyvsp[(5) - (7)].istmt)->withClause = (yyvsp[(1) - (7)].with);
					(yyval.node) = (Node *) (yyvsp[(5) - (7)].istmt);
				;}
    break;

  case 1393:
#line 9510 "gram.y"
    {
					(yyval.range) = (yyvsp[(1) - (1)].range);
				;}
    break;

  case 1394:
#line 9514 "gram.y"
    {
					(yyvsp[(1) - (3)].range)->alias = makeAlias((yyvsp[(3) - (3)].str), NIL);
					(yyval.range) = (yyvsp[(1) - (3)].range);
				;}
    break;

  case 1395:
#line 9522 "gram.y"
    {
					(yyval.istmt) = makeNode(InsertStmt);
					(yyval.istmt)->cols = NIL;
					(yyval.istmt)->selectStmt = (yyvsp[(1) - (1)].node);
				;}
    break;

  case 1396:
#line 9528 "gram.y"
    {
					(yyval.istmt) = makeNode(InsertStmt);
					(yyval.istmt)->cols = (yyvsp[(2) - (4)].list);
					(yyval.istmt)->selectStmt = (yyvsp[(4) - (4)].node);
				;}
    break;

  case 1397:
#line 9534 "gram.y"
    {
					(yyval.istmt) = makeNode(InsertStmt);
					(yyval.istmt)->cols = NIL;
					(yyval.istmt)->selectStmt = NULL;
				;}
    break;

  case 1398:
#line 9543 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
    break;

  case 1399:
#line 9545 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
    break;

  case 1400:
#line 9550 "gram.y"
    {
					(yyval.target) = makeNode(ResTarget);
					(yyval.target)->name = (yyvsp[(1) - (2)].str);
					(yyval.target)->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
					(yyval.target)->val = NULL;
					(yyval.target)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 1401:
#line 9561 "gram.y"
    {
					(yyval.onconflict) = makeNode(OnConflictClause);
					(yyval.onconflict)->action = ONCONFLICT_UPDATE;
					(yyval.onconflict)->infer = (yyvsp[(3) - (8)].infer);
					(yyval.onconflict)->targetList = (yyvsp[(7) - (8)].list);
					(yyval.onconflict)->whereClause = (yyvsp[(8) - (8)].node);
					(yyval.onconflict)->location = (yylsp[(1) - (8)]);
				;}
    break;

  case 1402:
#line 9571 "gram.y"
    {
					(yyval.onconflict) = makeNode(OnConflictClause);
					(yyval.onconflict)->action = ONCONFLICT_NOTHING;
					(yyval.onconflict)->infer = (yyvsp[(3) - (5)].infer);
					(yyval.onconflict)->targetList = NIL;
					(yyval.onconflict)->whereClause = NULL;
					(yyval.onconflict)->location = (yylsp[(1) - (5)]);
				;}
    break;

  case 1403:
#line 9580 "gram.y"
    {
					(yyval.onconflict) = NULL;
				;}
    break;

  case 1404:
#line 9587 "gram.y"
    {
					(yyval.infer) = makeNode(InferClause);
					(yyval.infer)->indexElems = (yyvsp[(2) - (4)].list);
					(yyval.infer)->whereClause = (yyvsp[(4) - (4)].node);
					(yyval.infer)->conname = NULL;
					(yyval.infer)->location = (yylsp[(1) - (4)]);
				;}
    break;

  case 1405:
#line 9596 "gram.y"
    {
					(yyval.infer) = makeNode(InferClause);
					(yyval.infer)->indexElems = NIL;
					(yyval.infer)->whereClause = NULL;
					(yyval.infer)->conname = (yyvsp[(3) - (3)].str);
					(yyval.infer)->location = (yylsp[(1) - (3)]);
				;}
    break;

  case 1406:
#line 9604 "gram.y"
    {
					(yyval.infer) = NULL;
				;}
    break;

  case 1407:
#line 9610 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 1408:
#line 9611 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1409:
#line 9624 "gram.y"
    {
					DeleteStmt *n = makeNode(DeleteStmt);
					n->relation = (yyvsp[(4) - (7)].range);
					n->usingClause = (yyvsp[(5) - (7)].list);
					n->whereClause = (yyvsp[(6) - (7)].node);
					n->returningList = (yyvsp[(7) - (7)].list);
					n->withClause = (yyvsp[(1) - (7)].with);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1410:
#line 9636 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 1411:
#line 9637 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1412:
#line 9649 "gram.y"
    {
					LockStmt *n = makeNode(LockStmt);

					n->relations = (yyvsp[(3) - (5)].list);
					n->mode = (yyvsp[(4) - (5)].ival);
					n->nowait = (yyvsp[(5) - (5)].boolean);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1413:
#line 9659 "gram.y"
    { (yyval.ival) = (yyvsp[(2) - (3)].ival); ;}
    break;

  case 1414:
#line 9660 "gram.y"
    { (yyval.ival) = AccessExclusiveLock; ;}
    break;

  case 1415:
#line 9663 "gram.y"
    { (yyval.ival) = AccessShareLock; ;}
    break;

  case 1416:
#line 9664 "gram.y"
    { (yyval.ival) = RowShareLock; ;}
    break;

  case 1417:
#line 9665 "gram.y"
    { (yyval.ival) = RowExclusiveLock; ;}
    break;

  case 1418:
#line 9666 "gram.y"
    { (yyval.ival) = ShareUpdateExclusiveLock; ;}
    break;

  case 1419:
#line 9667 "gram.y"
    { (yyval.ival) = ShareLock; ;}
    break;

  case 1420:
#line 9668 "gram.y"
    { (yyval.ival) = ShareRowExclusiveLock; ;}
    break;

  case 1421:
#line 9669 "gram.y"
    { (yyval.ival) = ExclusiveLock; ;}
    break;

  case 1422:
#line 9670 "gram.y"
    { (yyval.ival) = AccessExclusiveLock; ;}
    break;

  case 1423:
#line 9673 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 1424:
#line 9674 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1425:
#line 9678 "gram.y"
    { (yyval.ival) = LockWaitError; ;}
    break;

  case 1426:
#line 9679 "gram.y"
    { (yyval.ival) = LockWaitSkip; ;}
    break;

  case 1427:
#line 9680 "gram.y"
    { (yyval.ival) = LockWaitBlock; ;}
    break;

  case 1428:
#line 9696 "gram.y"
    {
					UpdateStmt *n = makeNode(UpdateStmt);
					n->relation = (yyvsp[(3) - (8)].range);
					n->targetList = (yyvsp[(5) - (8)].list);
					n->fromClause = (yyvsp[(6) - (8)].list);
					n->whereClause = (yyvsp[(7) - (8)].node);
					n->returningList = (yyvsp[(8) - (8)].list);
					n->withClause = (yyvsp[(1) - (8)].with);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1429:
#line 9709 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 1430:
#line 9710 "gram.y"
    { (yyval.list) = list_concat((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].list)); ;}
    break;

  case 1431:
#line 9714 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
    break;

  case 1432:
#line 9715 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 1433:
#line 9720 "gram.y"
    {
					(yyval.target) = (yyvsp[(1) - (3)].target);
					(yyval.target)->val = (Node *) (yyvsp[(3) - (3)].node);
				;}
    break;

  case 1434:
#line 9736 "gram.y"
    {
					ListCell *col_cell;
					ListCell *val_cell;

					/*
					 * Break the ctext_row apart, merge individual expressions
					 * into the destination ResTargets.  This is semantically
					 * equivalent to, and much cheaper to process than, the
					 * general case.
					 */
					if (list_length((yyvsp[(2) - (5)].list)) != list_length((yyvsp[(5) - (5)].list)))
						ereport(ERROR,
								(errcode(ERRCODE_SYNTAX_ERROR),
								 errmsg("number of columns does not match number of values"),
								 parser_errposition((yylsp[(5) - (5)]))));
					forboth(col_cell, (yyvsp[(2) - (5)].list), val_cell, (yyvsp[(5) - (5)].list))
					{
						ResTarget *res_col = (ResTarget *) lfirst(col_cell);
						Node *res_val = (Node *) lfirst(val_cell);

						res_col->val = res_val;
					}

					(yyval.list) = (yyvsp[(2) - (5)].list);
				;}
    break;

  case 1435:
#line 9762 "gram.y"
    {
					SubLink *sl = makeNode(SubLink);
					int ncolumns = list_length((yyvsp[(2) - (5)].list));
					int i = 1;
					ListCell *col_cell;

					/* First, convert bare SelectStmt into a SubLink */
					sl->subLinkType = MULTIEXPR_SUBLINK;
					sl->subLinkId = 0;		/* will be assigned later */
					sl->testexpr = NULL;
					sl->operName = NIL;
					sl->subselect = (yyvsp[(5) - (5)].node);
					sl->location = (yylsp[(5) - (5)]);

					/* Create a MultiAssignRef source for each target */
					foreach(col_cell, (yyvsp[(2) - (5)].list))
					{
						ResTarget *res_col = (ResTarget *) lfirst(col_cell);
						MultiAssignRef *r = makeNode(MultiAssignRef);

						r->source = (Node *) sl;
						r->colno = i;
						r->ncolumns = ncolumns;
						res_col->val = (Node *) r;
						i++;
					}

					(yyval.list) = (yyvsp[(2) - (5)].list);
				;}
    break;

  case 1436:
#line 9795 "gram.y"
    {
					(yyval.target) = makeNode(ResTarget);
					(yyval.target)->name = (yyvsp[(1) - (2)].str);
					(yyval.target)->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
					(yyval.target)->val = NULL;	/* upper production sets this */
					(yyval.target)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 1437:
#line 9805 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
    break;

  case 1438:
#line 9806 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].target)); ;}
    break;

  case 1439:
#line 9817 "gram.y"
    {
					DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
					n->portalname = (yyvsp[(2) - (7)].str);
					/* currently we always set FAST_PLAN option */
					n->options = (yyvsp[(3) - (7)].ival) | (yyvsp[(5) - (7)].ival) | CURSOR_OPT_FAST_PLAN;
					n->query = (yyvsp[(7) - (7)].node);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1440:
#line 9827 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 1441:
#line 9830 "gram.y"
    { (yyval.ival) = 0; ;}
    break;

  case 1442:
#line 9831 "gram.y"
    { (yyval.ival) = (yyvsp[(1) - (3)].ival) | CURSOR_OPT_NO_SCROLL; ;}
    break;

  case 1443:
#line 9832 "gram.y"
    { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_SCROLL; ;}
    break;

  case 1444:
#line 9833 "gram.y"
    { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_BINARY; ;}
    break;

  case 1445:
#line 9834 "gram.y"
    { (yyval.ival) = (yyvsp[(1) - (2)].ival) | CURSOR_OPT_INSENSITIVE; ;}
    break;

  case 1446:
#line 9837 "gram.y"
    { (yyval.ival) = 0; ;}
    break;

  case 1447:
#line 9838 "gram.y"
    { (yyval.ival) = CURSOR_OPT_HOLD; ;}
    break;

  case 1448:
#line 9839 "gram.y"
    { (yyval.ival) = 0; ;}
    break;

  case 1451:
#line 9892 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (3)].node); ;}
    break;

  case 1452:
#line 9893 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (3)].node); ;}
    break;

  case 1453:
#line 9908 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1454:
#line 9910 "gram.y"
    {
					insertSelectOptions((SelectStmt *) (yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list), NIL,
										NULL, NULL, NULL,
										yyscanner);
					(yyval.node) = (yyvsp[(1) - (2)].node);
				;}
    break;

  case 1455:
#line 9917 "gram.y"
    {
					insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].list),
										list_nth((yyvsp[(4) - (4)].list), 0), list_nth((yyvsp[(4) - (4)].list), 1),
										NULL,
										yyscanner);
					(yyval.node) = (yyvsp[(1) - (4)].node);
				;}
    break;

  case 1456:
#line 9925 "gram.y"
    {
					insertSelectOptions((SelectStmt *) (yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].list), (yyvsp[(4) - (4)].list),
										list_nth((yyvsp[(3) - (4)].list), 0), list_nth((yyvsp[(3) - (4)].list), 1),
										NULL,
										yyscanner);
					(yyval.node) = (yyvsp[(1) - (4)].node);
				;}
    break;

  case 1457:
#line 9933 "gram.y"
    {
					insertSelectOptions((SelectStmt *) (yyvsp[(2) - (2)].node), NULL, NIL,
										NULL, NULL,
										(yyvsp[(1) - (2)].with),
										yyscanner);
					(yyval.node) = (yyvsp[(2) - (2)].node);
				;}
    break;

  case 1458:
#line 9941 "gram.y"
    {
					insertSelectOptions((SelectStmt *) (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].list), NIL,
										NULL, NULL,
										(yyvsp[(1) - (3)].with),
										yyscanner);
					(yyval.node) = (yyvsp[(2) - (3)].node);
				;}
    break;

  case 1459:
#line 9949 "gram.y"
    {
					insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].list),
										list_nth((yyvsp[(5) - (5)].list), 0), list_nth((yyvsp[(5) - (5)].list), 1),
										(yyvsp[(1) - (5)].with),
										yyscanner);
					(yyval.node) = (yyvsp[(2) - (5)].node);
				;}
    break;

  case 1460:
#line 9957 "gram.y"
    {
					insertSelectOptions((SelectStmt *) (yyvsp[(2) - (5)].node), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].list),
										list_nth((yyvsp[(4) - (5)].list), 0), list_nth((yyvsp[(4) - (5)].list), 1),
										(yyvsp[(1) - (5)].with),
										yyscanner);
					(yyval.node) = (yyvsp[(2) - (5)].node);
				;}
    break;

  case 1461:
#line 9967 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1462:
#line 9968 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1463:
#line 9998 "gram.y"
    {
					SelectStmt *n = makeNode(SelectStmt);
					n->targetList = (yyvsp[(3) - (9)].list);
					n->intoClause = (yyvsp[(4) - (9)].into);
					n->fromClause = (yyvsp[(5) - (9)].list);
					n->whereClause = (yyvsp[(6) - (9)].node);
					n->groupClause = (yyvsp[(7) - (9)].list);
					n->havingClause = (yyvsp[(8) - (9)].node);
					n->windowClause = (yyvsp[(9) - (9)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1464:
#line 10012 "gram.y"
    {
					SelectStmt *n = makeNode(SelectStmt);
					n->distinctClause = (yyvsp[(2) - (9)].list);
					n->targetList = (yyvsp[(3) - (9)].list);
					n->intoClause = (yyvsp[(4) - (9)].into);
					n->fromClause = (yyvsp[(5) - (9)].list);
					n->whereClause = (yyvsp[(6) - (9)].node);
					n->groupClause = (yyvsp[(7) - (9)].list);
					n->havingClause = (yyvsp[(8) - (9)].node);
					n->windowClause = (yyvsp[(9) - (9)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1465:
#line 10024 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1466:
#line 10026 "gram.y"
    {
					/* same as SELECT * FROM relation_expr */
					ColumnRef *cr = makeNode(ColumnRef);
					ResTarget *rt = makeNode(ResTarget);
					SelectStmt *n = makeNode(SelectStmt);

					cr->fields = list_make1(makeNode(A_Star));
					cr->location = -1;

					rt->name = NULL;
					rt->indirection = NIL;
					rt->val = (Node *)cr;
					rt->location = -1;

					n->targetList = list_make1(rt);
					n->fromClause = list_make1((yyvsp[(2) - (2)].range));
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1467:
#line 10045 "gram.y"
    {
					(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
				;}
    break;

  case 1468:
#line 10049 "gram.y"
    {
					(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
				;}
    break;

  case 1469:
#line 10053 "gram.y"
    {
					(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[(3) - (4)].boolean), (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node));
				;}
    break;

  case 1470:
#line 10070 "gram.y"
    {
				(yyval.with) = makeNode(WithClause);
				(yyval.with)->ctes = (yyvsp[(2) - (2)].list);
				(yyval.with)->recursive = false;
				(yyval.with)->location = (yylsp[(1) - (2)]);
			;}
    break;

  case 1471:
#line 10077 "gram.y"
    {
				(yyval.with) = makeNode(WithClause);
				(yyval.with)->ctes = (yyvsp[(2) - (2)].list);
				(yyval.with)->recursive = false;
				(yyval.with)->location = (yylsp[(1) - (2)]);
			;}
    break;

  case 1472:
#line 10084 "gram.y"
    {
				(yyval.with) = makeNode(WithClause);
				(yyval.with)->ctes = (yyvsp[(3) - (3)].list);
				(yyval.with)->recursive = true;
				(yyval.with)->location = (yylsp[(1) - (3)]);
			;}
    break;

  case 1473:
#line 10093 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 1474:
#line 10094 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
    break;

  case 1475:
#line 10098 "gram.y"
    {
				CommonTableExpr *n = makeNode(CommonTableExpr);
				n->ctename = (yyvsp[(1) - (6)].str);
				n->aliascolnames = (yyvsp[(2) - (6)].list);
				n->ctequery = (yyvsp[(5) - (6)].node);
				n->location = (yylsp[(1) - (6)]);
				(yyval.node) = (Node *) n;
			;}
    break;

  case 1476:
#line 10109 "gram.y"
    { (yyval.with) = (yyvsp[(1) - (1)].with); ;}
    break;

  case 1477:
#line 10110 "gram.y"
    { (yyval.with) = NULL; ;}
    break;

  case 1478:
#line 10115 "gram.y"
    {
					(yyval.into) = makeNode(IntoClause);
					(yyval.into)->rel = (yyvsp[(2) - (2)].range);
					(yyval.into)->colNames = NIL;
					(yyval.into)->options = NIL;
					(yyval.into)->onCommit = ONCOMMIT_NOOP;
					(yyval.into)->tableSpaceName = NULL;
					(yyval.into)->viewQuery = NULL;
					(yyval.into)->skipData = false;
				;}
    break;

  case 1479:
#line 10126 "gram.y"
    { (yyval.into) = NULL; ;}
    break;

  case 1480:
#line 10135 "gram.y"
    {
					(yyval.range) = (yyvsp[(3) - (3)].range);
					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
				;}
    break;

  case 1481:
#line 10140 "gram.y"
    {
					(yyval.range) = (yyvsp[(3) - (3)].range);
					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
				;}
    break;

  case 1482:
#line 10145 "gram.y"
    {
					(yyval.range) = (yyvsp[(4) - (4)].range);
					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
				;}
    break;

  case 1483:
#line 10150 "gram.y"
    {
					(yyval.range) = (yyvsp[(4) - (4)].range);
					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
				;}
    break;

  case 1484:
#line 10155 "gram.y"
    {
					ereport(WARNING,
							(errmsg("GLOBAL is deprecated in temporary table creation"),
							 parser_errposition((yylsp[(1) - (4)]))));
					(yyval.range) = (yyvsp[(4) - (4)].range);
					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
				;}
    break;

  case 1485:
#line 10163 "gram.y"
    {
					ereport(WARNING,
							(errmsg("GLOBAL is deprecated in temporary table creation"),
							 parser_errposition((yylsp[(1) - (4)]))));
					(yyval.range) = (yyvsp[(4) - (4)].range);
					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
				;}
    break;

  case 1486:
#line 10171 "gram.y"
    {
					(yyval.range) = (yyvsp[(3) - (3)].range);
					(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
				;}
    break;

  case 1487:
#line 10176 "gram.y"
    {
					(yyval.range) = (yyvsp[(2) - (2)].range);
					(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
				;}
    break;

  case 1488:
#line 10181 "gram.y"
    {
					(yyval.range) = (yyvsp[(1) - (1)].range);
					(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
				;}
    break;

  case 1489:
#line 10187 "gram.y"
    {;}
    break;

  case 1490:
#line 10188 "gram.y"
    {;}
    break;

  case 1491:
#line 10192 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 1492:
#line 10193 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1493:
#line 10194 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1494:
#line 10201 "gram.y"
    { (yyval.list) = list_make1(NIL); ;}
    break;

  case 1495:
#line 10202 "gram.y"
    { (yyval.list) = (yyvsp[(4) - (5)].list); ;}
    break;

  case 1496:
#line 10206 "gram.y"
    { (yyval.list) = NIL;;}
    break;

  case 1497:
#line 10207 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1498:
#line 10211 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list);;}
    break;

  case 1499:
#line 10212 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1500:
#line 10216 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (3)].list); ;}
    break;

  case 1501:
#line 10220 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].sortby)); ;}
    break;

  case 1502:
#line 10221 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].sortby)); ;}
    break;

  case 1503:
#line 10225 "gram.y"
    {
					(yyval.sortby) = makeNode(SortBy);
					(yyval.sortby)->node = (yyvsp[(1) - (4)].node);
					(yyval.sortby)->sortby_dir = SORTBY_USING;
					(yyval.sortby)->sortby_nulls = (yyvsp[(4) - (4)].ival);
					(yyval.sortby)->useOp = (yyvsp[(3) - (4)].list);
					(yyval.sortby)->location = (yylsp[(3) - (4)]);
				;}
    break;

  case 1504:
#line 10234 "gram.y"
    {
					(yyval.sortby) = makeNode(SortBy);
					(yyval.sortby)->node = (yyvsp[(1) - (3)].node);
					(yyval.sortby)->sortby_dir = (yyvsp[(2) - (3)].ival);
					(yyval.sortby)->sortby_nulls = (yyvsp[(3) - (3)].ival);
					(yyval.sortby)->useOp = NIL;
					(yyval.sortby)->location = -1;		/* no operator */
				;}
    break;

  case 1505:
#line 10246 "gram.y"
    { (yyval.list) = list_make2((yyvsp[(2) - (2)].node), (yyvsp[(1) - (2)].node)); ;}
    break;

  case 1506:
#line 10247 "gram.y"
    { (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node)); ;}
    break;

  case 1507:
#line 10248 "gram.y"
    { (yyval.list) = list_make2(NULL, (yyvsp[(1) - (1)].node)); ;}
    break;

  case 1508:
#line 10249 "gram.y"
    { (yyval.list) = list_make2((yyvsp[(1) - (1)].node), NULL); ;}
    break;

  case 1509:
#line 10253 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 1510:
#line 10254 "gram.y"
    { (yyval.list) = list_make2(NULL,NULL); ;}
    break;

  case 1511:
#line 10259 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 1512:
#line 10261 "gram.y"
    {
					/* Disabled because it was too confusing, bjm 2002-02-18 */
					ereport(ERROR,
							(errcode(ERRCODE_SYNTAX_ERROR),
							 errmsg("LIMIT #,# syntax is not supported"),
							 errhint("Use separate LIMIT and OFFSET clauses."),
							 parser_errposition((yylsp[(1) - (4)]))));
				;}
    break;

  case 1513:
#line 10271 "gram.y"
    { (yyval.node) = (yyvsp[(3) - (5)].node); ;}
    break;

  case 1514:
#line 10276 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 1515:
#line 10279 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (3)].node); ;}
    break;

  case 1516:
#line 10283 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1517:
#line 10285 "gram.y"
    {
					/* LIMIT ALL is represented as a NULL constant */
					(yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
				;}
    break;

  case 1518:
#line 10292 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1519:
#line 10302 "gram.y"
    { (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;}
    break;

  case 1520:
#line 10303 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (3)].node); ;}
    break;

  case 1521:
#line 10304 "gram.y"
    { (yyval.node) = makeIntConst(1, -1); ;}
    break;

  case 1522:
#line 10312 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1523:
#line 10316 "gram.y"
    { (yyval.ival) = 0; ;}
    break;

  case 1524:
#line 10317 "gram.y"
    { (yyval.ival) = 0; ;}
    break;

  case 1525:
#line 10320 "gram.y"
    { (yyval.ival) = 0; ;}
    break;

  case 1526:
#line 10321 "gram.y"
    { (yyval.ival) = 0; ;}
    break;

  case 1527:
#line 10346 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (3)].list); ;}
    break;

  case 1528:
#line 10347 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1529:
#line 10351 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 1530:
#line 10352 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list),(yyvsp[(3) - (3)].node)); ;}
    break;

  case 1531:
#line 10356 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1532:
#line 10357 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1533:
#line 10358 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1534:
#line 10359 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1535:
#line 10360 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1536:
#line 10365 "gram.y"
    {
					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[(1) - (2)]));
				;}
    break;

  case 1537:
#line 10378 "gram.y"
    {
					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
				;}
    break;

  case 1538:
#line 10385 "gram.y"
    {
					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
				;}
    break;

  case 1539:
#line 10392 "gram.y"
    {
					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
				;}
    break;

  case 1540:
#line 10398 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 1541:
#line 10399 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 1542:
#line 10403 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 1543:
#line 10404 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1544:
#line 10408 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 1545:
#line 10409 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1546:
#line 10413 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 1547:
#line 10414 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
    break;

  case 1548:
#line 10419 "gram.y"
    {
					LockingClause *n = makeNode(LockingClause);
					n->lockedRels = (yyvsp[(2) - (3)].list);
					n->strength = (yyvsp[(1) - (3)].ival);
					n->waitPolicy = (yyvsp[(3) - (3)].ival);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1549:
#line 10429 "gram.y"
    { (yyval.ival) = LCS_FORUPDATE; ;}
    break;

  case 1550:
#line 10430 "gram.y"
    { (yyval.ival) = LCS_FORNOKEYUPDATE; ;}
    break;

  case 1551:
#line 10431 "gram.y"
    { (yyval.ival) = LCS_FORSHARE; ;}
    break;

  case 1552:
#line 10432 "gram.y"
    { (yyval.ival) = LCS_FORKEYSHARE; ;}
    break;

  case 1553:
#line 10436 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 1554:
#line 10437 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1555:
#line 10443 "gram.y"
    {
					SelectStmt *n = makeNode(SelectStmt);
					n->valuesLists = list_make1((yyvsp[(2) - (2)].list));
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1556:
#line 10449 "gram.y"
    {
					SelectStmt *n = (SelectStmt *) (yyvsp[(1) - (3)].node);
					n->valuesLists = lappend(n->valuesLists, (yyvsp[(3) - (3)].list));
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1557:
#line 10466 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 1558:
#line 10467 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1559:
#line 10471 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 1560:
#line 10472 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
    break;

  case 1561:
#line 10479 "gram.y"
    {
					(yyvsp[(1) - (2)].range)->alias = (yyvsp[(2) - (2)].alias);
					(yyval.node) = (Node *) (yyvsp[(1) - (2)].range);
				;}
    break;

  case 1562:
#line 10484 "gram.y"
    {
					RangeTableSample *n = (RangeTableSample *) (yyvsp[(3) - (3)].node);
					(yyvsp[(1) - (3)].range)->alias = (yyvsp[(2) - (3)].alias);
					/* relation_expr goes inside the RangeTableSample node */
					n->relation = (Node *) (yyvsp[(1) - (3)].range);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1563:
#line 10492 "gram.y"
    {
					RangeFunction *n = (RangeFunction *) (yyvsp[(1) - (2)].node);
					n->alias = linitial((yyvsp[(2) - (2)].list));
					n->coldeflist = lsecond((yyvsp[(2) - (2)].list));
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1564:
#line 10499 "gram.y"
    {
					RangeFunction *n = (RangeFunction *) (yyvsp[(2) - (3)].node);
					n->lateral = true;
					n->alias = linitial((yyvsp[(3) - (3)].list));
					n->coldeflist = lsecond((yyvsp[(3) - (3)].list));
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1565:
#line 10507 "gram.y"
    {
					RangeSubselect *n = makeNode(RangeSubselect);
					n->lateral = false;
					n->subquery = (yyvsp[(1) - (2)].node);
					n->alias = (yyvsp[(2) - (2)].alias);
					/*
					 * The SQL spec does not permit a subselect
					 * (<derived_table>) without an alias clause,
					 * so we don't either.  This avoids the problem
					 * of needing to invent a unique refname for it.
					 * That could be surmounted if there's sufficient
					 * popular demand, but for now let's just implement
					 * the spec and see if anyone complains.
					 * However, it does seem like a good idea to emit
					 * an error message that's better than "syntax error".
					 */
					if ((yyvsp[(2) - (2)].alias) == NULL)
					{
						if (IsA((yyvsp[(1) - (2)].node), SelectStmt) &&
							((SelectStmt *) (yyvsp[(1) - (2)].node))->valuesLists)
							ereport(ERROR,
									(errcode(ERRCODE_SYNTAX_ERROR),
									 errmsg("VALUES in FROM must have an alias"),
									 errhint("For example, FROM (VALUES ...) [AS] foo."),
									 parser_errposition((yylsp[(1) - (2)]))));
						else
							ereport(ERROR,
									(errcode(ERRCODE_SYNTAX_ERROR),
									 errmsg("subquery in FROM must have an alias"),
									 errhint("For example, FROM (SELECT ...) [AS] foo."),
									 parser_errposition((yylsp[(1) - (2)]))));
					}
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1566:
#line 10542 "gram.y"
    {
					RangeSubselect *n = makeNode(RangeSubselect);
					n->lateral = true;
					n->subquery = (yyvsp[(2) - (3)].node);
					n->alias = (yyvsp[(3) - (3)].alias);
					/* same coment as above */
					if ((yyvsp[(3) - (3)].alias) == NULL)
					{
						if (IsA((yyvsp[(2) - (3)].node), SelectStmt) &&
							((SelectStmt *) (yyvsp[(2) - (3)].node))->valuesLists)
							ereport(ERROR,
									(errcode(ERRCODE_SYNTAX_ERROR),
									 errmsg("VALUES in FROM must have an alias"),
									 errhint("For example, FROM (VALUES ...) [AS] foo."),
									 parser_errposition((yylsp[(2) - (3)]))));
						else
							ereport(ERROR,
									(errcode(ERRCODE_SYNTAX_ERROR),
									 errmsg("subquery in FROM must have an alias"),
									 errhint("For example, FROM (SELECT ...) [AS] foo."),
									 parser_errposition((yylsp[(2) - (3)]))));
					}
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1567:
#line 10567 "gram.y"
    {
					(yyval.node) = (Node *) (yyvsp[(1) - (1)].jexpr);
				;}
    break;

  case 1568:
#line 10571 "gram.y"
    {
					(yyvsp[(2) - (4)].jexpr)->alias = (yyvsp[(4) - (4)].alias);
					(yyval.node) = (Node *) (yyvsp[(2) - (4)].jexpr);
				;}
    break;

  case 1569:
#line 10597 "gram.y"
    {
					(yyval.jexpr) = (yyvsp[(2) - (3)].jexpr);
				;}
    break;

  case 1570:
#line 10601 "gram.y"
    {
					/* CROSS JOIN is same as unqualified inner join */
					JoinExpr *n = makeNode(JoinExpr);
					n->jointype = JOIN_INNER;
					n->isNatural = FALSE;
					n->larg = (yyvsp[(1) - (4)].node);
					n->rarg = (yyvsp[(4) - (4)].node);
					n->usingClause = NIL;
					n->quals = NULL;
					(yyval.jexpr) = n;
				;}
    break;

  case 1571:
#line 10613 "gram.y"
    {
					JoinExpr *n = makeNode(JoinExpr);
					n->jointype = (yyvsp[(2) - (5)].jtype);
					n->isNatural = FALSE;
					n->larg = (yyvsp[(1) - (5)].node);
					n->rarg = (yyvsp[(4) - (5)].node);
					if ((yyvsp[(5) - (5)].node) != NULL && IsA((yyvsp[(5) - (5)].node), List))
						n->usingClause = (List *) (yyvsp[(5) - (5)].node); /* USING clause */
					else
						n->quals = (yyvsp[(5) - (5)].node); /* ON clause */
					(yyval.jexpr) = n;
				;}
    break;

  case 1572:
#line 10626 "gram.y"
    {
					/* letting join_type reduce to empty doesn't work */
					JoinExpr *n = makeNode(JoinExpr);
					n->jointype = JOIN_INNER;
					n->isNatural = FALSE;
					n->larg = (yyvsp[(1) - (4)].node);
					n->rarg = (yyvsp[(3) - (4)].node);
					if ((yyvsp[(4) - (4)].node) != NULL && IsA((yyvsp[(4) - (4)].node), List))
						n->usingClause = (List *) (yyvsp[(4) - (4)].node); /* USING clause */
					else
						n->quals = (yyvsp[(4) - (4)].node); /* ON clause */
					(yyval.jexpr) = n;
				;}
    break;

  case 1573:
#line 10640 "gram.y"
    {
					JoinExpr *n = makeNode(JoinExpr);
					n->jointype = (yyvsp[(3) - (5)].jtype);
					n->isNatural = TRUE;
					n->larg = (yyvsp[(1) - (5)].node);
					n->rarg = (yyvsp[(5) - (5)].node);
					n->usingClause = NIL; /* figure out which columns later... */
					n->quals = NULL; /* fill later */
					(yyval.jexpr) = n;
				;}
    break;

  case 1574:
#line 10651 "gram.y"
    {
					/* letting join_type reduce to empty doesn't work */
					JoinExpr *n = makeNode(JoinExpr);
					n->jointype = JOIN_INNER;
					n->isNatural = TRUE;
					n->larg = (yyvsp[(1) - (4)].node);
					n->rarg = (yyvsp[(4) - (4)].node);
					n->usingClause = NIL; /* figure out which columns later... */
					n->quals = NULL; /* fill later */
					(yyval.jexpr) = n;
				;}
    break;

  case 1575:
#line 10666 "gram.y"
    {
					(yyval.alias) = makeNode(Alias);
					(yyval.alias)->aliasname = (yyvsp[(2) - (5)].str);
					(yyval.alias)->colnames = (yyvsp[(4) - (5)].list);
				;}
    break;

  case 1576:
#line 10672 "gram.y"
    {
					(yyval.alias) = makeNode(Alias);
					(yyval.alias)->aliasname = (yyvsp[(2) - (2)].str);
				;}
    break;

  case 1577:
#line 10677 "gram.y"
    {
					(yyval.alias) = makeNode(Alias);
					(yyval.alias)->aliasname = (yyvsp[(1) - (4)].str);
					(yyval.alias)->colnames = (yyvsp[(3) - (4)].list);
				;}
    break;

  case 1578:
#line 10683 "gram.y"
    {
					(yyval.alias) = makeNode(Alias);
					(yyval.alias)->aliasname = (yyvsp[(1) - (1)].str);
				;}
    break;

  case 1579:
#line 10689 "gram.y"
    { (yyval.alias) = (yyvsp[(1) - (1)].alias); ;}
    break;

  case 1580:
#line 10690 "gram.y"
    { (yyval.alias) = NULL; ;}
    break;

  case 1581:
#line 10699 "gram.y"
    {
					(yyval.list) = list_make2((yyvsp[(1) - (1)].alias), NIL);
				;}
    break;

  case 1582:
#line 10703 "gram.y"
    {
					(yyval.list) = list_make2(NULL, (yyvsp[(3) - (4)].list));
				;}
    break;

  case 1583:
#line 10707 "gram.y"
    {
					Alias *a = makeNode(Alias);
					a->aliasname = (yyvsp[(2) - (5)].str);
					(yyval.list) = list_make2(a, (yyvsp[(4) - (5)].list));
				;}
    break;

  case 1584:
#line 10713 "gram.y"
    {
					Alias *a = makeNode(Alias);
					a->aliasname = (yyvsp[(1) - (4)].str);
					(yyval.list) = list_make2(a, (yyvsp[(3) - (4)].list));
				;}
    break;

  case 1585:
#line 10719 "gram.y"
    {
					(yyval.list) = list_make2(NULL, NIL);
				;}
    break;

  case 1586:
#line 10724 "gram.y"
    { (yyval.jtype) = JOIN_FULL; ;}
    break;

  case 1587:
#line 10725 "gram.y"
    { (yyval.jtype) = JOIN_LEFT; ;}
    break;

  case 1588:
#line 10726 "gram.y"
    { (yyval.jtype) = JOIN_RIGHT; ;}
    break;

  case 1589:
#line 10727 "gram.y"
    { (yyval.jtype) = JOIN_INNER; ;}
    break;

  case 1590:
#line 10731 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 1591:
#line 10732 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 1592:
#line 10744 "gram.y"
    { (yyval.node) = (Node *) (yyvsp[(3) - (4)].list); ;}
    break;

  case 1593:
#line 10745 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 1594:
#line 10751 "gram.y"
    {
					/* default inheritance */
					(yyval.range) = (yyvsp[(1) - (1)].range);
					(yyval.range)->inhOpt = INH_DEFAULT;
					(yyval.range)->alias = NULL;
				;}
    break;

  case 1595:
#line 10758 "gram.y"
    {
					/* inheritance query */
					(yyval.range) = (yyvsp[(1) - (2)].range);
					(yyval.range)->inhOpt = INH_YES;
					(yyval.range)->alias = NULL;
				;}
    break;

  case 1596:
#line 10765 "gram.y"
    {
					/* no inheritance */
					(yyval.range) = (yyvsp[(2) - (2)].range);
					(yyval.range)->inhOpt = INH_NO;
					(yyval.range)->alias = NULL;
				;}
    break;

  case 1597:
#line 10772 "gram.y"
    {
					/* no inheritance, SQL99-style syntax */
					(yyval.range) = (yyvsp[(3) - (4)].range);
					(yyval.range)->inhOpt = INH_NO;
					(yyval.range)->alias = NULL;
				;}
    break;

  case 1598:
#line 10782 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;}
    break;

  case 1599:
#line 10783 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;}
    break;

  case 1600:
#line 10797 "gram.y"
    {
					(yyval.range) = (yyvsp[(1) - (1)].range);
				;}
    break;

  case 1601:
#line 10801 "gram.y"
    {
					Alias *alias = makeNode(Alias);
					alias->aliasname = (yyvsp[(2) - (2)].str);
					(yyvsp[(1) - (2)].range)->alias = alias;
					(yyval.range) = (yyvsp[(1) - (2)].range);
				;}
    break;

  case 1602:
#line 10808 "gram.y"
    {
					Alias *alias = makeNode(Alias);
					alias->aliasname = (yyvsp[(3) - (3)].str);
					(yyvsp[(1) - (3)].range)->alias = alias;
					(yyval.range) = (yyvsp[(1) - (3)].range);
				;}
    break;

  case 1603:
#line 10821 "gram.y"
    {
					RangeTableSample *n = makeNode(RangeTableSample);
					/* n->relation will be filled in later */
					n->method = (yyvsp[(2) - (6)].list);
					n->args = (yyvsp[(4) - (6)].list);
					n->repeatable = (yyvsp[(6) - (6)].node);
					n->location = (yylsp[(2) - (6)]);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1604:
#line 10833 "gram.y"
    { (yyval.node) = (Node *) (yyvsp[(3) - (4)].node); ;}
    break;

  case 1605:
#line 10834 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 1606:
#line 10850 "gram.y"
    {
					RangeFunction *n = makeNode(RangeFunction);
					n->lateral = false;
					n->ordinality = (yyvsp[(2) - (2)].boolean);
					n->is_rowsfrom = false;
					n->functions = list_make1(list_make2((yyvsp[(1) - (2)].node), NIL));
					/* alias and coldeflist are set by table_ref production */
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1607:
#line 10860 "gram.y"
    {
					RangeFunction *n = makeNode(RangeFunction);
					n->lateral = false;
					n->ordinality = (yyvsp[(6) - (6)].boolean);
					n->is_rowsfrom = true;
					n->functions = (yyvsp[(4) - (6)].list);
					/* alias and coldeflist are set by table_ref production */
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1608:
#line 10872 "gram.y"
    { (yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].list)); ;}
    break;

  case 1609:
#line 10876 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].list)); ;}
    break;

  case 1610:
#line 10877 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)); ;}
    break;

  case 1611:
#line 10880 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
    break;

  case 1612:
#line 10881 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1613:
#line 10884 "gram.y"
    { (yyval.boolean) = true; ;}
    break;

  case 1614:
#line 10885 "gram.y"
    { (yyval.boolean) = false; ;}
    break;

  case 1615:
#line 10890 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 1616:
#line 10891 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 1617:
#line 10896 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 1618:
#line 10898 "gram.y"
    {
					CurrentOfExpr *n = makeNode(CurrentOfExpr);
					/* cvarno is filled in by parse analysis */
					n->cursor_name = (yyvsp[(4) - (4)].str);
					n->cursor_param = 0;
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1619:
#line 10905 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 1620:
#line 10910 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 1621:
#line 10911 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1622:
#line 10916 "gram.y"
    {
					(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
				;}
    break;

  case 1623:
#line 10920 "gram.y"
    {
					(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
				;}
    break;

  case 1624:
#line 10926 "gram.y"
    {
					ColumnDef *n = makeNode(ColumnDef);
					n->colname = (yyvsp[(1) - (3)].str);
					n->typeName = (yyvsp[(2) - (3)].typnam);
					n->inhcount = 0;
					n->is_local = true;
					n->is_not_null = false;
					n->is_from_type = false;
					n->storage = 0;
					n->raw_default = NULL;
					n->cooked_default = NULL;
					n->collClause = (CollateClause *) (yyvsp[(3) - (3)].node);
					n->collOid = InvalidOid;
					n->constraints = NIL;
					n->location = (yylsp[(1) - (3)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1625:
#line 10956 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
					(yyval.typnam)->arrayBounds = (yyvsp[(2) - (2)].list);
				;}
    break;

  case 1626:
#line 10961 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(2) - (3)].typnam);
					(yyval.typnam)->arrayBounds = (yyvsp[(3) - (3)].list);
					(yyval.typnam)->setof = TRUE;
				;}
    break;

  case 1627:
#line 10968 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(1) - (5)].typnam);
					(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(4) - (5)].ival)));
				;}
    break;

  case 1628:
#line 10973 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(2) - (6)].typnam);
					(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[(5) - (6)].ival)));
					(yyval.typnam)->setof = TRUE;
				;}
    break;

  case 1629:
#line 10979 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
					(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
				;}
    break;

  case 1630:
#line 10984 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(2) - (3)].typnam);
					(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
					(yyval.typnam)->setof = TRUE;
				;}
    break;

  case 1631:
#line 10993 "gram.y"
    {  (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeInteger(-1)); ;}
    break;

  case 1632:
#line 10995 "gram.y"
    {  (yyval.list) = lappend((yyvsp[(1) - (4)].list), makeInteger((yyvsp[(3) - (4)].ival))); ;}
    break;

  case 1633:
#line 10997 "gram.y"
    {  (yyval.list) = NIL; ;}
    break;

  case 1634:
#line 11001 "gram.y"
    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
    break;

  case 1635:
#line 11002 "gram.y"
    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
    break;

  case 1636:
#line 11003 "gram.y"
    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
    break;

  case 1637:
#line 11004 "gram.y"
    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
    break;

  case 1638:
#line 11005 "gram.y"
    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
    break;

  case 1639:
#line 11007 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(1) - (2)].typnam);
					(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
				;}
    break;

  case 1640:
#line 11012 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(1) - (4)].typnam);
					(yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
											 makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
				;}
    break;

  case 1641:
#line 11031 "gram.y"
    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
    break;

  case 1642:
#line 11032 "gram.y"
    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
    break;

  case 1643:
#line 11033 "gram.y"
    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
    break;

  case 1644:
#line 11034 "gram.y"
    { (yyval.typnam) = (yyvsp[(1) - (1)].typnam); ;}
    break;

  case 1645:
#line 11046 "gram.y"
    {
					(yyval.typnam) = makeTypeName((yyvsp[(1) - (2)].str));
					(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
					(yyval.typnam)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 1646:
#line 11052 "gram.y"
    {
					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[(1) - (3)].str)), (yyvsp[(2) - (3)].list)));
					(yyval.typnam)->typmods = (yyvsp[(3) - (3)].list);
					(yyval.typnam)->location = (yylsp[(1) - (3)]);
				;}
    break;

  case 1647:
#line 11059 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 1648:
#line 11060 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1649:
#line 11067 "gram.y"
    {
					(yyval.typnam) = SystemTypeName("int4");
					(yyval.typnam)->location = (yylsp[(1) - (1)]);
				;}
    break;

  case 1650:
#line 11072 "gram.y"
    {
					(yyval.typnam) = SystemTypeName("int4");
					(yyval.typnam)->location = (yylsp[(1) - (1)]);
				;}
    break;

  case 1651:
#line 11077 "gram.y"
    {
					(yyval.typnam) = SystemTypeName("int2");
					(yyval.typnam)->location = (yylsp[(1) - (1)]);
				;}
    break;

  case 1652:
#line 11082 "gram.y"
    {
					(yyval.typnam) = SystemTypeName("int8");
					(yyval.typnam)->location = (yylsp[(1) - (1)]);
				;}
    break;

  case 1653:
#line 11087 "gram.y"
    {
					(yyval.typnam) = SystemTypeName("float4");
					(yyval.typnam)->location = (yylsp[(1) - (1)]);
				;}
    break;

  case 1654:
#line 11092 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(2) - (2)].typnam);
					(yyval.typnam)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 1655:
#line 11097 "gram.y"
    {
					(yyval.typnam) = SystemTypeName("float8");
					(yyval.typnam)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 1656:
#line 11102 "gram.y"
    {
					(yyval.typnam) = SystemTypeName("numeric");
					(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
					(yyval.typnam)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 1657:
#line 11108 "gram.y"
    {
					(yyval.typnam) = SystemTypeName("numeric");
					(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
					(yyval.typnam)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 1658:
#line 11114 "gram.y"
    {
					(yyval.typnam) = SystemTypeName("numeric");
					(yyval.typnam)->typmods = (yyvsp[(2) - (2)].list);
					(yyval.typnam)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 1659:
#line 11120 "gram.y"
    {
					(yyval.typnam) = SystemTypeName("bool");
					(yyval.typnam)->location = (yylsp[(1) - (1)]);
				;}
    break;

  case 1660:
#line 11127 "gram.y"
    {
					/*
					 * Check FLOAT() precision limits assuming IEEE floating
					 * types - thomas 1997-09-18
					 */
					if ((yyvsp[(2) - (3)].ival) < 1)
						ereport(ERROR,
								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
								 errmsg("precision for type float must be at least 1 bit"),
								 parser_errposition((yylsp[(2) - (3)]))));
					else if ((yyvsp[(2) - (3)].ival) <= 24)
						(yyval.typnam) = SystemTypeName("float4");
					else if ((yyvsp[(2) - (3)].ival) <= 53)
						(yyval.typnam) = SystemTypeName("float8");
					else
						ereport(ERROR,
								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
								 errmsg("precision for type float must be less than 54 bits"),
								 parser_errposition((yylsp[(2) - (3)]))));
				;}
    break;

  case 1661:
#line 11148 "gram.y"
    {
					(yyval.typnam) = SystemTypeName("float8");
				;}
    break;

  case 1662:
#line 11158 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
				;}
    break;

  case 1663:
#line 11162 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
				;}
    break;

  case 1664:
#line 11170 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
				;}
    break;

  case 1665:
#line 11174 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
					(yyval.typnam)->typmods = NIL;
				;}
    break;

  case 1666:
#line 11182 "gram.y"
    {
					char *typname;

					typname = (yyvsp[(2) - (5)].boolean) ? "varbit" : "bit";
					(yyval.typnam) = SystemTypeName(typname);
					(yyval.typnam)->typmods = (yyvsp[(4) - (5)].list);
					(yyval.typnam)->location = (yylsp[(1) - (5)]);
				;}
    break;

  case 1667:
#line 11194 "gram.y"
    {
					/* bit defaults to bit(1), varbit to no limit */
					if ((yyvsp[(2) - (2)].boolean))
					{
						(yyval.typnam) = SystemTypeName("varbit");
					}
					else
					{
						(yyval.typnam) = SystemTypeName("bit");
						(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
					}
					(yyval.typnam)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 1668:
#line 11215 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
				;}
    break;

  case 1669:
#line 11219 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
				;}
    break;

  case 1670:
#line 11225 "gram.y"
    {
					(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
				;}
    break;

  case 1671:
#line 11229 "gram.y"
    {
					/* Length was not specified so allow to be unrestricted.
					 * This handles problems with fixed-length (bpchar) strings
					 * which in column definitions must default to a length
					 * of one, but should not be constrained if the length
					 * was not specified.
					 */
					(yyval.typnam) = (yyvsp[(1) - (1)].typnam);
					(yyval.typnam)->typmods = NIL;
				;}
    break;

  case 1672:
#line 11242 "gram.y"
    {
					if (((yyvsp[(5) - (5)].str) != NULL) && (strcmp((yyvsp[(5) - (5)].str), "sql_text") != 0))
						(yyvsp[(1) - (5)].str) = psprintf("%s_%s", (yyvsp[(1) - (5)].str), (yyvsp[(5) - (5)].str));

					(yyval.typnam) = SystemTypeName((yyvsp[(1) - (5)].str));
					(yyval.typnam)->typmods = list_make1((yyvsp[(3) - (5)].node));
					(yyval.typnam)->location = (yylsp[(1) - (5)]);
				;}
    break;

  case 1673:
#line 11253 "gram.y"
    {
					if (((yyvsp[(2) - (2)].str) != NULL) && (strcmp((yyvsp[(2) - (2)].str), "sql_text") != 0))
						(yyvsp[(1) - (2)].str) = psprintf("%s_%s", (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].str));

					(yyval.typnam) = SystemTypeName((yyvsp[(1) - (2)].str));

					/* char defaults to char(1), varchar to no limit */
					if (strcmp((yyvsp[(1) - (2)].str), "bpchar") == 0)
						(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));

					(yyval.typnam)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 1674:
#line 11268 "gram.y"
    { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
    break;

  case 1675:
#line 11270 "gram.y"
    { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
    break;

  case 1676:
#line 11272 "gram.y"
    { (yyval.str) = "varchar"; ;}
    break;

  case 1677:
#line 11274 "gram.y"
    { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;}
    break;

  case 1678:
#line 11276 "gram.y"
    { (yyval.str) = (yyvsp[(3) - (3)].boolean) ? "varchar": "bpchar"; ;}
    break;

  case 1679:
#line 11278 "gram.y"
    { (yyval.str) = (yyvsp[(2) - (2)].boolean) ? "varchar": "bpchar"; ;}
    break;

  case 1680:
#line 11282 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 1681:
#line 11283 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1682:
#line 11287 "gram.y"
    { (yyval.str) = (yyvsp[(3) - (3)].str); ;}
    break;

  case 1683:
#line 11288 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 1684:
#line 11296 "gram.y"
    {
					if ((yyvsp[(5) - (5)].boolean))
						(yyval.typnam) = SystemTypeName("timestamptz");
					else
						(yyval.typnam) = SystemTypeName("timestamp");
					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
					(yyval.typnam)->location = (yylsp[(1) - (5)]);
				;}
    break;

  case 1685:
#line 11305 "gram.y"
    {
					if ((yyvsp[(2) - (2)].boolean))
						(yyval.typnam) = SystemTypeName("timestamptz");
					else
						(yyval.typnam) = SystemTypeName("timestamp");
					(yyval.typnam)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 1686:
#line 11313 "gram.y"
    {
					if ((yyvsp[(5) - (5)].boolean))
						(yyval.typnam) = SystemTypeName("timetz");
					else
						(yyval.typnam) = SystemTypeName("time");
					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
					(yyval.typnam)->location = (yylsp[(1) - (5)]);
				;}
    break;

  case 1687:
#line 11322 "gram.y"
    {
					if ((yyvsp[(2) - (2)].boolean))
						(yyval.typnam) = SystemTypeName("timetz");
					else
						(yyval.typnam) = SystemTypeName("time");
					(yyval.typnam)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 1688:
#line 11333 "gram.y"
    {
					(yyval.typnam) = SystemTypeName("interval");
					(yyval.typnam)->location = (yylsp[(1) - (1)]);
				;}
    break;

  case 1689:
#line 11340 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 1690:
#line 11341 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1691:
#line 11342 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1692:
#line 11347 "gram.y"
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[(1) - (1)]))); ;}
    break;

  case 1693:
#line 11349 "gram.y"
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[(1) - (1)]))); ;}
    break;

  case 1694:
#line 11351 "gram.y"
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[(1) - (1)]))); ;}
    break;

  case 1695:
#line 11353 "gram.y"
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[(1) - (1)]))); ;}
    break;

  case 1696:
#line 11355 "gram.y"
    { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[(1) - (1)]))); ;}
    break;

  case 1697:
#line 11357 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 1698:
#line 11359 "gram.y"
    {
					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
												 INTERVAL_MASK(MONTH), (yylsp[(1) - (3)])));
				;}
    break;

  case 1699:
#line 11364 "gram.y"
    {
					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
												 INTERVAL_MASK(HOUR), (yylsp[(1) - (3)])));
				;}
    break;

  case 1700:
#line 11369 "gram.y"
    {
					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
												 INTERVAL_MASK(HOUR) |
												 INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
				;}
    break;

  case 1701:
#line 11375 "gram.y"
    {
					(yyval.list) = (yyvsp[(3) - (3)].list);
					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
												INTERVAL_MASK(HOUR) |
												INTERVAL_MASK(MINUTE) |
												INTERVAL_MASK(SECOND), (yylsp[(1) - (3)]));
				;}
    break;

  case 1702:
#line 11383 "gram.y"
    {
					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
												 INTERVAL_MASK(MINUTE), (yylsp[(1) - (3)])));
				;}
    break;

  case 1703:
#line 11388 "gram.y"
    {
					(yyval.list) = (yyvsp[(3) - (3)].list);
					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
												INTERVAL_MASK(MINUTE) |
												INTERVAL_MASK(SECOND), (yylsp[(1) - (3)]));
				;}
    break;

  case 1704:
#line 11395 "gram.y"
    {
					(yyval.list) = (yyvsp[(3) - (3)].list);
					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
												INTERVAL_MASK(SECOND), (yylsp[(1) - (3)]));
				;}
    break;

  case 1705:
#line 11401 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1706:
#line 11406 "gram.y"
    {
					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (1)])));
				;}
    break;

  case 1707:
#line 11410 "gram.y"
    {
					(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[(1) - (4)])),
									makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
				;}
    break;

  case 1708:
#line 11445 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1709:
#line 11447 "gram.y"
    { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;}
    break;

  case 1710:
#line 11449 "gram.y"
    {
					CollateClause *n = makeNode(CollateClause);
					n->arg = (yyvsp[(1) - (3)].node);
					n->collname = (yyvsp[(3) - (3)].list);
					n->location = (yylsp[(2) - (3)]);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1711:
#line 11457 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
											   list_make2((yyvsp[(5) - (5)].node), (yyvsp[(1) - (5)].node)),
											   (yylsp[(2) - (5)]));
				;}
    break;

  case 1712:
#line 11472 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
    break;

  case 1713:
#line 11474 "gram.y"
    { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
    break;

  case 1714:
#line 11476 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1715:
#line 11478 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1716:
#line 11480 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1717:
#line 11482 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1718:
#line 11484 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1719:
#line 11486 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1720:
#line 11488 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1721:
#line 11490 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1722:
#line 11492 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1723:
#line 11494 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1724:
#line 11496 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1725:
#line 11498 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1726:
#line 11501 "gram.y"
    { (yyval.node) = makeInterval_or_AExprOp((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1727:
#line 11505 "gram.y"
    { (yyval.node) = makeInterval_or_AExprOp((yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
    break;

  case 1728:
#line 11508 "gram.y"
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1729:
#line 11510 "gram.y"
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
    break;

  case 1730:
#line 11512 "gram.y"
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
    break;

  case 1731:
#line 11515 "gram.y"
    { (yyval.node) = makeAndExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1732:
#line 11517 "gram.y"
    { (yyval.node) = makeOrExpr((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1733:
#line 11519 "gram.y"
    { (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
    break;

  case 1734:
#line 11521 "gram.y"
    { (yyval.node) = makeNotExpr((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
    break;

  case 1735:
#line 11524 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
												   (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
				;}
    break;

  case 1736:
#line 11529 "gram.y"
    {
					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
											   list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
											   (yylsp[(2) - (5)]));
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
												   (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
				;}
    break;

  case 1737:
#line 11537 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
												   (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
				;}
    break;

  case 1738:
#line 11542 "gram.y"
    {
					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
											   list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
											   (yylsp[(2) - (6)]));
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
												   (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
				;}
    break;

  case 1739:
#line 11550 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
												   (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
				;}
    break;

  case 1740:
#line 11555 "gram.y"
    {
					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
											   list_make2((yyvsp[(3) - (5)].node), (yyvsp[(5) - (5)].node)),
											   (yylsp[(2) - (5)]));
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
												   (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
				;}
    break;

  case 1741:
#line 11563 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
												   (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
				;}
    break;

  case 1742:
#line 11568 "gram.y"
    {
					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
											   list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
											   (yylsp[(2) - (6)]));
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
												   (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
				;}
    break;

  case 1743:
#line 11577 "gram.y"
    {
					FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
											   list_make2((yyvsp[(4) - (4)].node), makeNullAConst(-1)),
											   (yylsp[(2) - (4)]));
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
												   (yyvsp[(1) - (4)].node), (Node *) n, (yylsp[(2) - (4)]));
				;}
    break;

  case 1744:
#line 11585 "gram.y"
    {
					FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
											   list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
											   (yylsp[(2) - (6)]));
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
												   (yyvsp[(1) - (6)].node), (Node *) n, (yylsp[(2) - (6)]));
				;}
    break;

  case 1745:
#line 11593 "gram.y"
    {
					FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
											   list_make2((yyvsp[(5) - (5)].node), makeNullAConst(-1)),
											   (yylsp[(2) - (5)]));
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
												   (yyvsp[(1) - (5)].node), (Node *) n, (yylsp[(2) - (5)]));
				;}
    break;

  case 1746:
#line 11601 "gram.y"
    {
					FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
											   list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
											   (yylsp[(2) - (7)]));
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
												   (yyvsp[(1) - (7)].node), (Node *) n, (yylsp[(2) - (7)]));
				;}
    break;

  case 1747:
#line 11619 "gram.y"
    {
					NullTest *n = makeNode(NullTest);
					n->arg = (Expr *) (yyvsp[(1) - (3)].node);
					n->nulltesttype = IS_NULL;
					n->location = (yylsp[(2) - (3)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1748:
#line 11627 "gram.y"
    {
					NullTest *n = makeNode(NullTest);
					n->arg = (Expr *) (yyvsp[(1) - (2)].node);
					n->nulltesttype = IS_NULL;
					n->location = (yylsp[(2) - (2)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1749:
#line 11635 "gram.y"
    {
					NullTest *n = makeNode(NullTest);
					n->arg = (Expr *) (yyvsp[(1) - (4)].node);
					n->nulltesttype = IS_NOT_NULL;
					n->location = (yylsp[(2) - (4)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1750:
#line 11643 "gram.y"
    {
					NullTest *n = makeNode(NullTest);
					n->arg = (Expr *) (yyvsp[(1) - (2)].node);
					n->nulltesttype = IS_NOT_NULL;
					n->location = (yylsp[(2) - (2)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1751:
#line 11651 "gram.y"
    {
					if (list_length((yyvsp[(1) - (3)].list)) != 2)
						ereport(ERROR,
								(errcode(ERRCODE_SYNTAX_ERROR),
								 errmsg("wrong number of parameters on left side of OVERLAPS expression"),
								 parser_errposition((yylsp[(1) - (3)]))));
					if (list_length((yyvsp[(3) - (3)].list)) != 2)
						ereport(ERROR,
								(errcode(ERRCODE_SYNTAX_ERROR),
								 errmsg("wrong number of parameters on right side of OVERLAPS expression"),
								 parser_errposition((yylsp[(3) - (3)]))));
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
											   list_concat((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].list)),
											   (yylsp[(2) - (3)]));
				;}
    break;

  case 1752:
#line 11667 "gram.y"
    {
					BooleanTest *b = makeNode(BooleanTest);
					b->arg = (Expr *) (yyvsp[(1) - (3)].node);
					b->booltesttype = IS_TRUE;
					b->location = (yylsp[(2) - (3)]);
					(yyval.node) = (Node *)b;
				;}
    break;

  case 1753:
#line 11675 "gram.y"
    {
					BooleanTest *b = makeNode(BooleanTest);
					b->arg = (Expr *) (yyvsp[(1) - (4)].node);
					b->booltesttype = IS_NOT_TRUE;
					b->location = (yylsp[(2) - (4)]);
					(yyval.node) = (Node *)b;
				;}
    break;

  case 1754:
#line 11683 "gram.y"
    {
					BooleanTest *b = makeNode(BooleanTest);
					b->arg = (Expr *) (yyvsp[(1) - (3)].node);
					b->booltesttype = IS_FALSE;
					b->location = (yylsp[(2) - (3)]);
					(yyval.node) = (Node *)b;
				;}
    break;

  case 1755:
#line 11691 "gram.y"
    {
					BooleanTest *b = makeNode(BooleanTest);
					b->arg = (Expr *) (yyvsp[(1) - (4)].node);
					b->booltesttype = IS_NOT_FALSE;
					b->location = (yylsp[(2) - (4)]);
					(yyval.node) = (Node *)b;
				;}
    break;

  case 1756:
#line 11699 "gram.y"
    {
					BooleanTest *b = makeNode(BooleanTest);
					b->arg = (Expr *) (yyvsp[(1) - (3)].node);
					b->booltesttype = IS_UNKNOWN;
					b->location = (yylsp[(2) - (3)]);
					(yyval.node) = (Node *)b;
				;}
    break;

  case 1757:
#line 11707 "gram.y"
    {
					BooleanTest *b = makeNode(BooleanTest);
					b->arg = (Expr *) (yyvsp[(1) - (4)].node);
					b->booltesttype = IS_NOT_UNKNOWN;
					b->location = (yylsp[(2) - (4)]);
					(yyval.node) = (Node *)b;
				;}
    break;

  case 1758:
#line 11715 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
				;}
    break;

  case 1759:
#line 11719 "gram.y"
    {
					(yyval.node) = makeNotExpr((Node *) makeSimpleA_Expr(AEXPR_DISTINCT,
															   "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])),
									 (yylsp[(2) - (6)]));
				;}
    break;

  case 1760:
#line 11725 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
				;}
    break;

  case 1761:
#line 11729 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (Node *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)]));
				;}
    break;

  case 1762:
#line 11733 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
												   "BETWEEN",
												   (yyvsp[(1) - (6)].node),
												   (Node *) list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
												   (yylsp[(2) - (6)]));
				;}
    break;

  case 1763:
#line 11741 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
												   "NOT BETWEEN",
												   (yyvsp[(1) - (7)].node),
												   (Node *) list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
												   (yylsp[(2) - (7)]));
				;}
    break;

  case 1764:
#line 11749 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
												   "BETWEEN SYMMETRIC",
												   (yyvsp[(1) - (6)].node),
												   (Node *) list_make2((yyvsp[(4) - (6)].node), (yyvsp[(6) - (6)].node)),
												   (yylsp[(2) - (6)]));
				;}
    break;

  case 1765:
#line 11757 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
												   "NOT BETWEEN SYMMETRIC",
												   (yyvsp[(1) - (7)].node),
												   (Node *) list_make2((yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)),
												   (yylsp[(2) - (7)]));
				;}
    break;

  case 1766:
#line 11765 "gram.y"
    {
					/* in_expr returns a SubLink or a list of a_exprs */
					if (IsA((yyvsp[(3) - (3)].node), SubLink))
					{
						/* generate foo = ANY (subquery) */
						SubLink *n = (SubLink *) (yyvsp[(3) - (3)].node);
						n->subLinkType = ANY_SUBLINK;
						n->subLinkId = 0;
						n->testexpr = (yyvsp[(1) - (3)].node);
						n->operName = NIL;		/* show it's IN not = ANY */
						n->location = (yylsp[(2) - (3)]);
						(yyval.node) = (Node *)n;
					}
					else
					{
						/* generate scalar IN expression */
						(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)]));
					}
				;}
    break;

  case 1767:
#line 11785 "gram.y"
    {
					/* in_expr returns a SubLink or a list of a_exprs */
					if (IsA((yyvsp[(4) - (4)].node), SubLink))
					{
						/* generate NOT (foo = ANY (subquery)) */
						/* Make an = ANY node */
						SubLink *n = (SubLink *) (yyvsp[(4) - (4)].node);
						n->subLinkType = ANY_SUBLINK;
						n->subLinkId = 0;
						n->testexpr = (yyvsp[(1) - (4)].node);
						n->operName = NIL;		/* show it's IN not = ANY */
						n->location = (yylsp[(2) - (4)]);
						/* Stick a NOT on top; must have same parse location */
						(yyval.node) = makeNotExpr((Node *) n, (yylsp[(2) - (4)]));
					}
					else
					{
						/* generate scalar NOT IN expression */
						(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[(1) - (4)].node), (yyvsp[(4) - (4)].node), (yylsp[(2) - (4)]));
					}
				;}
    break;

  case 1768:
#line 11807 "gram.y"
    {
					SubLink *n = makeNode(SubLink);
					n->subLinkType = (yyvsp[(3) - (4)].ival);
					n->subLinkId = 0;
					n->testexpr = (yyvsp[(1) - (4)].node);
					n->operName = (yyvsp[(2) - (4)].list);
					n->subselect = (yyvsp[(4) - (4)].node);
					n->location = (yylsp[(2) - (4)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1769:
#line 11818 "gram.y"
    {
					if ((yyvsp[(3) - (6)].ival) == ANY_SUBLINK)
						(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)]));
					else
						(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[(2) - (6)].list), (yyvsp[(1) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(2) - (6)]));
				;}
    break;

  case 1770:
#line 11825 "gram.y"
    {
					/* Not sure how to get rid of the parentheses
					 * but there are lots of shift/reduce errors without them.
					 *
					 * Should be able to implement this by plopping the entire
					 * select into a node, then transforming the target expressions
					 * from whatever they are into count(*), and testing the
					 * entire result equal to one.
					 * But, will probably implement a separate node in the executor.
					 */
					ereport(ERROR,
							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
							 errmsg("UNIQUE predicate is not yet implemented"),
							 parser_errposition((yylsp[(1) - (2)]))));
				;}
    break;

  case 1771:
#line 11841 "gram.y"
    {
					(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
									 list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
				;}
    break;

  case 1772:
#line 11846 "gram.y"
    {
					(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
												 list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])),
									 (yylsp[(2) - (4)]));
				;}
    break;

  case 1773:
#line 11863 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1774:
#line 11865 "gram.y"
    { (yyval.node) = makeTypeCast((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].typnam), (yylsp[(2) - (3)])); ;}
    break;

  case 1775:
#line 11867 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
    break;

  case 1776:
#line 11869 "gram.y"
    { (yyval.node) = doNegate((yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
    break;

  case 1777:
#line 11871 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1778:
#line 11873 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1779:
#line 11875 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1780:
#line 11877 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1781:
#line 11879 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1782:
#line 11881 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1783:
#line 11883 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1784:
#line 11885 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1785:
#line 11887 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1786:
#line 11889 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1787:
#line 11891 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1788:
#line 11893 "gram.y"
    { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1789:
#line 11895 "gram.y"
    { (yyval.node) = makeInterval_or_AExprOp((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1790:
#line 11899 "gram.y"
    { (yyval.node) = makeInterval_or_AExprOp((yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
    break;

  case 1791:
#line 11901 "gram.y"
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (3)].list), (yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yylsp[(2) - (3)])); ;}
    break;

  case 1792:
#line 11903 "gram.y"
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(1) - (2)].list), NULL, (yyvsp[(2) - (2)].node), (yylsp[(1) - (2)])); ;}
    break;

  case 1793:
#line 11905 "gram.y"
    { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[(2) - (2)].list), (yyvsp[(1) - (2)].node), NULL, (yylsp[(2) - (2)])); ;}
    break;

  case 1794:
#line 11907 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[(1) - (5)].node), (yyvsp[(5) - (5)].node), (yylsp[(2) - (5)]));
				;}
    break;

  case 1795:
#line 11911 "gram.y"
    {
					(yyval.node) = makeNotExpr((Node *) makeSimpleA_Expr(AEXPR_DISTINCT,
															   "=", (yyvsp[(1) - (6)].node), (yyvsp[(6) - (6)].node), (yylsp[(2) - (6)])),
									 (yylsp[(2) - (6)]));
				;}
    break;

  case 1796:
#line 11917 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[(1) - (6)].node), (Node *) (yyvsp[(5) - (6)].list), (yylsp[(2) - (6)]));
				;}
    break;

  case 1797:
#line 11921 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[(1) - (7)].node), (Node *) (yyvsp[(6) - (7)].list), (yylsp[(2) - (7)]));
				;}
    break;

  case 1798:
#line 11925 "gram.y"
    {
					(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
									 list_make1((yyvsp[(1) - (3)].node)), (yylsp[(2) - (3)]));
				;}
    break;

  case 1799:
#line 11930 "gram.y"
    {
					(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
												 list_make1((yyvsp[(1) - (4)].node)), (yylsp[(2) - (4)])),
									 (yylsp[(2) - (4)]));
				;}
    break;

  case 1800:
#line 11945 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1801:
#line 11946 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1802:
#line 11948 "gram.y"
    {
					if ((yyvsp[(2) - (2)].list))
					{
						A_Indirection *n = makeNode(A_Indirection);
						n->arg = makeParamRef(0, (yylsp[(1) - (2)]));
						n->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
						(yyval.node) = (Node *) n;
					}
					else
						(yyval.node) = makeParamRef(0, (yylsp[(1) - (2)]));
				;}
    break;

  case 1803:
#line 11960 "gram.y"
    {
					ParamRef *p = makeNode(ParamRef);
					p->number = (yyvsp[(1) - (2)].ival);
					p->location = (yylsp[(1) - (2)]);
					if ((yyvsp[(2) - (2)].list))
					{
						A_Indirection *n = makeNode(A_Indirection);
						n->arg = (Node *) p;
						n->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
						(yyval.node) = (Node *) n;
					}
					else
						(yyval.node) = (Node *) p;
				;}
    break;

  case 1804:
#line 11975 "gram.y"
    {
					if ((yyvsp[(4) - (4)].list))
					{
						A_Indirection *n = makeNode(A_Indirection);
						n->arg = (yyvsp[(2) - (4)].node);
						n->indirection = check_indirection((yyvsp[(4) - (4)].list), yyscanner);
						(yyval.node) = (Node *)n;
					}
					else if (operator_precedence_warning)
					{
						/*
						 * If precedence warnings are enabled, insert
						 * AEXPR_PAREN nodes wrapping all explicitly
						 * parenthesized subexpressions; this prevents bogus
						 * warnings from being issued when the ordering has
						 * been forced by parentheses.
						 *
						 * In principle we should not be relying on a GUC to
						 * decide whether to insert AEXPR_PAREN nodes.
						 * However, since they have no effect except to
						 * suppress warnings, it's probably safe enough; and
						 * we'd just as soon not waste cycles on dummy parse
						 * nodes if we don't have to.
						 */
						(yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[(2) - (4)].node), NULL, (yylsp[(1) - (4)]));
					}
					else
						(yyval.node) = (yyvsp[(2) - (4)].node);
				;}
    break;

  case 1805:
#line 12005 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1806:
#line 12007 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1807:
#line 12009 "gram.y"
    {
					SubLink *n = makeNode(SubLink);
					n->subLinkType = EXPR_SUBLINK;
					n->subLinkId = 0;
					n->testexpr = NULL;
					n->operName = NIL;
					n->subselect = (yyvsp[(1) - (1)].node);
					n->location = (yylsp[(1) - (1)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1808:
#line 12020 "gram.y"
    {
					/*
					 * Because the select_with_parens nonterminal is designed
					 * to "eat" as many levels of parens as possible, the
					 * '(' a_expr ')' opt_indirection production above will
					 * fail to match a sub-SELECT with indirection decoration;
					 * the sub-SELECT won't be regarded as an a_expr as long
					 * as there are parens around it.  To support applying
					 * subscripting or field selection to a sub-SELECT result,
					 * we need this redundant-looking production.
					 */
					SubLink *n = makeNode(SubLink);
					A_Indirection *a = makeNode(A_Indirection);
					n->subLinkType = EXPR_SUBLINK;
					n->subLinkId = 0;
					n->testexpr = NULL;
					n->operName = NIL;
					n->subselect = (yyvsp[(1) - (2)].node);
					n->location = (yylsp[(1) - (2)]);
					a->arg = (Node *)n;
					a->indirection = check_indirection((yyvsp[(2) - (2)].list), yyscanner);
					(yyval.node) = (Node *)a;
				;}
    break;

  case 1809:
#line 12044 "gram.y"
    {
					SubLink *n = makeNode(SubLink);
					n->subLinkType = EXISTS_SUBLINK;
					n->subLinkId = 0;
					n->testexpr = NULL;
					n->operName = NIL;
					n->subselect = (yyvsp[(2) - (2)].node);
					n->location = (yylsp[(1) - (2)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1810:
#line 12055 "gram.y"
    {
					SubLink *n = makeNode(SubLink);
					n->subLinkType = ARRAY_SUBLINK;
					n->subLinkId = 0;
					n->testexpr = NULL;
					n->operName = NIL;
					n->subselect = (yyvsp[(2) - (2)].node);
					n->location = (yylsp[(1) - (2)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1811:
#line 12066 "gram.y"
    {
					A_ArrayExpr *n = (A_ArrayExpr *) (yyvsp[(2) - (2)].node);
					Assert(IsA(n, A_ArrayExpr));
					/* point outermost A_ArrayExpr to the ARRAY keyword */
					n->location = (yylsp[(1) - (2)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1812:
#line 12074 "gram.y"
    {
					RowExpr *r = makeNode(RowExpr);
					r->args = (yyvsp[(1) - (1)].list);
					r->row_typeid = InvalidOid;	/* not analyzed yet */
					r->colnames = NIL;	/* to be filled in during analysis */
					r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
					r->location = (yylsp[(1) - (1)]);
					(yyval.node) = (Node *)r;
				;}
    break;

  case 1813:
#line 12084 "gram.y"
    {
					RowExpr *r = makeNode(RowExpr);
					r->args = (yyvsp[(1) - (1)].list);
					r->row_typeid = InvalidOid;	/* not analyzed yet */
					r->colnames = NIL;	/* to be filled in during analysis */
					r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
					r->location = (yylsp[(1) - (1)]);
					(yyval.node) = (Node *)r;
				;}
    break;

  case 1814:
#line 12094 "gram.y"
    {
				  GroupingFunc *g = makeNode(GroupingFunc);
				  g->args = (yyvsp[(3) - (4)].list);
				  g->location = (yylsp[(1) - (4)]);
				  (yyval.node) = (Node *)g;
			  ;}
    break;

  case 1815:
#line 12103 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall((yyvsp[(1) - (3)].list), NIL, (yylsp[(1) - (3)]));
				;}
    break;

  case 1816:
#line 12107 "gram.y"
    {
					FuncCall *n = makeFuncCall((yyvsp[(1) - (5)].list), (yyvsp[(3) - (5)].list), (yylsp[(1) - (5)]));
					n->agg_order = (yyvsp[(4) - (5)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1817:
#line 12113 "gram.y"
    {
					FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), list_make1((yyvsp[(4) - (6)].node)), (yylsp[(1) - (6)]));
					n->func_variadic = TRUE;
					n->agg_order = (yyvsp[(5) - (6)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1818:
#line 12120 "gram.y"
    {
					FuncCall *n = makeFuncCall((yyvsp[(1) - (8)].list), lappend((yyvsp[(3) - (8)].list), (yyvsp[(6) - (8)].node)), (yylsp[(1) - (8)]));
					n->func_variadic = TRUE;
					n->agg_order = (yyvsp[(7) - (8)].list);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1819:
#line 12127 "gram.y"
    {
					FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), (yylsp[(1) - (6)]));
					n->agg_order = (yyvsp[(5) - (6)].list);
					/* Ideally we'd mark the FuncCall node to indicate
					 * "must be an aggregate", but there's no provision
					 * for that in FuncCall at the moment.
					 */
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1820:
#line 12137 "gram.y"
    {
					FuncCall *n = makeFuncCall((yyvsp[(1) - (6)].list), (yyvsp[(4) - (6)].list), (yylsp[(1) - (6)]));
					n->agg_order = (yyvsp[(5) - (6)].list);
					n->agg_distinct = TRUE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1821:
#line 12144 "gram.y"
    {
					/*
					 * We consider AGGREGATE(*) to invoke a parameterless
					 * aggregate.  This does the right thing for COUNT(*),
					 * and there are no other aggregates in SQL that accept
					 * '*' as parameter.
					 *
					 * The FuncCall node is also marked agg_star = true,
					 * so that later processing can detect what the argument
					 * really was.
					 */
					FuncCall *n = makeFuncCall((yyvsp[(1) - (4)].list), NIL, (yylsp[(1) - (4)]));
					n->agg_star = TRUE;
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1822:
#line 12172 "gram.y"
    {
					FuncCall *n = (FuncCall *) (yyvsp[(1) - (4)].node);
					/*
					 * The order clause for WITHIN GROUP and the one for
					 * plain-aggregate ORDER BY share a field, so we have to
					 * check here that at most one is present.  We also check
					 * for DISTINCT and VARIADIC here to give a better error
					 * location.  Other consistency checks are deferred to
					 * parse analysis.
					 */
					if ((yyvsp[(2) - (4)].list) != NIL)
					{
						if (n->agg_order != NIL)
							ereport(ERROR,
									(errcode(ERRCODE_SYNTAX_ERROR),
									 errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
									 parser_errposition((yylsp[(2) - (4)]))));
						if (n->agg_distinct)
							ereport(ERROR,
									(errcode(ERRCODE_SYNTAX_ERROR),
									 errmsg("cannot use DISTINCT with WITHIN GROUP"),
									 parser_errposition((yylsp[(2) - (4)]))));
						if (n->func_variadic)
							ereport(ERROR,
									(errcode(ERRCODE_SYNTAX_ERROR),
									 errmsg("cannot use VARIADIC with WITHIN GROUP"),
									 parser_errposition((yylsp[(2) - (4)]))));
						n->agg_order = (yyvsp[(2) - (4)].list);
						n->agg_within_group = TRUE;
					}
					n->agg_filter = (yyvsp[(3) - (4)].node);
					n->over = (yyvsp[(4) - (4)].windef);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 1823:
#line 12207 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1824:
#line 12217 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1825:
#line 12218 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1826:
#line 12226 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
											   list_make1((yyvsp[(4) - (5)].node)),
											   (yylsp[(1) - (5)]));
				;}
    break;

  case 1827:
#line 12232 "gram.y"
    {
					/*
					 * Translate as "'now'::text::date".
					 *
					 * We cannot use "'now'::date" because coerce_type() will
					 * immediately reduce that to a constant representing
					 * today's date.  We need to delay the conversion until
					 * runtime, else the wrong things will happen when
					 * CURRENT_DATE is used in a column default value or rule.
					 *
					 * This could be simplified if we had a way to generate
					 * an expression tree representing runtime application
					 * of type-input conversion functions.  (As of PG 7.3
					 * that is actually possible, but not clear that we want
					 * to rely on it.)
					 *
					 * The token location is attached to the run-time
					 * typecast, not to the Const, for the convenience of
					 * pg_stat_statements (which doesn't want these constructs
					 * to appear to be replaceable constants).
					 */
					Node *n;
					n = makeStringConstCast("now", -1, SystemTypeName("text"));
					(yyval.node) = makeTypeCast(n, SystemTypeName("date"), (yylsp[(1) - (1)]));
				;}
    break;

  case 1828:
#line 12258 "gram.y"
    {
					/*
					 * Translate as "'now'::text::timetz".
					 * See comments for CURRENT_DATE.
					 */
					Node *n;
					n = makeStringConstCast("now", -1, SystemTypeName("text"));
					(yyval.node) = makeTypeCast(n, SystemTypeName("timetz"), (yylsp[(1) - (1)]));
				;}
    break;

  case 1829:
#line 12268 "gram.y"
    {
					/*
					 * Translate as "'now'::text::timetz(n)".
					 * See comments for CURRENT_DATE.
					 */
					Node *n;
					TypeName *d;
					n = makeStringConstCast("now", -1, SystemTypeName("text"));
					d = SystemTypeName("timetz");
					d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
					(yyval.node) = makeTypeCast(n, d, (yylsp[(1) - (4)]));
				;}
    break;

  case 1830:
#line 12281 "gram.y"
    {
					/*
					 * Translate as "now()", since we have a function that
					 * does exactly what is needed.
					 */
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("now"), NIL, (yylsp[(1) - (1)]));
				;}
    break;

  case 1831:
#line 12289 "gram.y"
    {
					/*
					 * Translate as "'now'::text::timestamptz(n)".
					 * See comments for CURRENT_DATE.
					 */
					Node *n;
					TypeName *d;
					n = makeStringConstCast("now", -1, SystemTypeName("text"));
					d = SystemTypeName("timestamptz");
					d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
					(yyval.node) = makeTypeCast(n, d, (yylsp[(1) - (4)]));
				;}
    break;

  case 1832:
#line 12302 "gram.y"
    {
					/*
					 * Translate as "'now'::text::time".
					 * See comments for CURRENT_DATE.
					 */
					Node *n;
					n = makeStringConstCast("now", -1, SystemTypeName("text"));
					(yyval.node) = makeTypeCast((Node *)n, SystemTypeName("time"), (yylsp[(1) - (1)]));
				;}
    break;

  case 1833:
#line 12312 "gram.y"
    {
					/*
					 * Translate as "'now'::text::time(n)".
					 * See comments for CURRENT_DATE.
					 */
					Node *n;
					TypeName *d;
					n = makeStringConstCast("now", -1, SystemTypeName("text"));
					d = SystemTypeName("time");
					d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
					(yyval.node) = makeTypeCast((Node *)n, d, (yylsp[(1) - (4)]));
				;}
    break;

  case 1834:
#line 12325 "gram.y"
    {
					/*
					 * Translate as "'now'::text::timestamp".
					 * See comments for CURRENT_DATE.
					 */
					Node *n;
					n = makeStringConstCast("now", -1, SystemTypeName("text"));
					(yyval.node) = makeTypeCast(n, SystemTypeName("timestamp"), (yylsp[(1) - (1)]));
				;}
    break;

  case 1835:
#line 12335 "gram.y"
    {
					/*
					 * Translate as "'now'::text::timestamp(n)".
					 * See comments for CURRENT_DATE.
					 */
					Node *n;
					TypeName *d;
					n = makeStringConstCast("now", -1, SystemTypeName("text"));
					d = SystemTypeName("timestamp");
					d->typmods = list_make1(makeIntConst((yyvsp[(3) - (4)].ival), (yylsp[(3) - (4)])));
					(yyval.node) = makeTypeCast(n, d, (yylsp[(1) - (4)]));
				;}
    break;

  case 1836:
#line 12348 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[(1) - (1)]));
				;}
    break;

  case 1837:
#line 12352 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[(1) - (1)]));
				;}
    break;

  case 1838:
#line 12356 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("session_user"), NIL, (yylsp[(1) - (1)]));
				;}
    break;

  case 1839:
#line 12360 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[(1) - (1)]));
				;}
    break;

  case 1840:
#line 12364 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_database"), NIL, (yylsp[(1) - (1)]));
				;}
    break;

  case 1841:
#line 12368 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_schema"), NIL, (yylsp[(1) - (1)]));
				;}
    break;

  case 1842:
#line 12372 "gram.y"
    { (yyval.node) = makeTypeCast((yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].typnam), (yylsp[(1) - (6)])); ;}
    break;

  case 1843:
#line 12374 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
				;}
    break;

  case 1844:
#line 12378 "gram.y"
    {
					/* overlay(A PLACING B FROM C FOR D) is converted to
					 * overlay(A, B, C, D)
					 * overlay(A PLACING B FROM C) is converted to
					 * overlay(A, B, C)
					 */
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
				;}
    break;

  case 1845:
#line 12387 "gram.y"
    {
					/* position(A in B) is converted to position(B, A) */
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
				;}
    break;

  case 1846:
#line 12392 "gram.y"
    {
					/* substring(A from B for C) is converted to
					 * substring(A, B, C) - thomas 2000-11-28
					 */
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
				;}
    break;

  case 1847:
#line 12399 "gram.y"
    {
					/* TREAT(expr AS target) converts expr of a particular type to target,
					 * which is defined to be a subtype of the original expression.
					 * In SQL99, this is intended for use with structured UDTs,
					 * but let's make this a generally useful form allowing stronger
					 * coercions than are handled by implicit casting.
					 *
					 * Convert SystemTypeName() to SystemFuncName() even though
					 * at the moment they result in the same thing.
					 */
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[(5) - (6)].typnam)->names))->val.str),
												list_make1((yyvsp[(3) - (6)].node)),
												(yylsp[(1) - (6)]));
				;}
    break;

  case 1848:
#line 12414 "gram.y"
    {
					/* various trim expressions are defined in SQL
					 * - thomas 1997-07-19
					 */
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
				;}
    break;

  case 1849:
#line 12421 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
				;}
    break;

  case 1850:
#line 12425 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[(4) - (5)].list), (yylsp[(1) - (5)]));
				;}
    break;

  case 1851:
#line 12429 "gram.y"
    {
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
				;}
    break;

  case 1852:
#line 12433 "gram.y"
    {
					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[(3) - (6)].node), (yyvsp[(5) - (6)].node), (yylsp[(1) - (6)]));
				;}
    break;

  case 1853:
#line 12437 "gram.y"
    {
					CoalesceExpr *c = makeNode(CoalesceExpr);
					c->args = (yyvsp[(3) - (4)].list);
					c->location = (yylsp[(1) - (4)]);
					(yyval.node) = (Node *)c;
				;}
    break;

  case 1854:
#line 12444 "gram.y"
    {
					MinMaxExpr *v = makeNode(MinMaxExpr);
					v->args = (yyvsp[(3) - (4)].list);
					v->op = IS_GREATEST;
					v->location = (yylsp[(1) - (4)]);
					(yyval.node) = (Node *)v;
				;}
    break;

  case 1855:
#line 12452 "gram.y"
    {
					MinMaxExpr *v = makeNode(MinMaxExpr);
					v->args = (yyvsp[(3) - (4)].list);
					v->op = IS_LEAST;
					v->location = (yylsp[(1) - (4)]);
					(yyval.node) = (Node *)v;
				;}
    break;

  case 1856:
#line 12460 "gram.y"
    {
					(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[(3) - (4)].list), (yylsp[(1) - (4)]));
				;}
    break;

  case 1857:
#line 12464 "gram.y"
    {
					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (5)].str), NIL, NIL, (yylsp[(1) - (5)]));
				;}
    break;

  case 1858:
#line 12468 "gram.y"
    {
					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), (yyvsp[(6) - (7)].list), NIL, (yylsp[(1) - (7)]));
				;}
    break;

  case 1859:
#line 12472 "gram.y"
    {
					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (7)].str), NIL, (yyvsp[(6) - (7)].list), (yylsp[(1) - (7)]));
				;}
    break;

  case 1860:
#line 12476 "gram.y"
    {
					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[(4) - (9)].str), (yyvsp[(6) - (9)].list), (yyvsp[(8) - (9)].list), (yylsp[(1) - (9)]));
				;}
    break;

  case 1861:
#line 12480 "gram.y"
    {
					/* xmlexists(A PASSING [BY REF] B [BY REF]) is
					 * converted to xmlexists(A, B)*/
					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[(3) - (5)].node), (yyvsp[(4) - (5)].node)), (yylsp[(1) - (5)]));
				;}
    break;

  case 1862:
#line 12486 "gram.y"
    {
					(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[(3) - (4)].list), NIL, (yylsp[(1) - (4)]));
				;}
    break;

  case 1863:
#line 12490 "gram.y"
    {
					XmlExpr *x = (XmlExpr *)
						makeXmlExpr(IS_XMLPARSE, NULL, NIL,
									list_make2((yyvsp[(4) - (6)].node), makeBoolAConst((yyvsp[(5) - (6)].boolean), -1)),
									(yylsp[(1) - (6)]));
					x->xmloption = (yyvsp[(3) - (6)].ival);
					(yyval.node) = (Node *)x;
				;}
    break;

  case 1864:
#line 12499 "gram.y"
    {
					(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (5)].str), NULL, NIL, (yylsp[(1) - (5)]));
				;}
    break;

  case 1865:
#line 12503 "gram.y"
    {
					(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[(4) - (7)].str), NULL, list_make1((yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)]));
				;}
    break;

  case 1866:
#line 12507 "gram.y"
    {
					(yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
									 list_make3((yyvsp[(3) - (7)].node), (yyvsp[(5) - (7)].node), (yyvsp[(6) - (7)].node)), (yylsp[(1) - (7)]));
				;}
    break;

  case 1867:
#line 12512 "gram.y"
    {
					XmlSerialize *n = makeNode(XmlSerialize);
					n->xmloption = (yyvsp[(3) - (7)].ival);
					n->expr = (yyvsp[(4) - (7)].node);
					n->typeName = (yyvsp[(6) - (7)].typnam);
					n->location = (yylsp[(1) - (7)]);
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1868:
#line 12526 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 1869:
#line 12528 "gram.y"
    { (yyval.node) = makeNullAConst(-1); ;}
    break;

  case 1870:
#line 12532 "gram.y"
    { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); ;}
    break;

  case 1871:
#line 12534 "gram.y"
    { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); ;}
    break;

  case 1872:
#line 12536 "gram.y"
    { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); ;}
    break;

  case 1873:
#line 12538 "gram.y"
    { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); ;}
    break;

  case 1874:
#line 12541 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
    break;

  case 1875:
#line 12544 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
    break;

  case 1876:
#line 12545 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
    break;

  case 1877:
#line 12549 "gram.y"
    {
					(yyval.target) = makeNode(ResTarget);
					(yyval.target)->name = (yyvsp[(3) - (3)].str);
					(yyval.target)->indirection = NIL;
					(yyval.target)->val = (Node *) (yyvsp[(1) - (3)].node);
					(yyval.target)->location = (yylsp[(1) - (3)]);
				;}
    break;

  case 1878:
#line 12557 "gram.y"
    {
					(yyval.target) = makeNode(ResTarget);
					(yyval.target)->name = NULL;
					(yyval.target)->indirection = NIL;
					(yyval.target)->val = (Node *) (yyvsp[(1) - (1)].node);
					(yyval.target)->location = (yylsp[(1) - (1)]);
				;}
    break;

  case 1879:
#line 12566 "gram.y"
    { (yyval.ival) = XMLOPTION_DOCUMENT; ;}
    break;

  case 1880:
#line 12567 "gram.y"
    { (yyval.ival) = XMLOPTION_CONTENT; ;}
    break;

  case 1881:
#line 12570 "gram.y"
    { (yyval.boolean) = TRUE; ;}
    break;

  case 1882:
#line 12571 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1883:
#line 12572 "gram.y"
    { (yyval.boolean) = FALSE; ;}
    break;

  case 1884:
#line 12578 "gram.y"
    {
					(yyval.node) = (yyvsp[(2) - (2)].node);
				;}
    break;

  case 1885:
#line 12582 "gram.y"
    {
					(yyval.node) = (yyvsp[(2) - (4)].node);
				;}
    break;

  case 1886:
#line 12586 "gram.y"
    {
					(yyval.node) = (yyvsp[(4) - (4)].node);
				;}
    break;

  case 1887:
#line 12590 "gram.y"
    {
					(yyval.node) = (yyvsp[(4) - (6)].node);
				;}
    break;

  case 1888:
#line 12600 "gram.y"
    { (yyval.list) = (yyvsp[(4) - (5)].list); ;}
    break;

  case 1889:
#line 12601 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1890:
#line 12605 "gram.y"
    { (yyval.node) = (yyvsp[(4) - (5)].node); ;}
    break;

  case 1891:
#line 12606 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 1892:
#line 12614 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 1893:
#line 12615 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1894:
#line 12619 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].windef)); ;}
    break;

  case 1895:
#line 12621 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].windef)); ;}
    break;

  case 1896:
#line 12626 "gram.y"
    {
					WindowDef *n = (yyvsp[(3) - (3)].windef);
					n->name = (yyvsp[(1) - (3)].str);
					(yyval.windef) = n;
				;}
    break;

  case 1897:
#line 12634 "gram.y"
    { (yyval.windef) = (yyvsp[(2) - (2)].windef); ;}
    break;

  case 1898:
#line 12636 "gram.y"
    {
					WindowDef *n = makeNode(WindowDef);
					n->name = (yyvsp[(2) - (2)].str);
					n->refname = NULL;
					n->partitionClause = NIL;
					n->orderClause = NIL;
					n->frameOptions = FRAMEOPTION_DEFAULTS;
					n->startOffset = NULL;
					n->endOffset = NULL;
					n->location = (yylsp[(2) - (2)]);
					(yyval.windef) = n;
				;}
    break;

  case 1899:
#line 12649 "gram.y"
    { (yyval.windef) = NULL; ;}
    break;

  case 1900:
#line 12654 "gram.y"
    {
					WindowDef *n = makeNode(WindowDef);
					n->name = NULL;
					n->refname = (yyvsp[(2) - (6)].str);
					n->partitionClause = (yyvsp[(3) - (6)].list);
					n->orderClause = (yyvsp[(4) - (6)].list);
					/* copy relevant fields of opt_frame_clause */
					n->frameOptions = (yyvsp[(5) - (6)].windef)->frameOptions;
					n->startOffset = (yyvsp[(5) - (6)].windef)->startOffset;
					n->endOffset = (yyvsp[(5) - (6)].windef)->endOffset;
					n->location = (yylsp[(1) - (6)]);
					(yyval.windef) = n;
				;}
    break;

  case 1901:
#line 12679 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 1902:
#line 12680 "gram.y"
    { (yyval.str) = NULL; ;}
    break;

  case 1903:
#line 12683 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (3)].list); ;}
    break;

  case 1904:
#line 12684 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1905:
#line 12696 "gram.y"
    {
					WindowDef *n = (yyvsp[(2) - (2)].windef);
					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
					if (n->frameOptions & (FRAMEOPTION_START_VALUE_PRECEDING |
										   FRAMEOPTION_END_VALUE_PRECEDING))
						ereport(ERROR,
								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
								 errmsg("RANGE PRECEDING is only supported with UNBOUNDED"),
								 parser_errposition((yylsp[(1) - (2)]))));
					if (n->frameOptions & (FRAMEOPTION_START_VALUE_FOLLOWING |
										   FRAMEOPTION_END_VALUE_FOLLOWING))
						ereport(ERROR,
								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
								 errmsg("RANGE FOLLOWING is only supported with UNBOUNDED"),
								 parser_errposition((yylsp[(1) - (2)]))));
					(yyval.windef) = n;
				;}
    break;

  case 1906:
#line 12714 "gram.y"
    {
					WindowDef *n = (yyvsp[(2) - (2)].windef);
					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
					(yyval.windef) = n;
				;}
    break;

  case 1907:
#line 12720 "gram.y"
    {
					WindowDef *n = makeNode(WindowDef);
					n->frameOptions = FRAMEOPTION_DEFAULTS;
					n->startOffset = NULL;
					n->endOffset = NULL;
					(yyval.windef) = n;
				;}
    break;

  case 1908:
#line 12730 "gram.y"
    {
					WindowDef *n = (yyvsp[(1) - (1)].windef);
					/* reject invalid cases */
					if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
						ereport(ERROR,
								(errcode(ERRCODE_WINDOWING_ERROR),
								 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
								 parser_errposition((yylsp[(1) - (1)]))));
					if (n->frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING)
						ereport(ERROR,
								(errcode(ERRCODE_WINDOWING_ERROR),
								 errmsg("frame starting from following row cannot end with current row"),
								 parser_errposition((yylsp[(1) - (1)]))));
					n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
					(yyval.windef) = n;
				;}
    break;

  case 1909:
#line 12747 "gram.y"
    {
					WindowDef *n1 = (yyvsp[(2) - (4)].windef);
					WindowDef *n2 = (yyvsp[(4) - (4)].windef);
					/* form merged options */
					int		frameOptions = n1->frameOptions;
					/* shift converts START_ options to END_ options */
					frameOptions |= n2->frameOptions << 1;
					frameOptions |= FRAMEOPTION_BETWEEN;
					/* reject invalid cases */
					if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
						ereport(ERROR,
								(errcode(ERRCODE_WINDOWING_ERROR),
								 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
								 parser_errposition((yylsp[(2) - (4)]))));
					if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
						ereport(ERROR,
								(errcode(ERRCODE_WINDOWING_ERROR),
								 errmsg("frame end cannot be UNBOUNDED PRECEDING"),
								 parser_errposition((yylsp[(4) - (4)]))));
					if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
						(frameOptions & FRAMEOPTION_END_VALUE_PRECEDING))
						ereport(ERROR,
								(errcode(ERRCODE_WINDOWING_ERROR),
								 errmsg("frame starting from current row cannot have preceding rows"),
								 parser_errposition((yylsp[(4) - (4)]))));
					if ((frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING) &&
						(frameOptions & (FRAMEOPTION_END_VALUE_PRECEDING |
										 FRAMEOPTION_END_CURRENT_ROW)))
						ereport(ERROR,
								(errcode(ERRCODE_WINDOWING_ERROR),
								 errmsg("frame starting from following row cannot have preceding rows"),
								 parser_errposition((yylsp[(4) - (4)]))));
					n1->frameOptions = frameOptions;
					n1->endOffset = n2->startOffset;
					(yyval.windef) = n1;
				;}
    break;

  case 1910:
#line 12792 "gram.y"
    {
					WindowDef *n = makeNode(WindowDef);
					n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
					n->startOffset = NULL;
					n->endOffset = NULL;
					(yyval.windef) = n;
				;}
    break;

  case 1911:
#line 12800 "gram.y"
    {
					WindowDef *n = makeNode(WindowDef);
					n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
					n->startOffset = NULL;
					n->endOffset = NULL;
					(yyval.windef) = n;
				;}
    break;

  case 1912:
#line 12808 "gram.y"
    {
					WindowDef *n = makeNode(WindowDef);
					n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
					n->startOffset = NULL;
					n->endOffset = NULL;
					(yyval.windef) = n;
				;}
    break;

  case 1913:
#line 12816 "gram.y"
    {
					WindowDef *n = makeNode(WindowDef);
					n->frameOptions = FRAMEOPTION_START_VALUE_PRECEDING;
					n->startOffset = (yyvsp[(1) - (2)].node);
					n->endOffset = NULL;
					(yyval.windef) = n;
				;}
    break;

  case 1914:
#line 12824 "gram.y"
    {
					WindowDef *n = makeNode(WindowDef);
					n->frameOptions = FRAMEOPTION_START_VALUE_FOLLOWING;
					n->startOffset = (yyvsp[(1) - (2)].node);
					n->endOffset = NULL;
					(yyval.windef) = n;
				;}
    break;

  case 1915:
#line 12844 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
    break;

  case 1916:
#line 12845 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1917:
#line 12846 "gram.y"
    { (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;}
    break;

  case 1918:
#line 12849 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
    break;

  case 1919:
#line 12850 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1920:
#line 12853 "gram.y"
    { (yyval.list) = lappend((yyvsp[(2) - (5)].list), (yyvsp[(4) - (5)].node)); ;}
    break;

  case 1921:
#line 12856 "gram.y"
    { (yyval.ival) = ANY_SUBLINK; ;}
    break;

  case 1922:
#line 12857 "gram.y"
    { (yyval.ival) = ANY_SUBLINK; ;}
    break;

  case 1923:
#line 12858 "gram.y"
    { (yyval.ival) = ALL_SUBLINK; ;}
    break;

  case 1924:
#line 12861 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 1925:
#line 12862 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 1926:
#line 12865 "gram.y"
    { (yyval.str) = "+"; ;}
    break;

  case 1927:
#line 12866 "gram.y"
    { (yyval.str) = "-"; ;}
    break;

  case 1928:
#line 12867 "gram.y"
    { (yyval.str) = "*"; ;}
    break;

  case 1929:
#line 12868 "gram.y"
    { (yyval.str) = "/"; ;}
    break;

  case 1930:
#line 12869 "gram.y"
    { (yyval.str) = "%"; ;}
    break;

  case 1931:
#line 12870 "gram.y"
    { (yyval.str) = "^"; ;}
    break;

  case 1932:
#line 12871 "gram.y"
    { (yyval.str) = "<"; ;}
    break;

  case 1933:
#line 12872 "gram.y"
    { (yyval.str) = ">"; ;}
    break;

  case 1934:
#line 12873 "gram.y"
    { (yyval.str) = "="; ;}
    break;

  case 1935:
#line 12874 "gram.y"
    { (yyval.str) = "<="; ;}
    break;

  case 1936:
#line 12875 "gram.y"
    { (yyval.str) = ">="; ;}
    break;

  case 1937:
#line 12876 "gram.y"
    { (yyval.str) = "<>"; ;}
    break;

  case 1938:
#line 12877 "gram.y"
    { (yyval.str) = "?"; ;}
    break;

  case 1939:
#line 12881 "gram.y"
    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
    break;

  case 1940:
#line 12883 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
    break;

  case 1941:
#line 12888 "gram.y"
    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
    break;

  case 1942:
#line 12890 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
    break;

  case 1943:
#line 12895 "gram.y"
    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
    break;

  case 1944:
#line 12897 "gram.y"
    { (yyval.list) = (yyvsp[(3) - (4)].list); ;}
    break;

  case 1945:
#line 12899 "gram.y"
    { (yyval.list) = list_make1(makeString("~~")); ;}
    break;

  case 1946:
#line 12901 "gram.y"
    { (yyval.list) = list_make1(makeString("!~~")); ;}
    break;

  case 1947:
#line 12903 "gram.y"
    { (yyval.list) = list_make1(makeString("~~*")); ;}
    break;

  case 1948:
#line 12905 "gram.y"
    { (yyval.list) = list_make1(makeString("!~~*")); ;}
    break;

  case 1949:
#line 12917 "gram.y"
    {
					(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
				;}
    break;

  case 1950:
#line 12921 "gram.y"
    {
					(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
				;}
    break;

  case 1951:
#line 12928 "gram.y"
    {
					(yyval.list) = list_make1((yyvsp[(1) - (1)].node));
				;}
    break;

  case 1952:
#line 12932 "gram.y"
    {
					(yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node));
				;}
    break;

  case 1953:
#line 12938 "gram.y"
    {
					(yyval.node) = (yyvsp[(1) - (1)].node);
				;}
    break;

  case 1954:
#line 12942 "gram.y"
    {
					NamedArgExpr *na = makeNode(NamedArgExpr);
					na->name = (yyvsp[(1) - (3)].str);
					na->arg = (Expr *) (yyvsp[(3) - (3)].node);
					na->argnumber = -1;		/* until determined */
					na->location = (yylsp[(1) - (3)]);
					(yyval.node) = (Node *) na;
				;}
    break;

  case 1955:
#line 12951 "gram.y"
    {
					NamedArgExpr *na = makeNode(NamedArgExpr);
					na->name = (yyvsp[(1) - (3)].str);
					na->arg = (Expr *) (yyvsp[(3) - (3)].node);
					na->argnumber = -1;		/* until determined */
					na->location = (yylsp[(1) - (3)]);
					(yyval.node) = (Node *) na;
				;}
    break;

  case 1956:
#line 12961 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].typnam)); ;}
    break;

  case 1957:
#line 12962 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typnam)); ;}
    break;

  case 1958:
#line 12966 "gram.y"
    {
					(yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]));
				;}
    break;

  case 1959:
#line 12970 "gram.y"
    {
					(yyval.node) = makeAArrayExpr((yyvsp[(2) - (3)].list), (yylsp[(1) - (3)]));
				;}
    break;

  case 1960:
#line 12974 "gram.y"
    {
					(yyval.node) = makeAArrayExpr(NIL, (yylsp[(1) - (2)]));
				;}
    break;

  case 1961:
#line 12979 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 1962:
#line 12980 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
    break;

  case 1963:
#line 12986 "gram.y"
    {
					(yyval.list) = list_make2(makeStringConst((yyvsp[(1) - (3)].str), (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
				;}
    break;

  case 1964:
#line 12990 "gram.y"
    {
					(yyval.list) = list_make2(makeParamRef(0, (yylsp[(1) - (3)])), (yyvsp[(3) - (3)].node));
				;}
    break;

  case 1965:
#line 12993 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1966:
#line 13000 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 1967:
#line 13001 "gram.y"
    { (yyval.str) = "year"; ;}
    break;

  case 1968:
#line 13002 "gram.y"
    { (yyval.str) = "month"; ;}
    break;

  case 1969:
#line 13003 "gram.y"
    { (yyval.str) = "day"; ;}
    break;

  case 1970:
#line 13004 "gram.y"
    { (yyval.str) = "hour"; ;}
    break;

  case 1971:
#line 13005 "gram.y"
    { (yyval.str) = "minute"; ;}
    break;

  case 1972:
#line 13006 "gram.y"
    { (yyval.str) = "second"; ;}
    break;

  case 1973:
#line 13007 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 1974:
#line 13018 "gram.y"
    {
					(yyval.list) = list_make4((yyvsp[(1) - (4)].node), (yyvsp[(2) - (4)].node), (yyvsp[(3) - (4)].node), (yyvsp[(4) - (4)].node));
				;}
    break;

  case 1975:
#line 13022 "gram.y"
    {
					(yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
				;}
    break;

  case 1976:
#line 13029 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 1977:
#line 13035 "gram.y"
    { (yyval.list) = list_make2((yyvsp[(3) - (3)].node), (yyvsp[(1) - (3)].node)); ;}
    break;

  case 1978:
#line 13036 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1979:
#line 13053 "gram.y"
    {
					(yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(2) - (3)].node), (yyvsp[(3) - (3)].node));
				;}
    break;

  case 1980:
#line 13057 "gram.y"
    {
					/* not legal per SQL99, but might as well allow it */
					(yyval.list) = list_make3((yyvsp[(1) - (3)].node), (yyvsp[(3) - (3)].node), (yyvsp[(2) - (3)].node));
				;}
    break;

  case 1981:
#line 13062 "gram.y"
    {
					(yyval.list) = list_make2((yyvsp[(1) - (2)].node), (yyvsp[(2) - (2)].node));
				;}
    break;

  case 1982:
#line 13066 "gram.y"
    {
					/*
					 * Since there are no cases where this syntax allows
					 * a textual FOR value, we forcibly cast the argument
					 * to int4.  The possible matches in pg_proc are
					 * substring(text,int4) and substring(text,text),
					 * and we don't want the parser to choose the latter,
					 * which it is likely to do if the second argument
					 * is unknown or doesn't have an implicit cast to int4.
					 */
					(yyval.list) = list_make3((yyvsp[(1) - (2)].node), makeIntConst(1, -1),
									makeTypeCast((yyvsp[(2) - (2)].node),
												 SystemTypeName("int4"), -1));
				;}
    break;

  case 1983:
#line 13081 "gram.y"
    {
					(yyval.list) = (yyvsp[(1) - (1)].list);
				;}
    break;

  case 1984:
#line 13085 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 1985:
#line 13089 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 1986:
#line 13092 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 1987:
#line 13095 "gram.y"
    { (yyval.list) = lappend((yyvsp[(3) - (3)].list), (yyvsp[(1) - (3)].node)); ;}
    break;

  case 1988:
#line 13096 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (2)].list); ;}
    break;

  case 1989:
#line 13097 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 1990:
#line 13101 "gram.y"
    {
					SubLink *n = makeNode(SubLink);
					n->subselect = (yyvsp[(1) - (1)].node);
					/* other fields will be filled later */
					(yyval.node) = (Node *)n;
				;}
    break;

  case 1991:
#line 13107 "gram.y"
    { (yyval.node) = (Node *)(yyvsp[(2) - (3)].list); ;}
    break;

  case 1992:
#line 13118 "gram.y"
    {
					CaseExpr *c = makeNode(CaseExpr);
					c->casetype = InvalidOid; /* not analyzed yet */
					c->arg = (Expr *) (yyvsp[(2) - (5)].node);
					c->args = (yyvsp[(3) - (5)].list);
					c->defresult = (Expr *) (yyvsp[(4) - (5)].node);
					c->location = (yylsp[(1) - (5)]);
					(yyval.node) = (Node *)c;
				;}
    break;

  case 1993:
#line 13131 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 1994:
#line 13132 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
    break;

  case 1995:
#line 13137 "gram.y"
    {
					CaseWhen *w = makeNode(CaseWhen);
					w->expr = (Expr *) (yyvsp[(2) - (4)].node);
					w->result = (Expr *) (yyvsp[(4) - (4)].node);
					w->location = (yylsp[(1) - (4)]);
					(yyval.node) = (Node *)w;
				;}
    break;

  case 1996:
#line 13147 "gram.y"
    { (yyval.node) = (yyvsp[(2) - (2)].node); ;}
    break;

  case 1997:
#line 13148 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 1998:
#line 13151 "gram.y"
    { (yyval.node) = (yyvsp[(1) - (1)].node); ;}
    break;

  case 1999:
#line 13152 "gram.y"
    { (yyval.node) = NULL; ;}
    break;

  case 2000:
#line 13156 "gram.y"
    {
					(yyval.node) = makeColumnRef((yyvsp[(1) - (1)].str), NIL, (yylsp[(1) - (1)]), yyscanner);
				;}
    break;

  case 2001:
#line 13160 "gram.y"
    {
					(yyval.node) = makeColumnRef((yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].list), (yylsp[(1) - (2)]), yyscanner);
				;}
    break;

  case 2002:
#line 13167 "gram.y"
    {
					(yyval.node) = (Node *) makeString((yyvsp[(2) - (2)].str));
				;}
    break;

  case 2003:
#line 13171 "gram.y"
    {
					(yyval.node) = (Node *) makeNode(A_Star);
				;}
    break;

  case 2004:
#line 13175 "gram.y"
    {
					A_Indices *ai = makeNode(A_Indices);
					ai->lidx = NULL;
					ai->uidx = (yyvsp[(2) - (3)].node);
					(yyval.node) = (Node *) ai;
				;}
    break;

  case 2005:
#line 13182 "gram.y"
    {
					A_Indices *ai = makeNode(A_Indices);
					ai->lidx = (yyvsp[(2) - (5)].node);
					ai->uidx = (yyvsp[(4) - (5)].node);
					(yyval.node) = (Node *) ai;
				;}
    break;

  case 2006:
#line 13191 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 2007:
#line 13192 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
    break;

  case 2008:
#line 13196 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 2009:
#line 13197 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].node)); ;}
    break;

  case 2012:
#line 13212 "gram.y"
    { (yyval.node) = (Node *) (yyvsp[(1) - (1)].node); ;}
    break;

  case 2013:
#line 13214 "gram.y"
    {
					SetToDefault *n = makeNode(SetToDefault);
					n->location = (yylsp[(1) - (1)]);
					(yyval.node) = (Node *) n;
				;}
    break;

  case 2014:
#line 13222 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 2015:
#line 13223 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
    break;

  case 2016:
#line 13231 "gram.y"
    { (yyval.list) = (yyvsp[(2) - (3)].list); ;}
    break;

  case 2017:
#line 13241 "gram.y"
    { (yyval.list) = (yyvsp[(1) - (1)].list); ;}
    break;

  case 2018:
#line 13242 "gram.y"
    { (yyval.list) = NIL; ;}
    break;

  case 2019:
#line 13246 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].target)); ;}
    break;

  case 2020:
#line 13247 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].target)); ;}
    break;

  case 2021:
#line 13251 "gram.y"
    {
					(yyval.target) = makeNode(ResTarget);
					(yyval.target)->name = (yyvsp[(3) - (3)].str);
					(yyval.target)->indirection = NIL;
					(yyval.target)->val = (Node *)(yyvsp[(1) - (3)].node);
					(yyval.target)->location = (yylsp[(1) - (3)]);
				;}
    break;

  case 2022:
#line 13267 "gram.y"
    {
					(yyval.target) = makeNode(ResTarget);
					(yyval.target)->name = (yyvsp[(2) - (2)].str);
					(yyval.target)->indirection = NIL;
					(yyval.target)->val = (Node *)(yyvsp[(1) - (2)].node);
					(yyval.target)->location = (yylsp[(1) - (2)]);
				;}
    break;

  case 2023:
#line 13275 "gram.y"
    {
					(yyval.target) = makeNode(ResTarget);
					(yyval.target)->name = NULL;
					(yyval.target)->indirection = NIL;
					(yyval.target)->val = (Node *)(yyvsp[(1) - (1)].node);
					(yyval.target)->location = (yylsp[(1) - (1)]);
				;}
    break;

  case 2024:
#line 13283 "gram.y"
    {
					ColumnRef *n = makeNode(ColumnRef);
					n->fields = list_make1(makeNode(A_Star));
					n->location = (yylsp[(1) - (1)]);

					(yyval.target) = makeNode(ResTarget);
					(yyval.target)->name = NULL;
					(yyval.target)->indirection = NIL;
					(yyval.target)->val = (Node *)n;
					(yyval.target)->location = (yylsp[(1) - (1)]);
				;}
    break;

  case 2025:
#line 13304 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].range)); ;}
    break;

  case 2026:
#line 13305 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].range)); ;}
    break;

  case 2027:
#line 13317 "gram.y"
    {
					(yyval.range) = makeRangeVar(NULL, (yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
				;}
    break;

  case 2028:
#line 13321 "gram.y"
    {
					check_qualified_name((yyvsp[(2) - (2)].list), yyscanner);
					(yyval.range) = makeRangeVar(NULL, NULL, (yylsp[(1) - (2)]));
					switch (list_length((yyvsp[(2) - (2)].list)))
					{
						case 1:
							(yyval.range)->catalogname = NULL;
							(yyval.range)->schemaname = (yyvsp[(1) - (2)].str);
							(yyval.range)->relname = strVal(linitial((yyvsp[(2) - (2)].list)));
							break;
						case 2:
							(yyval.range)->catalogname = (yyvsp[(1) - (2)].str);
							(yyval.range)->schemaname = strVal(linitial((yyvsp[(2) - (2)].list)));
							(yyval.range)->relname = strVal(lsecond((yyvsp[(2) - (2)].list)));
							break;
						default:
							ereport(ERROR,
									(errcode(ERRCODE_SYNTAX_ERROR),
									 errmsg("improper qualified name (too many dotted names): %s",
											NameListToString(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)))),
									 parser_errposition((yylsp[(1) - (2)]))));
							break;
					}
				;}
    break;

  case 2029:
#line 13348 "gram.y"
    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
    break;

  case 2030:
#line 13350 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), makeString((yyvsp[(3) - (3)].str))); ;}
    break;

  case 2031:
#line 13354 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 2032:
#line 13357 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 2033:
#line 13360 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 2034:
#line 13362 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 2035:
#line 13364 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 2036:
#line 13366 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 2037:
#line 13377 "gram.y"
    { (yyval.list) = list_make1(makeString((yyvsp[(1) - (1)].str))); ;}
    break;

  case 2038:
#line 13379 "gram.y"
    {
						(yyval.list) = check_func_name(lcons(makeString((yyvsp[(1) - (2)].str)), (yyvsp[(2) - (2)].list)),
											 yyscanner);
					;}
    break;

  case 2039:
#line 13390 "gram.y"
    {
					(yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)]));
				;}
    break;

  case 2040:
#line 13394 "gram.y"
    {
					(yyval.node) = makeFloatConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
				;}
    break;

  case 2041:
#line 13398 "gram.y"
    {
					(yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
				;}
    break;

  case 2042:
#line 13402 "gram.y"
    {
					(yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
				;}
    break;

  case 2043:
#line 13406 "gram.y"
    {
					/* This is a bit constant per SQL99:
					 * Without Feature F511, "BIT data type",
					 * a <general literal> shall not be a
					 * <bit string literal> or a <hex string literal>.
					 */
					(yyval.node) = makeBitStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)]));
				;}
    break;

  case 2044:
#line 13415 "gram.y"
    {
					/* generic type 'literal' syntax */
					TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (2)].list));
					t->location = (yylsp[(1) - (2)]);
					(yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), t);
				;}
    break;

  case 2045:
#line 13422 "gram.y"
    {
					/* generic syntax with a type modifier */
					TypeName *t = makeTypeNameFromNameList((yyvsp[(1) - (6)].list));
					ListCell *lc;

					/*
					 * We must use func_arg_list and opt_sort_clause in the
					 * production to avoid reduce/reduce conflicts, but we
					 * don't actually wish to allow NamedArgExpr in this
					 * context, nor ORDER BY.
					 */
					foreach(lc, (yyvsp[(3) - (6)].list))
					{
						NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);

						if (IsA(arg, NamedArgExpr))
							ereport(ERROR,
									(errcode(ERRCODE_SYNTAX_ERROR),
									 errmsg("type modifier cannot have parameter name"),
									 parser_errposition(arg->location)));
					}
					if ((yyvsp[(4) - (6)].list) != NIL)
							ereport(ERROR,
									(errcode(ERRCODE_SYNTAX_ERROR),
									 errmsg("type modifier cannot have ORDER BY"),
									 parser_errposition((yylsp[(4) - (6)]))));

					t->typmods = (yyvsp[(3) - (6)].list);
					t->location = (yylsp[(1) - (6)]);
					(yyval.node) = makeStringConstCast((yyvsp[(6) - (6)].str), (yylsp[(6) - (6)]), t);
				;}
    break;

  case 2046:
#line 13454 "gram.y"
    {
					(yyval.node) = makeStringConstCast((yyvsp[(2) - (2)].str), (yylsp[(2) - (2)]), (yyvsp[(1) - (2)].typnam));
				;}
    break;

  case 2047:
#line 13458 "gram.y"
    {
					TypeName *t = (yyvsp[(1) - (3)].typnam);
					t->typmods = (yyvsp[(3) - (3)].list);
					(yyval.node) = makeStringConstCast((yyvsp[(2) - (3)].str), (yylsp[(2) - (3)]), t);
				;}
    break;

  case 2048:
#line 13464 "gram.y"
    {
					TypeName *t = (yyvsp[(1) - (5)].typnam);
					t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
											makeIntConst((yyvsp[(3) - (5)].ival), (yylsp[(3) - (5)])));
					(yyval.node) = makeStringConstCast((yyvsp[(5) - (5)].str), (yylsp[(5) - (5)]), t);
				;}
    break;

  case 2049:
#line 13472 "gram.y"
    {
					TypeName *t = (yyvsp[(1) - (6)].typnam);
					if ((yyvsp[(6) - (6)].list) != NIL)
					{
						t->typmods = lappend((yyvsp[(6) - (6)].list), makeParamRef(0, (yylsp[(3) - (6)])));
					}
					else
						t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
												makeParamRef(0, (yylsp[(3) - (6)])));
					(yyval.node) = makeParamRefCast(0, (yylsp[(5) - (6)]), t);
				;}
    break;

  case 2050:
#line 13484 "gram.y"
    {
					(yyval.node) = makeBoolAConst(TRUE, (yylsp[(1) - (1)]));
				;}
    break;

  case 2051:
#line 13488 "gram.y"
    {
					(yyval.node) = makeBoolAConst(FALSE, (yylsp[(1) - (1)]));
				;}
    break;

  case 2052:
#line 13492 "gram.y"
    {
					(yyval.node) = makeNullAConst((yylsp[(1) - (1)]));
				;}
    break;

  case 2053:
#line 13497 "gram.y"
    { (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
    break;

  case 2054:
#line 13498 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 2055:
#line 13500 "gram.y"
    { (yyval.ival) = (yyvsp[(1) - (1)].ival); ;}
    break;

  case 2056:
#line 13501 "gram.y"
    { (yyval.ival) = + (yyvsp[(2) - (2)].ival); ;}
    break;

  case 2057:
#line 13502 "gram.y"
    { (yyval.ival) = - (yyvsp[(2) - (2)].ival); ;}
    break;

  case 2058:
#line 13507 "gram.y"
    {
					RoleSpec *spc = (RoleSpec *) (yyvsp[(1) - (1)].node);
					switch (spc->roletype)
					{
						case ROLESPEC_CSTRING:
							(yyval.str) = spc->rolename;
							break;
						case ROLESPEC_PUBLIC:
							ereport(ERROR,
									(errcode(ERRCODE_RESERVED_NAME),
									 errmsg("role name \"%s\" is reserved",
											"public"),
									 parser_errposition((yylsp[(1) - (1)]))));
						case ROLESPEC_SESSION_USER:
							ereport(ERROR,
									(errcode(ERRCODE_RESERVED_NAME),
									 errmsg("%s cannot be used as a role name here",
											"SESSION_USER"),
									 parser_errposition((yylsp[(1) - (1)]))));
						case ROLESPEC_CURRENT_USER:
							ereport(ERROR,
									(errcode(ERRCODE_RESERVED_NAME),
									 errmsg("%s cannot be used as a role name here",
											"CURRENT_USER"),
									 parser_errposition((yylsp[(1) - (1)]))));
					}
				;}
    break;

  case 2059:
#line 13537 "gram.y"
    {
						/*
						 * "public" and "none" are not keywords, but they must
						 * be treated specially here.
						 */
						RoleSpec *n;
						if (strcmp((yyvsp[(1) - (1)].str), "public") == 0)
						{
							n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[(1) - (1)]));
							n->roletype = ROLESPEC_PUBLIC;
						}
						else if (strcmp((yyvsp[(1) - (1)].str), "none") == 0)
						{
							ereport(ERROR,
									(errcode(ERRCODE_RESERVED_NAME),
									 errmsg("role name \"%s\" is reserved",
											"none"),
									 parser_errposition((yylsp[(1) - (1)]))));
						}
						else
						{
							n = (RoleSpec *) makeRoleSpec(ROLESPEC_CSTRING, (yylsp[(1) - (1)]));
							n->rolename = pstrdup((yyvsp[(1) - (1)].str));
						}
						(yyval.node) = (Node *) n;
					;}
    break;

  case 2060:
#line 13564 "gram.y"
    {
						(yyval.node) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[(1) - (1)]));
					;}
    break;

  case 2061:
#line 13568 "gram.y"
    {
						(yyval.node) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[(1) - (1)]));
					;}
    break;

  case 2062:
#line 13574 "gram.y"
    { (yyval.list) = list_make1((yyvsp[(1) - (1)].node)); ;}
    break;

  case 2063:
#line 13576 "gram.y"
    { (yyval.list) = lappend((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].node)); ;}
    break;

  case 2064:
#line 13582 "gram.y"
    { (yyval.node) = makeIntConst((yyvsp[(1) - (1)].ival), (yylsp[(1) - (1)])); ;}
    break;

  case 2065:
#line 13583 "gram.y"
    { (yyval.node) = makeParamRef( 0, (yylsp[(1) - (1)])); ;}
    break;

  case 2066:
#line 13586 "gram.y"
    { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;}
    break;

  case 2067:
#line 13587 "gram.y"
    { (yyval.node) = makeParamRef( 0, (yylsp[(1) - (1)])); ;}
    break;

  case 2068:
#line 13590 "gram.y"
    { (yyval.node) = (Node *) makeString((yyvsp[(1) - (1)].str)); ;}
    break;

  case 2069:
#line 13591 "gram.y"
    { (yyval.node) = makeParamRef( 0, (yylsp[(1) - (1)])); ;}
    break;

  case 2070:
#line 13594 "gram.y"
    { (yyval.node) = makeStringConst((yyvsp[(1) - (1)].str), (yylsp[(1) - (1)])); ;}
    break;

  case 2071:
#line 13595 "gram.y"
    { (yyval.node) = makeParamRef( 0, (yylsp[(1) - (1)])); ;}
    break;

  case 2072:
#line 13611 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 2073:
#line 13612 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 2074:
#line 13613 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 2075:
#line 13618 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 2076:
#line 13619 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 2077:
#line 13620 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 2078:
#line 13625 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 2079:
#line 13626 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 2080:
#line 13627 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 2081:
#line 13628 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 2082:
#line 13634 "gram.y"
    { (yyval.str) = (yyvsp[(1) - (1)].str); ;}
    break;

  case 2083:
#line 13635 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 2084:
#line 13636 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 2085:
#line 13637 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;

  case 2086:
#line 13638 "gram.y"
    { (yyval.str) = pstrdup((yyvsp[(1) - (1)].keyword)); ;}
    break;


/* Line 1267 of yacc.c.  */
#line 40777 "gram.c"
      default: break;
    }
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);

  YYPOPSTACK (yylen);
  yylen = 0;
  YY_STACK_PRINT (yyss, yyssp);

  *++yyvsp = yyval;
  *++yylsp = yyloc;

  /* Now `shift' the result of the reduction.  Determine what state
     that goes to, based on the state we popped back to and the rule
     number reduced by.  */

  yyn = yyr1[yyn];

  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
    yystate = yytable[yystate];
  else
    yystate = yydefgoto[yyn - YYNTOKENS];

  goto yynewstate;


/*------------------------------------.
| yyerrlab -- here on detecting error |
`------------------------------------*/
yyerrlab:
  /* If not already recovering from an error, report this error.  */
  if (!yyerrstatus)
    {
      ++yynerrs;
#if ! YYERROR_VERBOSE
      yyerror (&yylloc, yyscanner, YY_("syntax error"));
#else
      {
	YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
	if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
	  {
	    YYSIZE_T yyalloc = 2 * yysize;
	    if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
	      yyalloc = YYSTACK_ALLOC_MAXIMUM;
	    if (yymsg != yymsgbuf)
	      YYSTACK_FREE (yymsg);
	    yymsg = (char *) YYSTACK_ALLOC (yyalloc);
	    if (yymsg)
	      yymsg_alloc = yyalloc;
	    else
	      {
		yymsg = yymsgbuf;
		yymsg_alloc = sizeof yymsgbuf;
	      }
	  }

	if (0 < yysize && yysize <= yymsg_alloc)
	  {
	    (void) yysyntax_error (yymsg, yystate, yychar);
	    yyerror (&yylloc, yyscanner, yymsg);
	  }
	else
	  {
	    yyerror (&yylloc, yyscanner, YY_("syntax error"));
	    if (yysize != 0)
	      goto yyexhaustedlab;
	  }
      }
#endif
    }

  yyerror_range[0] = yylloc;

  if (yyerrstatus == 3)
    {
      /* If just tried and failed to reuse look-ahead token after an
	 error, discard it.  */

      if (yychar <= YYEOF)
	{
	  /* Return failure if at end of input.  */
	  if (yychar == YYEOF)
	    YYABORT;
	}
      else
	{
	  yydestruct ("Error: discarding",
		      yytoken, &yylval, &yylloc, yyscanner);
	  yychar = YYEMPTY;
	}
    }

  /* Else will try to reuse look-ahead token after shifting the error
     token.  */
  goto yyerrlab1;


/*---------------------------------------------------.
| yyerrorlab -- error raised explicitly by YYERROR.  |
`---------------------------------------------------*/
yyerrorlab:

  /* Pacify compilers like GCC when the user code never invokes
     YYERROR and the label yyerrorlab therefore never appears in user
     code.  */
  if (/*CONSTCOND*/ 0)
     goto yyerrorlab;

  yyerror_range[0] = yylsp[1-yylen];
  /* Do not reclaim the symbols of the rule which action triggered
     this YYERROR.  */
  YYPOPSTACK (yylen);
  yylen = 0;
  YY_STACK_PRINT (yyss, yyssp);
  yystate = *yyssp;
  goto yyerrlab1;


/*-------------------------------------------------------------.
| yyerrlab1 -- common code for both syntax error and YYERROR.  |
`-------------------------------------------------------------*/
yyerrlab1:
  yyerrstatus = 3;	/* Each real token shifted decrements this.  */

  for (;;)
    {
      yyn = yypact[yystate];
      if (yyn != YYPACT_NINF)
	{
	  yyn += YYTERROR;
	  if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
	    {
	      yyn = yytable[yyn];
	      if (0 < yyn)
		break;
	    }
	}

      /* Pop the current state because it cannot handle the error token.  */
      if (yyssp == yyss)
	YYABORT;

      yyerror_range[0] = *yylsp;
      yydestruct ("Error: popping",
		  yystos[yystate], yyvsp, yylsp, yyscanner);
      YYPOPSTACK (1);
      yystate = *yyssp;
      YY_STACK_PRINT (yyss, yyssp);
    }

  if (yyn == YYFINAL)
    YYACCEPT;

  *++yyvsp = yylval;

  yyerror_range[1] = yylloc;
  /* Using YYLLOC is tempting, but would change the location of
     the look-ahead.  YYLOC is available though.  */
  YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
  *++yylsp = yyloc;

  /* Shift the error token.  */
  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);

  yystate = yyn;
  goto yynewstate;


/*-------------------------------------.
| yyacceptlab -- YYACCEPT comes here.  |
`-------------------------------------*/
yyacceptlab:
  yyresult = 0;
  goto yyreturn;

/*-----------------------------------.
| yyabortlab -- YYABORT comes here.  |
`-----------------------------------*/
yyabortlab:
  yyresult = 1;
  goto yyreturn;

#ifndef yyoverflow
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here.  |
`-------------------------------------------------*/
yyexhaustedlab:
  yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
  yyresult = 2;
  /* Fall through.  */
#endif

yyreturn:
  if (yychar != YYEOF && yychar != YYEMPTY)
     yydestruct ("Cleanup: discarding lookahead",
		 yytoken, &yylval, &yylloc, yyscanner);
  /* Do not reclaim the symbols of the rule which action triggered
     this YYABORT or YYACCEPT.  */
  YYPOPSTACK (yylen);
  YY_STACK_PRINT (yyss, yyssp);
  while (yyssp != yyss)
    {
      yydestruct ("Cleanup: popping",
		  yystos[*yyssp], yyvsp, yylsp, yyscanner);
      YYPOPSTACK (1);
    }
#ifndef yyoverflow
  if (yyss != yyssa)
    YYSTACK_FREE (yyss);
#endif
#if YYERROR_VERBOSE
  if (yymsg != yymsgbuf)
    YYSTACK_FREE (yymsg);
#endif
  /* Make sure YYID is used.  */
  return YYID (yyresult);
}


#line 14111 "gram.y"


/*
 * The signature of this function is required by bison.  However, we
 * ignore the passed yylloc and instead use the last token position
 * available from the scanner.
 */
static void
base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
{
	parser_yyerror(msg);
}

static Node *
makeColumnRef(char *colname, List *indirection,
			  int location, core_yyscan_t yyscanner)
{
	/*
	 * Generate a ColumnRef node, with an A_Indirection node added if there
	 * is any subscripting in the specified indirection list.  However,
	 * any field selection at the start of the indirection list must be
	 * transposed into the "fields" part of the ColumnRef node.
	 */
	ColumnRef  *c = makeNode(ColumnRef);
	int		nfields = 0;
	ListCell *l;

	c->location = location;
	foreach(l, indirection)
	{
		if (IsA(lfirst(l), A_Indices))
		{
			A_Indirection *i = makeNode(A_Indirection);

			if (nfields == 0)
			{
				/* easy case - all indirection goes to A_Indirection */
				c->fields = list_make1(makeString(colname));
				i->indirection = check_indirection(indirection, yyscanner);
			}
			else
			{
				/* got to split the list in two */
				i->indirection = check_indirection(list_copy_tail(indirection,
																  nfields),
												   yyscanner);
				indirection = list_truncate(indirection, nfields);
				c->fields = lcons(makeString(colname), indirection);
			}
			i->arg = (Node *) c;
			return (Node *) i;
		}
		else if (IsA(lfirst(l), A_Star))
		{
			/* We only allow '*' at the end of a ColumnRef */
			if (lnext(l) != NULL)
				parser_yyerror("improper use of \"*\"");
		}
		nfields++;
	}
	/* No subscripting, so all indirection gets added to field list */
	c->fields = lcons(makeString(colname), indirection);
	return (Node *) c;
}

static Node *
makeTypeCast(Node *arg, TypeName *typename, int location)
{
	TypeCast *n = makeNode(TypeCast);
	n->arg = arg;
	n->typeName = typename;
	n->location = location;
	return (Node *) n;
}

static Node *
makeStringConst(char *str, int location)
{
	A_Const *n = makeNode(A_Const);

	n->val.type = T_String;
	n->val.val.str = str;
	n->location = location;

	return (Node *)n;
}

static Node *
makeStringConstCast(char *str, int location, TypeName *typename)
{
	Node *s = makeStringConst(str, location);

	return makeTypeCast(s, typename, -1);
}

static Node *
makeIntConst(int val, int location)
{
	A_Const *n = makeNode(A_Const);

	n->val.type = T_Integer;
	n->val.val.ival = val;
	n->location = location;

	return (Node *)n;
}

static Node *
makeFloatConst(char *str, int location)
{
	A_Const *n = makeNode(A_Const);

	n->val.type = T_Float;
	n->val.val.str = str;
	n->location = location;

	return (Node *)n;
}

static Node *
makeBitStringConst(char *str, int location)
{
	A_Const *n = makeNode(A_Const);

	n->val.type = T_BitString;
	n->val.val.str = str;
	n->location = location;

	return (Node *)n;
}

static Node *
makeNullAConst(int location)
{
	A_Const *n = makeNode(A_Const);

	n->val.type = T_Null;
	n->location = location;

	return (Node *)n;
}

static Node *
makeAConst(Value *v, int location)
{
	Node *n;

	switch (v->type)
	{
		case T_Float:
			n = makeFloatConst(v->val.str, location);
			break;

		case T_Integer:
			n = makeIntConst(v->val.ival, location);
			break;

		case T_String:
		default:
			n = makeStringConst(v->val.str, location);
			break;
	}

	return n;
}

/* makeBoolAConst()
 * Create an A_Const string node and put it inside a boolean cast.
 */
static Node *
makeBoolAConst(bool state, int location)
{
	A_Const *n = makeNode(A_Const);

	n->val.type = T_String;
	n->val.val.str = (state ? "t" : "f");
	n->location = location;

	return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
}

/* makeParamRef
 * Creates a new ParamRef node
 */
static Node* makeParamRef(int number, int location)
{
	ParamRef *p = makeNode(ParamRef);
	p->number = number;
	p->location = location;
	return (Node *) p;
}

static Node *
makeParamRefCast(int number, int location, TypeName *typename)
{
	Node *p = makeParamRef(number, location);
	return makeTypeCast(p, typename, -1);
}

/*
 * Makes INTERVAL-like nodes for "INTERVAL ? typemod", otherwise treat as A_EXPR
 */
static Node *
makeInterval_or_AExprOp(Node *lexpr, Node *rexpr, int location)
{
	if (lexpr && IsA(lexpr, ColumnRef)) {
		ColumnRef *c = (ColumnRef *) lexpr;
		if (strcmp(strVal(linitial(c->fields)), "interval") == 0 ) {
			TypeName *t = SystemTypeName("interval");
			t->location = c->location;

			/* Its too difficult to tell the parser to give us the right typemod,
			 * just use a dummy one if present
			 */
			if (rexpr)
				t->typmods = list_make1(makeIntConst(0, -1));

			return makeParamRefCast(0, location, t);
		}
	}

	return (Node *) makeA_Expr(AEXPR_OP, list_make1(makeString("?")), lexpr, rexpr, location);
}

/* makeRoleSpec
 * Create a RoleSpec with the given type
 */
static Node *
makeRoleSpec(RoleSpecType type, int location)
{
	RoleSpec *spec = makeNode(RoleSpec);

	spec->roletype = type;
	spec->location = location;

	return (Node *) spec;
}

/* check_qualified_name --- check the result of qualified_name production
 *
 * It's easiest to let the grammar production for qualified_name allow
 * subscripts and '*', which we then must reject here.
 */
static void
check_qualified_name(List *names, core_yyscan_t yyscanner)
{
	ListCell   *i;

	foreach(i, names)
	{
		if (!IsA(lfirst(i), String))
			parser_yyerror("syntax error");
	}
}

/* check_func_name --- check the result of func_name production
 *
 * It's easiest to let the grammar production for func_name allow subscripts
 * and '*', which we then must reject here.
 */
static List *
check_func_name(List *names, core_yyscan_t yyscanner)
{
	ListCell   *i;

	foreach(i, names)
	{
		if (!IsA(lfirst(i), String))
			parser_yyerror("syntax error");
	}
	return names;
}

/* check_indirection --- check the result of indirection production
 *
 * We only allow '*' at the end of the list, but it's hard to enforce that
 * in the grammar, so do it here.
 */
static List *
check_indirection(List *indirection, core_yyscan_t yyscanner)
{
	ListCell *l;

	foreach(l, indirection)
	{
		if (IsA(lfirst(l), A_Star))
		{
			if (lnext(l) != NULL)
				parser_yyerror("improper use of \"*\"");
		}
	}
	return indirection;
}

/* extractArgTypes()
 * Given a list of FunctionParameter nodes, extract a list of just the
 * argument types (TypeNames) for input parameters only.  This is what
 * is needed to look up an existing function, which is what is wanted by
 * the productions that use this call.
 */
static List *
extractArgTypes(List *parameters)
{
	List	   *result = NIL;
	ListCell   *i;

	foreach(i, parameters)
	{
		FunctionParameter *p = (FunctionParameter *) lfirst(i);

		if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
			result = lappend(result, p->argType);
	}
	return result;
}

/* extractAggrArgTypes()
 * As above, but work from the output of the aggr_args production.
 */
static List *
extractAggrArgTypes(List *aggrargs)
{
	Assert(list_length(aggrargs) == 2);
	return extractArgTypes((List *) linitial(aggrargs));
}

/* makeOrderedSetArgs()
 * Build the result of the aggr_args production (which see the comments for).
 * This handles only the case where both given lists are nonempty, so that
 * we have to deal with multiple VARIADIC arguments.
 */
static List *
makeOrderedSetArgs(List *directargs, List *orderedargs,
				   core_yyscan_t yyscanner)
{
	FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
	int			ndirectargs;

	/* No restriction unless last direct arg is VARIADIC */
	if (lastd->mode == FUNC_PARAM_VARIADIC)
	{
		FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);

		/*
		 * We ignore the names, though the aggr_arg production allows them;
		 * it doesn't allow default values, so those need not be checked.
		 */
		if (list_length(orderedargs) != 1 ||
			firsto->mode != FUNC_PARAM_VARIADIC ||
			!equal(lastd->argType, firsto->argType))
			ereport(ERROR,
					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
					 errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
					 parser_errposition(exprLocation((Node *) firsto))));

		/* OK, drop the duplicate VARIADIC argument from the internal form */
		orderedargs = NIL;
	}

	/* don't merge into the next line, as list_concat changes directargs */
	ndirectargs = list_length(directargs);

	return list_make2(list_concat(directargs, orderedargs),
					  makeInteger(ndirectargs));
}

/* insertSelectOptions()
 * Insert ORDER BY, etc into an already-constructed SelectStmt.
 *
 * This routine is just to avoid duplicating code in SelectStmt productions.
 */
static void
insertSelectOptions(SelectStmt *stmt,
					List *sortClause, List *lockingClause,
					Node *limitOffset, Node *limitCount,
					WithClause *withClause,
					core_yyscan_t yyscanner)
{
	Assert(IsA(stmt, SelectStmt));

	/*
	 * Tests here are to reject constructs like
	 *	(SELECT foo ORDER BY bar) ORDER BY baz
	 */
	if (sortClause)
	{
		if (stmt->sortClause)
			ereport(ERROR,
					(errcode(ERRCODE_SYNTAX_ERROR),
					 errmsg("multiple ORDER BY clauses not allowed"),
					 parser_errposition(exprLocation((Node *) sortClause))));
		stmt->sortClause = sortClause;
	}
	/* We can handle multiple locking clauses, though */
	stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
	if (limitOffset)
	{
		if (stmt->limitOffset)
			ereport(ERROR,
					(errcode(ERRCODE_SYNTAX_ERROR),
					 errmsg("multiple OFFSET clauses not allowed"),
					 parser_errposition(exprLocation(limitOffset))));
		stmt->limitOffset = limitOffset;
	}
	if (limitCount)
	{
		if (stmt->limitCount)
			ereport(ERROR,
					(errcode(ERRCODE_SYNTAX_ERROR),
					 errmsg("multiple LIMIT clauses not allowed"),
					 parser_errposition(exprLocation(limitCount))));
		stmt->limitCount = limitCount;
	}
	if (withClause)
	{
		if (stmt->withClause)
			ereport(ERROR,
					(errcode(ERRCODE_SYNTAX_ERROR),
					 errmsg("multiple WITH clauses not allowed"),
					 parser_errposition(exprLocation((Node *) withClause))));
		stmt->withClause = withClause;
	}
}

static Node *
makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
{
	SelectStmt *n = makeNode(SelectStmt);

	n->op = op;
	n->all = all;
	n->larg = (SelectStmt *) larg;
	n->rarg = (SelectStmt *) rarg;
	return (Node *) n;
}

/* SystemFuncName()
 * Build a properly-qualified reference to a built-in function.
 */
List *
SystemFuncName(char *name)
{
	return list_make2(makeString("pg_catalog"), makeString(name));
}

/* SystemTypeName()
 * Build a properly-qualified reference to a built-in type.
 *
 * typmod is defaulted, but may be changed afterwards by caller.
 * Likewise for the location.
 */
TypeName *
SystemTypeName(char *name)
{
	return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
											   makeString(name)));
}

/* doNegate()
 * Handle negation of a numeric constant.
 *
 * Formerly, we did this here because the optimizer couldn't cope with
 * indexquals that looked like "var = -4" --- it wants "var = const"
 * and a unary minus operator applied to a constant didn't qualify.
 * As of Postgres 7.0, that problem doesn't exist anymore because there
 * is a constant-subexpression simplifier in the optimizer.  However,
 * there's still a good reason for doing this here, which is that we can
 * postpone committing to a particular internal representation for simple
 * negative constants.	It's better to leave "-123.456" in string form
 * until we know what the desired type is.
 */
static Node *
doNegate(Node *n, int location)
{
	if (IsA(n, A_Const))
	{
		A_Const *con = (A_Const *)n;

		/* report the constant's location as that of the '-' sign */
		con->location = location;

		if (con->val.type == T_Integer)
		{
			con->val.val.ival = -con->val.val.ival;
			return n;
		}
		if (con->val.type == T_Float)
		{
			doNegateFloat(&con->val);
			return n;
		}
	}

	return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
}

static void
doNegateFloat(Value *v)
{
	char   *oldval = v->val.str;

	Assert(IsA(v, Float));
	if (*oldval == '+')
		oldval++;
	if (*oldval == '-')
		v->val.str = oldval+1;	/* just strip the '-' */
	else
		v->val.str = psprintf("-%s", oldval);
}

static Node *
makeAndExpr(Node *lexpr, Node *rexpr, int location)
{
	/* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
	if (IsA(lexpr, BoolExpr))
	{
		BoolExpr *blexpr = (BoolExpr *) lexpr;

		if (blexpr->boolop == AND_EXPR)
		{
			blexpr->args = lappend(blexpr->args, rexpr);
			return (Node *) blexpr;
		}
	}
	return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
}

static Node *
makeOrExpr(Node *lexpr, Node *rexpr, int location)
{
	/* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
	if (IsA(lexpr, BoolExpr))
	{
		BoolExpr *blexpr = (BoolExpr *) lexpr;

		if (blexpr->boolop == OR_EXPR)
		{
			blexpr->args = lappend(blexpr->args, rexpr);
			return (Node *) blexpr;
		}
	}
	return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
}

static Node *
makeNotExpr(Node *expr, int location)
{
	return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
}

static Node *
makeAArrayExpr(List *elements, int location)
{
	A_ArrayExpr *n = makeNode(A_ArrayExpr);

	n->elements = elements;
	n->location = location;
	return (Node *) n;
}

static Node *
makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
			int location)
{
	XmlExpr		*x = makeNode(XmlExpr);

	x->op = op;
	x->name = name;
	/*
	 * named_args is a list of ResTarget; it'll be split apart into separate
	 * expression and name lists in transformXmlExpr().
	 */
	x->named_args = named_args;
	x->arg_names = NIL;
	x->args = args;
	/* xmloption, if relevant, must be filled in by caller */
	/* type and typmod will be filled in during parse analysis */
	x->type = InvalidOid;			/* marks the node as not analyzed */
	x->location = location;
	return (Node *) x;
}

/*
 * Merge the input and output parameters of a table function.
 */
static List *
mergeTableFuncParameters(List *func_args, List *columns)
{
	ListCell   *lc;

	/* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
	foreach(lc, func_args)
	{
		FunctionParameter *p = (FunctionParameter *) lfirst(lc);

		if (p->mode != FUNC_PARAM_IN && p->mode != FUNC_PARAM_VARIADIC)
			ereport(ERROR,
					(errcode(ERRCODE_SYNTAX_ERROR),
					 errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
	}

	return list_concat(func_args, columns);
}

/*
 * Determine return type of a TABLE function.  A single result column
 * returns setof that column's type; otherwise return setof record.
 */
static TypeName *
TableFuncTypeName(List *columns)
{
	TypeName *result;

	if (list_length(columns) == 1)
	{
		FunctionParameter *p = (FunctionParameter *) linitial(columns);

		result = (TypeName *) copyObject(p->argType);
	}
	else
		result = SystemTypeName("record");

	result->setof = true;

	return result;
}

/*
 * Convert a list of (dotted) names to a RangeVar (like
 * makeRangeVarFromNameList, but with position support).  The
 * "AnyName" refers to the any_name production in the grammar.
 */
static RangeVar *
makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
{
	RangeVar *r = makeNode(RangeVar);

	switch (list_length(names))
	{
		case 1:
			r->catalogname = NULL;
			r->schemaname = NULL;
			r->relname = strVal(linitial(names));
			break;
		case 2:
			r->catalogname = NULL;
			r->schemaname = strVal(linitial(names));
			r->relname = strVal(lsecond(names));
			break;
		case 3:
			r->catalogname = strVal(linitial(names));
			r->schemaname = strVal(lsecond(names));
			r->relname = strVal(lthird(names));
			break;
		default:
			ereport(ERROR,
					(errcode(ERRCODE_SYNTAX_ERROR),
					 errmsg("improper qualified name (too many dotted names): %s",
							NameListToString(names)),
					 parser_errposition(position)));
			break;
	}

	r->relpersistence = RELPERSISTENCE_PERMANENT;
	r->location = position;

	return r;
}

/* Separate Constraint nodes from COLLATE clauses in a ColQualList */
static void
SplitColQualList(List *qualList,
				 List **constraintList, CollateClause **collClause,
				 core_yyscan_t yyscanner)
{
	ListCell   *cell;
	ListCell   *prev;
	ListCell   *next;

	*collClause = NULL;
	prev = NULL;
	for (cell = list_head(qualList); cell; cell = next)
	{
		Node   *n = (Node *) lfirst(cell);

		next = lnext(cell);
		if (IsA(n, Constraint))
		{
			/* keep it in list */
			prev = cell;
			continue;
		}
		if (IsA(n, CollateClause))
		{
			CollateClause *c = (CollateClause *) n;

			if (*collClause)
				ereport(ERROR,
						(errcode(ERRCODE_SYNTAX_ERROR),
						 errmsg("multiple COLLATE clauses not allowed"),
						 parser_errposition(c->location)));
			*collClause = c;
		}
		else
			elog(ERROR, "unexpected node type %d", (int) n->type);
		/* remove non-Constraint nodes from qualList */
		qualList = list_delete_cell(qualList, cell, prev);
	}
	*constraintList = qualList;
}

/*
 * Process result of ConstraintAttributeSpec, and set appropriate bool flags
 * in the output command node.  Pass NULL for any flags the particular
 * command doesn't support.
 */
static void
processCASbits(int cas_bits, int location, const char *constrType,
			   bool *deferrable, bool *initdeferred, bool *not_valid,
			   bool *no_inherit, core_yyscan_t yyscanner)
{
	/* defaults */
	if (deferrable)
		*deferrable = false;
	if (initdeferred)
		*initdeferred = false;
	if (not_valid)
		*not_valid = false;

	if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
	{
		if (deferrable)
			*deferrable = true;
		else
			ereport(ERROR,
					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
					 /* translator: %s is CHECK, UNIQUE, or similar */
					 errmsg("%s constraints cannot be marked DEFERRABLE",
							constrType),
					 parser_errposition(location)));
	}

	if (cas_bits & CAS_INITIALLY_DEFERRED)
	{
		if (initdeferred)
			*initdeferred = true;
		else
			ereport(ERROR,
					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
					 /* translator: %s is CHECK, UNIQUE, or similar */
					 errmsg("%s constraints cannot be marked DEFERRABLE",
							constrType),
					 parser_errposition(location)));
	}

	if (cas_bits & CAS_NOT_VALID)
	{
		if (not_valid)
			*not_valid = true;
		else
			ereport(ERROR,
					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
					 /* translator: %s is CHECK, UNIQUE, or similar */
					 errmsg("%s constraints cannot be marked NOT VALID",
							constrType),
					 parser_errposition(location)));
	}

	if (cas_bits & CAS_NO_INHERIT)
	{
		if (no_inherit)
			*no_inherit = true;
		else
			ereport(ERROR,
					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
					 /* translator: %s is CHECK, UNIQUE, or similar */
					 errmsg("%s constraints cannot be marked NO INHERIT",
							constrType),
					 parser_errposition(location)));
	}
}

/*----------
 * Recursive view transformation
 *
 * Convert
 *
 *     CREATE RECURSIVE VIEW relname (aliases) AS query
 *
 * to
 *
 *     CREATE VIEW relname (aliases) AS
 *         WITH RECURSIVE relname (aliases) AS (query)
 *         SELECT aliases FROM relname
 *
 * Actually, just the WITH ... part, which is then inserted into the original
 * view definition as the query.
 * ----------
 */
static Node *
makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
{
	SelectStmt *s = makeNode(SelectStmt);
	WithClause *w = makeNode(WithClause);
	CommonTableExpr *cte = makeNode(CommonTableExpr);
	List	   *tl = NIL;
	ListCell   *lc;

	/* create common table expression */
	cte->ctename = relname;
	cte->aliascolnames = aliases;
	cte->ctequery = query;
	cte->location = -1;

	/* create WITH clause and attach CTE */
	w->recursive = true;
	w->ctes = list_make1(cte);
	w->location = -1;

	/* create target list for the new SELECT from the alias list of the
	 * recursive view specification */
	foreach (lc, aliases)
	{
		ResTarget *rt = makeNode(ResTarget);

		rt->name = NULL;
		rt->indirection = NIL;
		rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
		rt->location = -1;

		tl = lappend(tl, rt);
	}

	/* create new SELECT combining WITH clause, target list, and fake FROM
	 * clause */
	s->withClause = w;
	s->targetList = tl;
	s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));

	return (Node *) s;
}

/* parser_init()
 * Initialize to parse one query string
 */
void
parser_init(base_yy_extra_type *yyext)
{
	yyext->parsetree = NIL;		/* in case grammar forgets to set it */
}

/*
 * Must undefine this stuff before including scan.c, since it has different
 * definitions for these macros.
 */
#undef yyerror
#undef yylval
#undef yylloc

#include "scan.c"