/* A Bison parser, made by GNU Bison 1.875. */ /* Skeleton parser for Yacc-like parsing with Bison, Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. */ /* 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 /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 0 /* Using locations. */ #define YYLSP_NEEDED 0 /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { SQL_ALLOCATE = 258, SQL_AUTOCOMMIT = 259, SQL_BOOL = 260, SQL_BREAK = 261, SQL_CALL = 262, SQL_CARDINALITY = 263, SQL_CONNECT = 264, SQL_CONTINUE = 265, SQL_COUNT = 266, SQL_CURRENT = 267, SQL_DATA = 268, SQL_DATETIME_INTERVAL_CODE = 269, SQL_DATETIME_INTERVAL_PRECISION = 270, SQL_DESCRIBE = 271, SQL_DESCRIPTOR = 272, SQL_DISCONNECT = 273, SQL_ENUM = 274, SQL_FOUND = 275, SQL_FREE = 276, SQL_GO = 277, SQL_GOTO = 278, SQL_IDENTIFIED = 279, SQL_INDICATOR = 280, SQL_KEY_MEMBER = 281, SQL_LENGTH = 282, SQL_LONG = 283, SQL_NAME = 284, SQL_NULLABLE = 285, SQL_OCTET_LENGTH = 286, SQL_OPEN = 287, SQL_OUTPUT = 288, SQL_REFERENCE = 289, SQL_RETURNED_LENGTH = 290, SQL_RETURNED_OCTET_LENGTH = 291, SQL_SCALE = 292, SQL_SECTION = 293, SQL_SHORT = 294, SQL_SIGNED = 295, SQL_SQL = 296, SQL_SQLERROR = 297, SQL_SQLPRINT = 298, SQL_SQLWARNING = 299, SQL_START = 300, SQL_STOP = 301, SQL_STRUCT = 302, SQL_UNSIGNED = 303, SQL_VALUE = 304, SQL_VAR = 305, SQL_WHENEVER = 306, S_ADD = 307, S_AND = 308, S_ANYTHING = 309, S_AUTO = 310, S_CONST = 311, S_DEC = 312, S_DIV = 313, S_DOTPOINT = 314, S_EQUAL = 315, S_EXTERN = 316, S_INC = 317, S_LSHIFT = 318, S_MEMPOINT = 319, S_MEMBER = 320, S_MOD = 321, S_MUL = 322, S_NEQUAL = 323, S_OR = 324, S_REGISTER = 325, S_RSHIFT = 326, S_STATIC = 327, S_SUB = 328, S_VOLATILE = 329, S_TYPEDEF = 330, TYPECAST = 331, ABORT_P = 332, ABSOLUTE_P = 333, ACCESS = 334, ACTION = 335, ADD_P = 336, ADMIN = 337, AFTER = 338, AGGREGATE = 339, ALL = 340, ALSO = 341, ALTER = 342, ANALYSE = 343, ANALYZE = 344, AND = 345, ANY = 346, ARRAY = 347, AS = 348, ASC = 349, ASSERTION = 350, ASSIGNMENT = 351, ASYMMETRIC = 352, AT = 353, AUTHORIZATION = 354, BACKWARD = 355, BEFORE = 356, BEGIN_P = 357, BETWEEN = 358, BIGINT = 359, BINARY = 360, BIT = 361, BOOLEAN_P = 362, BOTH = 363, BY = 364, CACHE = 365, CALLED = 366, CASCADE = 367, CASCADED = 368, CASE = 369, CAST = 370, CHAIN = 371, CHAR_P = 372, CHARACTER = 373, CHARACTERISTICS = 374, CHECK = 375, CHECKPOINT = 376, CLASS = 377, CLOSE = 378, CLUSTER = 379, COALESCE = 380, COLLATE = 381, COLUMN = 382, COMMENT = 383, COMMIT = 384, COMMITTED = 385, CONCURRENTLY = 386, CONNECTION = 387, CONSTRAINT = 388, CONSTRAINTS = 389, CONVERSION_P = 390, CONVERT = 391, COPY = 392, CREATE = 393, CREATEDB = 394, CREATEROLE = 395, CREATEUSER = 396, CROSS = 397, CSV = 398, CURRENT_DATE = 399, CURRENT_ROLE = 400, CURRENT_TIME = 401, CURRENT_TIMESTAMP = 402, CURRENT_USER = 403, CURSOR = 404, CYCLE = 405, DATABASE = 406, DAY_P = 407, DEALLOCATE = 408, DEC = 409, DECIMAL_P = 410, DECLARE = 411, DEFAULT = 412, DEFAULTS = 413, DEFERRABLE = 414, DEFERRED = 415, DEFINER = 416, DELETE_P = 417, DELIMITER = 418, DELIMITERS = 419, DESC = 420, DISABLE_P = 421, DISTINCT = 422, DO = 423, DOMAIN_P = 424, DOUBLE_P = 425, DROP = 426, EACH = 427, ELSE = 428, ENABLE_P = 429, ENCODING = 430, ENCRYPTED = 431, END_P = 432, ESCAPE = 433, EXCEPT = 434, EXCLUSIVE = 435, EXCLUDING = 436, EXECUTE = 437, EXISTS = 438, EXPLAIN = 439, EXTERNAL = 440, EXTRACT = 441, FALSE_P = 442, FETCH = 443, FIRST_P = 444, FLOAT_P = 445, FOR = 446, FORCE = 447, FOREIGN = 448, FORWARD = 449, FREEZE = 450, FROM = 451, FULL = 452, FUNCTION = 453, GET = 454, GLOBAL = 455, GRANT = 456, GRANTED = 457, GREATEST = 458, GROUP_P = 459, HANDLER = 460, HAVING = 461, HEADER_P = 462, HOLD = 463, HOUR_P = 464, IF_P = 465, ILIKE = 466, IMMEDIATE = 467, IMMUTABLE = 468, IMPLICIT_P = 469, IN_P = 470, INCLUDING = 471, INCREMENT = 472, INDEX = 473, INDEXES = 474, INHERIT = 475, INHERITS = 476, INITIALLY = 477, INNER_P = 478, INOUT = 479, INPUT_P = 480, INSENSITIVE = 481, INSERT = 482, INSTEAD = 483, INT_P = 484, INTEGER = 485, INTERSECT = 486, INTERVAL = 487, INTO = 488, INVOKER = 489, IS = 490, ISNULL = 491, ISOLATION = 492, JOIN = 493, KEY = 494, LANCOMPILER = 495, LANGUAGE = 496, LARGE_P = 497, LAST_P = 498, LEADING = 499, LEAST = 500, LEFT = 501, LEVEL = 502, LIKE = 503, LIMIT = 504, LISTEN = 505, LOAD = 506, LOCAL = 507, LOCALTIME = 508, LOCALTIMESTAMP = 509, LOCATION = 510, LOCK_P = 511, LOGIN_P = 512, MATCH = 513, MAXVALUE = 514, MINUTE_P = 515, MINVALUE = 516, MODE = 517, MONTH_P = 518, MOVE = 519, NAMES = 520, NATIONAL = 521, NATURAL = 522, NCHAR = 523, NEW = 524, NEXT = 525, NO = 526, NOCREATEDB = 527, NOCREATEROLE = 528, NOCREATEUSER = 529, NOINHERIT = 530, NOLOGIN_P = 531, NONE = 532, NOSUPERUSER = 533, NOT = 534, NOTHING = 535, NOTIFY = 536, NOTNULL = 537, NOWAIT = 538, NULL_P = 539, NULLIF = 540, NUMERIC = 541, OBJECT_P = 542, OF = 543, OFF = 544, OFFSET = 545, OIDS = 546, OLD = 547, ON = 548, ONLY = 549, OPERATOR = 550, OPTION = 551, OR = 552, ORDER = 553, OUT_P = 554, OUTER_P = 555, OVERLAPS = 556, OVERLAY = 557, OWNED = 558, OWNER = 559, PARTIAL = 560, PASSWORD = 561, PLACING = 562, POSITION = 563, PRECISION = 564, PRESERVE = 565, PREPARE = 566, PREPARED = 567, PRIMARY = 568, PRIOR = 569, PRIVILEGES = 570, PROCEDURAL = 571, PROCEDURE = 572, QUOTE = 573, READ = 574, REAL = 575, REASSIGN = 576, RECHECK = 577, REFERENCES = 578, REINDEX = 579, RELATIVE_P = 580, RELEASE = 581, RENAME = 582, REPEATABLE = 583, REPLACE = 584, RESET = 585, RESTART = 586, RESTRICT = 587, RETURNING = 588, RETURNS = 589, REVOKE = 590, RIGHT = 591, ROLE = 592, ROLLBACK = 593, ROW = 594, ROWS = 595, RULE = 596, SAVEPOINT = 597, SCHEMA = 598, SCROLL = 599, SECOND_P = 600, SECURITY = 601, SELECT = 602, SEQUENCE = 603, SERIALIZABLE = 604, SESSION = 605, SESSION_USER = 606, SET = 607, SETOF = 608, SHARE = 609, SHOW = 610, SIMILAR = 611, SIMPLE = 612, SMALLINT = 613, SOME = 614, STABLE = 615, START = 616, STATEMENT = 617, STATISTICS = 618, STDIN = 619, STDOUT = 620, STORAGE = 621, STRICT_P = 622, SUBSTRING = 623, SUPERUSER_P = 624, SYMMETRIC = 625, SYSID = 626, SYSTEM_P = 627, TABLE = 628, TABLESPACE = 629, TEMP = 630, TEMPLATE = 631, TEMPORARY = 632, THEN = 633, TIME = 634, TIMESTAMP = 635, TO = 636, TRAILING = 637, TRANSACTION = 638, TREAT = 639, TRIGGER = 640, TRIM = 641, TRUE_P = 642, TRUNCATE = 643, TRUSTED = 644, TYPE_P = 645, UNCOMMITTED = 646, UNENCRYPTED = 647, UNION = 648, UNIQUE = 649, UNKNOWN = 650, UNLISTEN = 651, UNTIL = 652, UPDATE = 653, USER = 654, USING = 655, VACUUM = 656, VALID = 657, VALIDATOR = 658, VALUES = 659, VARCHAR = 660, VARYING = 661, VERBOSE = 662, VIEW = 663, VOLATILE = 664, WHEN = 665, WHERE = 666, WITH = 667, WITHOUT = 668, WORK = 669, WRITE = 670, YEAR_P = 671, ZONE = 672, WITH_CASCADED = 673, WITH_LOCAL = 674, WITH_CHECK = 675, IDENT = 676, SCONST = 677, Op = 678, CSTRING = 679, CVARIABLE = 680, CPP_LINE = 681, IP = 682, BCONST = 683, XCONST = 684, DOLCONST = 685, ICONST = 686, PARAM = 687, FCONST = 688, POSTFIXOP = 689, UMINUS = 690 }; #endif #define SQL_ALLOCATE 258 #define SQL_AUTOCOMMIT 259 #define SQL_BOOL 260 #define SQL_BREAK 261 #define SQL_CALL 262 #define SQL_CARDINALITY 263 #define SQL_CONNECT 264 #define SQL_CONTINUE 265 #define SQL_COUNT 266 #define SQL_CURRENT 267 #define SQL_DATA 268 #define SQL_DATETIME_INTERVAL_CODE 269 #define SQL_DATETIME_INTERVAL_PRECISION 270 #define SQL_DESCRIBE 271 #define SQL_DESCRIPTOR 272 #define SQL_DISCONNECT 273 #define SQL_ENUM 274 #define SQL_FOUND 275 #define SQL_FREE 276 #define SQL_GO 277 #define SQL_GOTO 278 #define SQL_IDENTIFIED 279 #define SQL_INDICATOR 280 #define SQL_KEY_MEMBER 281 #define SQL_LENGTH 282 #define SQL_LONG 283 #define SQL_NAME 284 #define SQL_NULLABLE 285 #define SQL_OCTET_LENGTH 286 #define SQL_OPEN 287 #define SQL_OUTPUT 288 #define SQL_REFERENCE 289 #define SQL_RETURNED_LENGTH 290 #define SQL_RETURNED_OCTET_LENGTH 291 #define SQL_SCALE 292 #define SQL_SECTION 293 #define SQL_SHORT 294 #define SQL_SIGNED 295 #define SQL_SQL 296 #define SQL_SQLERROR 297 #define SQL_SQLPRINT 298 #define SQL_SQLWARNING 299 #define SQL_START 300 #define SQL_STOP 301 #define SQL_STRUCT 302 #define SQL_UNSIGNED 303 #define SQL_VALUE 304 #define SQL_VAR 305 #define SQL_WHENEVER 306 #define S_ADD 307 #define S_AND 308 #define S_ANYTHING 309 #define S_AUTO 310 #define S_CONST 311 #define S_DEC 312 #define S_DIV 313 #define S_DOTPOINT 314 #define S_EQUAL 315 #define S_EXTERN 316 #define S_INC 317 #define S_LSHIFT 318 #define S_MEMPOINT 319 #define S_MEMBER 320 #define S_MOD 321 #define S_MUL 322 #define S_NEQUAL 323 #define S_OR 324 #define S_REGISTER 325 #define S_RSHIFT 326 #define S_STATIC 327 #define S_SUB 328 #define S_VOLATILE 329 #define S_TYPEDEF 330 #define TYPECAST 331 #define ABORT_P 332 #define ABSOLUTE_P 333 #define ACCESS 334 #define ACTION 335 #define ADD_P 336 #define ADMIN 337 #define AFTER 338 #define AGGREGATE 339 #define ALL 340 #define ALSO 341 #define ALTER 342 #define ANALYSE 343 #define ANALYZE 344 #define AND 345 #define ANY 346 #define ARRAY 347 #define AS 348 #define ASC 349 #define ASSERTION 350 #define ASSIGNMENT 351 #define ASYMMETRIC 352 #define AT 353 #define AUTHORIZATION 354 #define BACKWARD 355 #define BEFORE 356 #define BEGIN_P 357 #define BETWEEN 358 #define BIGINT 359 #define BINARY 360 #define BIT 361 #define BOOLEAN_P 362 #define BOTH 363 #define BY 364 #define CACHE 365 #define CALLED 366 #define CASCADE 367 #define CASCADED 368 #define CASE 369 #define CAST 370 #define CHAIN 371 #define CHAR_P 372 #define CHARACTER 373 #define CHARACTERISTICS 374 #define CHECK 375 #define CHECKPOINT 376 #define CLASS 377 #define CLOSE 378 #define CLUSTER 379 #define COALESCE 380 #define COLLATE 381 #define COLUMN 382 #define COMMENT 383 #define COMMIT 384 #define COMMITTED 385 #define CONCURRENTLY 386 #define CONNECTION 387 #define CONSTRAINT 388 #define CONSTRAINTS 389 #define CONVERSION_P 390 #define CONVERT 391 #define COPY 392 #define CREATE 393 #define CREATEDB 394 #define CREATEROLE 395 #define CREATEUSER 396 #define CROSS 397 #define CSV 398 #define CURRENT_DATE 399 #define CURRENT_ROLE 400 #define CURRENT_TIME 401 #define CURRENT_TIMESTAMP 402 #define CURRENT_USER 403 #define CURSOR 404 #define CYCLE 405 #define DATABASE 406 #define DAY_P 407 #define DEALLOCATE 408 #define DEC 409 #define DECIMAL_P 410 #define DECLARE 411 #define DEFAULT 412 #define DEFAULTS 413 #define DEFERRABLE 414 #define DEFERRED 415 #define DEFINER 416 #define DELETE_P 417 #define DELIMITER 418 #define DELIMITERS 419 #define DESC 420 #define DISABLE_P 421 #define DISTINCT 422 #define DO 423 #define DOMAIN_P 424 #define DOUBLE_P 425 #define DROP 426 #define EACH 427 #define ELSE 428 #define ENABLE_P 429 #define ENCODING 430 #define ENCRYPTED 431 #define END_P 432 #define ESCAPE 433 #define EXCEPT 434 #define EXCLUSIVE 435 #define EXCLUDING 436 #define EXECUTE 437 #define EXISTS 438 #define EXPLAIN 439 #define EXTERNAL 440 #define EXTRACT 441 #define FALSE_P 442 #define FETCH 443 #define FIRST_P 444 #define FLOAT_P 445 #define FOR 446 #define FORCE 447 #define FOREIGN 448 #define FORWARD 449 #define FREEZE 450 #define FROM 451 #define FULL 452 #define FUNCTION 453 #define GET 454 #define GLOBAL 455 #define GRANT 456 #define GRANTED 457 #define GREATEST 458 #define GROUP_P 459 #define HANDLER 460 #define HAVING 461 #define HEADER_P 462 #define HOLD 463 #define HOUR_P 464 #define IF_P 465 #define ILIKE 466 #define IMMEDIATE 467 #define IMMUTABLE 468 #define IMPLICIT_P 469 #define IN_P 470 #define INCLUDING 471 #define INCREMENT 472 #define INDEX 473 #define INDEXES 474 #define INHERIT 475 #define INHERITS 476 #define INITIALLY 477 #define INNER_P 478 #define INOUT 479 #define INPUT_P 480 #define INSENSITIVE 481 #define INSERT 482 #define INSTEAD 483 #define INT_P 484 #define INTEGER 485 #define INTERSECT 486 #define INTERVAL 487 #define INTO 488 #define INVOKER 489 #define IS 490 #define ISNULL 491 #define ISOLATION 492 #define JOIN 493 #define KEY 494 #define LANCOMPILER 495 #define LANGUAGE 496 #define LARGE_P 497 #define LAST_P 498 #define LEADING 499 #define LEAST 500 #define LEFT 501 #define LEVEL 502 #define LIKE 503 #define LIMIT 504 #define LISTEN 505 #define LOAD 506 #define LOCAL 507 #define LOCALTIME 508 #define LOCALTIMESTAMP 509 #define LOCATION 510 #define LOCK_P 511 #define LOGIN_P 512 #define MATCH 513 #define MAXVALUE 514 #define MINUTE_P 515 #define MINVALUE 516 #define MODE 517 #define MONTH_P 518 #define MOVE 519 #define NAMES 520 #define NATIONAL 521 #define NATURAL 522 #define NCHAR 523 #define NEW 524 #define NEXT 525 #define NO 526 #define NOCREATEDB 527 #define NOCREATEROLE 528 #define NOCREATEUSER 529 #define NOINHERIT 530 #define NOLOGIN_P 531 #define NONE 532 #define NOSUPERUSER 533 #define NOT 534 #define NOTHING 535 #define NOTIFY 536 #define NOTNULL 537 #define NOWAIT 538 #define NULL_P 539 #define NULLIF 540 #define NUMERIC 541 #define OBJECT_P 542 #define OF 543 #define OFF 544 #define OFFSET 545 #define OIDS 546 #define OLD 547 #define ON 548 #define ONLY 549 #define OPERATOR 550 #define OPTION 551 #define OR 552 #define ORDER 553 #define OUT_P 554 #define OUTER_P 555 #define OVERLAPS 556 #define OVERLAY 557 #define OWNED 558 #define OWNER 559 #define PARTIAL 560 #define PASSWORD 561 #define PLACING 562 #define POSITION 563 #define PRECISION 564 #define PRESERVE 565 #define PREPARE 566 #define PREPARED 567 #define PRIMARY 568 #define PRIOR 569 #define PRIVILEGES 570 #define PROCEDURAL 571 #define PROCEDURE 572 #define QUOTE 573 #define READ 574 #define REAL 575 #define REASSIGN 576 #define RECHECK 577 #define REFERENCES 578 #define REINDEX 579 #define RELATIVE_P 580 #define RELEASE 581 #define RENAME 582 #define REPEATABLE 583 #define REPLACE 584 #define RESET 585 #define RESTART 586 #define RESTRICT 587 #define RETURNING 588 #define RETURNS 589 #define REVOKE 590 #define RIGHT 591 #define ROLE 592 #define ROLLBACK 593 #define ROW 594 #define ROWS 595 #define RULE 596 #define SAVEPOINT 597 #define SCHEMA 598 #define SCROLL 599 #define SECOND_P 600 #define SECURITY 601 #define SELECT 602 #define SEQUENCE 603 #define SERIALIZABLE 604 #define SESSION 605 #define SESSION_USER 606 #define SET 607 #define SETOF 608 #define SHARE 609 #define SHOW 610 #define SIMILAR 611 #define SIMPLE 612 #define SMALLINT 613 #define SOME 614 #define STABLE 615 #define START 616 #define STATEMENT 617 #define STATISTICS 618 #define STDIN 619 #define STDOUT 620 #define STORAGE 621 #define STRICT_P 622 #define SUBSTRING 623 #define SUPERUSER_P 624 #define SYMMETRIC 625 #define SYSID 626 #define SYSTEM_P 627 #define TABLE 628 #define TABLESPACE 629 #define TEMP 630 #define TEMPLATE 631 #define TEMPORARY 632 #define THEN 633 #define TIME 634 #define TIMESTAMP 635 #define TO 636 #define TRAILING 637 #define TRANSACTION 638 #define TREAT 639 #define TRIGGER 640 #define TRIM 641 #define TRUE_P 642 #define TRUNCATE 643 #define TRUSTED 644 #define TYPE_P 645 #define UNCOMMITTED 646 #define UNENCRYPTED 647 #define UNION 648 #define UNIQUE 649 #define UNKNOWN 650 #define UNLISTEN 651 #define UNTIL 652 #define UPDATE 653 #define USER 654 #define USING 655 #define VACUUM 656 #define VALID 657 #define VALIDATOR 658 #define VALUES 659 #define VARCHAR 660 #define VARYING 661 #define VERBOSE 662 #define VIEW 663 #define VOLATILE 664 #define WHEN 665 #define WHERE 666 #define WITH 667 #define WITHOUT 668 #define WORK 669 #define WRITE 670 #define YEAR_P 671 #define ZONE 672 #define WITH_CASCADED 673 #define WITH_LOCAL 674 #define WITH_CHECK 675 #define IDENT 676 #define SCONST 677 #define Op 678 #define CSTRING 679 #define CVARIABLE 680 #define CPP_LINE 681 #define IP 682 #define BCONST 683 #define XCONST 684 #define DOLCONST 685 #define ICONST 686 #define PARAM 687 #define FCONST 688 #define POSTFIXOP 689 #define UMINUS 690 /* Copy the first part of user declarations. */ #line 4 "preproc.y" #include "postgres_fe.h" #include "extern.h" /* * Variables containing simple states. */ int struct_level = 0; int braces_open; /* brace level counter */ int ecpg_informix_var = 0; char *connection = NULL; char *input_filename = NULL; static int QueryIsRule = 0, FoundInto = 0; static int initializer = 0; static struct this_type actual_type[STRUCT_DEPTH]; static char *actual_startline[STRUCT_DEPTH]; /* temporarily store struct members while creating the data structure */ struct ECPGstruct_member *struct_member_list[STRUCT_DEPTH] = { NULL }; /* also store struct type so we can do a sizeof() later */ static char *ECPGstruct_sizeof = NULL; /* for forward declarations we have to store some data as well */ static char *forward_name = NULL; struct ECPGtype ecpg_no_indicator = {ECPGt_NO_INDICATOR, 0L, NULL, {NULL}}; struct variable no_indicator = {"no_indicator", &ecpg_no_indicator, 0, NULL}; struct ECPGtype ecpg_query = {ECPGt_char_variable, 0L, NULL, {NULL}}; /* INFORMIX workaround, no longer needed static struct inf_compat_col { char *name; char *indirection; struct inf_compat_col *next; } *informix_col; static struct inf_compat_val { char *val; struct inf_compat_val *next; } *informix_val; */ /* * Handle parsing errors and warnings */ void mmerror(int error_code, enum errortype type, char * error, ...) { va_list ap; fprintf(stderr, "%s:%d: ", input_filename, yylineno); switch(type) { case ET_WARNING: fprintf(stderr, "WARNING: "); break; case ET_ERROR: case ET_FATAL: fprintf(stderr, "ERROR: "); break; } va_start(ap, error); vfprintf(stderr, error, ap); va_end(ap); fprintf(stderr, "\n"); switch(type) { case ET_WARNING: break; case ET_ERROR: ret_value = error_code; break; case ET_FATAL: exit(error_code); } } /* * string concatenation */ static char * cat2_str(char *str1, char *str2) { char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) + 2); strcpy(res_str, str1); strcat(res_str, " "); strcat(res_str, str2); free(str1); free(str2); return(res_str); } static char * cat_str(int count, ...) { va_list args; int i; char *res_str; va_start(args, count); res_str = va_arg(args, char *); /* now add all other strings */ for (i = 1; i < count; i++) res_str = cat2_str(res_str, va_arg(args, char *)); va_end(args); return(res_str); } char * make_str(const char *str) { char * res_str = (char *)mm_alloc(strlen(str) + 1); strcpy(res_str, str); return res_str; } static char * make2_str(char *str1, char *str2) { char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) + 1); strcpy(res_str, str1); strcat(res_str, str2); free(str1); free(str2); return(res_str); } static char * make3_str(char *str1, char *str2, char *str3) { char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) +strlen(str3) + 1); strcpy(res_str, str1); strcat(res_str, str2); strcat(res_str, str3); free(str1); free(str2); free(str3); return(res_str); } /* and the rest */ static char * make_name(void) { char * name = (char *)mm_alloc(yyleng + 1); strncpy(name, yytext, yyleng); name[yyleng] = '\0'; return(name); } static char * create_questionmarks(char *name, bool array) { struct variable *p = find_variable(name); int count; char *result = EMPTY; /* In case we have a struct, we have to print as many "?" as there are attributes in the struct * An array is only allowed together with an element argument * This is essantially only used for inserts, but using a struct as input parameter is an error anywhere else * so we don't have to worry here. */ if (p->type->type == ECPGt_struct || (array && p->type->type == ECPGt_array && p->type->u.element->type == ECPGt_struct)) { struct ECPGstruct_member *m; if (p->type->type == ECPGt_struct) m = p->type->u.members; else m = p->type->u.element->u.members; for (count = 0; m != NULL; m=m->next, count++); } else count = 1; for (; count > 0; count --) result = cat2_str(result, make_str("? , ")); /* removed the trailing " ," */ result[strlen(result)-3] = '\0'; return(result); } static char * adjust_informix(struct arguments *list) { /* Informix accepts DECLARE with variables that are out of scope when OPEN is called. * for instance you can declare variables in a function, and then subsequently use them * { * declare_vars(); * exec sql ... which uses vars declared in the above function * * This breaks standard and leads to some very dangerous programming. * Since they do, we have to work around and accept their syntax as well. * But we will do so ONLY in Informix mode. * We have to change the variables to our own struct and just store the pointer instead of the variable */ struct arguments *ptr; char *result = make_str(""); for (ptr = list; ptr != NULL; ptr = ptr->next) { char temp[20]; /* this should be sufficient unless you have 8 byte integers */ char *original_var; /* change variable name to "ECPG_informix_get_var()" */ original_var = ptr->variable->name; sprintf(temp, "%d))", ecpg_informix_var); if ((ptr->variable->type->type != ECPGt_varchar && ptr->variable->type->type != ECPGt_char && ptr->variable->type->type != ECPGt_unsigned_char) && atoi(ptr->variable->type->size) > 1) { ptr->variable = new_variable(cat_str(4, make_str("("), mm_strdup(ECPGtype_name(ptr->variable->type->u.element->type)), make_str(" *)(ECPG_informix_get_var("), mm_strdup(temp)), ECPGmake_array_type(ECPGmake_simple_type(ptr->variable->type->u.element->type, make_str("1")), ptr->variable->type->size), 0); sprintf(temp, "%d, (", ecpg_informix_var++); } else if ((ptr->variable->type->type == ECPGt_varchar || ptr->variable->type->type == ECPGt_char || ptr->variable->type->type == ECPGt_unsigned_char) && atoi(ptr->variable->type->size) > 1) { ptr->variable = new_variable(cat_str(4, make_str("("), mm_strdup(ECPGtype_name(ptr->variable->type->type)), make_str(" *)(ECPG_informix_get_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->variable->type->type, ptr->variable->type->size), 0); sprintf(temp, "%d, (", ecpg_informix_var++); } else { ptr->variable = new_variable(cat_str(4, make_str("*("), mm_strdup(ECPGtype_name(ptr->variable->type->type)), make_str(" *)(ECPG_informix_get_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->variable->type->type, ptr->variable->type->size), 0); sprintf(temp, "%d, &(", ecpg_informix_var++); } /* create call to "ECPG_informix_set_var(, . )" */ result = cat_str(5, result, make_str("ECPG_informix_set_var("), mm_strdup(temp), mm_strdup(original_var), make_str("), __LINE__);\n")); /* now the indicator if there is one */ if (ptr->indicator->type->type != ECPGt_NO_INDICATOR) { /* change variable name to "ECPG_informix_get_var()" */ original_var = ptr->indicator->name; sprintf(temp, "%d))", ecpg_informix_var); /* create call to "ECPG_informix_set_var(, . )" */ if (atoi(ptr->indicator->type->size) > 1) { ptr->indicator = new_variable(cat_str(4, make_str("("), mm_strdup(ECPGtype_name(ptr->indicator->type->type)), make_str(" *)(ECPG_informix_get_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->indicator->type->type, ptr->indicator->type->size), 0); sprintf(temp, "%d, (", ecpg_informix_var++); } else { ptr->indicator = new_variable(cat_str(4, make_str("*("), mm_strdup(ECPGtype_name(ptr->indicator->type->type)), make_str(" *)(ECPG_informix_get_var("), mm_strdup(temp)), ECPGmake_simple_type(ptr->indicator->type->type, ptr->indicator->type->size), 0); sprintf(temp, "%d, &(", ecpg_informix_var++); } result = cat_str(5, result, make_str("ECPG_informix_set_var("), mm_strdup(temp), mm_strdup(original_var), make_str("), __LINE__);\n")); } } return result; } static struct cursor * add_additional_variables(char *name, bool insert) { struct cursor *ptr; struct arguments *p; for (ptr = cur; ptr != NULL; ptr=ptr->next) { if (strcmp(ptr->name, name) == 0) break; } if (ptr == NULL) { mmerror(PARSE_ERROR, ET_ERROR, "trying to access an undeclared cursor %s\n", name); return NULL; } if (insert) { /* add all those input variables that were given earlier * note that we have to append here but have to keep the existing order */ for (p = ptr->argsinsert; p; p = p->next) add_variable_to_tail(&argsinsert, p->variable, p->indicator); } /* add all those output variables that were given earlier */ for (p = ptr->argsresult; p; p = p->next) add_variable_to_tail(&argsresult, p->variable, p->indicator); return ptr; } /* 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 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) #line 314 "preproc.y" typedef union YYSTYPE { double dval; char *str; int ival; struct when action; struct index index; int tagname; struct this_type type; enum ECPGttype type_enum; enum ECPGdtype dtype_enum; struct fetch_desc descriptor; struct su_symbol struct_union; } YYSTYPE; /* Line 186 of yacc.c. */ #line 1269 "y.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif /* Copy the second part of user declarations. */ /* Line 214 of yacc.c. */ #line 1281 "y.tab.c" #if ! defined (yyoverflow) || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # if YYSTACK_USE_ALLOCA # define YYSTACK_ALLOC alloca # else # ifndef YYSTACK_USE_ALLOCA # if defined (alloca) || defined (_ALLOCA_H) # define YYSTACK_ALLOC alloca # else # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # else # if defined (__STDC__) || defined (__cplusplus) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif # define YYSTACK_ALLOC malloc # define YYSTACK_FREE free # endif #endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ #if (! defined (yyoverflow) \ && (! defined (__cplusplus) \ || (YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { short yyss; YYSTYPE yyvs; }; /* 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 (short) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ register YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (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 (0) #endif #if defined (__STDC__) || defined (__cplusplus) typedef signed char yysigned_char; #else typedef short yysigned_char; #endif /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 62941 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 456 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 545 /* YYNRULES -- Number of rules. */ #define YYNRULES 2099 /* YYNRULES -- Number of states. */ #define YYNSTATES 3537 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 691 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const unsigned short 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, 442, 2, 2, 447, 448, 440, 438, 454, 439, 449, 441, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 455, 450, 435, 434, 436, 2, 2, 2, 2, 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, 446, 443, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 451, 2, 452, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, 437, 444, 453 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ static const unsigned short yyprhs[] = { 0, 0, 3, 5, 6, 9, 14, 18, 21, 23, 25, 27, 29, 31, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 208, 210, 212, 214, 216, 218, 220, 222, 224, 226, 228, 230, 232, 234, 236, 238, 244, 246, 247, 250, 253, 257, 261, 263, 265, 267, 269, 271, 273, 275, 277, 279, 281, 285, 289, 292, 295, 298, 301, 305, 309, 315, 321, 327, 332, 338, 344, 349, 353, 359, 363, 369, 375, 382, 384, 386, 390, 396, 403, 408, 410, 411, 414, 415, 417, 419, 421, 423, 425, 427, 430, 434, 438, 442, 446, 450, 453, 459, 462, 465, 469, 473, 475, 479, 481, 483, 485, 489, 492, 495, 498, 500, 502, 504, 506, 508, 510, 512, 514, 516, 518, 522, 529, 531, 533, 535, 537, 538, 540, 542, 546, 551, 557, 562, 565, 568, 572, 577, 581, 584, 589, 591, 593, 595, 597, 599, 604, 609, 611, 615, 619, 624, 631, 638, 645, 652, 657, 664, 667, 672, 676, 680, 684, 688, 692, 696, 700, 704, 708, 711, 715, 717, 719, 723, 727, 731, 734, 737, 741, 744, 746, 748, 749, 752, 753, 756, 766, 773, 775, 777, 779, 781, 783, 786, 787, 789, 791, 795, 799, 801, 803, 807, 811, 815, 820, 822, 823, 826, 827, 831, 832, 834, 835, 847, 860, 862, 864, 867, 870, 873, 876, 877, 879, 880, 882, 886, 888, 890, 892, 896, 899, 900, 904, 906, 908, 911, 913, 917, 922, 927, 930, 936, 938, 941, 944, 947, 951, 954, 955, 958, 961, 964, 967, 970, 973, 977, 979, 984, 991, 999, 1011, 1015, 1016, 1020, 1022, 1024, 1027, 1030, 1031, 1033, 1035, 1038, 1041, 1042, 1046, 1050, 1053, 1055, 1057, 1060, 1063, 1068, 1069, 1072, 1075, 1078, 1079, 1083, 1088, 1093, 1094, 1097, 1098, 1103, 1104, 1105, 1117, 1121, 1122, 1126, 1128, 1130, 1136, 1141, 1144, 1145, 1148, 1150, 1153, 1157, 1160, 1163, 1166, 1169, 1173, 1177, 1181, 1183, 1184, 1190, 1200, 1202, 1203, 1205, 1208, 1211, 1212, 1215, 1216, 1222, 1230, 1232, 1233, 1240, 1243, 1244, 1248, 1254, 1269, 1289, 1291, 1293, 1295, 1299, 1305, 1307, 1309, 1311, 1315, 1316, 1318, 1319, 1321, 1323, 1325, 1329, 1330, 1332, 1334, 1335, 1338, 1340, 1343, 1345, 1348, 1351, 1353, 1356, 1359, 1366, 1375, 1384, 1388, 1394, 1399, 1404, 1409, 1413, 1421, 1425, 1427, 1431, 1435, 1437, 1439, 1441, 1443, 1445, 1447, 1451, 1455, 1457, 1461, 1465, 1467, 1471, 1475, 1488, 1490, 1494, 1499, 1507, 1512, 1515, 1517, 1518, 1520, 1521, 1529, 1539, 1545, 1552, 1559, 1564, 1566, 1568, 1570, 1572, 1574, 1576, 1578, 1580, 1582, 1586, 1588, 1591, 1594, 1598, 1603, 1609, 1614, 1619, 1623, 1628, 1632, 1636, 1639, 1644, 1647, 1649, 1651, 1653, 1655, 1658, 1661, 1663, 1665, 1667, 1670, 1673, 1675, 1678, 1681, 1683, 1685, 1692, 1700, 1708, 1718, 1727, 1736, 1743, 1753, 1761, 1772, 1780, 1782, 1784, 1786, 1788, 1790, 1792, 1794, 1796, 1798, 1800, 1802, 1804, 1806, 1808, 1816, 1824, 1835, 1838, 1840, 1842, 1844, 1848, 1850, 1852, 1854, 1856, 1858, 1861, 1864, 1867, 1870, 1873, 1876, 1879, 1881, 1885, 1887, 1890, 1894, 1895, 1897, 1901, 1904, 1911, 1918, 1922, 1923, 1927, 1928, 1942, 1957, 1959, 1960, 1963, 1964, 1966, 1970, 1973, 1976, 1981, 1983, 1986, 1987, 1997, 2005, 2008, 2009, 2013, 2016, 2018, 2022, 2026, 2030, 2033, 2036, 2038, 2040, 2042, 2044, 2047, 2049, 2053, 2055, 2057, 2063, 2065, 2070, 2072, 2075, 2080, 2086, 2088, 2090, 2092, 2094, 2098, 2102, 2105, 2108, 2111, 2114, 2116, 2119, 2120, 2126, 2128, 2131, 2133, 2134, 2140, 2148, 2154, 2162, 2170, 2180, 2182, 2186, 2190, 2194, 2196, 2200, 2212, 2223, 2226, 2227, 2237, 2240, 2241, 2246, 2251, 2256, 2258, 2260, 2262, 2263, 2271, 2278, 2285, 2293, 2300, 2307, 2317, 2324, 2331, 2338, 2347, 2356, 2363, 2370, 2372, 2373, 2381, 2388, 2396, 2403, 2410, 2417, 2425, 2432, 2439, 2446, 2454, 2464, 2474, 2481, 2488, 2495, 2496, 2511, 2513, 2515, 2519, 2523, 2525, 2527, 2529, 2531, 2533, 2535, 2537, 2538, 2540, 2542, 2544, 2546, 2548, 2550, 2551, 2558, 2567, 2570, 2573, 2576, 2579, 2582, 2586, 2590, 2593, 2596, 2599, 2602, 2606, 2609, 2615, 2620, 2624, 2628, 2632, 2634, 2636, 2637, 2641, 2644, 2647, 2649, 2653, 2656, 2658, 2659, 2668, 2679, 2682, 2686, 2690, 2691, 2694, 2700, 2704, 2706, 2709, 2713, 2717, 2721, 2725, 2729, 2733, 2737, 2741, 2746, 2750, 2754, 2756, 2757, 2763, 2769, 2774, 2777, 2778, 2783, 2787, 2793, 2800, 2805, 2812, 2819, 2825, 2833, 2835, 2836, 2847, 2852, 2855, 2857, 2862, 2868, 2874, 2877, 2882, 2884, 2886, 2888, 2889, 2891, 2892, 2894, 2895, 2899, 2900, 2905, 2907, 2909, 2911, 2913, 2915, 2917, 2918, 2924, 2926, 2931, 2934, 2938, 2940, 2943, 2946, 2947, 2954, 2957, 2958, 2964, 2968, 2969, 2972, 2975, 2978, 2982, 2984, 2988, 2990, 2993, 2995, 2996, 3004, 3006, 3010, 3012, 3014, 3018, 3024, 3027, 3029, 3033, 3041, 3042, 3045, 3048, 3051, 3055, 3056, 3059, 3062, 3064, 3066, 3070, 3074, 3076, 3079, 3084, 3089, 3091, 3093, 3102, 3104, 3109, 3114, 3119, 3122, 3124, 3125, 3129, 3133, 3138, 3143, 3148, 3153, 3156, 3158, 3160, 3161, 3163, 3164, 3166, 3172, 3174, 3175, 3177, 3178, 3182, 3184, 3188, 3192, 3195, 3198, 3200, 3205, 3210, 3213, 3216, 3221, 3223, 3224, 3226, 3228, 3230, 3234, 3235, 3238, 3239, 3241, 3245, 3247, 3248, 3250, 3253, 3258, 3263, 3266, 3267, 3270, 3274, 3277, 3278, 3282, 3284, 3286, 3289, 3291, 3294, 3300, 3307, 3313, 3315, 3318, 3320, 3325, 3329, 3334, 3340, 3345, 3351, 3356, 3362, 3365, 3370, 3372, 3375, 3378, 3381, 3383, 3385, 3386, 3391, 3394, 3396, 3399, 3402, 3407, 3409, 3412, 3416, 3418, 3421, 3422, 3424, 3428, 3431, 3434, 3438, 3444, 3451, 3455, 3460, 3461, 3463, 3467, 3471, 3475, 3479, 3483, 3487, 3489, 3491, 3493, 3495, 3497, 3499, 3501, 3504, 3510, 3513, 3515, 3517, 3519, 3521, 3523, 3525, 3527, 3529, 3531, 3533, 3535, 3538, 3541, 3544, 3547, 3550, 3552, 3556, 3557, 3563, 3567, 3568, 3574, 3578, 3579, 3581, 3583, 3585, 3587, 3593, 3596, 3598, 3600, 3602, 3604, 3610, 3613, 3616, 3619, 3621, 3625, 3629, 3632, 3634, 3635, 3639, 3640, 3646, 3649, 3655, 3658, 3660, 3664, 3668, 3669, 3671, 3673, 3675, 3677, 3679, 3681, 3685, 3689, 3693, 3697, 3701, 3705, 3709, 3710, 3712, 3716, 3722, 3725, 3728, 3732, 3736, 3740, 3744, 3748, 3752, 3756, 3760, 3764, 3768, 3771, 3774, 3778, 3782, 3785, 3789, 3795, 3800, 3807, 3811, 3817, 3822, 3829, 3834, 3841, 3847, 3855, 3858, 3862, 3865, 3870, 3874, 3878, 3883, 3887, 3892, 3896, 3901, 3907, 3914, 3921, 3929, 3936, 3944, 3951, 3959, 3963, 3968, 3973, 3980, 3983, 3985, 3989, 3992, 3996, 4000, 4004, 4008, 4012, 4016, 4020, 4024, 4028, 4032, 4035, 4038, 4044, 4051, 4058, 4066, 4068, 4070, 4073, 4078, 4080, 4082, 4084, 4087, 4090, 4093, 4095, 4099, 4104, 4110, 4116, 4121, 4123, 4125, 4130, 4132, 4137, 4139, 4144, 4146, 4151, 4153, 4155, 4157, 4159, 4166, 4171, 4176, 4181, 4186, 4193, 4199, 4205, 4211, 4216, 4223, 4228, 4235, 4240, 4245, 4250, 4255, 4259, 4265, 4267, 4269, 4271, 4273, 4275, 4277, 4279, 4281, 4283, 4285, 4287, 4289, 4291, 4293, 4295, 4300, 4302, 4307, 4309, 4314, 4316, 4319, 4321, 4324, 4326, 4330, 4334, 4335, 4339, 4341, 4343, 4347, 4351, 4355, 4357, 4359, 4361, 4363, 4365, 4367, 4369, 4371, 4376, 4380, 4383, 4387, 4388, 4392, 4396, 4399, 4402, 4404, 4405, 4408, 4411, 4415, 4418, 4420, 4422, 4426, 4432, 4435, 4437, 4442, 4445, 4446, 4448, 4449, 4451, 4454, 4457, 4460, 4464, 4470, 4472, 4475, 4476, 4479, 4481, 4482, 4484, 4486, 4488, 4492, 4496, 4500, 4502, 4506, 4508, 4510, 4512, 4514, 4516, 4520, 4522, 4525, 4527, 4531, 4533, 4535, 4537, 4539, 4541, 4543, 4545, 4548, 4550, 4553, 4557, 4564, 4566, 4568, 4570, 4572, 4574, 4576, 4578, 4580, 4582, 4584, 4586, 4588, 4590, 4593, 4595, 4597, 4599, 4601, 4604, 4607, 4609, 4611, 4613, 4615, 4617, 4619, 4621, 4623, 4626, 4629, 4631, 4633, 4635, 4637, 4639, 4641, 4643, 4645, 4647, 4649, 4651, 4653, 4659, 4663, 4666, 4669, 4673, 4681, 4683, 4685, 4687, 4688, 4691, 4694, 4696, 4697, 4699, 4703, 4705, 4708, 4709, 4712, 4713, 4716, 4717, 4719, 4723, 4728, 4732, 4734, 4736, 4738, 4741, 4742, 4750, 4754, 4757, 4759, 4761, 4763, 4764, 4770, 4771, 4776, 4779, 4781, 4784, 4785, 4787, 4791, 4795, 4799, 4803, 4804, 4809, 4815, 4821, 4822, 4824, 4826, 4828, 4830, 4833, 4836, 4839, 4841, 4844, 4845, 4853, 4854, 4860, 4861, 4866, 4869, 4872, 4873, 4876, 4878, 4880, 4882, 4884, 4886, 4888, 4890, 4892, 4894, 4896, 4898, 4904, 4907, 4909, 4913, 4916, 4919, 4923, 4924, 4930, 4932, 4933, 4939, 4942, 4945, 4947, 4949, 4951, 4954, 4957, 4961, 4963, 4966, 4969, 4973, 4977, 4982, 4985, 4987, 4990, 4992, 4994, 4997, 5000, 5004, 5006, 5008, 5010, 5012, 5013, 5015, 5019, 5025, 5026, 5029, 5030, 5032, 5035, 5039, 5042, 5044, 5046, 5048, 5049, 5051, 5053, 5055, 5059, 5060, 5065, 5068, 5071, 5073, 5075, 5076, 5078, 5080, 5082, 5084, 5087, 5091, 5092, 5094, 5097, 5099, 5104, 5109, 5110, 5112, 5115, 5117, 5119, 5123, 5125, 5127, 5132, 5137, 5142, 5147, 5149, 5150, 5154, 5158, 5163, 5165, 5169, 5173, 5178, 5180, 5184, 5188, 5190, 5197, 5199, 5203, 5207, 5214, 5216, 5220, 5224, 5226, 5228, 5230, 5232, 5234, 5236, 5238, 5240, 5242, 5244, 5246, 5248, 5250, 5252, 5254, 5259, 5264, 5266, 5268, 5273, 5278, 5282, 5283, 5291, 5293, 5294, 5295, 5303, 5307, 5312, 5316, 5318, 5320, 5322, 5325, 5329, 5335, 5338, 5344, 5347, 5349, 5351, 5353, 5355, 5357, 5359, 5361, 5363, 5365, 5367, 5369, 5371, 5373, 5375, 5377, 5379, 5381, 5383, 5385, 5387, 5389, 5391, 5393, 5395, 5397, 5399, 5401, 5403, 5405, 5407, 5409, 5411, 5413, 5415, 5417, 5419, 5421, 5423, 5425, 5427, 5429, 5431, 5433, 5435, 5437, 5439, 5441, 5443, 5445, 5447, 5449, 5451, 5453, 5455, 5457, 5459, 5461, 5463, 5465, 5467, 5469, 5471, 5473, 5475, 5477, 5479, 5481, 5483, 5485, 5487, 5489, 5491, 5493, 5495, 5497, 5499, 5501, 5503, 5505, 5507, 5509, 5511, 5513, 5515, 5517, 5519, 5521, 5523, 5525, 5527, 5529, 5531, 5533, 5535, 5537, 5539, 5541, 5543, 5545, 5547, 5549, 5551, 5553, 5555, 5557, 5559, 5561, 5563, 5565, 5567, 5569, 5571, 5573, 5575, 5577, 5579, 5581, 5583, 5585, 5587, 5589, 5591, 5593, 5595, 5597, 5599, 5601, 5603, 5605, 5607, 5609, 5611, 5613, 5615, 5617, 5619, 5621, 5623, 5625, 5627, 5629, 5631, 5633, 5635, 5637, 5639, 5641, 5643, 5645, 5647, 5649, 5651, 5653, 5655, 5657, 5659, 5661, 5663, 5665, 5667, 5669, 5671, 5673, 5675, 5677, 5679, 5681, 5683, 5685, 5687, 5689, 5691, 5693, 5695, 5697, 5699, 5701, 5703, 5705, 5707, 5709, 5711, 5713, 5715, 5717, 5719, 5721, 5723, 5725, 5727, 5729, 5731, 5733, 5735, 5737, 5739, 5741, 5743, 5745, 5747, 5749, 5751, 5753, 5755, 5757, 5759, 5761, 5763, 5765, 5767, 5769, 5771, 5773, 5775, 5777, 5779, 5781, 5783, 5785, 5787, 5789, 5791, 5793, 5795, 5797, 5799, 5801, 5803, 5805, 5807, 5809, 5811, 5813, 5815, 5817, 5819, 5821, 5823, 5825, 5827, 5829, 5831, 5833, 5835, 5837, 5839, 5841, 5843, 5845, 5847, 5849, 5851, 5853, 5855, 5857, 5859, 5861, 5863, 5865, 5867, 5869, 5871, 5873, 5875, 5877, 5879, 5881, 5883, 5885, 5887, 5889, 5891, 5893, 5895, 5897, 5899, 5901, 5903, 5905, 5907, 5909, 5911, 5913, 5915, 5917, 5919, 5921, 5923, 5925, 5927, 5929, 5931, 5933, 5935, 5937, 5939, 5941, 5943, 5945, 5947, 5949, 5951, 5953, 5955, 5957, 5959, 5961, 5963, 5965, 5967, 5969, 5971, 5973, 5975, 5977, 5979, 5981, 5983, 5985, 5987, 5989, 5991, 5993, 5995, 5997, 5999, 6001, 6003, 6005, 6007, 6009, 6011, 6013, 6015, 6017, 6019, 6021, 6023, 6025, 6027, 6029, 6031, 6033, 6035, 6037, 6039, 6041, 6043, 6045, 6047, 6049, 6051, 6053, 6055, 6057, 6059, 6061, 6063, 6065, 6067, 6069, 6071, 6073, 6075, 6077, 6079, 6081, 6083, 6085, 6087, 6089, 6091, 6093, 6095, 6097, 6099, 6101, 6103, 6105, 6107, 6109, 6111, 6113, 6115, 6117, 6119, 6121, 6123, 6125, 6127, 6129, 6131, 6133, 6135, 6137, 6139, 6141, 6143, 6145, 6147, 6149, 6151, 6153, 6155, 6157, 6159, 6161, 6163, 6165, 6167, 6169, 6171, 6173, 6175, 6177, 6179, 6181, 6183, 6185, 6189, 6191, 6192, 6194, 6197, 6199, 6202, 6204, 6206, 6209, 6212, 6214, 6216, 6218, 6220, 6222, 6224, 6227, 6231, 6233, 6236, 6238, 6242, 6244, 6248, 6250, 6252, 6254, 6256, 6258, 6260, 6262, 6264, 6266, 6268, 6270, 6272, 6274, 6276, 6278, 6280, 6282, 6284, 6286, 6288, 6290, 6292, 6294, 6296, 6298, 6300, 6302, 6304, 6306, 6308, 6310, 6312, 6314, 6316, 6318, 6320, 6322, 6324, 6326, 6328, 6330, 6332, 6334, 6336, 6338, 6340, 6342, 6344, 6346, 6348, 6350, 6352, 6354, 6356, 6358, 6360, 6362, 6364, 6366, 6368, 6370 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const short yyrhs[] = { 457, 0, -1, 458, -1, -1, 458, 459, -1, 986, 460, 461, 450, -1, 986, 461, 450, -1, 986, 876, -1, 884, -1, 999, -1, 426, -1, 451, -1, 452, -1, 98, 920, -1, 686, -1, 687, -1, 692, -1, 643, -1, 472, -1, 660, -1, 661, -1, 548, -1, 496, -1, 467, -1, 466, -1, 468, -1, 697, -1, 495, -1, 504, -1, 695, -1, 605, -1, 492, -1, 505, -1, 542, -1, 576, -1, 651, -1, 694, -1, 691, -1, 629, -1, 471, -1, 552, -1, 588, -1, 462, -1, 475, -1, 547, -1, 514, -1, 559, -1, 562, -1, 465, -1, 682, -1, 724, -1, 578, -1, 711, -1, 577, -1, 653, -1, 474, -1, 593, -1, 594, -1, 557, -1, 469, -1, 670, -1, 596, -1, 561, -1, 575, -1, 470, -1, 690, -1, 703, -1, 602, -1, 608, -1, 619, -1, 623, -1, 706, -1, 672, -1, 681, -1, 713, -1, 671, -1, 595, -1, 655, -1, 647, -1, 648, -1, 646, -1, 658, -1, 609, -1, 620, -1, 662, -1, 727, -1, 674, -1, 601, -1, 673, -1, 717, -1, 696, -1, 479, -1, 490, -1, 491, -1, 679, -1, 939, -1, 860, -1, 874, -1, 875, -1, 940, -1, 917, -1, 937, -1, 918, -1, 921, -1, 926, -1, 948, -1, 941, -1, 927, -1, 936, -1, 955, -1, 957, -1, 951, -1, 944, -1, 958, -1, 961, -1, 963, -1, 138, 337, 858, 463, 464, -1, 412, -1, -1, 306, 848, -1, 306, 284, -1, 176, 306, 848, -1, 392, 306, 848, -1, 369, -1, 278, -1, 220, -1, 275, -1, 139, -1, 272, -1, 140, -1, 273, -1, 257, -1, 276, -1, 132, 249, 850, -1, 402, 397, 848, -1, 399, 835, -1, 371, 849, -1, 82, 835, -1, 337, 835, -1, 215, 337, 835, -1, 215, 204, 835, -1, 138, 399, 858, 463, 464, -1, 87, 337, 858, 463, 464, -1, 87, 337, 858, 352, 480, -1, 87, 337, 858, 491, -1, 87, 399, 858, 463, 464, -1, 87, 399, 858, 352, 480, -1, 87, 399, 858, 491, -1, 171, 337, 835, -1, 171, 337, 210, 183, 835, -1, 171, 399, 835, -1, 171, 399, 210, 183, 835, -1, 138, 204, 858, 463, 464, -1, 87, 204, 858, 473, 399, 835, -1, 81, -1, 171, -1, 171, 204, 835, -1, 171, 204, 210, 183, 835, -1, 138, 343, 476, 99, 858, 477, -1, 138, 343, 971, 477, -1, 971, -1, -1, 477, 478, -1, -1, 514, -1, 623, -1, 547, -1, 562, -1, 608, -1, 679, -1, 352, 480, -1, 352, 252, 480, -1, 352, 350, 480, -1, 481, 381, 482, -1, 481, 453, 482, -1, 379, 417, 487, -1, 383, 677, -1, 350, 119, 93, 383, 677, -1, 265, 488, -1, 337, 489, -1, 350, 99, 489, -1, 350, 99, 157, -1, 970, -1, 481, 449, 971, -1, 483, -1, 157, -1, 485, -1, 483, 454, 485, -1, 319, 391, -1, 319, 130, -1, 328, 319, -1, 349, -1, 486, -1, 856, -1, 971, -1, 387, -1, 187, -1, 293, -1, 289, -1, 856, -1, 993, -1, 789, 853, 791, -1, 789, 447, 849, 448, 853, 791, -1, 157, -1, 252, -1, 853, -1, 157, -1, -1, 971, -1, 853, -1, 355, 481, 933, -1, 355, 379, 417, 933, -1, 355, 383, 237, 247, 933, -1, 355, 350, 99, 933, -1, 355, 85, -1, 330, 481, -1, 330, 379, 417, -1, 330, 383, 237, 247, -1, 330, 350, 99, -1, 330, 85, -1, 352, 134, 493, 494, -1, 85, -1, 833, -1, 160, -1, 212, -1, 121, -1, 87, 373, 761, 497, -1, 87, 218, 761, 499, -1, 498, -1, 497, 454, 498, -1, 81, 659, 519, -1, 87, 659, 971, 501, -1, 87, 659, 971, 171, 279, 284, -1, 87, 659, 971, 352, 279, 284, -1, 87, 659, 971, 352, 363, 849, -1, 87, 659, 971, 352, 366, 971, -1, 171, 659, 971, 502, -1, 87, 659, 971, 390, 767, 503, -1, 81, 527, -1, 171, 133, 836, 502, -1, 352, 413, 291, -1, 124, 293, 836, -1, 352, 413, 124, -1, 174, 385, 836, -1, 174, 385, 85, -1, 174, 385, 399, -1, 166, 385, 836, -1, 166, 385, 85, -1, 166, 385, 399, -1, 220, 834, -1, 271, 220, 834, -1, 500, -1, 500, -1, 499, 454, 500, -1, 304, 381, 858, -1, 352, 374, 836, -1, 352, 579, -1, 330, 579, -1, 352, 157, 792, -1, 171, 157, -1, 112, -1, 332, -1, -1, 400, 792, -1, -1, 123, 836, -1, 137, 510, 834, 511, 506, 507, 512, 463, 508, -1, 137, 728, 381, 507, 463, 508, -1, 381, -1, 196, -1, 853, -1, 364, -1, 365, -1, 508, 509, -1, -1, 105, -1, 291, -1, 163, 693, 853, -1, 284, 693, 853, -1, 143, -1, 207, -1, 318, 693, 848, -1, 178, 693, 848, -1, 192, 318, 530, -1, 192, 279, 284, 530, -1, 105, -1, -1, 412, 291, -1, -1, 513, 164, 853, -1, -1, 400, -1, -1, 138, 515, 373, 834, 447, 516, 448, 537, 538, 539, 540, -1, 138, 515, 373, 834, 288, 834, 447, 516, 448, 538, 539, 540, -1, 377, -1, 375, -1, 252, 377, -1, 252, 375, -1, 200, 377, -1, 200, 375, -1, -1, 517, -1, -1, 518, -1, 517, 454, 518, -1, 519, -1, 524, -1, 527, -1, 971, 767, 520, -1, 520, 521, -1, -1, 133, 836, 522, -1, 522, -1, 523, -1, 279, 284, -1, 284, -1, 394, 642, 541, -1, 313, 239, 642, 541, -1, 120, 447, 792, 448, -1, 157, 793, -1, 323, 834, 529, 532, 533, -1, 159, -1, 279, 159, -1, 222, 160, -1, 222, 212, -1, 248, 834, 525, -1, 525, 526, -1, -1, 216, 158, -1, 181, 158, -1, 216, 134, -1, 181, 134, -1, 216, 219, -1, 181, 219, -1, 133, 836, 528, -1, 528, -1, 120, 447, 792, 448, -1, 394, 447, 530, 448, 642, 541, -1, 313, 239, 447, 530, 448, 642, 541, -1, 193, 239, 447, 530, 448, 323, 834, 529, 532, 533, 572, -1, 447, 530, 448, -1, -1, 530, 454, 531, -1, 531, -1, 971, -1, 258, 197, -1, 258, 305, -1, -1, 534, -1, 535, -1, 534, 535, -1, 535, 534, -1, -1, 293, 162, 536, -1, 293, 398, 536, -1, 271, 80, -1, 332, -1, 112, -1, 352, 157, -1, 352, 284, -1, 221, 447, 833, 448, -1, -1, 412, 579, -1, 412, 291, -1, 413, 291, -1, -1, 293, 129, 171, -1, 293, 129, 162, 340, -1, 293, 129, 310, 340, -1, -1, 374, 836, -1, -1, 400, 218, 374, 836, -1, -1, -1, 138, 515, 373, 834, 544, 538, 539, 540, 93, 543, 727, -1, 447, 545, 448, -1, -1, 545, 454, 546, -1, 546, -1, 971, -1, 138, 515, 348, 834, 549, -1, 87, 348, 834, 549, -1, 549, 550, -1, -1, 110, 855, -1, 150, -1, 271, 150, -1, 217, 551, 855, -1, 259, 855, -1, 261, 855, -1, 271, 259, -1, 271, 261, -1, 303, 109, 599, -1, 361, 463, 855, -1, 331, 463, 855, -1, 109, -1, -1, 138, 553, 558, 241, 489, -1, 138, 553, 558, 241, 489, 205, 554, 555, 556, -1, 389, -1, -1, 836, -1, 836, 600, -1, 403, 554, -1, -1, 240, 853, -1, -1, 171, 558, 241, 853, 502, -1, 171, 558, 241, 210, 183, 853, 502, -1, 316, -1, -1, 138, 374, 836, 560, 255, 848, -1, 304, 836, -1, -1, 171, 374, 836, -1, 171, 374, 210, 183, 836, -1, 138, 385, 836, 563, 564, 293, 834, 566, 182, 317, 836, 447, 569, 448, -1, 138, 133, 385, 836, 83, 564, 293, 834, 571, 572, 191, 172, 339, 182, 317, 842, 447, 569, 448, -1, 101, -1, 83, -1, 565, -1, 565, 297, 565, -1, 565, 297, 565, 297, 565, -1, 227, -1, 162, -1, 398, -1, 191, 567, 568, -1, -1, 172, -1, -1, 339, -1, 362, -1, 570, -1, 569, 454, 570, -1, -1, 857, -1, 971, -1, -1, 196, 834, -1, 573, -1, 573, 574, -1, 574, -1, 574, 573, -1, 279, 159, -1, 159, -1, 222, 212, -1, 222, 160, -1, 171, 385, 836, 293, 834, 502, -1, 171, 385, 210, 183, 836, 293, 834, 502, -1, 138, 95, 836, 120, 447, 792, 448, 572, -1, 171, 95, 836, -1, 138, 84, 842, 583, 579, -1, 138, 84, 842, 585, -1, 138, 295, 798, 579, -1, 138, 390, 599, 579, -1, 138, 390, 599, -1, 138, 390, 599, 93, 447, 765, 448, -1, 447, 580, 448, -1, 581, -1, 580, 454, 581, -1, 974, 434, 582, -1, 974, -1, 638, -1, 983, -1, 984, -1, 801, -1, 856, -1, 447, 584, 448, -1, 447, 440, 448, -1, 767, -1, 584, 454, 767, -1, 447, 586, 448, -1, 587, -1, 586, 454, 587, -1, 993, 434, 582, -1, 138, 295, 122, 599, 591, 191, 390, 767, 400, 838, 93, 589, -1, 590, -1, 589, 454, 590, -1, 295, 849, 650, 592, -1, 295, 849, 650, 447, 649, 448, 592, -1, 198, 849, 842, 631, -1, 366, 767, -1, 157, -1, -1, 322, -1, -1, 171, 295, 122, 599, 400, 838, 502, -1, 171, 295, 122, 210, 183, 599, 400, 838, 502, -1, 171, 303, 109, 835, 502, -1, 321, 303, 109, 835, 381, 836, -1, 171, 597, 210, 183, 598, 502, -1, 171, 597, 598, 502, -1, 373, -1, 348, -1, 408, -1, 218, -1, 390, -1, 169, -1, 135, -1, 343, -1, 599, -1, 598, 454, 599, -1, 971, -1, 971, 600, -1, 449, 839, -1, 600, 449, 839, -1, 388, 734, 833, 502, -1, 188, 603, 604, 836, 933, -1, 188, 603, 836, 933, -1, 188, 604, 836, 933, -1, 188, 836, 933, -1, 188, 603, 604, 836, -1, 188, 603, 836, -1, 188, 604, 836, -1, 188, 836, -1, 264, 603, 604, 836, -1, 264, 836, -1, 270, -1, 314, -1, 189, -1, 243, -1, 78, 850, -1, 325, 850, -1, 850, -1, 85, -1, 194, -1, 194, 850, -1, 194, 85, -1, 100, -1, 100, 850, -1, 100, 85, -1, 215, -1, 196, -1, 128, 293, 606, 836, 235, 607, -1, 128, 293, 84, 842, 583, 235, 607, -1, 128, 293, 198, 842, 631, 235, 607, -1, 128, 293, 295, 798, 447, 649, 448, 235, 607, -1, 128, 293, 385, 836, 293, 599, 235, 607, -1, 128, 293, 341, 836, 293, 599, 235, 607, -1, 128, 293, 341, 836, 235, 607, -1, 128, 293, 295, 122, 599, 400, 838, 235, 607, -1, 128, 293, 242, 287, 855, 235, 607, -1, 128, 293, 115, 447, 767, 93, 767, 448, 235, 607, -1, 128, 293, 558, 241, 599, 235, 607, -1, 127, -1, 151, -1, 343, -1, 218, -1, 348, -1, 373, -1, 169, -1, 390, -1, 408, -1, 135, -1, 374, -1, 337, -1, 853, -1, 284, -1, 201, 610, 293, 613, 381, 614, 616, -1, 335, 610, 293, 613, 196, 614, 502, -1, 335, 201, 296, 191, 610, 293, 613, 196, 614, 502, -1, 85, 315, -1, 85, -1, 611, -1, 612, -1, 611, 454, 612, -1, 347, -1, 323, -1, 138, -1, 971, -1, 833, -1, 373, 833, -1, 348, 833, -1, 198, 617, -1, 151, 835, -1, 241, 835, -1, 343, 835, -1, 374, 835, -1, 615, -1, 614, 454, 615, -1, 858, -1, 204, 858, -1, 412, 201, 296, -1, -1, 618, -1, 617, 454, 618, -1, 842, 631, -1, 201, 611, 381, 835, 621, 622, -1, 335, 611, 196, 835, 622, 502, -1, 412, 82, 296, -1, -1, 202, 109, 858, -1, -1, 138, 624, 218, 840, 293, 834, 625, 447, 626, 448, 642, 540, 764, -1, 138, 624, 218, 131, 840, 293, 834, 625, 447, 626, 448, 642, 540, 764, -1, 394, -1, -1, 400, 838, -1, -1, 627, -1, 626, 454, 627, -1, 971, 628, -1, 795, 628, -1, 447, 792, 448, 628, -1, 599, -1, 400, 599, -1, -1, 138, 630, 198, 842, 631, 334, 637, 639, 642, -1, 138, 630, 198, 842, 631, 639, 642, -1, 297, 329, -1, -1, 447, 632, 448, -1, 447, 448, -1, 633, -1, 632, 454, 633, -1, 634, 636, 638, -1, 636, 634, 638, -1, 636, 638, -1, 634, 638, -1, 638, -1, 215, -1, 299, -1, 224, -1, 215, 299, -1, 853, -1, 853, 454, 853, -1, 973, -1, 638, -1, 353, 972, 600, 442, 390, -1, 767, -1, 972, 600, 442, 390, -1, 641, -1, 639, 641, -1, 111, 293, 284, 225, -1, 334, 284, 293, 284, 225, -1, 367, -1, 213, -1, 360, -1, 409, -1, 185, 346, 161, -1, 185, 346, 234, -1, 346, 161, -1, 346, 234, -1, 93, 635, -1, 241, 489, -1, 640, -1, 412, 579, -1, -1, 87, 198, 618, 644, 645, -1, 640, -1, 644, 640, -1, 332, -1, -1, 171, 198, 842, 631, 502, -1, 171, 198, 210, 183, 842, 631, 502, -1, 171, 84, 842, 583, 502, -1, 171, 84, 210, 183, 842, 583, 502, -1, 171, 295, 798, 447, 649, 448, 502, -1, 171, 295, 210, 183, 650, 447, 649, 448, 502, -1, 767, -1, 767, 454, 767, -1, 277, 454, 767, -1, 767, 454, 277, -1, 798, -1, 971, 449, 650, -1, 138, 115, 447, 767, 93, 767, 448, 412, 198, 618, 652, -1, 138, 115, 447, 767, 93, 767, 448, 413, 198, 652, -1, 93, 96, -1, -1, 171, 115, 654, 447, 767, 93, 767, 448, 502, -1, 210, 183, -1, -1, 324, 656, 834, 657, -1, 324, 372, 836, 657, -1, 324, 151, 836, 657, -1, 218, -1, 373, -1, 192, -1, -1, 87, 84, 842, 583, 327, 381, 836, -1, 87, 135, 599, 327, 381, 836, -1, 87, 151, 837, 327, 381, 837, -1, 87, 198, 842, 631, 327, 381, 836, -1, 87, 204, 858, 327, 381, 858, -1, 87, 241, 836, 327, 381, 836, -1, 87, 295, 122, 599, 400, 838, 327, 381, 836, -1, 87, 343, 836, 327, 381, 836, -1, 87, 373, 761, 327, 381, 836, -1, 87, 218, 761, 327, 381, 836, -1, 87, 373, 761, 327, 659, 836, 381, 836, -1, 87, 385, 836, 293, 761, 327, 381, 836, -1, 87, 399, 858, 327, 381, 858, -1, 87, 374, 836, 327, 381, 836, -1, 127, -1, -1, 87, 84, 842, 583, 352, 343, 836, -1, 87, 169, 599, 352, 343, 836, -1, 87, 198, 842, 631, 352, 343, 836, -1, 87, 348, 761, 352, 343, 836, -1, 87, 373, 761, 352, 343, 836, -1, 87, 390, 599, 352, 343, 836, -1, 87, 84, 842, 583, 304, 381, 858, -1, 87, 135, 599, 304, 381, 858, -1, 87, 151, 837, 304, 381, 858, -1, 87, 169, 837, 304, 381, 858, -1, 87, 198, 842, 631, 304, 381, 858, -1, 87, 295, 650, 447, 649, 448, 304, 381, 858, -1, 87, 295, 122, 599, 400, 838, 304, 381, 858, -1, 87, 343, 836, 304, 381, 858, -1, 87, 390, 599, 304, 381, 858, -1, 87, 374, 836, 304, 381, 858, -1, -1, 138, 630, 341, 836, 93, 663, 293, 668, 381, 834, 764, 168, 669, 664, -1, 280, -1, 666, -1, 447, 665, 448, -1, 665, 450, 667, -1, 667, -1, 727, -1, 706, -1, 717, -1, 711, -1, 671, -1, 666, -1, -1, 347, -1, 398, -1, 162, -1, 227, -1, 228, -1, 86, -1, -1, 171, 341, 836, 293, 834, 502, -1, 171, 341, 210, 183, 836, 293, 834, 502, -1, 281, 834, -1, 250, 834, -1, 396, 834, -1, 396, 440, -1, 77, 675, -1, 102, 675, 678, -1, 361, 383, 678, -1, 129, 675, -1, 177, 675, -1, 338, 675, -1, 342, 971, -1, 326, 342, 971, -1, 326, 971, -1, 338, 675, 381, 342, 971, -1, 338, 675, 381, 971, -1, 311, 383, 853, -1, 129, 312, 853, -1, 338, 312, 853, -1, 414, -1, 383, -1, -1, 237, 247, 484, -1, 319, 294, -1, 319, 415, -1, 676, -1, 677, 454, 676, -1, 677, 676, -1, 677, -1, -1, 138, 515, 408, 834, 529, 93, 727, 680, -1, 138, 297, 329, 515, 408, 834, 529, 93, 727, 680, -1, 420, 296, -1, 418, 120, 296, -1, 419, 120, 296, -1, -1, 251, 841, -1, 138, 151, 837, 412, 683, -1, 138, 151, 837, -1, 684, -1, 683, 684, -1, 374, 685, 836, -1, 374, 685, 157, -1, 255, 685, 853, -1, 255, 685, 157, -1, 376, 685, 836, -1, 376, 685, 157, -1, 175, 685, 854, -1, 175, 685, 157, -1, 132, 249, 685, 849, -1, 304, 685, 836, -1, 304, 685, 157, -1, 434, -1, -1, 87, 151, 837, 463, 688, -1, 87, 151, 837, 352, 480, -1, 87, 151, 837, 491, -1, 688, 689, -1, -1, 132, 249, 685, 849, -1, 171, 151, 837, -1, 171, 151, 210, 183, 837, -1, 138, 169, 599, 693, 767, 520, -1, 87, 169, 599, 501, -1, 87, 169, 599, 171, 279, 284, -1, 87, 169, 599, 352, 279, 284, -1, 87, 169, 599, 81, 527, -1, 87, 169, 599, 171, 133, 836, 502, -1, 93, -1, -1, 138, 591, 135, 599, 191, 853, 381, 853, 196, 599, -1, 124, 840, 293, 834, -1, 124, 834, -1, 124, -1, 401, 700, 701, 699, -1, 401, 700, 701, 699, 834, -1, 401, 700, 701, 699, 697, -1, 698, 699, -1, 698, 699, 834, 702, -1, 89, -1, 88, -1, 407, -1, -1, 197, -1, -1, 195, -1, -1, 447, 835, 448, -1, -1, 184, 705, 699, 704, -1, 727, -1, 706, -1, 717, -1, 711, -1, 724, -1, 698, -1, -1, 227, 233, 834, 707, 710, -1, 727, -1, 447, 708, 448, 727, -1, 157, 404, -1, 708, 454, 709, -1, 709, -1, 971, 825, -1, 333, 830, -1, -1, 162, 196, 762, 712, 764, 710, -1, 400, 754, -1, -1, 256, 734, 833, 714, 716, -1, 215, 715, 262, -1, -1, 79, 354, -1, 339, 354, -1, 339, 180, -1, 354, 398, 180, -1, 354, -1, 354, 339, 180, -1, 180, -1, 79, 180, -1, 283, -1, -1, 398, 762, 352, 718, 753, 764, 710, -1, 719, -1, 718, 454, 719, -1, 720, -1, 721, -1, 722, 434, 827, -1, 447, 723, 448, 434, 829, -1, 971, 825, -1, 722, -1, 723, 454, 722, -1, 156, 836, 725, 149, 726, 191, 727, -1, -1, 725, 105, -1, 725, 226, -1, 725, 344, -1, 725, 271, 344, -1, -1, 412, 208, -1, 413, 208, -1, 729, -1, 728, -1, 447, 729, 448, -1, 447, 728, 448, -1, 731, -1, 730, 738, -1, 730, 737, 747, 742, -1, 730, 737, 741, 748, -1, 731, -1, 728, -1, 347, 736, 830, 732, 753, 764, 745, 746, -1, 752, -1, 730, 393, 735, 730, -1, 730, 231, 735, 730, -1, 730, 179, 735, 730, -1, 233, 733, -1, 933, -1, -1, 377, 734, 834, -1, 375, 734, 834, -1, 252, 377, 734, 834, -1, 252, 375, 734, 834, -1, 200, 377, 734, 834, -1, 200, 375, 734, 834, -1, 373, 834, -1, 834, -1, 373, -1, -1, 85, -1, -1, 167, -1, 167, 293, 447, 803, 448, -1, 85, -1, -1, 738, -1, -1, 298, 109, 739, -1, 740, -1, 739, 454, 740, -1, 792, 400, 801, -1, 792, 94, -1, 792, 165, -1, 792, -1, 249, 743, 290, 744, -1, 290, 744, 249, 743, -1, 249, 743, -1, 290, 744, -1, 249, 743, 454, 744, -1, 741, -1, -1, 792, -1, 85, -1, 792, -1, 204, 109, 803, -1, -1, 206, 792, -1, -1, 749, -1, 191, 319, 294, -1, 747, -1, -1, 750, -1, 749, 750, -1, 191, 398, 751, 716, -1, 191, 354, 751, 716, -1, 288, 835, -1, -1, 404, 829, -1, 752, 454, 829, -1, 196, 754, -1, -1, 754, 454, 755, -1, 755, -1, 761, -1, 761, 757, -1, 763, -1, 763, 757, -1, 763, 93, 447, 765, 448, -1, 763, 93, 971, 447, 765, 448, -1, 763, 971, 447, 765, 448, -1, 728, -1, 728, 757, -1, 756, -1, 447, 756, 448, 757, -1, 447, 756, 448, -1, 755, 142, 238, 755, -1, 755, 758, 238, 755, 760, -1, 755, 238, 755, 760, -1, 755, 267, 758, 238, 755, -1, 755, 267, 238, 755, -1, 93, 971, 447, 835, 448, -1, 93, 971, -1, 971, 447, 835, 448, -1, 971, -1, 197, 759, -1, 246, 759, -1, 336, 759, -1, 223, -1, 300, -1, -1, 400, 447, 835, 448, -1, 293, 792, -1, 834, -1, 834, 440, -1, 294, 834, -1, 294, 447, 834, 448, -1, 761, -1, 761, 971, -1, 761, 93, 971, -1, 795, -1, 411, 792, -1, -1, 766, -1, 765, 454, 766, -1, 971, 767, -1, 770, 768, -1, 353, 770, 768, -1, 770, 92, 445, 849, 446, -1, 353, 770, 92, 445, 849, 446, -1, 445, 446, 768, -1, 445, 769, 446, 768, -1, -1, 849, -1, 447, 769, 448, -1, 769, 438, 769, -1, 769, 439, 769, -1, 769, 440, 769, -1, 769, 441, 769, -1, 769, 442, 769, -1, 848, -1, 971, -1, 772, -1, 788, -1, 773, -1, 777, -1, 781, -1, 789, 791, -1, 789, 447, 849, 448, 791, -1, 972, 600, -1, 772, -1, 788, -1, 773, -1, 778, -1, 782, -1, 972, -1, 229, -1, 230, -1, 358, -1, 104, -1, 320, -1, 190, 774, -1, 170, 309, -1, 155, 776, -1, 154, 776, -1, 286, 775, -1, 107, -1, 447, 849, 448, -1, -1, 447, 849, 454, 849, 448, -1, 447, 849, 448, -1, -1, 447, 849, 454, 849, 448, -1, 447, 849, 448, -1, -1, 779, -1, 780, -1, 779, -1, 780, -1, 106, 786, 447, 849, 448, -1, 106, 786, -1, 783, -1, 784, -1, 783, -1, 784, -1, 785, 447, 849, 448, 787, -1, 785, 787, -1, 118, 786, -1, 117, 786, -1, 405, -1, 266, 118, 786, -1, 266, 117, 786, -1, 268, 786, -1, 406, -1, -1, 118, 352, 971, -1, -1, 380, 447, 849, 448, 790, -1, 380, 790, -1, 379, 447, 849, 448, 790, -1, 379, 790, -1, 232, -1, 412, 379, 417, -1, 413, 379, 417, -1, -1, 416, -1, 263, -1, 152, -1, 209, -1, 260, -1, 345, -1, 416, 381, 263, -1, 152, 381, 209, -1, 152, 381, 260, -1, 152, 381, 345, -1, 209, 381, 260, -1, 260, 381, 345, -1, 209, 381, 345, -1, -1, 794, -1, 792, 76, 767, -1, 792, 98, 379, 417, 792, -1, 438, 792, -1, 439, 792, -1, 792, 438, 792, -1, 792, 439, 792, -1, 792, 440, 792, -1, 792, 441, 792, -1, 792, 442, 792, -1, 792, 443, 792, -1, 792, 435, 792, -1, 792, 436, 792, -1, 792, 434, 792, -1, 792, 800, 792, -1, 800, 792, -1, 792, 800, -1, 792, 90, 792, -1, 792, 297, 792, -1, 279, 792, -1, 792, 248, 792, -1, 792, 248, 792, 178, 792, -1, 792, 279, 248, 792, -1, 792, 279, 248, 792, 178, 792, -1, 792, 211, 792, -1, 792, 211, 792, 178, 792, -1, 792, 279, 211, 792, -1, 792, 279, 211, 792, 178, 792, -1, 792, 356, 381, 792, -1, 792, 356, 381, 792, 178, 792, -1, 792, 279, 356, 381, 792, -1, 792, 279, 356, 381, 792, 178, 792, -1, 792, 236, -1, 792, 235, 284, -1, 792, 282, -1, 792, 235, 279, 284, -1, 796, 301, 796, -1, 792, 235, 387, -1, 792, 235, 279, 387, -1, 792, 235, 187, -1, 792, 235, 279, 187, -1, 792, 235, 395, -1, 792, 235, 279, 395, -1, 792, 235, 167, 196, 792, -1, 792, 235, 279, 167, 196, 792, -1, 792, 235, 288, 447, 805, 448, -1, 792, 235, 279, 288, 447, 805, 448, -1, 792, 103, 826, 793, 90, 793, -1, 792, 279, 103, 826, 793, 90, 793, -1, 792, 103, 370, 793, 90, 793, -1, 792, 279, 103, 370, 793, 90, 793, -1, 792, 215, 816, -1, 792, 279, 215, 816, -1, 792, 802, 797, 728, -1, 792, 802, 797, 447, 792, 448, -1, 394, 728, -1, 794, -1, 793, 76, 767, -1, 439, 793, -1, 793, 438, 793, -1, 793, 439, 793, -1, 793, 440, 793, -1, 793, 441, 793, -1, 793, 442, 793, -1, 793, 443, 793, -1, 793, 435, 793, -1, 793, 436, 793, -1, 793, 434, 793, -1, 793, 423, 793, -1, 800, 793, -1, 793, 800, -1, 793, 235, 167, 196, 793, -1, 793, 235, 279, 167, 196, 793, -1, 793, 235, 288, 447, 793, 448, -1, 793, 235, 279, 288, 447, 793, 448, -1, 822, -1, 843, -1, 432, 825, -1, 447, 792, 448, 825, -1, 817, -1, 795, -1, 728, -1, 183, 728, -1, 92, 728, -1, 92, 807, -1, 796, -1, 842, 447, 448, -1, 842, 447, 803, 448, -1, 842, 447, 85, 803, 448, -1, 842, 447, 167, 803, 448, -1, 842, 447, 440, 448, -1, 144, -1, 146, -1, 146, 447, 849, 448, -1, 147, -1, 147, 447, 849, 448, -1, 253, -1, 253, 447, 849, 448, -1, 254, -1, 254, 447, 849, 448, -1, 145, -1, 148, -1, 351, -1, 399, -1, 115, 447, 792, 93, 767, 448, -1, 186, 447, 804, 448, -1, 302, 447, 809, 448, -1, 308, 447, 811, 448, -1, 368, 447, 812, 448, -1, 384, 447, 792, 93, 767, 448, -1, 386, 447, 108, 815, 448, -1, 386, 447, 244, 815, 448, -1, 386, 447, 382, 815, 448, -1, 386, 447, 815, 448, -1, 136, 447, 792, 400, 599, 448, -1, 136, 447, 803, 448, -1, 285, 447, 792, 454, 792, 448, -1, 125, 447, 803, 448, -1, 203, 447, 803, 448, -1, 245, 447, 803, 448, -1, 339, 447, 803, 448, -1, 339, 447, 448, -1, 447, 803, 454, 792, 448, -1, 91, -1, 359, -1, 85, -1, 423, -1, 799, -1, 438, -1, 439, -1, 440, -1, 442, -1, 443, -1, 441, -1, 435, -1, 436, -1, 434, -1, 423, -1, 295, 447, 650, 448, -1, 798, -1, 295, 447, 650, 448, -1, 798, -1, 295, 447, 650, 448, -1, 248, -1, 279, 248, -1, 211, -1, 279, 211, -1, 792, -1, 803, 454, 792, -1, 808, 196, 792, -1, -1, 805, 454, 767, -1, 767, -1, 807, -1, 806, 454, 807, -1, 445, 803, 446, -1, 445, 806, 446, -1, 993, -1, 416, -1, 263, -1, 152, -1, 209, -1, 260, -1, 345, -1, 853, -1, 792, 810, 813, 814, -1, 792, 810, 813, -1, 307, 792, -1, 793, 215, 793, -1, -1, 792, 813, 814, -1, 792, 814, 813, -1, 792, 813, -1, 792, 814, -1, 803, -1, -1, 196, 792, -1, 191, 792, -1, 792, 196, 803, -1, 196, 803, -1, 803, -1, 728, -1, 447, 803, 448, -1, 114, 821, 818, 820, 177, -1, 818, 819, -1, 819, -1, 410, 792, 378, 792, -1, 173, 792, -1, -1, 792, -1, -1, 832, -1, 832, 824, -1, 449, 839, -1, 449, 440, -1, 445, 792, 446, -1, 445, 792, 455, 792, 446, -1, 823, -1, 824, 823, -1, -1, 825, 823, -1, 97, -1, -1, 792, -1, 157, -1, 827, -1, 828, 454, 827, -1, 447, 828, 448, -1, 830, 454, 831, -1, 831, -1, 792, 93, 974, -1, 792, -1, 440, -1, 859, -1, 971, -1, 834, -1, 833, 454, 834, -1, 832, -1, 832, 824, -1, 836, -1, 835, 454, 836, -1, 971, -1, 971, -1, 971, -1, 974, -1, 971, -1, 853, -1, 973, -1, 832, 824, -1, 857, -1, 771, 853, -1, 789, 853, 791, -1, 789, 447, 849, 448, 853, 791, -1, 387, -1, 187, -1, 284, -1, 989, -1, 431, -1, 433, -1, 428, -1, 429, -1, 422, -1, 430, -1, 844, -1, 990, -1, 849, -1, 439, 849, -1, 844, -1, 992, -1, 845, -1, 851, -1, 439, 845, -1, 439, 844, -1, 848, -1, 848, -1, 990, -1, 844, -1, 848, -1, 990, -1, 845, -1, 844, -1, 439, 845, -1, 439, 844, -1, 990, -1, 848, -1, 855, -1, 848, -1, 845, -1, 844, -1, 846, -1, 847, -1, 990, -1, 971, -1, 292, -1, 269, -1, 9, 381, 861, 868, 869, -1, 9, 381, 157, -1, 9, 870, -1, 151, 861, -1, 862, 865, 867, -1, 863, 455, 864, 867, 441, 862, 873, -1, 872, -1, 848, -1, 837, -1, -1, 993, 992, -1, 423, 866, -1, 864, -1, -1, 971, -1, 971, 449, 866, -1, 427, -1, 455, 849, -1, -1, 93, 920, -1, -1, 399, 870, -1, -1, 871, -1, 871, 441, 871, -1, 871, 24, 109, 871, -1, 871, 400, 871, -1, 858, -1, 853, -1, 992, -1, 423, 971, -1, -1, 156, 836, 725, 149, 726, 191, 925, -1, 153, 311, 925, -1, 153, 925, -1, 877, -1, 891, -1, 878, -1, -1, 897, 900, 879, 913, 450, -1, -1, 900, 880, 913, 450, -1, 903, 450, -1, 855, -1, 454, 855, -1, -1, 791, -1, 416, 381, 260, -1, 416, 381, 345, -1, 152, 381, 152, -1, 263, 381, 263, -1, -1, 886, 885, 888, 887, -1, 986, 102, 156, 38, 450, -1, 986, 177, 156, 38, 450, -1, -1, 889, -1, 426, -1, 893, -1, 891, -1, 889, 893, -1, 889, 891, -1, 889, 426, -1, 893, -1, 890, 893, -1, -1, 75, 892, 900, 916, 975, 768, 450, -1, -1, 897, 900, 894, 913, 450, -1, -1, 900, 895, 913, 450, -1, 903, 450, -1, 455, 844, -1, -1, 898, 899, -1, 898, -1, 899, -1, 61, -1, 72, -1, 70, -1, 55, -1, 56, -1, 74, -1, 909, -1, 905, -1, 901, -1, 975, 447, 881, 882, 448, -1, 975, 883, -1, 907, -1, 19, 969, 902, -1, 19, 902, -1, 19, 969, -1, 451, 997, 452, -1, -1, 907, 904, 451, 890, 452, -1, 903, -1, -1, 908, 906, 451, 890, 452, -1, 47, 969, -1, 393, 969, -1, 47, -1, 393, -1, 910, -1, 912, 911, -1, 48, 39, -1, 48, 39, 229, -1, 48, -1, 48, 229, -1, 48, 28, -1, 48, 28, 229, -1, 48, 28, 28, -1, 48, 28, 28, 229, -1, 48, 117, -1, 39, -1, 39, 229, -1, 229, -1, 28, -1, 28, 229, -1, 28, 28, -1, 28, 28, 229, -1, 5, -1, 117, -1, 170, -1, 40, -1, -1, 914, -1, 913, 454, 914, -1, 916, 976, 768, 896, 915, -1, -1, 434, 998, -1, -1, 440, -1, 440, 440, -1, 156, 362, 993, -1, 18, 919, -1, 920, -1, 12, -1, 85, -1, -1, 837, -1, 157, -1, 872, -1, 182, 212, 924, -1, -1, 182, 925, 922, 923, -1, 929, 933, -1, 933, 929, -1, 929, -1, 933, -1, -1, 872, -1, 424, -1, 836, -1, 872, -1, 21, 836, -1, 32, 836, 928, -1, -1, 929, -1, 400, 934, -1, 930, -1, 400, 932, 17, 994, -1, 233, 932, 17, 994, -1, -1, 41, -1, 233, 985, -1, 931, -1, 935, -1, 935, 454, 934, -1, 856, -1, 989, -1, 311, 925, 196, 924, -1, 16, 225, 836, 930, -1, 16, 938, 836, 930, -1, 16, 938, 836, 931, -1, 33, -1, -1, 3, 17, 994, -1, 153, 17, 994, -1, 199, 17, 994, 942, -1, 943, -1, 942, 454, 943, -1, 992, 434, 947, -1, 352, 17, 994, 945, -1, 946, -1, 945, 454, 946, -1, 947, 434, 851, -1, 11, -1, 199, 17, 994, 49, 851, 949, -1, 950, -1, 949, 454, 950, -1, 992, 434, 954, -1, 352, 17, 994, 49, 851, 952, -1, 953, -1, 952, 454, 953, -1, 954, 434, 852, -1, 8, -1, 13, -1, 14, -1, 15, -1, 25, -1, 26, -1, 27, -1, 29, -1, 30, -1, 31, -1, 309, -1, 35, -1, 36, -1, 37, -1, 390, -1, 352, 4, 434, 956, -1, 352, 4, 381, 956, -1, 293, -1, 289, -1, 352, 132, 381, 920, -1, 352, 132, 434, 920, -1, 352, 132, 920, -1, -1, 390, 959, 975, 235, 900, 768, 960, -1, 34, -1, -1, -1, 50, 962, 974, 235, 900, 768, 960, -1, 51, 42, 964, -1, 51, 279, 20, 964, -1, 51, 44, 964, -1, 10, -1, 43, -1, 46, -1, 23, 836, -1, 22, 381, 836, -1, 168, 836, 447, 987, 448, -1, 168, 6, -1, 7, 836, 447, 987, 448, -1, 7, 836, -1, 966, -1, 967, -1, 6, -1, 7, -1, 8, -1, 10, -1, 11, -1, 13, -1, 14, -1, 15, -1, 20, -1, 22, -1, 23, -1, 24, -1, 25, -1, 26, -1, 27, -1, 29, -1, 30, -1, 31, -1, 35, -1, 36, -1, 37, -1, 38, -1, 42, -1, 43, -1, 44, -1, 46, -1, 49, -1, 9, -1, 16, -1, 18, -1, 32, -1, 50, -1, 51, -1, 5, -1, 28, -1, 33, -1, 39, -1, 47, -1, 40, -1, 48, -1, 974, -1, 993, -1, 979, -1, 981, -1, 982, -1, 965, -1, 977, -1, 117, -1, 404, -1, 993, -1, 978, -1, 982, -1, 965, -1, 977, -1, 117, -1, 404, -1, 993, -1, 978, -1, 965, -1, 968, -1, 977, -1, 993, -1, 978, -1, 983, -1, 965, -1, 977, -1, 976, -1, 968, -1, 117, -1, 225, -1, 229, -1, 393, -1, 381, -1, 977, -1, 979, -1, 993, -1, 982, -1, 983, -1, 966, -1, 975, -1, 984, -1, 980, -1, 967, -1, 55, -1, 56, -1, 61, -1, 70, -1, 72, -1, 75, -1, 74, -1, 979, -1, 980, -1, 152, -1, 209, -1, 260, -1, 263, -1, 345, -1, 416, -1, 981, -1, 132, -1, 77, -1, 78, -1, 79, -1, 80, -1, 81, -1, 82, -1, 83, -1, 84, -1, 86, -1, 87, -1, 95, -1, 96, -1, 98, -1, 100, -1, 101, -1, 102, -1, 109, -1, 110, -1, 112, -1, 113, -1, 116, -1, 119, -1, 121, -1, 122, -1, 123, -1, 124, -1, 128, -1, 129, -1, 130, -1, 131, -1, 134, -1, 135, -1, 137, -1, 139, -1, 140, -1, 141, -1, 143, -1, 149, -1, 150, -1, 151, -1, 153, -1, 156, -1, 158, -1, 160, -1, 162, -1, 163, -1, 164, -1, 166, -1, 169, -1, 170, -1, 171, -1, 172, -1, 174, -1, 175, -1, 176, -1, 178, -1, 181, -1, 180, -1, 182, -1, 184, -1, 188, -1, 189, -1, 192, -1, 194, -1, 198, -1, 200, -1, 202, -1, 205, -1, 207, -1, 208, -1, 210, -1, 212, -1, 213, -1, 214, -1, 216, -1, 217, -1, 218, -1, 219, -1, 220, -1, 221, -1, 226, -1, 227, -1, 228, -1, 237, -1, 239, -1, 240, -1, 241, -1, 242, -1, 243, -1, 247, -1, 250, -1, 251, -1, 252, -1, 255, -1, 256, -1, 257, -1, 258, -1, 259, -1, 261, -1, 262, -1, 264, -1, 265, -1, 270, -1, 271, -1, 272, -1, 273, -1, 274, -1, 275, -1, 276, -1, 278, -1, 280, -1, 281, -1, 283, -1, 287, -1, 288, -1, 291, -1, 295, -1, 296, -1, 303, -1, 304, -1, 305, -1, 306, -1, 311, -1, 312, -1, 310, -1, 314, -1, 315, -1, 316, -1, 317, -1, 318, -1, 319, -1, 321, -1, 322, -1, 324, -1, 325, -1, 326, -1, 327, -1, 328, -1, 329, -1, 330, -1, 331, -1, 332, -1, 334, -1, 335, -1, 337, -1, 338, -1, 340, -1, 341, -1, 342, -1, 343, -1, 344, -1, 348, -1, 349, -1, 350, -1, 352, -1, 354, -1, 355, -1, 357, -1, 360, -1, 361, -1, 362, -1, 363, -1, 364, -1, 365, -1, 366, -1, 369, -1, 367, -1, 372, -1, 371, -1, 374, -1, 375, -1, 376, -1, 377, -1, 383, -1, 385, -1, 388, -1, 389, -1, 390, -1, 391, -1, 392, -1, 395, -1, 396, -1, 397, -1, 398, -1, 401, -1, 402, -1, 406, -1, 408, -1, 412, -1, 413, -1, 414, -1, 415, -1, 417, -1, 104, -1, 106, -1, 118, -1, 125, -1, 136, -1, 154, -1, 155, -1, 183, -1, 186, -1, 190, -1, 203, -1, 224, -1, 230, -1, 232, -1, 245, -1, 266, -1, 268, -1, 277, -1, 285, -1, 286, -1, 299, -1, 302, -1, 308, -1, 309, -1, 320, -1, 339, -1, 353, -1, 358, -1, 368, -1, 379, -1, 380, -1, 384, -1, 386, -1, 405, -1, 99, -1, 103, -1, 105, -1, 142, -1, 195, -1, 197, -1, 211, -1, 223, -1, 235, -1, 236, -1, 238, -1, 246, -1, 248, -1, 267, -1, 282, -1, 300, -1, 301, -1, 336, -1, 356, -1, 407, -1, 85, -1, 88, -1, 89, -1, 90, -1, 91, -1, 92, -1, 93, -1, 94, -1, 97, -1, 108, -1, 114, -1, 115, -1, 120, -1, 126, -1, 127, -1, 133, -1, 138, -1, 144, -1, 146, -1, 147, -1, 145, -1, 148, -1, 157, -1, 159, -1, 165, -1, 167, -1, 168, -1, 173, -1, 177, -1, 179, -1, 187, -1, 191, -1, 193, -1, 196, -1, 201, -1, 204, -1, 206, -1, 215, -1, 222, -1, 231, -1, 233, -1, 244, -1, 249, -1, 269, -1, 279, -1, 284, -1, 289, -1, 290, -1, 292, -1, 293, -1, 294, -1, 297, -1, 298, -1, 313, -1, 323, -1, 333, -1, 347, -1, 351, -1, 359, -1, 370, -1, 373, -1, 378, -1, 382, -1, 387, -1, 394, -1, 399, -1, 400, -1, 410, -1, 411, -1, 988, -1, 985, 454, 988, -1, 45, -1, -1, 997, -1, 992, 991, -1, 992, -1, 992, 991, -1, 992, -1, 992, -1, 25, 992, -1, 25, 836, -1, 425, -1, 421, -1, 424, -1, 836, -1, 872, -1, 1000, -1, 447, 448, -1, 447, 996, 448, -1, 995, -1, 996, 995, -1, 998, -1, 997, 454, 998, -1, 996, -1, 451, 997, 452, -1, 1000, -1, 447, -1, 448, -1, 454, -1, 450, -1, 421, -1, 424, -1, 844, -1, 845, -1, 848, -1, 440, -1, 438, -1, 439, -1, 441, -1, 442, -1, 284, -1, 52, -1, 53, -1, 54, -1, 55, -1, 56, -1, 57, -1, 58, -1, 59, -1, 60, -1, 61, -1, 62, -1, 63, -1, 65, -1, 64, -1, 66, -1, 67, -1, 68, -1, 69, -1, 70, -1, 71, -1, 72, -1, 73, -1, 75, -1, 74, -1, 5, -1, 19, -1, 209, -1, 229, -1, 28, -1, 260, -1, 263, -1, 345, -1, 39, -1, 40, -1, 47, -1, 48, -1, 416, -1, 117, -1, 190, -1, 381, -1, 393, -1, 405, -1, 445, -1, 446, -1, 434, -1, 455, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short yyrline[] = { 0, 610, 610, 612, 613, 616, 617, 618, 624, 625, 626, 627, 628, 631, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 721, 722, 723, 724, 725, 726, 727, 728, 729, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 747, 748, 749, 750, 751, 752, 753, 754, 755, 761, 771, 775, 783, 791, 795, 806, 816, 820, 827, 834, 840, 851, 861, 867, 876, 883, 889, 898, 905, 926, 930, 931, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 971, 982, 986, 988, 998, 1001, 1003, 1013, 1015, 1025, 1027, 1038, 1048, 1052, 1053, 1062, 1064, 1075, 1077, 1081, 1082, 1085, 1086, 1093, 1094, 1095, 1096, 1097, 1098, 1111, 1113, 1115, 1119, 1121, 1123, 1125, 1127, 1129, 1131, 1133, 1135, 1139, 1140, 1144, 1146, 1150, 1152, 1156, 1157, 1158, 1159, 1162, 1163, 1164, 1167, 1168, 1169, 1170, 1180, 1181, 1182, 1184, 1186, 1188, 1192, 1193, 1194, 1197, 1198, 1201, 1203, 1205, 1207, 1209, 1213, 1215, 1217, 1219, 1221, 1225, 1229, 1231, 1235, 1236, 1242, 1253, 1255, 1261, 1262, 1266, 1270, 1273, 1276, 1279, 1282, 1285, 1288, 1291, 1294, 1297, 1300, 1303, 1306, 1309, 1312, 1315, 1318, 1321, 1324, 1327, 1329, 1333, 1334, 1340, 1343, 1345, 1347, 1352, 1353, 1356, 1357, 1358, 1361, 1362, 1372, 1376, 1388, 1397, 1398, 1401, 1402, 1403, 1406, 1407, 1410, 1411, 1412, 1414, 1416, 1417, 1418, 1420, 1422, 1424, 1429, 1430, 1433, 1434, 1441, 1444, 1447, 1448, 1458, 1461, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1481, 1484, 1486, 1488, 1492, 1493, 1494, 1497, 1501, 1502, 1505, 1507, 1508, 1522, 1524, 1526, 1528, 1530, 1532, 1534, 1549, 1550, 1551, 1552, 1555, 1559, 1561, 1565, 1566, 1567, 1568, 1569, 1570, 1577, 1579, 1583, 1585, 1587, 1589, 1594, 1595, 1598, 1600, 1604, 1607, 1609, 1615, 1618, 1619, 1620, 1621, 1622, 1625, 1629, 1633, 1634, 1635, 1636, 1637, 1640, 1643, 1646, 1647, 1648, 1649, 1652, 1653, 1654, 1655, 1658, 1659, 1662, 1663, 1672, 1671, 1682, 1685, 1688, 1690, 1694, 1705, 1709, 1713, 1714, 1717, 1719, 1721, 1723, 1725, 1727, 1729, 1731, 1733, 1735, 1737, 1741, 1742, 1753, 1755, 1760, 1761, 1768, 1769, 1772, 1775, 1777, 1780, 1783, 1785, 1789, 1790, 1800, 1804, 1805, 1819, 1821, 1834, 1838, 1845, 1846, 1849, 1851, 1853, 1857, 1858, 1859, 1862, 1865, 1868, 1869, 1872, 1873, 1876, 1878, 1881, 1884, 1885, 1888, 1889, 1892, 1893, 1900, 1901, 1910, 1912, 1916, 1918, 1922, 1924, 1935, 1943, 1958, 1960, 1962, 1964, 1966, 1968, 1972, 1976, 1977, 1980, 1981, 1985, 1986, 1987, 1988, 1989, 1992, 1993, 1997, 1998, 2001, 2004, 2005, 2008, 2012, 2019, 2020, 2023, 2025, 2027, 2029, 2033, 2034, 2037, 2038, 2041, 2043, 2056, 2061, 2073, 2075, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2089, 2091, 2095, 2096, 2099, 2100, 2109, 2124, 2129, 2134, 2139, 2144, 2149, 2154, 2159, 2164, 2166, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2186, 2187, 2190, 2192, 2194, 2196, 2198, 2200, 2202, 2204, 2206, 2208, 2210, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2228, 2229, 2239, 2243, 2245, 2249, 2250, 2251, 2254, 2256, 2260, 2261, 2262, 2263, 2266, 2268, 2270, 2272, 2274, 2276, 2278, 2280, 2284, 2286, 2290, 2291, 2294, 2299, 2302, 2304, 2308, 2317, 2322, 2326, 2327, 2330, 2331, 2347, 2350, 2355, 2356, 2359, 2362, 2365, 2366, 2369, 2371, 2373, 2377, 2378, 2379, 2382, 2385, 2390, 2391, 2394, 2396, 2400, 2402, 2406, 2407, 2408, 2409, 2410, 2413, 2414, 2415, 2416, 2419, 2421, 2425, 2427, 2435, 2439, 2441, 2446, 2448, 2453, 2455, 2457, 2459, 2461, 2463, 2465, 2467, 2469, 2471, 2474, 2476, 2478, 2482, 2483, 2487, 2491, 2492, 2495, 2496, 2509, 2511, 2515, 2517, 2521, 2523, 2527, 2529, 2531, 2533, 2538, 2540, 2544, 2547, 2552, 2553, 2557, 2561, 2562, 2572, 2574, 2576, 2580, 2581, 2584, 2585, 2596, 2598, 2600, 2602, 2604, 2606, 2608, 2610, 2612, 2614, 2616, 2618, 2620, 2622, 2626, 2627, 2637, 2639, 2641, 2643, 2645, 2647, 2657, 2659, 2661, 2663, 2665, 2667, 2669, 2671, 2673, 2675, 2687, 2686, 2696, 2697, 2698, 2702, 2704, 2708, 2709, 2710, 2711, 2712, 2715, 2716, 2720, 2721, 2722, 2723, 2726, 2727, 2728, 2731, 2733, 2745, 2749, 2753, 2755, 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2784, 2785, 2786, 2790, 2792, 2793, 2797, 2798, 2799, 2803, 2804, 2815, 2817, 2826, 2828, 2830, 2833, 2843, 2855, 2857, 2861, 2863, 2867, 2869, 2871, 2873, 2875, 2877, 2879, 2881, 2883, 2885, 2887, 2891, 2892, 2903, 2907, 2909, 2914, 2915, 2919, 2929, 2931, 2942, 2949, 2951, 2953, 2955, 2957, 2961, 2962, 2966, 2980, 2982, 2984, 2997, 2999, 3001, 3005, 3007, 3011, 3012, 3015, 3016, 3019, 3020, 3023, 3024, 3027, 3030, 3041, 3046, 3047, 3048, 3049, 3050, 3054, 3055, 3105, 3110, 3112, 3114, 3118, 3120, 3124, 3128, 3129, 3139, 3143, 3144, 3147, 3151, 3154, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3167, 3168, 3178, 3187, 3188, 3192, 3193, 3197, 3200, 3203, 3206, 3207, 3216, 3247, 3248, 3249, 3250, 3251, 3255, 3261, 3262, 3272, 3274, 3278, 3280, 3284, 3286, 3288, 3290, 3294, 3295, 3298, 3302, 3304, 3306, 3308, 3312, 3317, 3318, 3328, 3330, 3332, 3334, 3336, 3338, 3340, 3342, 3346, 3347, 3350, 3351, 3354, 3356, 3358, 3361, 3364, 3365, 3368, 3372, 3373, 3376, 3378, 3380, 3382, 3386, 3388, 3390, 3392, 3394, 3398, 3399, 3402, 3403, 3406, 3416, 3419, 3422, 3425, 3429, 3430, 3434, 3435, 3439, 3440, 3444, 3446, 3451, 3452, 3455, 3457, 3469, 3470, 3473, 3474, 3484, 3486, 3488, 3490, 3492, 3494, 3496, 3498, 3500, 3502, 3504, 3525, 3527, 3529, 3531, 3533, 3535, 3539, 3541, 3543, 3545, 3549, 3550, 3551, 3552, 3556, 3557, 3567, 3569, 3573, 3575, 3577, 3579, 3583, 3585, 3587, 3591, 3594, 3595, 3598, 3600, 3604, 3617, 3619, 3621, 3623, 3628, 3634, 3641, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3659, 3660, 3661, 3662, 3663, 3664, 3666, 3668, 3672, 3673, 3674, 3675, 3676, 3679, 3687, 3689, 3691, 3693, 3695, 3697, 3699, 3701, 3703, 3705, 3707, 3711, 3714, 3717, 3719, 3722, 3725, 3727, 3730, 3738, 3739, 3742, 3743, 3746, 3750, 3759, 3760, 3763, 3764, 3767, 3771, 3775, 3777, 3779, 3781, 3783, 3785, 3789, 3792, 3795, 3798, 3801, 3803, 3805, 3807, 3811, 3815, 3817, 3820, 3823, 3824, 3825, 3826, 3827, 3828, 3829, 3830, 3831, 3832, 3833, 3834, 3835, 3836, 3862, 3864, 3866, 3877, 3879, 3881, 3883, 3885, 3887, 3889, 3891, 3893, 3895, 3897, 3899, 3901, 3903, 3905, 3907, 3909, 3911, 3913, 3915, 3917, 3919, 3921, 3923, 3925, 3927, 3929, 3931, 3933, 3935, 3937, 3939, 3941, 3943, 3954, 3956, 3958, 3960, 3962, 3964, 3966, 3968, 3970, 3972, 3974, 3976, 3978, 3980, 3982, 3984, 3986, 3988, 3990, 4002, 4004, 4006, 4008, 4010, 4012, 4014, 4016, 4018, 4020, 4022, 4024, 4026, 4028, 4030, 4032, 4034, 4036, 4038, 4050, 4052, 4054, 4056, 4058, 4060, 4062, 4064, 4066, 4068, 4070, 4082, 4084, 4086, 4088, 4090, 4092, 4094, 4096, 4098, 4100, 4102, 4104, 4106, 4108, 4110, 4112, 4114, 4116, 4118, 4120, 4122, 4124, 4126, 4128, 4131, 4133, 4135, 4137, 4139, 4141, 4143, 4145, 4147, 4149, 4154, 4156, 4158, 4162, 4163, 4164, 4167, 4168, 4171, 4172, 4173, 4174, 4175, 4176, 4177, 4178, 4179, 4182, 4183, 4186, 4187, 4190, 4191, 4192, 4193, 4194, 4195, 4198, 4200, 4204, 4207, 4210, 4212, 4216, 4217, 4221, 4222, 4228, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4239, 4241, 4246, 4250, 4253, 4256, 4258, 4260, 4262, 4264, 4267, 4270, 4274, 4278, 4280, 4282, 4286, 4288, 4295, 4299, 4301, 4305, 4309, 4312, 4315, 4316, 4319, 4320, 4324, 4325, 4326, 4327, 4330, 4331, 4335, 4336, 4339, 4340, 4344, 4345, 4349, 4350, 4353, 4361, 4363, 4368, 4370, 4372, 4448, 4449, 4452, 4454, 4458, 4460, 4464, 4466, 4471, 4472, 4473, 4474, 4475, 4477, 4479, 4481, 4489, 4491, 4493, 4495, 4497, 4499, 4501, 4503, 4507, 4508, 4509, 4510, 4511, 4521, 4527, 4528, 4531, 4532, 4535, 4543, 4546, 4554, 4555, 4564, 4573, 4585, 4586, 4589, 4590, 4591, 4594, 4595, 4596, 4597, 4598, 4601, 4602, 4605, 4606, 4607, 4608, 4609, 4610, 4613, 4615, 4622, 4638, 4640, 4643, 4645, 4649, 4661, 4677, 4681, 4692, 4693, 4696, 4708, 4717, 4718, 4721, 4722, 4723, 4726, 4727, 4730, 4731, 4734, 4735, 4738, 4740, 4742, 4744, 4748, 4755, 4778, 4810, 4820, 4827, 4867, 4869, 4876, 4878, 4879, 4884, 4882, 4897, 4896, 4909, 4915, 4917, 4918, 4921, 4922, 4923, 4924, 4925, 4932, 4931, 4941, 4943, 4945, 4946, 4947, 4950, 4951, 4952, 4953, 4954, 4957, 4958, 4962, 4961, 5019, 5017, 5032, 5031, 5044, 5050, 5051, 5054, 5056, 5057, 5060, 5061, 5062, 5063, 5066, 5067, 5070, 5078, 5095, 5103, 5126, 5220, 5254, 5256, 5258, 5262, 5266, 5265, 5316, 5318, 5317, 5332, 5338, 5345, 5350, 5353, 5354, 5357, 5358, 5359, 5360, 5361, 5362, 5363, 5371, 5379, 5382, 5383, 5384, 5385, 5386, 5387, 5395, 5403, 5404, 5405, 5408, 5409, 5412, 5414, 5418, 5500, 5501, 5508, 5509, 5510, 5516, 5525, 5528, 5529, 5530, 5531, 5534, 5535, 5536, 5542, 5556, 5555, 5573, 5574, 5575, 5576, 5577, 5580, 5582, 5586, 5587, 5594, 5599, 5601, 5602, 5605, 5606, 5609, 5616, 5623, 5623, 5625, 5626, 5629, 5629, 5631, 5641, 5650, 5657, 5663, 5669, 5677, 5678, 5690, 5701, 5712, 5716, 5717, 5720, 5725, 5729, 5730, 5733, 5740, 5747, 5751, 5752, 5755, 5758, 5762, 5763, 5766, 5773, 5774, 5775, 5776, 5777, 5778, 5779, 5780, 5781, 5782, 5783, 5784, 5785, 5786, 5787, 5817, 5818, 5821, 5822, 5829, 5830, 5831, 5838, 5837, 5896, 5897, 5904, 5903, 5972, 5978, 5984, 5992, 5998, 6004, 6010, 6016, 6022, 6028, 6034, 6040, 6051, 6052, 6055, 6056, 6057, 6058, 6059, 6060, 6061, 6062, 6063, 6064, 6065, 6066, 6067, 6068, 6069, 6070, 6071, 6072, 6073, 6074, 6075, 6076, 6077, 6078, 6079, 6080, 6081, 6084, 6085, 6086, 6087, 6088, 6089, 6093, 6094, 6095, 6096, 6097, 6098, 6099, 6102, 6116, 6117, 6118, 6119, 6120, 6121, 6122, 6123, 6127, 6128, 6129, 6130, 6131, 6132, 6133, 6137, 6138, 6139, 6140, 6141, 6146, 6147, 6148, 6149, 6150, 6156, 6157, 6158, 6159, 6160, 6161, 6162, 6163, 6164, 6167, 6168, 6169, 6170, 6173, 6174, 6175, 6176, 6179, 6180, 6181, 6182, 6183, 6184, 6185, 6203, 6203, 6205, 6206, 6207, 6208, 6209, 6210, 6216, 6217, 6220, 6221, 6222, 6223, 6224, 6225, 6226, 6227, 6228, 6229, 6230, 6231, 6232, 6233, 6234, 6235, 6236, 6237, 6238, 6239, 6240, 6241, 6242, 6243, 6244, 6245, 6246, 6247, 6248, 6249, 6251, 6252, 6253, 6254, 6255, 6256, 6257, 6258, 6259, 6260, 6262, 6263, 6264, 6265, 6266, 6267, 6268, 6269, 6270, 6271, 6272, 6273, 6274, 6275, 6276, 6277, 6278, 6279, 6280, 6281, 6282, 6283, 6284, 6285, 6286, 6287, 6288, 6289, 6290, 6291, 6293, 6294, 6295, 6296, 6297, 6298, 6299, 6300, 6301, 6302, 6303, 6304, 6305, 6306, 6307, 6308, 6309, 6310, 6311, 6312, 6313, 6314, 6315, 6316, 6317, 6318, 6319, 6320, 6322, 6323, 6325, 6326, 6327, 6328, 6329, 6330, 6331, 6332, 6333, 6334, 6335, 6336, 6337, 6338, 6339, 6340, 6341, 6342, 6343, 6344, 6345, 6346, 6347, 6348, 6349, 6350, 6351, 6352, 6353, 6354, 6355, 6356, 6357, 6358, 6359, 6360, 6361, 6362, 6363, 6364, 6365, 6366, 6367, 6368, 6369, 6370, 6371, 6372, 6373, 6374, 6375, 6377, 6378, 6379, 6380, 6381, 6382, 6383, 6384, 6385, 6386, 6387, 6388, 6389, 6390, 6391, 6392, 6393, 6394, 6395, 6396, 6397, 6398, 6399, 6400, 6401, 6402, 6403, 6404, 6405, 6406, 6407, 6408, 6409, 6410, 6411, 6412, 6413, 6414, 6415, 6416, 6417, 6419, 6433, 6434, 6438, 6439, 6440, 6441, 6442, 6443, 6444, 6445, 6446, 6447, 6451, 6452, 6453, 6454, 6455, 6456, 6457, 6458, 6459, 6460, 6461, 6462, 6463, 6464, 6465, 6466, 6467, 6468, 6469, 6470, 6471, 6474, 6488, 6489, 6490, 6491, 6492, 6493, 6494, 6495, 6496, 6497, 6498, 6499, 6500, 6501, 6502, 6503, 6504, 6505, 6506, 6507, 6517, 6518, 6519, 6520, 6521, 6522, 6523, 6524, 6525, 6526, 6527, 6528, 6529, 6530, 6531, 6532, 6533, 6534, 6535, 6536, 6537, 6538, 6539, 6540, 6541, 6542, 6543, 6544, 6545, 6546, 6547, 6548, 6549, 6550, 6551, 6552, 6553, 6554, 6555, 6556, 6557, 6558, 6559, 6560, 6561, 6562, 6563, 6564, 6565, 6566, 6567, 6568, 6569, 6570, 6571, 6572, 6573, 6574, 6575, 6576, 6577, 6578, 6582, 6583, 6587, 6588, 6589, 6590, 6591, 6595, 6595, 6598, 6601, 6602, 6605, 6607, 6612, 6622, 6629, 6630, 6631, 6634, 6666, 6667, 6670, 6672, 6680, 6681, 6682, 6686, 6687, 6691, 6692, 6695, 6696, 6699, 6700, 6701, 6702, 6703, 6706, 6707, 6708, 6709, 6710, 6711, 6712, 6713, 6714, 6715, 6716, 6717, 6718, 6719, 6720, 6721, 6722, 6723, 6724, 6725, 6726, 6727, 6728, 6729, 6730, 6731, 6732, 6733, 6734, 6735, 6736, 6737, 6738, 6739, 6740, 6741, 6742, 6743, 6744, 6745, 6746, 6747, 6748, 6749, 6750, 6751, 6752, 6753, 6754, 6755, 6756, 6757, 6758, 6759, 6760, 6761, 6762 }; #endif #if YYDEBUG || YYERROR_VERBOSE /* YYTNME[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", "SQL_ALLOCATE", "SQL_AUTOCOMMIT", "SQL_BOOL", "SQL_BREAK", "SQL_CALL", "SQL_CARDINALITY", "SQL_CONNECT", "SQL_CONTINUE", "SQL_COUNT", "SQL_CURRENT", "SQL_DATA", "SQL_DATETIME_INTERVAL_CODE", "SQL_DATETIME_INTERVAL_PRECISION", "SQL_DESCRIBE", "SQL_DESCRIPTOR", "SQL_DISCONNECT", "SQL_ENUM", "SQL_FOUND", "SQL_FREE", "SQL_GO", "SQL_GOTO", "SQL_IDENTIFIED", "SQL_INDICATOR", "SQL_KEY_MEMBER", "SQL_LENGTH", "SQL_LONG", "SQL_NAME", "SQL_NULLABLE", "SQL_OCTET_LENGTH", "SQL_OPEN", "SQL_OUTPUT", "SQL_REFERENCE", "SQL_RETURNED_LENGTH", "SQL_RETURNED_OCTET_LENGTH", "SQL_SCALE", "SQL_SECTION", "SQL_SHORT", "SQL_SIGNED", "SQL_SQL", "SQL_SQLERROR", "SQL_SQLPRINT", "SQL_SQLWARNING", "SQL_START", "SQL_STOP", "SQL_STRUCT", "SQL_UNSIGNED", "SQL_VALUE", "SQL_VAR", "SQL_WHENEVER", "S_ADD", "S_AND", "S_ANYTHING", "S_AUTO", "S_CONST", "S_DEC", "S_DIV", "S_DOTPOINT", "S_EQUAL", "S_EXTERN", "S_INC", "S_LSHIFT", "S_MEMPOINT", "S_MEMBER", "S_MOD", "S_MUL", "S_NEQUAL", "S_OR", "S_REGISTER", "S_RSHIFT", "S_STATIC", "S_SUB", "S_VOLATILE", "S_TYPEDEF", "TYPECAST", "ABORT_P", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER", "AGGREGATE", "ALL", "ALSO", "ALTER", "ANALYSE", "ANALYZE", "AND", "ANY", "ARRAY", "AS", "ASC", "ASSERTION", "ASSIGNMENT", "ASYMMETRIC", "AT", "AUTHORIZATION", "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P", "BOTH", "BY", "CACHE", "CALLED", "CASCADE", "CASCADED", "CASE", "CAST", "CHAIN", "CHAR_P", "CHARACTER", "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE", "COLLATE", "COLUMN", "COMMENT", "COMMIT", "COMMITTED", "CONCURRENTLY", "CONNECTION", "CONSTRAINT", "CONSTRAINTS", "CONVERSION_P", "CONVERT", "COPY", "CREATE", "CREATEDB", "CREATEROLE", "CREATEUSER", "CROSS", "CSV", "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE", "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DESC", "DISABLE_P", "DISTINCT", "DO", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ESCAPE", "EXCEPT", "EXCLUSIVE", "EXCLUDING", "EXECUTE", "EXISTS", "EXPLAIN", "EXTERNAL", "EXTRACT", "FALSE_P", "FETCH", "FIRST_P", "FLOAT_P", "FOR", "FORCE", "FOREIGN", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "GET", "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P", "IN_P", "INCLUDING", "INCREMENT", "INDEX", "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD", "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS", "ISNULL", "ISOLATION", "JOIN", "KEY", "LANCOMPILER", "LANGUAGE", "LARGE_P", "LAST_P", "LEADING", "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOGIN_P", "MATCH", "MAXVALUE", "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAMES", "NATIONAL", "NATURAL", "NCHAR", "NEW", "NEXT", "NO", "NOCREATEDB", "NOCREATEROLE", "NOCREATEUSER", "NOINHERIT", "NOLOGIN_P", "NONE", "NOSUPERUSER", "NOT", "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NUMERIC", "OBJECT_P", "OF", "OFF", "OFFSET", "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION", "OR", "ORDER", "OUT_P", "OUTER_P", "OVERLAPS", "OVERLAY", "OWNED", "OWNER", "PARTIAL", "PASSWORD", "PLACING", "POSITION", "PRECISION", "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "QUOTE", "READ", "REAL", "REASSIGN", "RECHECK", "REFERENCES", "REINDEX", "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "RESET", "RESTART", "RESTRICT", "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROW", "ROWS", "RULE", "SAVEPOINT", "SCHEMA", "SCROLL", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE", "SERIALIZABLE", "SESSION", "SESSION_USER", "SET", "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SMALLINT", "SOME", "STABLE", "START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE", "STRICT_P", "SUBSTRING", "SUPERUSER_P", "SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "THEN", "TIME", "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TREAT", "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", "UNCOMMITTED", "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNTIL", "UPDATE", "USER", "USING", "VACUUM", "VALID", "VALIDATOR", "VALUES", "VARCHAR", "VARYING", "VERBOSE", "VIEW", "VOLATILE", "WHEN", "WHERE", "WITH", "WITHOUT", "WORK", "WRITE", "YEAR_P", "ZONE", "WITH_CASCADED", "WITH_LOCAL", "WITH_CHECK", "IDENT", "SCONST", "Op", "CSTRING", "CVARIABLE", "CPP_LINE", "IP", "BCONST", "XCONST", "DOLCONST", "ICONST", "PARAM", "FCONST", "'='", "'<'", "'>'", "POSTFIXOP", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "'{'", "'}'", "\"=\"", "','", "':'", "$accept", "prog", "statements", "statement", "opt_at", "stmt", "CreateRoleStmt", "opt_with", "OptRoleList", "CreateUserStmt", "AlterRoleStmt", "AlterRoleSetStmt", "AlterUserStmt", "DropRoleStmt", "DropUserStmt", "CreateGroupStmt", "AlterGroupStmt", "add_drop", "DropGroupStmt", "CreateSchemaStmt", "OptSchemaName", "OptSchemaEltList", "schema_stmt", "VariableSetStmt", "set_rest", "var_name", "var_list_or_default", "var_list", "iso_level", "var_value", "opt_boolean", "zone_value", "opt_encoding", "ColId_or_Sconst", "VariableShowStmt", "VariableResetStmt", "ConstraintsSetStmt", "constraints_set_list", "constraints_set_mode", "CheckPointStmt", "AlterTableStmt", "alter_table_cmds", "alter_table_cmd", "alter_rel_cmds", "alter_rel_cmd", "alter_column_default", "opt_drop_behavior", "alter_using", "ClosePortalStmt", "CopyStmt", "copy_from", "copy_file_name", "copy_opt_list", "copy_opt_item", "opt_binary", "opt_oids", "copy_delimiter", "opt_using", "CreateStmt", "OptTemp", "OptTableElementList", "TableElementList", "TableElement", "columnDef", "ColQualList", "ColConstraint", "ColConstraintElem", "ConstraintAttr", "TableLikeClause", "TableLikeOptionList", "TableLikeOption", "TableConstraint", "ConstraintElem", "opt_column_list", "columnList", "columnElem", "key_match", "key_actions", "key_delete", "key_update", "key_action", "OptInherit", "OptWith", "OnCommitOption", "OptTableSpace", "OptConsTableSpace", "CreateAsStmt", "@1", "OptCreateAs", "CreateAsList", "CreateAsElement", "CreateSeqStmt", "AlterSeqStmt", "OptSeqList", "OptSeqElem", "opt_by", "CreatePLangStmt", "opt_trusted", "handler_name", "opt_validator", "opt_lancompiler", "DropPLangStmt", "opt_procedural", "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt", "CreateTrigStmt", "TriggerActionTime", "TriggerEvents", "TriggerOneEvent", "TriggerForSpec", "TriggerForOpt", "TriggerForType", "TriggerFuncArgs", "TriggerFuncArg", "OptConstrFromTable", "ConstraintAttributeSpec", "ConstraintDeferrabilitySpec", "ConstraintTimeSpec", "DropTrigStmt", "CreateAssertStmt", "DropAssertStmt", "DefineStmt", "definition", "def_list", "def_elem", "def_arg", "aggr_args", "aggr_args_list", "old_aggr_definition", "old_aggr_list", "old_aggr_elem", "CreateOpClassStmt", "opclass_item_list", "opclass_item", "opt_default", "opt_recheck", "DropOpClassStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt", "drop_type", "any_name_list", "any_name", "attrs", "TruncateStmt", "FetchStmt", "fetch_direction", "from_in", "CommentStmt", "comment_type", "comment_text", "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", "IndexStmt", "index_opt_unique", "access_method_clause", "index_params", "index_elem", "opt_class", "CreateFunctionStmt", "opt_or_replace", "func_args", "func_args_list", "func_arg", "arg_class", "func_as", "param_name", "func_return", "func_type", "createfunc_opt_list", "common_func_opt_item", "createfunc_opt_item", "opt_definition", "AlterFunctionStmt", "alterfunc_opt_list", "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt", "oper_argtypes", "any_operator", "CreateCastStmt", "cast_context", "DropCastStmt", "opt_if_exists", "ReindexStmt", "reindex_type", "opt_force", "RenameStmt", "opt_column", "AlterObjectSchemaStmt", "AlterOwnerStmt", "RuleStmt", "@2", "RuleActionList", "RuleActionMulti", "RuleActionStmt", "RuleActionStmtOrEmpty", "event", "opt_instead", "DropRuleStmt", "NotifyStmt", "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_item", "opt_equal", "AlterDatabaseStmt", "AlterDatabaseSetStmt", "alterdb_opt_list", "alterdb_opt_item", "DropdbStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as", "CreateConversionStmt", "ClusterStmt", "VacuumStmt", "AnalyzeStmt", "analyze_keyword", "opt_verbose", "opt_full", "opt_freeze", "opt_name_list", "ExplainStmt", "ExplainableStmt", "opt_analyze", "InsertStmt", "insert_rest", "insert_column_list", "insert_column_item", "returning_clause", "DeleteStmt", "using_clause", "LockStmt", "opt_lock", "lock_type", "opt_nowait", "UpdateStmt", "set_clause_list", "set_clause", "single_set_clause", "multiple_set_clause", "set_target", "set_target_list", "DeclareCursorStmt", "cursor_options", "opt_hold", "SelectStmt", "select_with_parens", "select_no_parens", "select_clause", "simple_select", "into_clause", "OptTempTableName", "opt_table", "opt_all", "opt_distinct", "opt_sort_clause", "sort_clause", "sortby_list", "sortby", "select_limit", "opt_select_limit", "select_limit_value", "select_offset_value", "group_clause", "having_clause", "for_locking_clause", "opt_for_locking_clause", "for_locking_items", "for_locking_item", "locked_rels_list", "values_clause", "from_clause", "from_list", "table_ref", "joined_table", "alias_clause", "join_type", "join_outer", "join_qual", "relation_expr", "relation_expr_opt_alias", "func_table", "where_clause", "TableFuncElementList", "TableFuncElement", "Typename", "opt_array_bounds", "Iresult", "SimpleTypename", "ConstTypename", "GenericType", "Numeric", "opt_float", "opt_numeric", "opt_decimal", "Bit", "ConstBit", "BitWithLength", "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength", "CharacterWithoutLength", "character", "opt_varying", "opt_charset", "ConstDatetime", "ConstInterval", "opt_timezone", "opt_interval", "a_expr", "b_expr", "c_expr", "func_expr", "row", "sub_type", "all_Op", "MathOp", "qual_Op", "qual_all_Op", "subquery_Op", "expr_list", "extract_list", "type_list", "array_expr_list", "array_expr", "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", "target_list", "target_el", "relation_name", "qualified_name_list", "qualified_name", "name_list", "name", "database_name", "access_method", "attr_name", "index_name", "file_name", "func_name", "AexprConst", "Iconst", "Fconst", "Bconst", "Xconst", "Sconst", "PosIntConst", "IntConst", "IntConstVar", "AllConstVar", "StringConst", "PosIntStringConst", "NumConst", "AllConst", "PosAllConst", "RoleId", "SpecialRuleRelation", "ECPGConnect", "connection_target", "opt_database_name", "db_prefix", "server", "opt_server", "server_name", "opt_port", "opt_connection_name", "opt_user", "ora_user", "user_name", "char_variable", "opt_options", "ECPGCursorStmt", "ECPGDeallocate", "ECPGVarDeclaration", "single_vt_declaration", "single_var_declaration", "@3", "@4", "precision", "opt_scale", "ecpg_interval", "ECPGDeclaration", "@5", "sql_startdeclare", "sql_enddeclare", "var_type_declarations", "vt_declarations", "variable_declarations", "type_declaration", "@6", "var_declaration", "@7", "@8", "opt_bit_field", "storage_declaration", "storage_clause", "storage_modifier", "var_type", "enum_type", "enum_definition", "struct_union_type_with_symbol", "@9", "struct_union_type", "@10", "s_struct_union_symbol", "s_struct_union", "simple_type", "unsigned_type", "signed_type", "opt_signed", "variable_list", "variable", "opt_initializer", "opt_pointer", "ECPGDeclare", "ECPGDisconnect", "dis_name", "connection_object", "ECPGExecute", "@11", "execute_rest", "execstring", "prepared_name", "ECPGFree", "ECPGOpen", "opt_ecpg_using", "ecpg_using", "using_descriptor", "into_descriptor", "opt_sql", "ecpg_into", "using_list", "UsingConst", "ECPGPrepare", "ECPGDescribe", "opt_output", "ECPGAllocateDescr", "ECPGDeallocateDescr", "ECPGGetDescriptorHeader", "ECPGGetDescHeaderItems", "ECPGGetDescHeaderItem", "ECPGSetDescriptorHeader", "ECPGSetDescHeaderItems", "ECPGSetDescHeaderItem", "desc_header_item", "ECPGGetDescriptor", "ECPGGetDescItems", "ECPGGetDescItem", "ECPGSetDescriptor", "ECPGSetDescItems", "ECPGSetDescItem", "descriptor_item", "ECPGSetAutocommit", "on_off", "ECPGSetConnection", "ECPGTypedef", "@12", "opt_reference", "ECPGVar", "@13", "ECPGWhenever", "action", "ECPGKeywords", "ECPGKeywords_vanames", "ECPGKeywords_rest", "ECPGTypeName", "symbol", "ECPGColId", "ColId", "type_name", "function_name", "ColLabel", "ECPGColLabelCommon", "ECPGColLabel", "ECPGCKeywords", "unreserved_keyword", "ECPGunreserved_interval", "ECPGunreserved", "ECPGunreserved_con", "col_name_keyword", "func_name_keyword", "reserved_keyword", "into_list", "ecpgstart", "c_args", "coutputvariable", "civarind", "civar", "indicator", "cvariable", "ident", "quoted_ident_stringvar", "c_stuff_item", "c_stuff", "c_list", "c_term", "c_thing", "c_anything", 0 }; #endif # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ static const unsigned short 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, 61, 60, 62, 689, 43, 45, 42, 47, 37, 94, 690, 91, 93, 40, 41, 46, 59, 123, 125, 691, 44, 58 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const unsigned short yyr1[] = { 0, 456, 457, 458, 458, 459, 459, 459, 459, 459, 459, 459, 459, 460, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 461, 462, 463, 463, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 464, 465, 466, 467, 467, 468, 467, 467, 469, 469, 470, 470, 471, 472, 473, 473, 474, 474, 475, 475, 476, 476, 477, 477, 478, 478, 478, 478, 478, 478, 479, 479, 479, 480, 480, 480, 480, 480, 480, 480, 480, 480, 481, 481, 482, 482, 483, 483, 484, 484, 484, 484, 485, 485, 485, 486, 486, 486, 486, 487, 487, 487, 487, 487, 487, 488, 488, 488, 489, 489, 490, 490, 490, 490, 490, 491, 491, 491, 491, 491, 492, 493, 493, 494, 494, 495, 496, 496, 497, 497, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, 499, 499, 500, 500, 500, 500, 501, 501, 502, 502, 502, 503, 503, 504, 505, 505, 506, 506, 507, 507, 507, 508, 508, 509, 509, 509, 509, 509, 509, 509, 509, 509, 509, 510, 510, 511, 511, 512, 512, 513, 513, 514, 514, 515, 515, 515, 515, 515, 515, 515, 516, 516, 517, 517, 518, 518, 518, 519, 520, 520, 521, 521, 521, 522, 522, 522, 522, 522, 522, 522, 523, 523, 523, 523, 524, 525, 525, 526, 526, 526, 526, 526, 526, 527, 527, 528, 528, 528, 528, 529, 529, 530, 530, 531, 532, 532, 532, 533, 533, 533, 533, 533, 534, 535, 536, 536, 536, 536, 536, 537, 537, 538, 538, 538, 538, 539, 539, 539, 539, 540, 540, 541, 541, 543, 542, 544, 544, 545, 545, 546, 547, 548, 549, 549, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 550, 551, 551, 552, 552, 553, 553, 554, 554, 555, 555, 556, 556, 557, 557, 558, 558, 559, 560, 560, 561, 561, 562, 562, 563, 563, 564, 564, 564, 565, 565, 565, 566, 566, 567, 567, 568, 568, 569, 569, 569, 570, 570, 571, 571, 572, 572, 572, 572, 573, 573, 574, 574, 575, 575, 576, 577, 578, 578, 578, 578, 578, 578, 579, 580, 580, 581, 581, 582, 582, 582, 582, 582, 583, 583, 584, 584, 585, 586, 586, 587, 588, 589, 589, 590, 590, 590, 590, 591, 591, 592, 592, 593, 593, 594, 595, 596, 596, 597, 597, 597, 597, 597, 597, 597, 597, 598, 598, 599, 599, 600, 600, 601, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 603, 604, 604, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, 606, 607, 607, 608, 609, 609, 610, 610, 610, 611, 611, 612, 612, 612, 612, 613, 613, 613, 613, 613, 613, 613, 613, 614, 614, 615, 615, 616, 616, 617, 617, 618, 619, 620, 621, 621, 622, 622, 623, 623, 624, 624, 625, 625, 626, 626, 627, 627, 627, 628, 628, 628, 629, 629, 630, 630, 631, 631, 632, 632, 633, 633, 633, 633, 633, 634, 634, 634, 634, 635, 635, 636, 637, 637, 638, 638, 639, 639, 640, 640, 640, 640, 640, 640, 640, 640, 640, 640, 641, 641, 641, 642, 642, 643, 644, 644, 645, 645, 646, 646, 647, 647, 648, 648, 649, 649, 649, 649, 650, 650, 651, 651, 652, 652, 653, 654, 654, 655, 655, 655, 656, 656, 657, 657, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 659, 659, 660, 660, 660, 660, 660, 660, 661, 661, 661, 661, 661, 661, 661, 661, 661, 661, 663, 662, 664, 664, 664, 665, 665, 666, 666, 666, 666, 666, 667, 667, 668, 668, 668, 668, 669, 669, 669, 670, 670, 671, 672, 673, 673, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 674, 675, 675, 675, 676, 676, 676, 677, 677, 677, 678, 678, 679, 679, 680, 680, 680, 680, 681, 682, 682, 683, 683, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 684, 685, 685, 686, 687, 687, 688, 688, 689, 690, 690, 691, 692, 692, 692, 692, 692, 693, 693, 694, 695, 695, 695, 696, 696, 696, 697, 697, 698, 698, 699, 699, 700, 700, 701, 701, 702, 702, 703, 704, 704, 704, 704, 704, 705, 705, 706, 707, 707, 707, 708, 708, 709, 710, 710, 711, 712, 712, 713, 714, 714, 715, 715, 715, 715, 715, 715, 715, 715, 716, 716, 717, 718, 718, 719, 719, 720, 721, 722, 723, 723, 724, 725, 725, 725, 725, 725, 726, 726, 726, 727, 727, 728, 728, 729, 729, 729, 729, 730, 730, 731, 731, 731, 731, 731, 732, 732, 732, 733, 733, 733, 733, 733, 733, 733, 733, 734, 734, 735, 735, 736, 736, 736, 736, 737, 737, 738, 739, 739, 740, 740, 740, 740, 741, 741, 741, 741, 741, 742, 742, 743, 743, 744, 745, 745, 746, 746, 747, 747, 748, 748, 749, 749, 750, 750, 751, 751, 752, 752, 753, 753, 754, 754, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 755, 756, 756, 756, 756, 756, 756, 757, 757, 757, 757, 758, 758, 758, 758, 759, 759, 760, 760, 761, 761, 761, 761, 762, 762, 762, 763, 764, 764, 765, 765, 766, 767, 767, 767, 767, 768, 768, 768, 769, 769, 769, 769, 769, 769, 769, 769, 769, 770, 770, 770, 770, 770, 770, 770, 770, 771, 771, 771, 771, 771, 772, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 773, 774, 774, 775, 775, 775, 776, 776, 776, 777, 777, 778, 778, 779, 780, 781, 781, 782, 782, 783, 784, 785, 785, 785, 785, 785, 785, 786, 786, 787, 787, 788, 788, 788, 788, 789, 790, 790, 790, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 791, 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, 792, 792, 792, 792, 792, 792, 792, 792, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 794, 794, 794, 794, 794, 794, 794, 794, 794, 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, 795, 795, 795, 795, 795, 795, 795, 795, 795, 795, 796, 796, 796, 797, 797, 797, 798, 798, 799, 799, 799, 799, 799, 799, 799, 799, 799, 800, 800, 801, 801, 802, 802, 802, 802, 802, 802, 803, 803, 804, 804, 805, 805, 806, 806, 807, 807, 808, 808, 808, 808, 808, 808, 808, 808, 809, 809, 810, 811, 811, 812, 812, 812, 812, 812, 812, 813, 814, 815, 815, 815, 816, 816, 817, 818, 818, 819, 820, 820, 821, 821, 822, 822, 823, 823, 823, 823, 824, 824, 825, 825, 826, 826, 827, 827, 828, 828, 829, 830, 830, 831, 831, 831, 832, 832, 833, 833, 834, 834, 835, 835, 836, 837, 838, 839, 840, 841, 842, 842, 843, 843, 843, 843, 843, 843, 843, 843, 844, 845, 846, 847, 848, 848, 849, 849, 850, 850, 851, 851, 852, 852, 852, 852, 852, 853, 853, 854, 854, 854, 855, 855, 855, 855, 855, 856, 856, 857, 857, 857, 857, 857, 857, 858, 859, 859, 860, 860, 860, 860, 861, 861, 861, 861, 862, 862, 863, 864, 865, 865, 866, 866, 866, 867, 867, 868, 868, 869, 869, 870, 870, 870, 870, 871, 871, 872, 873, 873, 874, 875, 875, 876, 877, 877, 879, 878, 880, 878, 878, 881, 882, 882, 883, 883, 883, 883, 883, 885, 884, 886, 887, 888, 888, 888, 889, 889, 889, 889, 889, 890, 890, 892, 891, 894, 893, 895, 893, 893, 896, 896, 897, 897, 897, 898, 898, 898, 898, 899, 899, 900, 900, 900, 900, 900, 900, 901, 901, 901, 902, 904, 903, 905, 906, 905, 907, 907, 908, 908, 909, 909, 910, 910, 910, 910, 910, 910, 910, 910, 910, 911, 911, 911, 911, 911, 911, 911, 911, 911, 911, 912, 912, 913, 913, 914, 915, 915, 916, 916, 916, 917, 918, 919, 919, 919, 919, 920, 920, 920, 921, 922, 921, 923, 923, 923, 923, 923, 924, 924, 925, 925, 926, 927, 928, 928, 929, 929, 930, 931, 932, 932, 933, 933, 934, 934, 935, 935, 936, 937, 937, 937, 938, 938, 939, 940, 941, 942, 942, 943, 944, 945, 945, 946, 947, 948, 949, 949, 950, 951, 952, 952, 953, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 954, 955, 955, 956, 956, 957, 957, 957, 959, 958, 960, 960, 962, 961, 963, 963, 963, 964, 964, 964, 964, 964, 964, 964, 964, 964, 965, 965, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 966, 967, 967, 967, 967, 967, 967, 968, 968, 968, 968, 968, 968, 968, 969, 970, 970, 970, 970, 970, 970, 970, 970, 971, 971, 971, 971, 971, 971, 971, 972, 972, 972, 972, 972, 973, 973, 973, 973, 973, 974, 974, 974, 974, 974, 974, 974, 974, 974, 975, 975, 975, 975, 976, 976, 976, 976, 977, 977, 977, 977, 977, 977, 977, 978, 978, 979, 979, 979, 979, 979, 979, 980, 980, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, 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, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 983, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 984, 985, 985, 986, 987, 987, 988, 988, 989, 990, 991, 991, 991, 992, 993, 993, 994, 994, 995, 995, 995, 996, 996, 997, 997, 998, 998, 999, 999, 999, 999, 999, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const unsigned char yyr2[] = { 0, 2, 1, 0, 2, 4, 3, 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 0, 2, 2, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 2, 2, 2, 2, 3, 3, 5, 5, 5, 4, 5, 5, 4, 3, 5, 3, 5, 5, 6, 1, 1, 3, 5, 6, 4, 1, 0, 2, 0, 1, 1, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 2, 5, 2, 2, 3, 3, 1, 3, 1, 1, 1, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 6, 1, 1, 1, 1, 0, 1, 1, 3, 4, 5, 4, 2, 2, 3, 4, 3, 2, 4, 1, 1, 1, 1, 1, 4, 4, 1, 3, 3, 4, 6, 6, 6, 6, 4, 6, 2, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 1, 1, 3, 3, 3, 2, 2, 3, 2, 1, 1, 0, 2, 0, 2, 9, 6, 1, 1, 1, 1, 1, 2, 0, 1, 1, 3, 3, 1, 1, 3, 3, 3, 4, 1, 0, 2, 0, 3, 0, 1, 0, 11, 12, 1, 1, 2, 2, 2, 2, 0, 1, 0, 1, 3, 1, 1, 1, 3, 2, 0, 3, 1, 1, 2, 1, 3, 4, 4, 2, 5, 1, 2, 2, 2, 3, 2, 0, 2, 2, 2, 2, 2, 2, 3, 1, 4, 6, 7, 11, 3, 0, 3, 1, 1, 2, 2, 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, 0, 11, 3, 0, 3, 1, 1, 5, 4, 2, 0, 2, 1, 2, 3, 2, 2, 2, 2, 3, 3, 3, 1, 0, 5, 9, 1, 0, 1, 2, 2, 0, 2, 0, 5, 7, 1, 0, 6, 2, 0, 3, 5, 14, 19, 1, 1, 1, 3, 5, 1, 1, 1, 3, 0, 1, 0, 1, 1, 1, 3, 0, 1, 1, 0, 2, 1, 2, 1, 2, 2, 1, 2, 2, 6, 8, 8, 3, 5, 4, 4, 4, 3, 7, 3, 1, 3, 3, 1, 1, 1, 1, 1, 1, 3, 3, 1, 3, 3, 1, 3, 3, 12, 1, 3, 4, 7, 4, 2, 1, 0, 1, 0, 7, 9, 5, 6, 6, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 2, 3, 4, 5, 4, 4, 3, 4, 3, 3, 2, 4, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 1, 6, 7, 7, 9, 8, 8, 6, 9, 7, 10, 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 7, 10, 2, 1, 1, 1, 3, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 3, 1, 2, 3, 0, 1, 3, 2, 6, 6, 3, 0, 3, 0, 13, 14, 1, 0, 2, 0, 1, 3, 2, 2, 4, 1, 2, 0, 9, 7, 2, 0, 3, 2, 1, 3, 3, 3, 2, 2, 1, 1, 1, 1, 2, 1, 3, 1, 1, 5, 1, 4, 1, 2, 4, 5, 1, 1, 1, 1, 3, 3, 2, 2, 2, 2, 1, 2, 0, 5, 1, 2, 1, 0, 5, 7, 5, 7, 7, 9, 1, 3, 3, 3, 1, 3, 11, 10, 2, 0, 9, 2, 0, 4, 4, 4, 1, 1, 1, 0, 7, 6, 6, 7, 6, 6, 9, 6, 6, 6, 8, 8, 6, 6, 1, 0, 7, 6, 7, 6, 6, 6, 7, 6, 6, 6, 7, 9, 9, 6, 6, 6, 0, 14, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 6, 8, 2, 2, 2, 2, 2, 3, 3, 2, 2, 2, 2, 3, 2, 5, 4, 3, 3, 3, 1, 1, 0, 3, 2, 2, 1, 3, 2, 1, 0, 8, 10, 2, 3, 3, 0, 2, 5, 3, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 1, 0, 5, 5, 4, 2, 0, 4, 3, 5, 6, 4, 6, 6, 5, 7, 1, 0, 10, 4, 2, 1, 4, 5, 5, 2, 4, 1, 1, 1, 0, 1, 0, 1, 0, 3, 0, 4, 1, 1, 1, 1, 1, 1, 0, 5, 1, 4, 2, 3, 1, 2, 2, 0, 6, 2, 0, 5, 3, 0, 2, 2, 2, 3, 1, 3, 1, 2, 1, 0, 7, 1, 3, 1, 1, 3, 5, 2, 1, 3, 7, 0, 2, 2, 2, 3, 0, 2, 2, 1, 1, 3, 3, 1, 2, 4, 4, 1, 1, 8, 1, 4, 4, 4, 2, 1, 0, 3, 3, 4, 4, 4, 4, 2, 1, 1, 0, 1, 0, 1, 5, 1, 0, 1, 0, 3, 1, 3, 3, 2, 2, 1, 4, 4, 2, 2, 4, 1, 0, 1, 1, 1, 3, 0, 2, 0, 1, 3, 1, 0, 1, 2, 4, 4, 2, 0, 2, 3, 2, 0, 3, 1, 1, 2, 1, 2, 5, 6, 5, 1, 2, 1, 4, 3, 4, 5, 4, 5, 4, 5, 2, 4, 1, 2, 2, 2, 1, 1, 0, 4, 2, 1, 2, 2, 4, 1, 2, 3, 1, 2, 0, 1, 3, 2, 2, 3, 5, 6, 3, 4, 0, 1, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 2, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 3, 0, 5, 3, 0, 5, 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, 3, 5, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 2, 3, 5, 4, 6, 3, 5, 4, 6, 4, 6, 5, 7, 2, 3, 2, 4, 3, 3, 4, 3, 4, 3, 4, 5, 6, 6, 7, 6, 7, 6, 7, 3, 4, 4, 6, 2, 1, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 5, 6, 6, 7, 1, 1, 2, 4, 1, 1, 1, 2, 2, 2, 1, 3, 4, 5, 5, 4, 1, 1, 4, 1, 4, 1, 4, 1, 4, 1, 1, 1, 1, 6, 4, 4, 4, 4, 6, 5, 5, 5, 4, 6, 4, 6, 4, 4, 4, 4, 3, 5, 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, 3, 0, 3, 1, 1, 3, 3, 3, 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, 2, 1, 4, 2, 0, 1, 0, 1, 2, 2, 2, 3, 5, 1, 2, 0, 2, 1, 0, 1, 1, 1, 3, 3, 3, 1, 3, 1, 1, 1, 1, 1, 3, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 3, 2, 2, 3, 7, 1, 1, 1, 0, 2, 2, 1, 0, 1, 3, 1, 2, 0, 2, 0, 2, 0, 1, 3, 4, 3, 1, 1, 1, 2, 0, 7, 3, 2, 1, 1, 1, 0, 5, 0, 4, 2, 1, 2, 0, 1, 3, 3, 3, 3, 0, 4, 5, 5, 0, 1, 1, 1, 1, 2, 2, 2, 1, 2, 0, 7, 0, 5, 0, 4, 2, 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 2, 1, 3, 2, 2, 3, 0, 5, 1, 0, 5, 2, 2, 1, 1, 1, 2, 2, 3, 1, 2, 2, 3, 3, 4, 2, 1, 2, 1, 1, 2, 2, 3, 1, 1, 1, 1, 0, 1, 3, 5, 0, 2, 0, 1, 2, 3, 2, 1, 1, 1, 0, 1, 1, 1, 3, 0, 4, 2, 2, 1, 1, 0, 1, 1, 1, 1, 2, 3, 0, 1, 2, 1, 4, 4, 0, 1, 2, 1, 1, 3, 1, 1, 4, 4, 4, 4, 1, 0, 3, 3, 4, 1, 3, 3, 4, 1, 3, 3, 1, 6, 1, 3, 3, 6, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 1, 1, 4, 4, 3, 0, 7, 1, 0, 0, 7, 3, 4, 3, 1, 1, 1, 2, 3, 5, 2, 5, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 0, 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 3, 1, 2, 1, 3, 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 }; /* 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 unsigned short yydefact[] = { 3, 0, 2, 1, 2078, 2079, 2082, 2086, 2087, 2014, 2088, 2089, 2054, 2055, 2056, 2057, 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2067, 2066, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2077, 2076, 2091, 2092, 2080, 2081, 2083, 2084, 2053, 2085, 2093, 2094, 2095, 2090, 2043, 1325, 2044, 10, 1326, 1321, 1322, 2098, 2049, 2050, 2048, 2051, 2052, 2096, 2097, 2039, 2040, 2042, 11, 12, 2041, 2099, 4, 2045, 2046, 2047, 8, 1410, 1483, 9, 2038, 1483, 0, 1596, 1597, 1598, 0, 1599, 1600, 1601, 1602, 1603, 1534, 1497, 0, 1604, 0, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 0, 1614, 1615, 1616, 1617, 1482, 1618, 1619, 1620, 1621, 1459, 1465, 1622, 1580, 0, 1439, 1440, 1436, 1438, 1437, 1441, 1424, 756, 0, 815, 814, 0, 1923, 756, 1924, 1889, 1925, 1890, 1891, 225, 0, 808, 1892, 0, 756, 1893, 286, 301, 1926, 1368, 0, 1894, 1895, 0, 0, 412, 756, 0, 1896, 831, 1897, 0, 1898, 1927, 1928, 0, 0, 1899, 1929, 1930, 1900, 0, 1901, 1902, 1931, 1932, 1933, 1903, 1934, 1935, 0, 0, 903, 0, 1904, 1936, 1905, 1906, 0, 1937, 1907, 1908, 1909, 1938, 1939, 1910, 1911, 1912, 0, 1913, 0, 0, 0, 0, 0, 1940, 756, 1914, 0, 909, 0, 1915, 0, 1941, 1916, 0, 1917, 1918, 1919, 1920, 1921, 903, 1576, 1460, 0, 0, 819, 0, 1922, 1942, 2025, 2026, 0, 0, 0, 42, 48, 24, 23, 25, 59, 64, 39, 18, 55, 43, 91, 92, 93, 31, 27, 22, 28, 32, 45, 33, 44, 21, 40, 58, 46, 62, 47, 63, 34, 53, 51, 41, 56, 57, 76, 61, 87, 67, 30, 68, 82, 69, 83, 70, 38, 17, 80, 78, 79, 35, 54, 77, 81, 19, 20, 84, 60, 75, 72, 88, 86, 94, 73, 49, 14, 15, 65, 37, 16, 36, 29, 90, 26, 817, 66, 71, 52, 74, 89, 50, 85, 877, 876, 911, 880, 887, 96, 97, 98, 7, 1394, 1396, 1395, 1483, 1434, 1435, 1399, 1444, 1454, 1443, 1447, 1455, 1442, 1461, 0, 100, 102, 103, 104, 107, 108, 101, 95, 99, 106, 112, 105, 111, 109, 110, 113, 114, 115, 1674, 1083, 1672, 1673, 1671, 1416, 0, 1483, 1418, 1417, 1483, 1428, 1454, 0, 1623, 1624, 1625, 1626, 1627, 1628, 1679, 1680, 1681, 1682, 1683, 1685, 1684, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1650, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1695, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1688, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1753, 1752, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1689, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1690, 1794, 1795, 1691, 1796, 1797, 1798, 1799, 1800, 1801, 1802, 1803, 1804, 1805, 1806, 1807, 1808, 1809, 1810, 1811, 1812, 1813, 1814, 1815, 1816, 1817, 1820, 1818, 1819, 1821, 1822, 1823, 1824, 1825, 1826, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1692, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855, 1856, 1857, 1858, 1859, 1860, 1862, 1861, 1864, 1863, 1865, 1866, 1867, 1868, 1368, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1651, 1882, 1883, 1884, 1885, 1886, 1887, 1693, 1888, 2024, 1338, 1387, 1386, 1361, 1382, 1648, 1594, 1595, 1356, 1649, 1646, 1686, 1687, 1694, 1647, 1339, 2020, 1645, 1533, 0, 0, 1495, 1496, 1499, 1498, 1500, 1493, 1494, 1306, 1388, 1629, 1630, 1631, 1632, 1634, 1633, 1635, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1664, 1955, 1956, 1957, 1958, 1959, 1960, 1963, 1961, 1962, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1665, 1666, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 1668, 2005, 2006, 1667, 2007, 2008, 2009, 2010, 2011, 0, 1449, 1678, 1663, 1450, 1636, 1675, 1662, 1669, 1670, 1677, 1676, 1513, 1305, 1515, 1457, 1467, 1463, 1471, 1466, 0, 0, 0, 0, 1483, 755, 754, 740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 764, 265, 1358, 1357, 1301, 807, 0, 1297, 1298, 412, 0, 743, 285, 0, 0, 0, 0, 0, 0, 0, 484, 0, 0, 0, 0, 0, 0, 0, 161, 0, 296, 295, 0, 401, 0, 597, 0, 0, 412, 0, 0, 0, 1367, 1366, 1362, 1372, 0, 1365, 1645, 0, 1818, 1511, 1512, 1393, 1856, 868, 0, 0, 0, 673, 500, 0, 499, 0, 0, 497, 0, 0, 411, 0, 0, 501, 495, 494, 0, 0, 498, 0, 496, 0, 0, 744, 1767, 1502, 830, 817, 1697, 526, 530, 521, 527, 534, 533, 522, 519, 520, 1830, 0, 0, 0, 516, 1327, 1329, 525, 1328, 0, 564, 570, 569, 568, 0, 565, 566, 571, 0, 737, 1298, 771, 1310, 902, 0, 0, 518, 736, 1869, 0, 0, 0, 677, 0, 678, 0, 1844, 748, 219, 1643, 1849, 1918, 1869, 1644, 215, 1641, 182, 1642, 1638, 1639, 1640, 1637, 0, 0, 565, 0, 745, 746, 908, 906, 0, 0, 0, 0, 1726, 1788, 1797, 1840, 1849, 1918, 1869, 170, 0, 214, 1849, 1918, 1869, 0, 764, 0, 0, 1458, 739, 738, 0, 982, 0, 978, 818, 821, 0, 943, 885, 0, 756, 0, 6, 816, 812, 905, 905, 0, 905, 0, 881, 0, 1397, 1454, 1433, 1489, 1401, 0, 0, 1479, 1475, 1472, 1480, 1481, 1474, 1462, 1072, 1073, 1074, 1071, 1075, 1070, 0, 1405, 1446, 1411, 0, 1421, 1420, 1419, 1426, 1489, 1430, 2027, 2028, 1535, 1360, 1379, 0, 0, 0, 0, 0, 0, 0, 2032, 2036, 0, 2034, 2029, 1448, 1521, 1514, 1516, 1518, 1469, 1468, 1464, 0, 0, 1585, 0, 0, 1586, 1587, 0, 1582, 1584, 0, 1489, 0, 0, 1648, 1311, 1649, 1646, 1659, 1645, 0, 504, 118, 0, 0, 504, 0, 0, 0, 0, 0, 1719, 1210, 1220, 1218, 1219, 1212, 1213, 1214, 1217, 1215, 1216, 0, 665, 1211, 0, 118, 0, 0, 385, 0, 0, 0, 0, 118, 0, 0, 0, 760, 763, 741, 0, 0, 1281, 1302, 0, 0, 0, 546, 555, 547, 552, 0, 549, 0, 0, 557, 0, 548, 550, 551, 556, 0, 553, 554, 0, 0, 752, 288, 0, 0, 0, 0, 0, 773, 804, 300, 299, 118, 298, 297, 0, 0, 611, 118, 0, 163, 415, 0, 457, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1371, 1377, 0, 1369, 1536, 1392, 1492, 0, 843, 1766, 0, 452, 0, 0, 1766, 795, 1766, 0, 1766, 156, 1303, 0, 0, 0, 0, 1766, 148, 1766, 0, 1766, 416, 1766, 0, 1766, 150, 0, 1766, 262, 502, 1510, 1509, 1501, 1508, 0, 523, 532, 531, 529, 528, 524, 1330, 0, 514, 515, 1521, 1524, 512, 0, 563, 0, 0, 0, 0, 846, 1299, 0, 751, 0, 0, 680, 680, 680, 747, 218, 216, 0, 0, 0, 0, 0, 753, 0, 0, 0, 1889, 1890, 1031, 1274, 0, 1650, 1891, 1892, 1893, 1175, 1184, 1176, 1178, 1185, 1894, 1895, 1745, 1896, 1897, 1318, 1898, 1899, 1021, 1901, 1902, 1903, 1180, 1182, 1904, 1905, 0, 1319, 1907, 1908, 1812, 1910, 1911, 1913, 1914, 1186, 1916, 1917, 1918, 1919, 1920, 1921, 1317, 0, 1187, 1922, 1221, 1323, 1324, 1283, 0, 0, 1296, 0, 1165, 0, 1015, 1017, 1018, 1042, 1043, 1019, 1048, 1049, 1061, 1016, 0, 1295, 1084, 1164, 1169, 0, 1163, 1159, 893, 1293, 1275, 0, 1160, 1352, 1351, 1353, 1354, 1350, 1313, 1648, 1655, 1020, 1649, 1646, 1320, 1355, 2020, 1645, 0, 0, 0, 0, 0, 1575, 221, 0, 222, 1849, 171, 206, 178, 205, 179, 209, 208, 0, 1717, 172, 0, 176, 0, 0, 0, 0, 0, 210, 742, 262, 0, 0, 980, 0, 983, 0, 979, 820, 817, 1288, 1287, 1289, 0, 879, 878, 5, 823, 904, 0, 0, 0, 0, 0, 0, 0, 936, 925, 933, 937, 944, 1489, 1490, 0, 1484, 0, 1483, 1483, 1477, 1476, 1473, 0, 0, 0, 0, 0, 0, 1344, 1343, 1402, 1404, 1347, 0, 1489, 0, 0, 1381, 0, 1385, 1383, 1521, 1530, 1521, 1531, 1532, 2030, 0, 0, 2033, 1451, 0, 1522, 1348, 1349, 1527, 0, 1517, 1525, 1528, 1470, 1483, 1593, 0, 1588, 1591, 0, 1583, 0, 1312, 0, 0, 0, 0, 0, 505, 0, 0, 0, 117, 793, 791, 0, 0, 0, 798, 0, 0, 0, 638, 0, 0, 639, 637, 640, 651, 654, 0, 588, 154, 155, 0, 0, 0, 0, 0, 0, 227, 252, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 383, 696, 696, 0, 0, 696, 0, 0, 0, 696, 0, 226, 228, 251, 0, 0, 0, 0, 0, 0, 0, 0, 147, 1412, 0, 758, 759, 0, 762, 0, 1278, 1277, 1308, 1282, 806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 271, 272, 118, 270, 0, 0, 454, 0, 1024, 1059, 1059, 1059, 1039, 1039, 1033, 1022, 1066, 0, 1059, 1036, 1025, 0, 1023, 1069, 1069, 1054, 0, 997, 1007, 1009, 1010, 1040, 1041, 1011, 1046, 1047, 1008, 1083, 1654, 1020, 1656, 1653, 1652, 0, 0, 803, 0, 0, 485, 0, 455, 0, 0, 0, 159, 0, 0, 421, 420, 0, 0, 456, 0, 385, 378, 342, 0, 0, 1725, 0, 1309, 0, 0, 1375, 1370, 1373, 0, 1363, 1377, 869, 873, 870, 0, 871, 0, 987, 0, 262, 672, 0, 0, 0, 262, 0, 0, 1766, 0, 0, 0, 262, 0, 0, 0, 0, 0, 0, 0, 0, 262, 0, 260, 261, 0, 493, 1503, 1506, 1507, 0, 824, 826, 828, 827, 829, 825, 513, 510, 511, 0, 1523, 2012, 2018, 0, 1537, 1538, 0, 1735, 1760, 1782, 1845, 1847, 0, 1865, 0, 572, 592, 567, 0, 0, 840, 833, 0, 0, 856, 517, 1529, 0, 679, 676, 675, 674, 217, 183, 0, 0, 594, 1844, 750, 0, 0, 1167, 1168, 1058, 1045, 1273, 0, 0, 1053, 1052, 0, 0, 0, 0, 0, 1029, 1028, 1027, 1166, 1234, 0, 1026, 0, 0, 0, 0, 1059, 1059, 1057, 1103, 0, 0, 1030, 0, 0, 1253, 0, 1259, 0, 0, 0, 1065, 0, 1063, 0, 0, 1139, 1161, 1087, 1088, 1651, 1165, 1231, 0, 1314, 0, 0, 1051, 0, 1083, 0, 0, 0, 0, 1286, 1229, 0, 0, 1116, 1227, 0, 1118, 0, 0, 0, 1221, 1220, 1218, 1219, 1212, 1213, 1214, 1217, 1215, 1216, 1225, 1100, 0, 0, 1099, 1521, 0, 946, 892, 1276, 0, 0, 2019, 2021, 1572, 1571, 1570, 1569, 1545, 0, 1541, 1542, 0, 1573, 1574, 223, 224, 220, 0, 181, 180, 0, 203, 204, 175, 0, 199, 200, 185, 196, 198, 197, 195, 173, 184, 186, 192, 193, 194, 174, 213, 211, 0, 508, 1483, 0, 984, 0, 946, 858, 860, 861, 0, 1283, 809, 1291, 0, 0, 813, 885, 890, 884, 889, 912, 913, 918, 888, 0, 942, 942, 927, 921, 926, 922, 928, 935, 883, 924, 882, 0, 938, 0, 1491, 1400, 1489, 997, 1483, 1422, 1483, 1478, 1408, 1077, 1078, 1079, 1080, 1082, 1081, 1409, 1406, 1076, 1407, 1346, 1345, 0, 0, 0, 0, 1429, 1378, 0, 1359, 1384, 2031, 2037, 2035, 0, 0, 997, 2015, 1589, 2015, 997, 0, 0, 471, 0, 0, 0, 0, 0, 506, 0, 0, 0, 790, 789, 0, 0, 0, 0, 0, 801, 336, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0, 643, 644, 653, 652, 650, 622, 624, 623, 614, 0, 615, 0, 0, 621, 631, 1660, 1020, 628, 1661, 1658, 1657, 0, 0, 0, 0, 0, 0, 0, 257, 0, 256, 0, 0, 0, 0, 0, 661, 666, 143, 0, 0, 127, 129, 0, 0, 125, 131, 128, 130, 126, 132, 124, 0, 0, 123, 0, 0, 0, 0, 142, 0, 0, 0, 0, 387, 398, 0, 0, 0, 0, 118, 118, 384, 695, 238, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 145, 0, 0, 191, 757, 761, 1279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 269, 268, 0, 274, 0, 474, 1652, 453, 0, 997, 0, 0, 0, 991, 1072, 1071, 1070, 0, 1012, 1014, 0, 0, 788, 788, 788, 788, 788, 772, 774, 311, 152, 0, 0, 460, 463, 0, 116, 163, 301, 0, 162, 164, 166, 167, 168, 165, 169, 414, 0, 426, 425, 427, 0, 422, 0, 141, 382, 0, 303, 366, 0, 0, 399, 0, 0, 0, 0, 713, 0, 1376, 0, 0, 0, 0, 872, 0, 956, 842, 948, 958, 949, 951, 985, 1301, 0, 840, 0, 657, 0, 796, 0, 655, 157, 1304, 0, 0, 0, 0, 490, 149, 0, 262, 417, 0, 262, 151, 0, 409, 262, 503, 1504, 1505, 868, 509, 0, 0, 2017, 1331, 0, 1332, 0, 0, 576, 575, 586, 0, 577, 578, 574, 573, 579, 0, 0, 594, 835, 0, 837, 1283, 0, 832, 0, 853, 0, 851, 0, 1300, 855, 844, 0, 0, 565, 0, 0, 262, 749, 1231, 0, 0, 0, 1237, 0, 0, 1272, 1269, 0, 0, 1231, 0, 0, 0, 0, 1244, 1245, 1246, 1243, 1247, 1242, 0, 0, 1248, 1241, 0, 0, 0, 0, 0, 1056, 1055, 0, 0, 0, 0, 0, 0, 0, 1140, 1169, 0, 0, 1205, 0, 1231, 1258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1231, 1264, 0, 1284, 1283, 0, 0, 0, 0, 1315, 1085, 1101, 1294, 0, 1285, 0, 0, 1108, 0, 1265, 1135, 0, 1123, 0, 1117, 0, 1121, 1125, 1104, 1286, 1230, 0, 1228, 0, 0, 1102, 0, 1097, 1095, 1096, 1089, 1090, 1091, 1092, 1093, 1094, 1098, 1209, 1207, 1208, 0, 0, 0, 1120, 1761, 1788, 0, 903, 903, 891, 901, 1292, 0, 987, 0, 0, 0, 1170, 0, 2023, 2022, 0, 0, 0, 0, 0, 1083, 0, 212, 997, 981, 865, 0, 0, 987, 0, 864, 811, 810, 1290, 0, 0, 916, 917, 0, 934, 0, 856, 856, 0, 0, 0, 1398, 1485, 1432, 1453, 1423, 1456, 1403, 1445, 0, 1427, 1380, 1519, 1526, 1579, 0, 2016, 0, 0, 470, 469, 0, 0, 0, 0, 704, 682, 507, 705, 683, 0, 792, 0, 0, 0, 0, 0, 262, 799, 258, 800, 698, 706, 0, 641, 642, 0, 625, 613, 0, 0, 620, 0, 619, 1014, 0, 0, 0, 685, 153, 254, 690, 255, 253, 686, 0, 1307, 0, 0, 0, 137, 0, 0, 0, 0, 120, 119, 138, 136, 0, 135, 0, 710, 688, 700, 386, 397, 0, 390, 391, 388, 392, 393, 0, 0, 0, 230, 0, 0, 241, 247, 248, 246, 262, 262, 244, 245, 243, 250, 689, 0, 701, 242, 240, 0, 229, 712, 694, 0, 711, 702, 693, 189, 188, 190, 0, 0, 0, 0, 0, 0, 0, 559, 541, 558, 0, 0, 0, 535, 290, 267, 473, 0, 0, 0, 0, 992, 0, 0, 997, 0, 0, 1005, 998, 1006, 0, 0, 0, 0, 788, 787, 0, 0, 0, 0, 0, 775, 797, 0, 459, 0, 0, 342, 158, 0, 0, 413, 0, 0, 0, 988, 0, 0, 0, 0, 302, 304, 306, 307, 308, 0, 380, 381, 0, 0, 370, 0, 344, 345, 0, 0, 0, 0, 600, 0, 0, 0, 649, 647, 633, 0, 1374, 1368, 874, 875, 0, 885, 0, 958, 0, 957, 969, 0, 0, 975, 973, 0, 975, 0, 975, 0, 950, 0, 952, 969, 1302, 986, 841, 262, 0, 262, 0, 262, 0, 262, 0, 734, 0, 449, 262, 492, 0, 1520, 2013, 1546, 1547, 0, 1539, 1540, 0, 588, 0, 585, 580, 582, 0, 589, 0, 0, 838, 839, 854, 847, 849, 848, 0, 0, 845, 491, 0, 262, 0, 590, 907, 0, 1239, 1240, 0, 0, 0, 0, 1268, 0, 0, 1201, 0, 1199, 1177, 1179, 1038, 0, 1189, 0, 1032, 1202, 1203, 1181, 1183, 0, 1035, 0, 1222, 0, 0, 1190, 1142, 0, 0, 0, 0, 1221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1154, 1153, 1191, 1204, 0, 0, 1256, 1257, 1192, 1067, 1068, 1069, 1069, 0, 0, 1263, 0, 0, 0, 1197, 1162, 1232, 1060, 1061, 0, 0, 0, 0, 0, 0, 0, 0, 1124, 1119, 0, 1122, 1126, 0, 0, 0, 0, 1110, 1136, 1106, 0, 0, 1112, 0, 1137, 903, 903, 903, 903, 900, 0, 0, 945, 930, 0, 0, 1174, 1171, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1565, 1566, 1567, 1564, 1568, 1550, 1551, 0, 1543, 1544, 177, 0, 201, 187, 1579, 0, 0, 859, 840, 862, 822, 914, 0, 1223, 915, 941, 940, 939, 919, 923, 920, 0, 1487, 1413, 1578, 1581, 1592, 1590, 1425, 472, 703, 681, 697, 788, 0, 335, 0, 0, 0, 802, 635, 0, 616, 617, 618, 0, 707, 684, 699, 0, 0, 663, 0, 664, 662, 133, 121, 140, 139, 122, 134, 389, 394, 396, 395, 311, 0, 0, 0, 231, 239, 236, 0, 0, 1280, 536, 0, 537, 543, 0, 0, 0, 0, 545, 291, 118, 0, 275, 279, 804, 804, 0, 280, 804, 276, 804, 273, 475, 0, 1812, 1213, 476, 464, 467, 468, 465, 466, 0, 0, 0, 0, 995, 0, 0, 0, 0, 0, 0, 997, 1083, 0, 0, 783, 1340, 1341, 782, 1342, 779, 778, 786, 785, 777, 776, 781, 780, 0, 0, 0, 322, 0, 0, 316, 0, 0, 649, 310, 313, 314, 0, 461, 462, 0, 301, 0, 429, 423, 458, 0, 990, 303, 328, 362, 0, 377, 0, 364, 363, 365, 0, 372, 341, 0, 770, 406, 403, 0, 600, 0, 0, 645, 626, 646, 0, 0, 629, 0, 634, 610, 0, 1390, 867, 1391, 960, 967, 0, 947, 0, 974, 970, 0, 971, 0, 0, 972, 0, 0, 967, 0, 658, 0, 656, 0, 488, 0, 659, 262, 262, 410, 873, 0, 0, 587, 583, 0, 0, 560, 591, 834, 836, 852, 850, 0, 561, 593, 1232, 1238, 1044, 0, 1271, 1267, 0, 0, 0, 1233, 0, 0, 1251, 1250, 1141, 1252, 0, 0, 0, 1152, 1151, 1149, 1150, 1143, 1144, 1145, 1146, 1147, 1148, 1261, 1260, 1254, 1255, 1064, 1062, 0, 1194, 1195, 1196, 1262, 1206, 1050, 1083, 1086, 0, 0, 1109, 1266, 1127, 0, 0, 1236, 0, 1105, 0, 0, 0, 0, 1114, 1222, 0, 0, 0, 0, 0, 0, 895, 894, 0, 932, 1172, 1173, 0, 0, 0, 1577, 0, 866, 857, 0, 1431, 0, 1486, 0, 337, 0, 0, 649, 636, 632, 0, 0, 0, 309, 0, 0, 0, 0, 264, 691, 692, 0, 0, 0, 540, 539, 274, 0, 0, 0, 0, 0, 0, 0, 446, 0, 0, 451, 441, 443, 0, 0, 0, 993, 999, 1000, 1001, 1002, 1003, 1004, 996, 1013, 439, 784, 0, 0, 320, 324, 325, 323, 315, 649, 342, 374, 0, 0, 0, 431, 0, 0, 989, 0, 326, 0, 366, 305, 379, 381, 0, 0, 0, 343, 0, 0, 0, 765, 0, 408, 404, 0, 0, 599, 0, 0, 1020, 649, 648, 729, 730, 727, 728, 0, 0, 1364, 959, 0, 0, 961, 0, 0, 963, 965, 0, 0, 0, 0, 0, 1305, 262, 262, 262, 735, 450, 0, 1548, 1549, 0, 581, 0, 1270, 1188, 1198, 1037, 1200, 1034, 1249, 0, 0, 0, 0, 1193, 1316, 1133, 1131, 1128, 0, 1129, 0, 0, 0, 1111, 1107, 0, 1113, 1138, 899, 898, 897, 896, 0, 0, 886, 1552, 0, 1333, 1337, 1334, 1553, 1083, 863, 0, 1488, 794, 0, 649, 374, 709, 687, 708, 232, 233, 234, 235, 0, 237, 0, 542, 538, 266, 289, 277, 282, 0, 283, 278, 281, 448, 447, 445, 442, 444, 994, 0, 670, 0, 0, 0, 0, 312, 374, 348, 0, 317, 0, 770, 303, 430, 0, 0, 424, 366, 0, 0, 327, 0, 370, 0, 367, 0, 371, 375, 0, 0, 767, 405, 0, 400, 0, 0, 0, 0, 601, 608, 608, 627, 1014, 609, 0, 1389, 0, 968, 977, 0, 964, 962, 953, 0, 955, 671, 489, 660, 0, 584, 262, 1155, 0, 0, 0, 1130, 1235, 1134, 1132, 1115, 929, 931, 1336, 1335, 202, 1224, 0, 374, 338, 263, 544, 284, 670, 0, 668, 440, 0, 319, 318, 0, 353, 0, 0, 766, 432, 433, 428, 0, 370, 332, 330, 334, 331, 329, 333, 0, 372, 368, 369, 0, 768, 769, 407, 805, 0, 0, 649, 0, 0, 606, 604, 603, 0, 987, 966, 0, 954, 562, 1156, 0, 1157, 342, 339, 667, 669, 0, 346, 347, 0, 321, 349, 350, 0, 0, 0, 372, 361, 293, 376, 649, 608, 372, 602, 607, 630, 0, 976, 1158, 348, 0, 0, 0, 0, 351, 0, 352, 373, 0, 0, 0, 477, 478, 436, 294, 372, 605, 987, 733, 353, 0, 358, 0, 357, 0, 354, 355, 0, 0, 483, 0, 0, 434, 437, 438, 987, 595, 732, 731, 0, 0, 0, 356, 359, 360, 0, 487, 479, 418, 0, 596, 715, 726, 714, 716, 724, 721, 723, 722, 720, 340, 0, 482, 486, 0, 480, 435, 0, 725, 719, 885, 876, 0, 0, 717, 726, 436, 487, 718, 0, 481, 419 }; /* YYDEFGOTO[NTERM-NUM]. */ static const short yydefgoto[] = { -1, 1, 2, 70, 232, 233, 234, 1435, 1996, 235, 236, 237, 238, 239, 240, 241, 242, 1457, 243, 244, 1110, 1575, 2093, 245, 914, 915, 1817, 1818, 2037, 1819, 1820, 1808, 1319, 1321, 246, 247, 248, 1314, 1801, 249, 250, 1485, 1486, 1462, 1487, 1440, 1634, 3277, 251, 252, 2055, 1523, 2507, 2875, 760, 1520, 2864, 2865, 253, 1572, 2551, 2552, 2553, 2554, 2534, 2924, 2925, 2926, 2555, 3165, 3316, 2556, 1926, 2114, 2563, 2564, 3386, 3435, 3436, 3437, 3480, 3167, 2562, 2948, 3173, 3305, 254, 3405, 2112, 2557, 2558, 255, 256, 1474, 2009, 2454, 257, 785, 2952, 3180, 3329, 258, 826, 259, 1577, 260, 261, 1580, 2105, 2106, 3161, 3310, 3392, 3486, 3487, 3298, 3130, 3131, 3132, 262, 263, 264, 265, 1967, 2085, 2086, 2880, 1426, 1907, 1527, 2057, 2058, 266, 3466, 3467, 786, 3520, 267, 268, 269, 270, 827, 1162, 3415, 1430, 271, 272, 845, 846, 273, 1091, 2500, 274, 275, 857, 2203, 859, 1663, 2629, 2630, 3004, 2176, 1031, 276, 277, 2186, 2206, 278, 787, 2957, 3333, 3334, 3416, 279, 788, 1453, 1946, 1947, 1948, 2958, 1949, 2962, 1950, 2574, 2575, 2576, 2966, 280, 1451, 1941, 281, 282, 283, 1972, 1047, 284, 3380, 285, 1138, 286, 878, 1678, 287, 2012, 288, 289, 290, 2577, 3508, 3522, 3523, 3524, 3194, 3494, 291, 3510, 293, 294, 295, 747, 1063, 1064, 1065, 296, 3178, 297, 298, 2080, 2081, 2528, 299, 300, 1919, 2398, 301, 302, 303, 1567, 304, 305, 306, 307, 308, 941, 932, 1345, 1842, 309, 1639, 832, 3511, 1669, 2188, 2189, 2192, 3512, 1606, 312, 1673, 2197, 2200, 3513, 1832, 1833, 1834, 1835, 1836, 2348, 314, 1132, 2126, 3514, 1267, 317, 318, 319, 1781, 2325, 867, 1355, 903, 946, 947, 1847, 1848, 1362, 1862, 1855, 1857, 3082, 3254, 1363, 1860, 1364, 1365, 2363, 320, 2329, 2130, 2131, 2132, 2587, 2597, 2977, 3203, 2133, 929, 2134, 2138, 2546, 2547, 1951, 2066, 2518, 1548, 1268, 1269, 1270, 1710, 1721, 1704, 1551, 1271, 1272, 1273, 1554, 1274, 1275, 1276, 1277, 1693, 1746, 1278, 1279, 1730, 970, 2208, 2247, 1281, 1282, 1283, 2316, 1774, 1049, 1284, 2882, 1776, 2267, 2230, 3065, 2211, 1691, 2231, 2245, 2680, 2251, 2256, 2703, 2704, 2268, 2286, 1285, 2215, 2216, 2659, 1695, 1286, 1068, 1069, 1736, 2282, 1348, 1349, 934, 1287, 1288, 1289, 1664, 930, 3199, 1145, 613, 2432, 1505, 753, 864, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 849, 850, 2171, 3260, 2501, 2904, 1409, 1821, 1297, 591, 754, 321, 791, 792, 793, 1125, 1126, 1595, 1598, 1392, 1894, 592, 593, 614, 3196, 322, 323, 324, 325, 326, 1367, 952, 1386, 1888, 971, 74, 79, 75, 972, 364, 365, 1870, 327, 724, 1871, 1389, 978, 2801, 368, 329, 330, 369, 332, 701, 370, 954, 334, 955, 335, 336, 337, 338, 962, 339, 1369, 1370, 3095, 1371, 340, 341, 615, 616, 342, 1167, 1635, 1166, 800, 343, 344, 999, 1000, 1001, 1180, 1648, 1181, 1412, 1413, 345, 346, 609, 347, 348, 349, 1653, 1654, 350, 1794, 1795, 1796, 351, 2621, 2622, 352, 2774, 2775, 2776, 353, 1790, 354, 355, 923, 2804, 356, 720, 357, 1013, 594, 595, 596, 1299, 704, 889, 863, 1300, 1020, 705, 359, 707, 598, 599, 600, 601, 602, 603, 1023, 711, 1649, 76, 2382, 1650, 1303, 1304, 1786, 1305, 606, 982, 992, 993, 2383, 995, 77, 996 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -3169 static const int yypact[] = { -3169, 340, 14089, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 16842, -3169, -3169, 36139, 694, -3169, -3169, -3169, 33605, -3169, -3169, -3169, -3169, -3169, 646, 38661, 15592, -3169, 53338, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 53338, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 36982, 214, -3169, -3169, 226, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 1014, 3488, -3169, -3169, 39081, -3169, 233, -3169, -3169, -3169, -3169, -3169, -3169, 53338, 48729, -3169, 445, 542, -3169, 87, 9763, -3169, 34880, 39501, -3169, -3169, 53757, 557, 4323, 1014, 39921, -3169, 941, -3169, 31901, -3169, -3169, -3169, 817, 46215, -3169, -3169, -3169, -3169, 637, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 48729, 1029, 507, 32328, -3169, -3169, -3169, -3169, 48729, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 40341, -3169, 612, 467, 54176, 54595, 45796, -3169, 585, -3169, 53338, 191, 35727, -3169, 55014, -3169, -3169, 677, -3169, -3169, -3169, -3169, -3169, 507, -3169, 36982, 30614, 47053, 880, 657, -3169, -3169, -3169, -3169, 681, 5846, 676, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 755, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 1725, -3169, 631, 1826, 791, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 62114, 712, -3169, -3169, -3169, 809, -3169, 758, -3169, -3169, -3169, 1127, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 648, -3169, -3169, -3169, -3169, 1219, 36560, -3169, -3169, 62114, -3169, 856, 40761, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 34030, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 123, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 53338, 53338, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 14592, -3169, -3169, -3169, 887, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 970, -3169, 237, 1208, -3169, -3169, 36982, 770, 770, 1427, 62114, -3169, -3169, -3169, 44120, 53338, 53338, 53338, 44120, 53338, 47053, 53338, 28897, 53338, 53338, 47053, 47053, 53338, 53338, 53338, 53338, -3169, 1489, 60, -3169, -3169, -3169, 1220, -3169, 1256, -3169, 1283, 2494, 1029, -3169, -3169, 48729, 1097, 44120, 53338, 1088, 1202, 53338, -3169, 53338, 609, 53338, 635, 537, 1184, 53338, 53338, 53338, -3169, -3169, 53338, -3169, 53338, -3169, 53338, 746, 1367, 1464, 1455, 384, -3169, -3169, -3169, 1281, 1253, -3169, 1307, 40761, 40761, -3169, -3169, -3169, 717, -3169, 47053, 44539, 53338, 1558, -3169, 55433, -3169, 44958, 55852, -3169, 1414, 1680, -3169, 56271, 56690, -3169, -3169, -3169, 57109, 57528, -3169, 57947, -3169, 1551, 58366, -3169, 763, -3169, -3169, 755, -106, -3169, 219, 154, 224, -3169, -3169, 217, 232, 423, -106, 1112, 49148, 53338, 1567, -3169, -3169, -3169, -3169, 40761, 1492, -3169, -3169, -3169, 1528, -85, -3169, -3169, 48729, -3169, -3169, -3169, -3169, -3169, 48729, 952, -3169, -3169, 1029, 1621, 1715, 53338, -3169, 53338, -3169, 48729, 53338, -3169, -3169, -3169, 1770, 1454, 1694, -3169, 1486, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 1646, 1657, 24, 1029, 1576, -3169, -3169, 1665, 19439, 514, 40761, 32755, 47472, 61299, 52, 34880, 58785, 1545, 60, -3169, 736, -3169, 1866, 1553, 1740, -18, 60, 48729, 62517, -3169, -3169, -3169, 26350, 59204, 1629, 1542, -3169, 1804, 19882, -3169, 1577, 1579, 1014, 1580, -3169, -3169, 48729, 1943, 1943, 1936, 1943, 951, 1030, 657, -3169, -3169, -3169, 1608, -3169, 1605, 1618, -3169, 433, 1830, -3169, -3169, -3169, -3169, 1691, 1700, 1704, 1705, -3169, 1716, 1061, -3169, -3169, -3169, 1927, -3169, -3169, -3169, -3169, 1608, -3169, -3169, -3169, -3169, -3169, 2016, 2004, 34880, 34880, 1721, 34, 14673, 14592, -3169, 15149, 1004, -3169, -3169, -3169, 153, -3169, -3169, -3169, 1893, -3169, -3169, 1921, 53338, -3169, 1777, 53338, -3169, -3169, 59623, -3169, -3169, 770, 1608, 1220, 1714, 1717, -3169, 1723, 1729, -3169, 1730, 1060, 1719, 454, 248, 1859, -35, 311, 1732, 136, 969, 1845, 53338, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 1734, -3169, -3169, 1735, -40, 1105, 1834, -69, 2500, 1135, 1895, 2, 888, 1741, 1946, -5, -3169, -41, -3169, 22065, 29774, -3169, 1220, 48729, 44120, 1743, -3169, -3169, -3169, -3169, 44120, -3169, 1907, 796, -3169, 53338, -3169, -3169, -3169, -3169, 53338, -3169, -3169, 1956, 53338, -3169, 1788, 943, 1755, 2083, 42862, 53338, 1793, 2115, -3169, -3169, 1800, -3169, -3169, 53338, 1771, 665, 1800, 2118, 2126, 1924, 1266, 100, 1800, 48729, 48729, 48729, 1989, 53338, 60042, 44120, 53338, 35305, -3169, 1780, 1281, -3169, -3169, -3169, -3169, 630, 1836, 2055, 1714, -3169, 2057, 1799, 2064, -3169, 2066, 1732, 2071, 1801, -3169, 60461, 2073, 1815, 53338, 2084, 1801, 2085, 1973, 2086, -3169, 2088, 1981, 2096, 1801, 392, 2099, 64, -3169, -3169, -3169, -3169, 44, 414, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 53338, 1567, 1567, 118, -3169, -3169, 113, -3169, 47891, 53338, 48310, 51, 49, -3169, 53338, -3169, 763, 53338, 2091, 2091, 2091, -3169, -3169, -3169, 2037, 53338, 2094, 47891, 53338, -3169, 60880, 1839, 1052, 1101, 1055, -3169, 22065, 1841, 69, 69, 1843, 1844, -3169, -3169, 1855, 1860, -3169, 929, 929, 1997, 1861, 1873, -3169, 1128, 1874, -3169, 1335, 1189, 1875, 1877, 1878, 1503, 69, 22065, -3169, 1881, 1242, 1884, 1886, 1887, 1404, 1891, -3169, 1453, 1896, 1337, 1339, 1898, 1899, -3169, 1861, -3169, 70, -3169, -3169, -3169, -3169, 22065, 22065, -3169, 20317, -3169, 1029, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 66, -3169, 1376, 7352, -3169, -3169, 2012, 22065, -3169, -3169, 157, -3169, 1220, 1900, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 1417, -3169, -3169, 1524, 1624, -3169, -3169, 124, 1640, 915, 915, 1165, 39081, 39081, -3169, -3169, 182, 1869, 884, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 34455, 2247, -3169, 1357, -41, 31033, 31033, 1567, 1567, 2102, -3169, -3169, 73, 2121, 48729, -3169, 53338, -3169, 27614, -3169, -3169, 755, -3169, 9335, -3169, 1098, -3169, -3169, -3169, 1916, -3169, 681, 681, 22065, 681, 607, 20752, 22065, 2173, 862, 2175, -3169, -3169, 1608, 1930, 1107, -3169, 43701, 61711, 61711, 2138, -3169, -3169, 754, 450, 2026, 2112, 649, 1075, -3169, -3169, -3169, 1922, -3169, 2223, 1608, 1144, 39081, 1982, 34880, -3169, -3169, 2341, -3169, 2341, -3169, -3169, -3169, 15077, 1066, -3169, -3169, 14592, -3169, -3169, -3169, -3169, 2367, -3169, 1933, -3169, -3169, 62114, 1942, 53338, -3169, 1947, 1955, -3169, 62517, 1220, 30195, 920, 2009, 2022, 36982, 1958, 2023, 2028, 61299, -3169, -3169, -3169, 223, 142, 602, -3169, 2029, 2119, 2067, -3169, 2132, 847, -3169, -3169, -3169, -3169, 1173, 18156, 1090, -3169, -3169, 2038, 2021, 2040, 2042, 1771, 420, 1964, -3169, 2045, 2030, 41602, 29335, 61299, 4523, -3169, 2047, 2048, 2090, 1928, 127, 2307, 2144, 2053, 1438, 2054, 48729, 2220, 98, 642, 1987, -3169, -3169, 2062, 2063, 47053, 2068, 2105, 2070, 61299, 4523, -3169, -3169, 1095, -3169, -3169, 60, -3169, 3282, -3169, -3169, -3169, -3169, -3169, 1714, 42862, 1732, 1061, 53338, 1998, 857, 2161, 53338, 2226, 2171, 43, -3169, -3169, 1800, -3169, 30195, 1771, -3169, 2017, -3169, 2060, 2060, 2060, 2020, 2020, 2024, -3169, -3169, 1503, 2060, 2025, -3169, 43282, -3169, 864, 948, -3169, 2370, 105, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 778, -3169, 1719, -3169, -3169, -3169, 2385, 1048, -3169, 42862, 4523, 2312, 36982, -3169, 2072, 4523, 53338, 556, 53338, 2215, -3169, -3169, 253, 2032, -3169, 4523, -3169, -6, 2035, 34880, 2294, 53338, 2194, -3169, 1732, 2400, -3169, -3169, 2046, 1112, -3169, 1780, -3169, 1310, -3169, 2156, -3169, 24644, 2092, 44120, 220, -3169, 42862, 53338, 44120, 220, 53338, 53338, 2321, 2116, 29335, 41602, 79, 53338, 53338, 48729, 53338, 53338, 48729, 53338, 2323, 220, 53338, -3169, -3169, 53338, -3169, -3169, 1567, 970, 53338, -3169, -3169, -3169, -3169, -3169, -3169, 1567, -3169, -3169, 2516, 2081, -3169, 124, 1112, 2087, -3169, 2100, 53338, 44120, 53338, 53338, 48729, 48729, 53338, 2158, 1869, -99, -3169, 2133, 27195, 2207, -3169, 171, 48729, 2259, -3169, -3169, 653, -3169, -3169, -3169, -3169, -3169, -3169, 46215, 2351, -1, 53338, -3169, 22065, 21187, -3169, -3169, -3169, 2109, 9335, 2142, 22065, -3169, -3169, 22065, 22065, 1112, 1112, 1112, -3169, -3169, -3169, -3169, 1562, 1112, -3169, 22065, 22065, 1112, 1112, 2060, 2060, -3169, 3499, 22065, 1112, -3169, 29335, 22065, 22500, 17712, 22065, 2174, 2179, 1112, -3169, 1112, -3169, 22065, 19004, -3169, 1220, 2484, 2484, 657, 909, 2559, 2110, -3169, 2213, 1112, -3169, 1112, 175, 42862, 22065, 36982, 2187, 144, 22065, 2120, 1440, -3169, 22065, 159, -3169, 2122, 22065, 2191, 122, 22065, 22065, 22065, 22065, 22065, 22065, 22065, 22065, 22065, -3169, 22935, 145, -83, 306, 38241, 19439, 2372, -3169, 1185, 17268, 40761, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 1112, 2125, -3169, 2139, -3169, -3169, -3169, -3169, -3169, 2247, -3169, -3169, 2193, -3169, -3169, -3169, 1701, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 2128, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 1567, -3169, 62114, 2140, -3169, 53338, 53, -3169, -3169, -3169, 2146, -3169, 46634, -3169, 19882, 53338, -3169, -3169, 2355, -3169, -3169, 2136, -3169, 6995, 2355, 2297, 2305, 2305, -3169, -52, 9335, 2347, 9335, -3169, -3169, -3169, -3169, 566, -3169, 1271, -3169, -3169, 1608, 2153, 16004, -3169, 16423, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 1061, 2154, 2568, 1290, -3169, -3169, 34880, -3169, -3169, -3169, -3169, -3169, 40761, 1443, 2153, 14592, -3169, 14592, 2153, 2159, 1118, -3169, 2227, 2229, 2268, 53338, 53338, -3169, 36982, 53338, 53338, -3169, 2480, 2166, 53338, 2375, 2376, 2170, -3169, -3169, 53338, -3169, 2335, 22065, 2336, 53338, 53338, 2339, 874, 2332, -3169, -3169, -3169, -3169, -3169, 2327, -3169, -3169, -3169, 1131, -3169, 37822, 41182, -3169, -3169, 81, 1719, -3169, 247, 258, 269, 2249, 2250, 2290, 53338, 53338, 53338, 53338, -3169, 53338, -3169, 1001, 53338, 53338, 2180, 2188, 2183, -3169, -3169, 53338, 2389, -3169, -3169, 2333, 509, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 492, 53338, -3169, 1112, 2337, 53338, 2244, -3169, 53338, 53338, 53338, 1061, -3169, 2533, 1061, 1061, 633, 2535, 1800, 1800, -3169, -3169, -3169, 53338, 53338, 53338, 49567, 53338, 53338, 49986, -3169, 48729, 53338, 53338, 53338, 155, 2795, 53338, 53338, 2320, 53338, 53338, 53338, -3169, -3169, 110, 2329, -3169, -3169, -3169, -3169, 22065, 2416, 2560, 2419, 2420, 2256, 41602, 768, 53338, 53338, 2423, 768, -3169, -3169, -3169, 943, -3169, 1132, -3169, 2225, -3169, 22065, 106, 42862, 2216, 25482, -3169, 2279, -3169, 2283, 1112, -3169, 1958, 253, 2418, 2234, 2234, 2234, 2234, 2234, 1048, -3169, -3169, -3169, 2479, 1149, -3169, 2238, 48729, -3169, -3169, 2080, 46215, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -92, -3169, -3169, -3169, 2380, 2379, 53338, -3169, 1928, 48729, 45377, 1343, 53338, 2584, 2473, 1029, 2386, 48729, 1371, -3169, 35305, -3169, 2239, 2477, 2478, 2490, -3169, 24225, 50405, 2233, 2106, -3169, 50405, 50824, -3169, 1220, 22065, 2207, 1714, -3169, 2595, -3169, 1732, -3169, 1801, -3169, 53338, 53338, 2242, 2243, -3169, 1801, 2397, 220, -3169, 2401, 220, 1801, 1029, -3169, 64, -3169, -3169, -3169, -3169, -3169, 40761, 1307, -3169, -3169, 1307, -3169, 1307, 2682, 1801, 2241, -3169, 1732, 1801, 1801, 1869, 1869, 1801, 51243, 2614, 2495, -3169, 1177, -3169, -3169, 19439, -3169, 410, -3169, 529, -38, 2436, -3169, -3169, -3169, 53338, 2406, 2248, 51243, 2592, 220, -3169, 9335, 1205, 1042, 1063, -3169, 1112, 22065, 41, -3169, 7812, 1233, 7842, 1236, 2257, 2258, 1272, -3169, -3169, -3169, -3169, -3169, -3169, 2260, 2508, -3169, -3169, 2263, 1294, 1299, 2265, 2266, -3169, -3169, 3670, 1351, 2267, 8257, 2269, 22500, 1876, -3169, -3169, 22500, 2270, -3169, 1366, 7048, 2253, 2271, 2299, 2304, 2274, 2276, 8778, 21630, 22065, 21630, 21630, 8816, 2253, 2277, -3169, -3169, 22065, 53338, 2278, 2282, -3169, -3169, 3499, -3169, 2314, -3169, 22500, 22500, 4236, 20317, -3169, -3169, 2531, -3169, 1137, -3169, 2286, -3169, -3169, 4458, 158, 22065, 2120, 22065, 2354, 29335, 3987, 22065, 2723, 3551, 3551, 183, 183, 102, 102, 102, 823, 306, -3169, -3169, -3169, 2291, 1891, 22065, -3169, 1167, 1260, 48729, 5055, 5876, -3169, -3169, -3169, 24644, 2092, 22065, 22065, 2289, -3169, 1384, -3169, -3169, 197, 2682, 1112, 60, 1112, 175, 31467, -3169, 2153, -3169, -3169, 1392, 27614, 2092, 19882, 1220, -3169, -3169, -3169, 1441, 22065, -3169, -3169, 1660, -3169, 53338, 2259, 2259, 22065, 22065, 20752, -3169, -3169, 2285, -3169, -3169, -3169, -3169, -3169, 2292, -3169, -3169, -3169, -3169, 2709, 2296, 2295, 2298, 2300, -3169, -3169, 42862, 53338, 53338, 53338, -3169, -3169, -3169, -3169, -3169, 2496, -3169, 22065, 117, 2301, 2308, 53338, 220, -3169, 9335, -3169, -3169, -3169, 2527, -3169, -3169, 2476, -3169, -3169, 37402, 42862, -3169, 42862, -3169, 867, 53338, 53338, 53338, -3169, 1801, -3169, -3169, -3169, -3169, -3169, 1146, -3169, 42862, 2457, 42022, 1801, -106, -92, 53338, 53338, -3169, -3169, 1801, -3169, -92, 1801, -92, -3169, -3169, -3169, -3169, -3169, 1061, -3169, -3169, -3169, -3169, -3169, 53338, 1061, 1061, -3169, 42862, 506, -3169, -3169, -3169, -3169, 220, 220, -3169, -3169, -3169, -3169, -3169, 2381, -3169, -3169, -3169, 750, -3169, -3169, -3169, 2382, -3169, -3169, -3169, -3169, -3169, -3169, 5202, 768, 42862, 768, 768, 53338, 2316, -3169, -3169, -3169, 2530, 2532, 768, -3169, 39, 2310, -3169, 717, 28459, 4713, 2324, -3169, 2318, 1112, 2153, 25924, 1711, -3169, -3169, -3169, 48, 2505, 2325, 2482, 2234, -3169, 141, 463, 51662, 52081, 52500, -3169, 2104, 2387, -3169, 36982, 28459, 2035, 556, 2443, 838, -3169, 48729, 253, 1449, -3169, 42862, 2331, 48729, 2328, 2326, -3169, -3169, -3169, -3169, 1465, -3169, 42862, -20, 2492, 2491, 1470, -3169, -3169, 681, 53338, 2404, 48729, 2388, 1029, 34880, 42442, 2165, -3169, -3169, 2493, -3169, 53338, -3169, -3169, 26769, 23805, 2106, 2345, 53338, -3169, 2340, 24644, 2562, 2501, -3169, 24644, 2501, 1091, 2501, 2564, -3169, 28033, -3169, 2356, 1185, 9335, -3169, 220, 42862, 220, 2405, 220, 41602, 220, 48729, -3169, 48729, -3169, 220, -3169, 774, -3169, -3169, 2357, -3169, 2374, -3169, -3169, 44120, -3169, 53338, 285, -3169, -3169, 2518, -3169, 681, 53338, 1220, 2358, -3169, -3169, -3169, -3169, 2635, 2636, -3169, -3169, 47891, 104, 53338, -3169, -3169, 22065, -3169, -3169, 2373, 2371, 9375, 22065, -3169, 2643, 42862, -3169, 53338, -3169, -3169, -3169, -3169, 1112, -3169, 22065, -3169, -3169, -3169, -3169, -3169, 22065, -3169, 1112, -3169, 22065, 2628, -3169, 2749, 42862, 22500, 598, 1884, 23370, 22500, 22500, 22500, 22500, 22500, 22500, 22500, 22500, 22500, -3169, 731, -3169, -3169, 22065, 22065, 2637, 2628, -3169, -3169, -3169, 1364, 1364, 42862, 2391, 2253, 2392, 2395, 22065, -3169, 1220, 5127, -3169, 2715, 1029, 22065, 1498, 1601, 22065, 1475, 22065, 2638, -3169, -3169, 2398, -3169, -3169, 42862, 22065, 22500, 22500, 5234, -3169, 6809, 22065, 2396, 7881, 20317, -3169, 507, 507, 507, 507, -3169, 48729, 48729, 2233, 2632, 1497, 1499, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 2393, -3169, 2412, -3169, -3169, -41, 2403, -3169, -3169, 2709, 2414, 53338, -3169, 2207, -3169, -3169, -3169, 2402, -3169, -3169, 1801, -3169, -3169, -3169, -3169, -3169, 2422, 2421, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 2234, 5157, -3169, 53338, 53338, 1531, -3169, -3169, 2634, -3169, -3169, -3169, 2467, -3169, -3169, -3169, 2481, 2488, -3169, 2489, -3169, -3169, -3169, -3169, 1801, 1801, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 574, 565, 42862, -3169, -3169, -3169, 53338, 53338, -3169, -3169, 2413, -3169, -3169, 2630, 2639, 768, 768, -3169, -3169, 1800, 2707, -3169, -3169, 2115, 2115, 788, -3169, 2115, -3169, 2115, -3169, -3169, 2225, 2402, 1075, -3169, -3169, -3169, -3169, -3169, -3169, 831, 1112, 1391, 2426, -3169, 1254, 25924, 25924, 25924, 25924, 25924, 2153, 175, 48729, 1112, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 2428, 53338, 22500, -3169, 592, 134, -3169, 2642, 48729, 2461, -3169, -3169, -3169, 42862, -3169, -3169, 2785, 759, 48729, 2692, 2590, -3169, 53338, -3169, 45377, -3169, 2667, 45377, -3169, 53338, -3169, -3169, -3169, 2760, 2521, -3169, 53338, 1049, 2503, 1719, 1029, 2388, 53338, 2449, -3169, 2445, -3169, 43282, 2237, -3169, 1771, -3169, -3169, 686, 2486, -3169, -3169, 50405, 2456, 53338, 2106, 24644, -3169, -3169, 1783, -3169, 24644, 2666, -3169, 24644, 53338, 2460, 53338, -3169, 2462, -3169, 53338, -3169, 2463, -3169, 220, 220, -3169, 1310, 1307, 197, -3169, -3169, 2712, 51243, -3169, -3169, -3169, -3169, -3169, -3169, 2718, -3169, -3169, 9335, -3169, -3169, 22065, 9335, -3169, 2469, 2470, 2472, 9335, 6201, 2475, 9335, 2637, -3169, 851, 2725, 532, 2483, 731, 851, 1206, 1206, 196, 196, 103, 103, 103, 2749, 9335, 9335, -3169, -3169, -3169, -3169, 2485, -3169, -3169, -3169, 2253, -3169, -3169, 175, 2484, 22500, 22500, 386, -3169, 190, 22065, 42862, -3169, 1546, 386, 1919, 1957, 22065, 22065, 8193, 160, 22065, 6418, 48729, 48729, 48729, 48729, -3169, -3169, 2815, 2719, -3169, -3169, 197, 2124, 1029, -3169, 657, -3169, -3169, 29335, -3169, 14592, -3169, 1112, -3169, 1549, 1565, 2461, -3169, -3169, 53338, 53338, 53338, 2104, 2644, 2645, 1112, 53338, 2536, -3169, -3169, 2697, 768, 768, -3169, -3169, -3169, 1029, 1029, -92, 2651, 53338, 1029, -92, -3169, 786, 2768, -3169, 2717, 570, 2497, 2739, 2742, -3169, -3169, 1792, 1792, -3169, -3169, -3169, -3169, -3169, 2746, -3169, 22065, 1518, 851, -3169, -3169, -3169, -3169, 2461, 2035, 2544, 2545, 681, 376, 2775, 2766, 253, -3169, 2502, 538, 2504, 1343, -3169, -3169, -3169, 90, 53338, 2856, -3169, 2832, 2833, 2658, -3169, 53338, 2716, 1958, 2759, 2510, -3169, 25063, 1029, 1719, 2165, -3169, -3169, -3169, -3169, -3169, 2581, 53338, -3169, -3169, 53338, 1566, -3169, 22065, 2517, -3169, -3169, 24644, 1783, 1568, 53338, 1578, 42862, 220, 220, 220, -3169, -3169, 2772, -3169, -3169, 2669, -3169, 51243, 9335, -3169, -3169, -3169, -3169, -3169, -3169, 22500, 2771, 2523, 22500, -3169, -3169, 332, 332, 190, 1604, -3169, 42862, 22500, 22500, 386, 386, 22065, 386, -3169, -3169, -3169, -3169, -3169, 22065, 22065, -3169, -3169, 1075, -3169, -3169, -3169, -3169, 175, -3169, 2524, -3169, -3169, 2653, 2461, 2544, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 22065, -3169, 768, -3169, -3169, 2310, -3169, -3169, -3169, 53338, 2520, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 44120, 2884, 48729, 831, 6517, 2694, -3169, 2544, 2721, 2762, -3169, 53338, 1049, 45377, -3169, -21, 2664, -3169, 1343, 568, 925, -3169, 48729, 2491, 2647, -3169, 2649, -3169, -3169, 2687, 2688, -3169, -3169, 1029, -3169, 53338, 25063, 22065, 1607, -3169, 52919, 18576, -3169, 957, -3169, 48729, -3169, 1612, -3169, 9335, 53338, -3169, -3169, -3169, 1626, -3169, -3169, -3169, -3169, 681, -3169, 104, 814, 22500, 22500, 501, -3169, -3169, 332, 332, 386, 2253, 9335, -3169, -3169, -3169, -3169, 48729, 2544, -3169, 9335, -3169, 2520, 2884, 2889, -3169, -3169, 2799, -3169, -3169, 554, 2698, 2618, 2903, -3169, -3169, -3169, -3169, 53338, 2491, -3169, -3169, -3169, -3169, -3169, -3169, 1634, 2521, -3169, -3169, 681, -3169, -3169, -3169, -3169, 1636, 6939, 2461, 25063, 53338, -3169, -3169, -3169, 2613, 2092, -3169, 1666, -3169, -3169, 814, 827, -3169, 2035, -3169, -3169, -3169, 2834, -3169, -3169, 164, -3169, 2711, 2726, 53338, 442, 2561, 2521, -3169, -3169, -3169, 2461, 52919, 2521, -3169, -3169, -3169, 2841, -3169, -3169, 2721, 2672, 618, 618, 2624, -3169, 2854, -3169, -3169, 1112, 1112, 42862, 2571, -3169, 33177, -3169, 2521, -3169, 2092, 619, 2698, 2845, -3169, 2948, -3169, 101, -3169, -3169, 44120, 29335, -3169, 442, 1685, -3169, -3169, -3169, 2092, -3169, -3169, -3169, 968, 831, 2713, -3169, -3169, -3169, 1732, -59, -3169, -3169, 33177, -3169, -3169, 1051, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 44120, -3169, -3169, 41602, -3169, -3169, 1204, -3169, -3169, 1238, 1579, 2586, 2583, -3169, 1051, 33177, 2714, -3169, 1690, -3169, -3169 }; /* YYPGOTO[NTERM-NUM]. */ static const short yypgoto[] = { -3169, -3169, -3169, -3169, -3169, 2802, -3169, -1001, -356, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 945, -3169, -3169, -779, 1194, 1708, -3169, -3169, 697, -3169, -3169, -3169, -1259, -3169, 375, -3169, -3169, -3169, -3169, -3169, -3169, 1016, -3169, -931, 577, 652, -3169, -3169, -3169, -3169, 988, -74, -3169, -3169, -3169, -3169, -3169, -1501, -122, 108, -3169, 107, 1032, 203, -3169, -98, -3169, -3169, -3169, -3169, -177, 651, -2423, -2260, 109, -402, -420, -377, -374, -394, -3169, -2502, -3026, -2219, -2310, -3169, -3169, -3169, -3169, 121, -1486, -3169, 1484, -3169, -3169, -3169, -3169, -110, -3169, -3169, -3169, -441, -3169, -3169, -3169, -1479, -3169, 997, -2428, -3169, -3169, -3169, -459, -433, -3169, -3067, -58, -53, -3169, -3169, -3169, -3169, -1084, -3169, 536, 539, -1012, -3169, -3169, -3169, 567, -3169, -3169, -410, 1511, -451, -3169, -3169, -3169, -3169, -3169, 1457, -714, -1508, -3169, -3169, 2906, 621, -3169, -3169, -1956, -1471, -3169, -168, 1130, 1905, -1162, -2116, 92, -3169, -3169, -1624, -3169, -3169, -3169, 907, -1469, -3169, 146, -233, -313, -2648, -3169, -3169, -1128, -3169, 687, 1153, -3169, 1156, -3169, -1810, 147, -891, -2455, -2797, -3169, -3169, -3169, -3169, -3169, -3169, -1609, -1449, -3169, -273, -3169, -3169, -3169, -3169, 692, -3169, 187, -3169, -3169, -3169, -3169, -3169, -3169, -388, -422, -3169, -3169, -3169, 143, -3169, -3169, -3169, 1248, -1043, -877, 2189, -1468, -196, -3169, -3169, -3169, 1033, -1912, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -1264, -3169, -3169, -3169, 1276, 2957, -710, -3169, -3169, -3169, -3169, -3169, -3169, 11, -3169, -3169, 481, -2027, 14, -3169, -3169, -3169, -3169, -472, 16, -3169, 769, -3169, -3169, -1738, -3169, 1951, 955, 129, -72, -75, -220, 417, 504, -3169, -3169, -218, 885, -3169, -3169, -3169, -3169, 771, 1764, -3169, 764, -460, -3169, -3169, 1772, -3169, -3169, 1768, 1280, -3169, 1306, 811, -2028, 1012, -2009, 547, -751, -63, -160, 2342, -3169, -2270, -2700, 213, 1825, -1760, -2299, -1489, -3169, 1587, 3190, -3169, -3169, -1025, -3169, -3169, 3216, 5159, -3169, -3169, 5279, 6902, -3169, -1063, 430, 7816, -309, -1197, -1527, 11250, -1348, 898, -1523, 926, -3169, -727, -3169, 11567, 792, -3169, -1240, -3169, 88, -3169, -1579, -3169, -3169, -3169, -3169, -3169, -2357, -2514, -854, 858, -3169, -3169, 953, -3169, -3169, -3169, -951, -940, -1702, 865, -1709, -3169, -942, 962, 1387, 2019, -859, 4180, -784, -55, -132, -2080, -1296, -977, -3169, -725, -3169, -2, 89, -3169, -3169, 7588, -600, -762, -1736, -3169, 111, -3169, -839, -947, -3168, -371, -3169, -3169, 2604, 591, -3169, 2044, -3169, 1053, 1574, -3169, -3169, 1284, -804, -136, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 1805, 125, -3169, -60, -3169, -3169, -3169, 3105, -3169, 2853, -34, -3169, 2487, -33, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -808, 1317, -3169, 2172, -3169, -3169, -3169, -68, -3169, -3169, -3169, 1994, -151, -3169, -3169, -3169, -1031, 938, 2198, -827, -800, 1289, -3169, -3169, -3169, -3169, -3169, -3169, -3169, -3169, 1017, -3169, -3169, 854, 1019, -3169, -3169, 198, -3169, -3169, 114, 195, -3169, 1892, -3169, -3169, -3169, 412, -3169, -3169, -3169, -532, 9118, 58, -45, -36, 173, -3169, 1399, 8458, -1340, -686, -16, 1831, 6461, 10504, -48, 7, -56, 245, -54, -2193, -3169, 2837, 1300, 1037, -883, 7673, 1560, 3319, 4619, -724, -845, 2219, -498, -1378, -3169, 3210 }; /* 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 -1869 static const short yytable[] = { 71, 316, 922, 1018, 315, 830, 1366, 1032, 1188, 1048, 2150, 936, 794, 799, 1613, 1025, 789, 1028, 1974, 367, 799, 1502, 361, 1571, 784, 361, 1742, 1144, 1898, 1058, 1582, 2071, 1151, 2177, 1005, 896, 1328, 1095, 361, 712, 1159, 1684, 331, 333, 709, 1107, 872, 702, 1315, 714, 1469, 1410, 2072, 2062, 1100, 1732, 703, 2337, 1495, 2754, 361, 799, 745, 1336, 928, 1804, 709, 1114, 2609, 702, 761, 1169, 1129, 1171, 2094, 1173, 706, 1424, 703, 1135, 2787, 1174, 2135, 1526, 748, 1142, 1148, 310, 2647, 2095, 311, 72, 313, 2347, 798, 2505, 2096, 802, 706, 710, 2584, 798, 1568, 1463, 2097, 847, 2098, 2099, 1573, 2370, 2212, 2604, 1954, 1163, 1583, 1414, 2930, 2934, 1507, 2965, 1334, 710, 1168, 1608, 2598, 2600, 3156, 869, 1182, 1317, 1385, 2355, 1326, 1914, 358, 2352, 1636, 358, 2418, 2420, 1450, 2381, 798, 2817, 1590, 2385, 892, 985, 1404, 1785, 358, 1697, 1698, 892, 891, 892, 935, 316, 848, 1407, 315, 891, 1652, 891, 2529, 2530, 2531, 2532, 361, 2149, 1390, 1411, 358, -1654, 709, 1717, 1631, 702, 1749, 2683, 848, 1309, 1394, 1395, 1744, 1631, 703, -1059, -1054, 3044, 1014, 1631, 759, 1581, 1407, 590, 1061, 2064, 2512, 1705, 1752, 2205, 994, -292, 366, 2759, 706, -1210, 1667, 1318, 2760, 2761, 2762, -1210, 2657, 1179, 1631, 1454, 2891, 292, 1204, 2275, 2763, 2764, 2765, 2010, 2766, 2767, 2768, 710, 2313, 3382, 2769, 2770, 2771, 981, 2314, 1920, 2365, 2053, 2489, 2280, 716, 310, 1175, -1226, 311, 1920, 313, 2328, 2193, -1226, 3319, 717, 2010, 2280, 2317, 1875, 3498, 1749, 1921, 3320, 2295, 3518, 1671, 1002, 1749, 1398, 721, -1306, 722, 2944, 2683, 2243, 361, 1927, 901, 1179, 1062, 2479, 358, 1752, 2110, -978, 3207, 1502, 3209, 715, 1752, 1499, 202, 865, 3402, 3152, 949, 950, 1185, 1061, 2901, 1928, 3488, 2642, 2513, 3268, 1170, 976, 1491, 1455, 1876, 1172, 1922, 361, 1468, 2185, 361, 1090, 980, 2885, 3390, 588, 1922, 360, 1465, 3026, 360, 53, 3456, 2067, 2115, 1437, 49, 718, 1631, 844, 977, 950, 3488, 360, 52, -1656, 3, 3391, 1799, 1920, 1119, 2885, 1509, 3045, 1732, 1783, -1653, 2194, 1511, 1514, 1492, 1615, 1921, 3302, 902, 360, 2643, -1652, 1033, 3488, 2318, 1620, 1051, 1637, 3441, 1186, 2296, 1343, 1434, 1059, 2297, 292, 1965, 1646, 1647, 1062, 1810, 1506, 1749, 2043, 964, 3499, 358, -1757, 3519, 746, 1779, 3339, 1569, 1877, 1800, 924, 1632, 1592, 208, 1103, 3321, 1665, 2366, 1109, 1752, 1632, 1588, 2298, 2683, 1676, 1500, 1632, 1115, 1501, 1429, 2102, 1922, 2858, 3153, 1438, 1685, 1929, 1442, 358, 2054, -1869, 358, 1570, 3515, 794, 1923, 1201, 1617, 789, 1396, 965, 1632, 2498, 2068, 2863, 1923, 2111, 2060, 719, 998, 2421, 2480, 893, 2209, 2210, -1784, 2214, -1709, 1615, 893, 226, 893, -1759, 2038, 2218, 2220, 1374, 1749, 1456, 2119, -1798, 1003, 360, 1697, 1698, 3373, 2235, 2236, 1507, 49, 1692, 1717, 588, 1186, 2021, 2103, -1210, 52, 1422, 1752, 2253, 2255, 1782, 2636, 1753, 975, -1059, -1054, 1403, -1059, -1054, 1443, 2041, 1668, -1059, -1054, 2490, -207, 1672, 2315, 723, 2772, 2349, 3349, 1705, 2195, 1924, 3228, 1745, 2281, 2299, -1059, -1054, 1633, -1226, 967, 1924, 2056, 986, 1444, 2196, -1654, 1672, 2736, -1654, -1654, 1824, 1825, 1615, 231, -1654, 1923, 2854, 588, 2856, 2857, 1756, 1757, 588, 2334, 1773, 2696, 1570, 2862, 588, 2065, 2065, 1632, 988, 989, 3098, 3099, 1404, 3003, 1865, 1940, 2974, 3457, 49, 987, 2978, 588, 2685, 2717, 1411, 1638, 52, 53, 360, 1034, 49, 153, 2683, 588, 1053, 1055, 1890, 1122, 52, 53, 2783, 54, 2773, 1760, 1895, 2638, 2069, 1382, 3138, 3139, 3140, 3141, 3142, 1027, 1029, 1439, 1755, 1628, 2778, -1757, 2135, 2164, 2822, 1954, 2823, 360, 1780, 2117, 360, 2900, 3447, 725, 1924, 874, 2394, 2906, 1756, 1757, 1770, 1771, 1772, 1773, 2686, 1768, 1769, 1770, 1771, 1772, 1773, 1099, 1838, 2693, 2694, 2695, 2696, 3463, 170, 2788, 928, 588, 1445, 1130, 726, 3470, 588, 53, 2104, 2239, 2240, 1918, 53, -1821, 1446, 844, 1106, 981, 799, 1375, 844, 2110, 3318, 361, -1784, 1760, -1709, 361, 1447, 709, 2044, -1759, 702, 1140, 2845, 1448, 607, 1035, 1761, -1798, 1052, 703, 875, 1056, 1057, 3417, 1975, 1016, 950, -1656, 1165, 2091, -1656, -1656, 3002, 71, 3230, 2881, -1656, 3395, -1653, 706, 3492, -1653, -1653, 1096, 2640, 1878, 371, -1653, 2440, -1652, 2032, 981, -1652, -1652, 3314, 1449, 1112, 1930, -1652, 1113, 1123, 3396, 710, 2881, 3127, 3476, 1928, 3303, 2965, 3312, 1600, 2685, 3464, 756, 3003, 1048, 980, 798, 1506, 1768, 1769, 1770, 1771, 1772, 1773, 1136, 3432, 3150, 803, 3315, 2687, 2890, 2092, 1431, 1930, 3091, 208, 1153, 2963, 2639, 3029, 1155, 1157, 120, 981, 2691, 2692, 2693, 2694, 2695, 2696, 2442, 1006, 358, 1601, 1007, 1432, 358, 2457, 202, 2269, 124, 3397, 1558, 72, 1177, 1178, 1008, 1009, 1966, 1879, 2686, 980, 3471, 2045, 963, 2181, 2182, 2050, 3151, 2135, 1433, 2683, 3465, 1764, 942, 3394, 224, 1010, 49, 2781, 1011, 588, 226, 1194, 3231, 1195, 52, 3308, 1768, 1769, 1770, 1771, 1772, 1773, 2145, 848, 1507, 848, 852, 848, 2163, 2152, 1312, 876, 877, 848, 848, 2158, 3108, 2166, 2441, 3493, 3190, 3129, 980, 2742, 892, 3107, 757, 892, 1602, 964, 2846, 3433, 891, 231, 943, 891, 3286, 769, 1434, 1570, 1092, 361, 861, 608, 2175, -1821, 2179, 2180, 3184, 3030, 2183, 1600, 866, 1931, 2139, 2641, 2087, 49, 3031, 2143, 588, 3477, 2683, 1048, 2458, 52, 2459, 1307, 2847, 898, 2682, 1749, 3096, 1603, 2698, 2683, 3117, 3118, 1874, 1337, 965, 1882, 3212, 966, 1883, 3191, 49, 873, 1163, 771, 1513, 2162, 1852, 1752, 52, 2997, 2687, 725, 1851, 2683, 3109, 944, 2067, 3110, 2178, 2723, 2724, 2688, 2689, 2690, 1012, 2691, 2692, 2693, 2694, 2695, 2696, 1932, 3289, 3200, 1308, 3426, 3478, 1417, 3204, 1410, 1419, 3206, 726, 1421, 3374, 769, 1037, 1852, 3197, 1875, 1853, 360, 2685, 1383, 725, 360, 3479, 1038, 1039, 1040, 1604, 1041, 1042, 1043, 1044, 1045, 1046, 358, 1191, 1324, 1101, 2023, 1102, 964, 71, 71, 3127, 71, 3384, 967, 1884, 1048, 1383, 2122, 3290, 726, 1602, 2992, 3000, 1802, 3454, 1853, 2461, 2462, 1937, 1205, 1104, 771, 1105, 361, 1876, 2607, 1966, 1414, 1809, 709, 1320, 1322, 702, 2712, 945, 3377, 2344, 1515, 208, 128, 129, 703, 1516, 3192, 2201, 2411, 1518, 2430, 965, 2094, 777, 2068, 778, 1564, 2726, 1603, 936, 3090, 2374, -1869, 2627, 706, 2499, 3128, 2095, 2024, 1165, 2356, 1384, 3398, 921, 2096, 2685, 3428, 968, 2278, 2135, 3123, 1593, 2097, 2135, 2098, 2099, -301, 710, 3014, 1954, 931, 1742, 72, 72, 1938, 72, 3399, 3193, 226, 2685, 1384, -885, 1570, 2755, 2756, 2047, 316, 1116, 969, 1644, 590, 590, 1877, -885, 2221, 2222, 2223, 933, 3356, 3124, 1615, 2412, 2234, 3129, 1360, 316, 2237, 2238, 1670, 1558, 1329, 1604, 1117, 2242, 1645, 2686, 967, 1966, 358, 939, 2605, 231, 2259, 153, 2260, 956, 1690, 777, 1674, 778, 3143, 229, 2033, -885, 230, 1359, 1558, 3400, 2273, 2686, 2274, 838, 3451, 2048, 1707, 1361, 893, 1118, 957, 893, 1558, -885, 3279, 3280, 2452, 940, 2024, 2455, 2456, 958, 839, 360, 2691, 2692, 2693, 2694, 2695, 2696, 2379, 1792, 3346, 2426, 1640, 2074, 1735, 1641, 3443, 1642, 1201, 1116, 1164, 588, 1330, 49, 1740, 2437, 588, 2069, 170, 2602, 1570, 52, -885, 1360, 1558, 3491, 2090, 1788, 1524, 2444, -885, 1789, -1452, 2447, 2932, 2083, 153, 1793, 1493, 1558, 2089, 202, 1037, 3505, -910, 3469, 2075, 1909, 2070, 3388, 2108, 3472, 1506, 1038, 1039, 1040, 1558, 1041, 1042, 1043, 1044, 1045, 1046, 1494, 1361, 1797, 1798, 959, 948, 1118, 1910, 3506, 187, 2687, 3490, 2691, 2692, 2693, 2694, 2695, 2696, 1558, 953, 1925, 2688, 2689, 2690, 9, 2691, 2692, 2693, 2694, 2695, 2696, 1629, 1911, 1458, 2687, 3453, 1727, 1728, 170, -910, 1843, 1843, 2683, 1843, 1442, 2688, 2689, 2690, 2591, 2691, 2692, 2693, 2694, 2695, 2696, 858, 1459, 960, 2011, 1460, 1434, 1558, -885, 2076, 2728, 1458, 979, 1521, 1522, 2824, 1558, 1729, 360, 2960, 2592, 208, 1915, 361, 361, 361, -910, 1461, 3376, 1892, 2729, 1383, 702, 1383, 1383, 2980, 2028, 1460, 187, 897, 2502, 2503, 3028, 2594, 700, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 1578, 3259, -1039, 2077, 1461, -1039, 706, 961, 1350, 1443, -1039, 1727, 1728, 361, 1903, 1427, 49, 224, 1579, 588, 361, 998, 3144, 226, 52, 727, 361, 1703, 892, 710, 1743, 1885, 709, 1901, 950, 702, 891, 1444, 1428, 3067, 3068, 1748, 758, 2445, 703, 1958, 1731, 887, 725, 208, 3418, 71, 2269, 1436, 828, 71, 920, 1915, 1905, 2711, 1471, 2713, 2714, 892, 706, 2034, 3507, 1384, 1959, 1384, 1384, 891, 2730, 2078, 2035, 2079, 2731, 1470, 2596, 726, 358, 358, 358, 1472, 2608, 1496, 1322, 710, 1004, 892, 1488, 1558, 2685, 1960, 2619, 2036, 3181, 891, 1015, 936, 224, 2828, 49, 2135, 899, 588, 226, 1405, 2135, 1406, 52, 2135, 1692, 1489, 2779, 2571, 2520, 1176, 3175, 3176, 3177, 2524, 1886, 2062, 2829, 358, 3052, 2945, -1059, 1094, 2142, -1059, 358, 1442, 597, 3010, -1059, 588, 358, 2652, 1190, 617, 72, 53, 713, 54, 72, 2651, 1689, 231, 231, 1382, 2686, -1059, 713, 590, 1939, 53, 1445, 54, 2653, 1383, 3046, 3047, 1108, 1806, 2202, 361, 2654, 1897, 1446, 1406, 2100, 709, -1024, 2732, 702, -1024, 1060, 3234, 617, 2129, -1024, 2733, 1447, 703, 1097, 1146, 588, 713, 755, 1448, 2392, 2746, 53, 2747, 2395, 1839, 617, 713, 1070, -1033, 713, 1840, -1033, 706, 713, 1443, 1867, -1033, 713, 2146, 1868, 2409, 2883, 860, 2010, 2387, 2153, 3149, 2155, 2156, 2016, 2388, 1048, 2683, 1709, -1309, 710, 2794, 2415, 2508, 713, 1449, 2165, 1444, 2416, 2509, 1098, 3057, 1537, 2425, 2883, 2427, 935, 1891, 848, 713, 2536, 1868, 1120, 880, 1384, 860, 2537, 3121, 3122, 900, 2287, 3125, 1807, 3126, -1066, 2572, 2655, -1066, 2840, 360, 360, 360, -1066, 1715, 1716, 2842, 2843, 1147, 2634, 2449, 2288, 358, 2687, 1066, 2635, -1312, 2792, 1067, 2748, -1066, 2749, 2914, 1558, 1558, -1869, -1869, 3263, 2691, 2692, 2693, 2694, 2695, 2696, 2170, 1507, 3529, 2650, 3530, 2483, 2836, 2837, 2486, 2651, 2488, 360, 3335, 2013, -1036, 1066, 2017, -1036, 360, 1067, 2022, 3378, -1036, 1121, 360, 2916, 2834, 2683, 893, 3338, 2285, 2661, 2135, 815, 2663, 2269, 1350, 2651, -877, 1720, 2651, 3058, 2892, 2893, 2894, 2895, 2896, 361, 1322, 848, 848, 848, 3137, 709, 1124, 2573, 702, 848, 1127, 3235, 3236, 848, 848, 893, 2224, 703, 3264, 1446, 848, 2289, 2666, 2368, 2124, 2125, 2290, 1868, 2667, 848, 2291, 848, 2335, 1447, 588, 2685, 3370, 706, 1502, 1558, 1448, 893, 2377, 2780, 2671, 848, 1868, 848, 2841, 2672, 2651, 1727, 1728, 1727, 1728, 2651, 1558, 2560, 2561, -1022, 710, -1069, -1022, -1069, -1069, 981, -1069, -1022, 2269, -1069, 1137, -1069, 713, 2225, 1844, 1846, 361, 1850, 1727, 1728, 229, 49, 1449, 230, 588, 2792, 1729, 2396, 1731, 52, 53, 1149, 54, 2170, 1160, 2686, 2345, 950, 1382, 3300, 49, 2676, 1179, 588, 2920, 3134, 3135, 2677, 52, 1183, 3335, 358, 2372, 2792, 2372, 2631, 2700, 360, 361, 1192, 361, 2232, 2651, 1184, 2226, 1747, 1193, 2227, -1025, 2292, 1356, -1025, 1358, 2921, 2758, 2631, -1025, 2293, 2685, 1037, 2651, -1654, 2784, 2922, -1654, 2979, 980, 2982, 2785, -1654, 1038, 1039, 1040, 2087, 1041, 1042, 1043, 1044, 1045, 1046, 2393, 1845, 1845, 361, 1845, 3119, -1660, 49, 2400, 709, 588, 1198, 702, 1199, 2404, 52, 53, -1023, 54, 2408, -1023, 703, 3189, 3357, 1382, -1023, 3360, 1383, 358, 1679, 1680, 2789, 3335, 2795, 2796, 3363, 3364, 1615, 2686, 2935, 1383, 706, 71, 2178, 71, 2936, -885, 2797, 2798, 2228, 936, 2428, 3528, 2429, 2923, 2942, 2431, 2889, -885, 2520, 2949, 2943, 2342, 2687, 710, 3060, 2950, 2590, 1397, 1399, 358, 2651, 358, 1200, 2688, 2689, 2690, 1201, 2691, 2692, 2693, 2694, 2695, 2696, 1202, 2450, 2451, 3083, -1656, 3084, 3020, -1656, 1203, 2651, 2683, 2651, -1656, 2791, -885, 1206, 1207, 2466, 2469, 2470, 1327, 2474, 617, 1331, 2476, 2477, 2478, 2542, 1332, -1661, 2484, 358, -885, 2487, 1384, 1333, 2229, 3100, 2591, 1342, 1343, 229, 49, 2950, 230, 588, 1827, 1384, 848, 72, 52, 72, 3239, 2683, 360, 3266, 1383, 1344, 3240, 1383, 1383, 2950, 590, -884, 2592, 713, 713, 3241, 3424, 3425, 3366, 3267, 3343, -885, 3348, -884, 2809, 2950, 1615, 2593, 2936, -885, 2687, 1350, 3350, 1351, 1354, 2594, 1352, 981, 2936, 2683, 3501, 2688, 2689, 2690, 2000, 2691, 2692, 2693, 2694, 2695, 2696, 1357, -1653, 3242, 1368, -1653, 2595, 2825, 3361, 2583, -1653, 3412, 1372, -884, 3240, 1376, 3420, 3413, -1652, 848, 936, -1652, 1615, 3021, 848, 1373, -1652, -1658, 1377, 360, 3422, -884, 3201, 3024, 2001, 1558, 2936, 1378, 3442, 1037, 3445, 1379, 1380, -1657, 1672, 1384, 3413, 2684, 1384, 1384, 1038, 1039, 1040, 1381, 1041, 1042, 1043, 1044, 1045, 1046, 1388, 2751, 2752, 1558, 1558, 1391, 1558, 2685, 980, 1393, 3452, 360, -884, 360, -885, 2596, 1615, 1396, 1415, 49, -884, 1558, 588, 1558, 1026, 617, 1030, 52, 597, 3503, 713, 1050, 597, 713, 3536, 3504, 713, 713, 1026, 597, 3504, 2002, 2645, 3262, 2341, 2892, 2893, 2894, 2895, 2896, 2685, 1558, 1416, 2897, 1418, 751, 360, 1425, 713, 1441, -1660, 617, 1524, 1026, 1429, 597, -1661, 2686, 1464, 597, 1111, 713, -1658, -1657, 713, 1452, 1026, 1466, 597, 3202, 1467, 1558, 1473, 2003, 1490, 2004, 1510, 1497, 2685, 1498, 1512, 713, 713, 1517, 751, 2005, 1519, 1558, 1525, 1528, 713, 1565, 751, 617, 1566, 1740, 713, 848, 1434, 765, 2686, 713, 713, 1574, 1570, -884, 713, 713, 2285, 713, 2914, -160, 1026, 2568, 1576, 1558, 1587, 2006, 2894, 2895, 2896, 1597, 1605, 2915, 1607, 1558, 1609, 2745, 751, 751, 713, 713, 1610, 1611, 2590, 1612, 1558, 713, 2686, 2129, 1614, 1615, 1618, 3001, 2571, 2007, 2140, 2916, 1619, 2917, 1558, 2144, 1623, 1621, 1622, 1624, 2616, 1625, 2151, 713, 1626, 713, 1442, 3012, 1197, 1627, 769, 2160, 1630, 1677, 1681, 1683, 1688, 3133, 1696, 2008, 1699, 1700, 2520, 2520, 2520, 2520, 2520, 1558, -598, 2687, 3146, 1558, 1701, 2591, 713, 617, 1706, 1702, 231, 1323, 2688, 2689, 2690, 1777, 2691, 2692, 2693, 2694, 2695, 2696, 1708, 1711, 1712, 1672, 1713, 1714, 2918, 1341, 1719, 2592, 2571, 1722, 771, 1723, 1724, 2810, 2811, 2170, 1725, 848, 1805, 1383, 2687, 1726, 2593, 1733, 1734, 1784, 1442, 1826, 1443, 1558, 2594, 2688, 2689, 2690, 1828, 2691, 2692, 2693, 2694, 2695, 2696, 1841, 1359, 1048, 1863, 1873, 2826, 2827, 1866, 1880, 3517, 2595, 1558, 1881, 1887, 2541, 1444, 1889, 2687, 1893, 1407, 2919, 1899, 597, 597, 1900, 2920, 1902, 1912, 2688, 2689, 2690, -1596, 2691, 2692, 2693, 2694, 2695, 2696, 1558, 1904, 1913, 1916, 713, 2572, 1915, 713, 1917, 1933, 713, 1934, 1935, 3342, 2866, 1936, 2921, 1968, 1961, 1962, 1963, 1443, 1964, 3342, 1558, 1969, 2922, 1997, 1998, 1970, 2970, 1384, 1999, 2010, 1026, 848, 2014, 2015, 2018, 2020, 2025, 2596, 2026, 2027, 2046, 799, 789, 2030, 2029, 1444, 2031, 1383, 2867, 2049, 777, 2884, 778, 3401, 1383, 1383, 2051, 2052, 2063, 2061, 779, 1692, 1703, 2073, 767, 2101, 1709, 1720, 2868, 782, 2909, 2911, 2913, 2572, 2107, 2088, 713, 2113, 361, 2884, 2116, 713, 2118, 2869, 709, 713, 316, 702, 2120, 2951, 2121, 3265, 713, 2923, 1445, 2127, 703, 2870, 2137, 2147, 1026, 2159, 316, 1383, 3274, 2969, 1446, 2953, 848, 2129, 848, 2148, 2871, 2129, 1026, 1591, 706, 713, 1596, 936, 1447, 2902, 798, 3075, 3076, 3077, 3078, 1448, 2167, 2174, 2168, 1383, 2187, 1558, 2184, 2191, 2173, 2199, 1384, 710, 1026, 49, 2204, 713, 588, 1384, 1384, 2214, 2257, 52, 53, 2213, 54, 2258, 316, 1749, 3421, 3006, 3256, 2271, 2272, 2279, 2284, 2328, 2300, 2178, 1445, 2302, 2339, 1449, 713, 2340, 2964, 1071, 2338, 2351, 1475, 2343, 1446, 713, 860, 943, 1476, 2346, 713, 2357, 2361, 713, 2362, 2872, 358, 2367, 1447, 2065, 1384, 1682, 2873, 2375, 713, 1448, 1687, 2376, 2386, 2389, 1072, 2390, 2391, 2397, 2399, 2401, 2402, 3409, 2403, 1558, 2405, 2407, 1073, 2248, 2410, 1477, 2413, 2414, 1384, 2874, 1074, 2422, 2423, 2631, 2424, 2434, 1749, 2435, 2436, 2438, 2439, 2907, 2448, 2453, 2446, 2460, 1075, 1449, 2485, 2491, 1750, 2249, 2493, 1558, 2494, 2495, 2496, 2497, 1752, 2504, 2510, 2522, 2515, 1753, 1076, 2523, 848, 1478, 2526, 2527, 1740, 2535, 1479, 2538, 2544, 1480, 848, 2545, 2566, 2567, 2569, 2579, 2582, 2959, 1322, 1549, 2580, 2581, 2589, 2606, 2610, 2612, 2611, 1077, 1792, 2614, 2626, 2632, 2205, 2644, 2646, 3449, 2648, 1186, 2319, 2669, 2664, 2665, 2651, 2668, 617, 617, 2670, 1078, 2673, 2674, 2678, 2706, 2681, 2699, 2705, 1481, 2707, 2708, 1323, 2709, 2716, 2720, 2727, 1822, 1822, 2721, 2722, 3269, 2734, 3271, 2741, 1079, 2757, 2744, 1830, 2800, 1837, 2802, 2803, 2805, 2812, 2806, 1017, 2815, 1406, 2807, 1017, 2819, 751, 1558, 2816, 1048, 3500, 751, 751, 2820, 2831, 2851, 2852, 2859, 2860, 2888, 2861, 1883, 2887, 1754, 1482, 2931, 2898, 1755, 2899, 2940, 2927, 2938, 751, 2941, 1017, 360, 2946, 2947, 2954, 2967, 2973, 2956, 1080, 617, 3527, 597, 2971, 1756, 1757, 3112, 3113, 3093, 1749, 2975, 2976, 2983, 2986, 1458, 2990, 2613, 1758, 2999, 2615, 815, 2998, 1780, 2617, 3005, 3008, 3009, 713, 1689, 3015, 3018, 1752, 751, 1017, 2702, 2683, 1753, 1483, 2701, 1017, 1460, 1081, 3055, 1744, 3062, 1082, 3081, 1083, 1759, 3049, 3050, 1760, 1084, 3051, 3072, 3063, 3086, 3085, 3089, 3092, 2631, 3087, 1484, 53, 1761, 3094, 1762, 3102, 2649, 3101, 3148, 3114, 3103, 3482, 3483, 3115, 1050, 1085, 1086, 3104, 3105, 3120, 3136, 2964, 3116, 3147, 1475, 1885, 3158, 1087, 751, 3154, 1476, 3160, 1088, 848, 751, 3162, 3166, 3171, 848, 848, 848, 848, 848, 3172, 3185, 751, 848, 3186, 2129, 1558, 1089, 3198, 3205, 2129, 3179, 3208, 2129, 3195, 3211, 3213, 1026, 3219, 3221, 1763, 1026, 3223, 3224, 1477, 3225, 3229, 1547, 3227, 3252, 3253, 751, 3291, 3272, 3273, 3232, 1558, 3278, 3233, 1754, 3285, 3276, 3295, 1755, 3128, 3296, 751, 3297, 3294, 3304, 3306, 751, 3309, 3311, 3323, 3313, 3317, 3324, 3325, 3326, 3330, 3328, 3331, 1756, 1757, 751, 1478, 3340, 3354, 3345, 3355, 1479, 3358, 1886, 1480, 3359, 1758, 3371, 597, 2950, 713, 3372, 3379, 3153, 3385, 3387, 3393, 1764, 3406, 3407, 3430, 1323, 3403, 1591, 3404, 3431, 3434, 3438, 1765, 1766, 1767, 3439, 1768, 1769, 1770, 1771, 1772, 1773, 3450, 3458, 1760, 3455, 2270, 3468, 3473, 617, 3475, 1549, 713, 713, 1481, 3456, 1050, 1761, 3460, 713, 713, 3457, 713, 713, 3485, 713, 3496, 3497, 1026, 3516, 3532, 1026, 3531, 938, 2540, 3518, 713, 1823, 1549, 2782, 2482, 2848, 2506, 2463, 3281, 3164, 3106, 3168, 3270, 3301, 2814, 3474, 1549, 3495, 713, 2818, 713, 713, 3174, 3461, 713, 3459, 3481, 3169, 3182, 1482, 2190, 2109, 3327, 2525, 3521, 3534, 2928, 3293, 3502, 2876, 2929, 3292, 1763, 2084, 3535, 860, 316, 2170, 2207, 3307, 2161, 868, 751, 1017, 1666, 71, 2633, 848, 3220, 1017, 1549, 3410, 1458, 3448, 3183, 2419, 2821, 2417, 3429, 3509, 848, 3533, 3188, 1335, 3389, 1549, 2533, 2353, 831, 3007, 3322, 2786, 1643, 2618, 1050, 2849, 2850, 2953, 1460, 3216, 1861, 2790, 1549, 2129, 2799, 1864, 2364, 1859, 751, 751, 751, 2350, 2753, 2585, 1017, 2981, 3347, 2248, 1133, 1764, 2481, 2248, 3163, 3054, 3238, 2793, 2637, 1549, 2739, 1558, 1765, 1766, 1767, 2737, 1768, 1769, 1770, 1771, 1772, 1773, 2327, 2658, 984, 2968, 1599, 2249, 2123, 2578, 3257, 2249, 2378, 1872, 2248, 2248, 328, 951, 72, 713, 2369, 1675, 1400, 1423, 2380, 2624, 997, 2777, 2625, 3218, 3088, 3217, 1549, 3261, 3255, 1791, 973, 1869, 751, 2384, 2620, 1549, 2249, 2249, 1402, 1558, 2169, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 751, 0, 0, 0, 0, 0, 0, 0, 1837, 3282, 3283, 0, 0, 0, 3287, 0, 0, 0, 713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1908, 0, 0, 0, 3368, 0, 0, 2987, 0, 2989, 0, 2991, 0, 2993, 0, 0, 0, 0, 2996, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 316, 0, 0, 2969, 0, 0, 0, 0, 3526, 0, 0, 0, 1973, 597, 0, 0, 0, 0, 3337, 713, 3011, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 713, 0, 0, 597, 617, 0, 0, 0, 713, 0, 0, 0, 0, 0, 713, 0, 0, 0, 316, 713, 597, 3444, 0, 2042, 1549, 0, 3440, 0, 0, 0, 0, 0, 0, 3369, 0, 0, 0, 0, 1908, 0, 0, 0, 0, 0, 0, 751, 1749, 0, 597, 713, 597, 713, 0, 713, 0, 0, 713, 2433, 0, 0, 1750, 0, 0, 713, 0, 0, 0, 0, 1752, 0, 0, 3462, 0, 1753, 0, 0, 0, 713, 0, 0, 2082, 713, 0, 0, 597, 713, 713, 0, 0, 0, 0, 605, 0, 0, 0, 0, 0, 0, 618, 2464, 2465, 713, 713, 713, 2471, 713, 0, 316, 713, 713, 713, 0, 0, 597, 713, 0, 597, 713, 597, 0, 3525, 0, 0, 2141, 0, 0, 0, 3408, 0, 0, 0, 0, 1973, 0, 0, 1026, 1026, 618, 0, 0, 0, 0, 0, 316, 0, 0, 0, 0, 0, 848, 848, 0, 2521, 0, 0, 618, 618, 0, 0, 0, 0, 0, 0, 618, 0, 0, 0, 605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 860, 0, 1754, 0, 0, 0, 1755, 0, 605, 751, 605, 0, 0, 0, 0, 2548, 0, 0, 751, 2559, 0, 2565, 0, 0, 0, 618, 1756, 1757, 0, 1596, 0, 0, 0, 0, 0, 0, 0, 2588, 0, 1758, 0, 2588, 2601, 0, 1549, 1549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1026, 2433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1759, 0, 0, 1760, 0, 713, 0, 0, 0, 0, 0, 728, 0, 2276, 1749, 0, 1761, 0, 1762, 0, 0, 2248, 597, 0, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 2248, 0, 0, 1752, 0, 0, 713, 0, 1753, 597, 0, 0, 0, 0, 0, 0, 2249, 0, 0, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 2249, 729, 2136, 0, 1017, 1749, 0, 0, 0, 1017, 0, 1549, 2248, 2248, 0, 0, 1763, 730, 0, 0, 751, 0, 0, 751, 3214, 3215, 0, 1752, 1549, 0, 0, 0, 1753, 0, 0, 731, 0, 0, 0, 0, 2249, 2249, 0, 0, 0, 0, 0, 0, 0, 2719, 0, 0, 0, 0, 1017, 0, 0, 751, 751, 0, 0, 0, 0, 0, 732, 0, 0, 0, 618, 751, 733, 0, 0, 0, 0, 0, 0, 1050, 0, 0, 0, 0, 0, 1764, 734, 0, 0, 0, 1754, 0, 0, 0, 1755, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 2039, 735, 0, 0, 0, 0, 1756, 1757, 0, 2040, 0, 0, 0, 0, 1822, 0, 0, 0, 1749, 1758, 1837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1750, 713, 1754, 0, 0, 0, 1755, 0, 1752, 0, 0, 0, 0, 1753, 0, 0, 0, 0, 1759, 0, 0, 1760, 0, 736, 0, 0, 1756, 1757, 597, 713, 713, 0, 0, 0, 1761, 0, 0, 0, 751, 1758, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2248, 0, 0, 0, 0, 0, 0, 597, 713, 713, 0, 737, 0, 0, 0, 0, 0, 738, 0, 1760, 0, 0, 739, 0, 0, 713, 713, 0, 2249, 0, 0, 0, 1761, 0, 0, 0, 0, 0, 0, 0, 0, 1763, 0, 751, 0, 1026, 0, 740, 741, 3351, 3352, 3353, 0, 0, 0, 0, 0, 1973, 0, 742, 0, 0, 0, 0, 743, 0, 0, 1754, 0, 0, 618, 1755, 0, 744, 2514, 0, 0, 0, 0, 0, 0, 0, 2433, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 1757, 1763, 0, 0, 0, 0, 0, 0, 0, 0, 2521, 0, 1758, 0, 0, 0, 1764, 0, 0, 0, 0, 0, 0, 713, 713, 713, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 0, 0, 0, 1759, 0, 0, 1760, 0, 0, 2248, 2248, 0, 0, 0, 0, 0, 0, 0, 0, 1761, 713, 1762, 0, 0, 0, 1323, 0, 0, 1764, 1549, 0, 0, 617, 0, 0, 713, 2588, 2249, 2249, 2972, -1869, -1869, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 2985, 0, 0, 0, 0, 1549, 1549, 0, 1549, 0, 3423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1549, 0, 1549, 0, 0, 1763, 597, 0, 0, 0, 0, 0, 0, 2190, 0, 0, 0, 0, 751, 0, 0, 0, 0, 0, 0, 0, 597, 0, 0, 0, 1549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1026, 0, 1749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 605, 1750, 0, 0, 0, 1549, 0, 0, 0, 1752, 0, 0, 0, 0, 1753, 0, 0, 1764, 0, 0, 0, 1549, 0, 0, 0, 0, 0, 0, 1765, 1766, 1767, 751, 1768, 1769, 1770, 1771, 1772, 1773, 1128, 618, 618, 0, 0, 0, 0, 0, 0, 0, 2675, 1549, 0, 2248, 0, 751, 2248, 0, 0, 0, 0, 1549, 0, 751, 0, 2248, 2248, 0, 0, 0, 0, 0, 1549, 2136, 618, 0, 0, 0, 605, 0, 605, 2249, 605, 0, 2249, 0, 1549, 0, 605, 605, 0, 0, 0, 2249, 2249, 0, 0, 618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1837, 0, 0, 0, 0, 0, 605, 0, 0, 1549, 0, 0, 0, 1549, 1754, 0, 0, 0, 1755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2808, 2565, 2565, 0, 605, 0, 0, 0, 0, 1756, 1757, 618, 618, 0, 0, 605, 605, 0, 0, 0, 0, 0, 1758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1549, 0, 0, 713, 713, 0, 0, 0, 0, 2248, 2248, 0, 2830, 0, 2833, 0, 0, 0, 0, 1759, 0, 0, 1760, 1549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1761, 0, 2249, 2249, 0, 1550, 605, 2844, 0, 2521, 2521, 2521, 2521, 2521, 0, 1549, 0, 0, 0, 0, 0, 0, 0, 605, 605, 0, 0, 0, 0, 0, 1749, 1552, 713, 0, 0, 0, 0, 2855, 752, 1549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1752, 2548, 0, 2464, 0, 1753, 2464, 751, 3170, 1763, 0, 0, 0, 2136, 0, 2565, 0, 0, 0, 0, 0, 2433, 0, 0, 0, 862, 0, 0, 0, 0, 0, 0, 0, 870, 0, 0, 2588, 0, 713, 2937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2548, 2844, 3210, 0, 0, 0, 2433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 597, 926, 0, 0, 0, 804, 0, 0, 1764, 0, 0, 605, 2725, 0, 0, 0, 805, 0, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 2988, 0, 0, 1549, 1973, 0, 0, 806, 0, 0, 0, 0, 0, 0, 0, 0, -1869, 0, 0, 0, 1755, 0, 0, 0, 0, 0, 0, 807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 1757, 0, 808, 0, 0, 0, 0, 605, 0, 0, 0, 0, -1869, 3019, 0, 0, 0, 0, 0, 1050, 809, 0, 0, 0, 0, 0, 1651, 0, 0, 1655, 597, 713, 597, 0, 0, 0, 3027, 3275, 0, 618, 0, 0, 1549, 0, 0, 0, 1760, 0, 0, 810, 0, 2565, 0, 0, 0, 811, 0, 0, 0, 1761, 0, 0, 1749, 3048, 0, 0, 0, 0, 0, 812, 0, 0, 0, 0, 0, 0, 1549, 0, 0, 0, 0, 0, 0, 0, 1752, 0, 0, 3064, 0, 1753, 0, 751, 0, 0, 0, 0, 0, 751, 0, 713, 0, 0, 0, 0, 0, 0, 713, 0, 0, 0, 0, 0, 3336, 0, 0, 605, 751, 0, 0, 0, -1869, 0, 3341, 0, 0, 713, 605, 0, 0, 0, 0, 0, 0, 1976, 0, 3210, 2136, 0, 0, 0, 2136, 0, 0, 1550, 0, 0, 813, 0, 597, 0, 0, 0, 1787, 0, 814, 0, 0, 618, 618, 751, 0, 751, 0, 0, 2735, 0, 0, 815, 0, 1552, 1550, 605, 0, 1017, 605, 0, 605, 605, 1549, 0, 0, 0, 0, 1977, 1550, 0, 0, 1764, 816, 0, 1978, 1979, 817, 751, 818, 0, 1552, -1869, 0, 819, 3111, 1755, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 1552, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 1757, 362, 820, 821, 362, 1980, 1550, 0, 0, 0, 0, 2433, -1869, 2464, 822, 0, 618, 362, 605, 823, 0, 1550, 0, 0, 0, 0, 0, 0, 824, 0, 0, 0, 1552, 0, 0, 1026, 3336, 825, 1550, 362, 1026, 1026, 0, 0, 1981, 0, 1760, 1552, 0, 1982, 713, 0, 0, 0, 0, 0, 0, 0, 3157, 1761, 0, 0, 0, 1550, 1552, 0, 0, 0, 0, 0, 0, 0, 0, 795, 0, 0, 751, 751, 0, 0, 0, 0, 0, 0, 0, 0, 1983, 0, 0, 1552, 0, 0, 0, 0, 0, 1749, 0, 0, 713, 0, 0, 1984, 1985, 1549, 1986, 1987, 1550, 1988, 0, 1750, 0, 0, 0, 0, 0, 1550, 0, 1752, 3336, 1026, -1869, 0, 1753, 0, 0, 0, 0, 894, 0, 0, 0, 0, 1552, 1549, 894, 1989, 894, 605, 0, 0, 0, 1552, 0, 713, 0, 0, 0, 362, 0, 0, 0, 1026, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1990, 0, 0, 0, 0, 0, 0, 3489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1764, 1050, 0, 0, 0, 0, 0, 3064, 0, 0, 0, 1991, 0, 1992, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 3489, 0, 0, 605, 0, 0, 0, 0, 0, 0, 0, 0, 1993, 605, 0, 751, 1054, 0, 0, 1994, 0, 1754, 1995, 0, 0, 1755, 0, 3489, 0, 0, 0, 0, 0, 0, 0, 0, 1550, 1093, 751, 0, 0, 0, 0, 0, 362, 1756, 1757, 0, 751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1758, 0, 0, 0, 1552, 0, 0, 0, 0, 1787, 2172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 362, 0, 0, 0, 0, 1759, 0, 2136, 1760, 0, 0, 0, 2136, 0, 0, 2136, 0, 0, 0, 0, 0, 1761, 0, 1762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 605, 605, 605, 0, 0, 0, 0, 605, 605, 0, 0, 0, 605, 605, 0, 2937, 0, 0, 0, 605, 0, 1187, 0, 0, 0, 0, 0, 1189, 605, 0, 605, 0, 1549, 0, 0, 0, 0, 0, 1196, 0, 0, 0, 0, 0, 605, 3362, 605, 0, 0, 1763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1189, 0, 0, 0, 0, 0, 0, 751, 751, 751, 751, 1651, 0, 0, 0, 1189, 0, 2336, 0, 1549, 1339, 0, 0, 0, 0, 2172, 0, 0, 0, 0, 0, 0, 0, 0, 1353, 0, 0, 0, 0, 0, 0, 605, 0, 0, 0, 0, 0, 0, 0, 1764, 0, 1550, 1550, 0, 0, 0, 0, 0, 0, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 0, 2886, 0, 0, 1552, 1552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 795, 0, 0, 0, 0, 0, 0, 0, 0, -1866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1749, 1017, 0, 605, 0, 0, 0, 0, 0, 605, 0, 0, 0, 0, 1750, 618, 0, 0, 0, 0, 0, 2136, 1752, 0, 0, 0, 0, 1753, 0, 0, 1749, -1866, 0, 1550, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1866, 1750, 0, 0, 1508, -1866, 0, 1550, 0, 1752, -1866, 0, 0, -1866, 1753, -1866, 1552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1749, 1552, 0, 0, 0, 0, 0, 0, -1866, 0, 0, 0, 3484, 0, 1750, 0, 0, 0, 1584, 1585, 1586, 0, 1752, 0, 0, 0, -1866, 1753, 0, 0, 0, 0, 1749, 605, 0, 0, 1017, 0, 751, 0, 0, 605, 0, 0, 605, 605, 0, 0, 0, 0, 0, 0, 0, 0, 1752, 0, 0, 0, 751, 1753, 1754, 362, 0, 0, 1755, 362, 1973, -1866, 0, 1024, 0, 0, 1017, 1024, 0, -1866, 0, 0, 0, 0, 0, 751, 0, 0, 1756, 1757, 1189, 0, 605, 0, 1754, 0, 605, 0, 1755, 0, 605, 1758, 0, 0, 0, 0, 0, 1024, 0, 1189, 605, 0, 0, 0, -1866, 605, 0, 751, 1756, 1757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1758, 1759, 0, 0, 1760, 0, 0, 3069, 1754, 0, 0, 0, 1755, 0, 0, 1131, 0, 1761, 1024, 1762, 0, 0, 0, 866, 1024, 0, 0, 1017, 0, 0, 605, 1759, 1756, 1757, 1760, 0, 0, 0, 0, 0, -1869, 0, 0, -1866, 1755, 1758, 0, 1761, 0, 1762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1866, 0, 0, 1756, 1757, 0, 0, -1866, -1866, -1866, 0, 0, 605, 0, 0, 1759, -1869, 1763, 1760, 0, 618, 1651, 0, 0, 2623, 0, 1655, 0, 0, 0, 0, 1761, 0, 1762, -1866, 1017, 0, -1866, -1866, -1866, 0, 0, 0, 0, 0, 0, 0, 1763, 0, 0, 1760, 0, 1829, 0, 0, 0, 1306, 0, 0, 0, 0, 894, 0, 1761, 894, 0, 605, 0, 0, 1017, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 1764, 0, 1306, 0, 0, 0, 0, 0, 1763, 0, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 0, 3053, 0, 0, 1550, 0, 1764, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1869, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 1552, 3097, 1550, 1550, 0, 1550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1550, 1764, 1550, 0, 0, 0, 0, 0, 1552, 1552, 0, 1552, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 2853, 0, 1552, 0, 1552, 0, 1550, 0, 0, 1764, 2172, 0, 605, 2019, 605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 1552, 0, 0, 0, 1550, 1306, 362, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 1550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552, 0, 1550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1550, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 1550, 0, 0, 0, 0, 1552, 0, 0, 605, 0, 0, 0, 0, 0, 1550, 1552, 0, 0, 0, 0, 0, 0, 0, 0, 605, 0, 1552, 0, 0, 0, 0, 605, 605, 0, 0, 0, 0, 0, 0, 0, 1552, 0, 0, 0, 0, 0, 0, 1550, 0, 0, 0, 1550, 0, 0, 2154, 0, 0, 2157, 0, 0, 0, 0, 0, 605, 0, 605, 605, 0, 0, 0, 0, 0, 0, 1552, 605, 0, 0, 1552, 0, 0, 605, 0, 1306, 0, 0, 605, 0, 605, 0, 0, 0, 1189, 1189, 0, 0, 0, 0, 0, 605, 605, 80, 1550, 0, 2198, 0, 0, 84, 0, 605, 1306, 0, 0, 0, 90, 0, 91, 0, 0, 94, 0, 0, 0, 0, 0, 1550, 0, 0, 1552, 0, 104, 0, 0, 0, 1306, 1306, 0, 1306, 0, 0, 0, 0, 605, 605, 0, 0, 0, 0, 117, 118, 0, 1552, 1550, 618, 0, 1306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 1550, 0, 1552, 0, 0, 0, 0, 0, 0, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 937, 0, 1552, 0, 0, 0, 0, 0, 0, 0, 0, 2326, 0, 0, 0, 0, 0, 0, 0, 138, 0, 139, 140, 0, 0, 0, 142, 143, 1306, 0, 0, 1306, 1306, 0, 0, 145, 146, 0, 605, 0, 0, 0, 362, 362, 362, 0, 0, 0, 605, 148, 0, 149, 0, 0, 152, 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, -1868, 0, 0, 154, 2354, 0, 0, 0, 0, 155, 0, 0, 0, 0, 156, 0, 158, 0, 0, 0, 160, 362, 0, 1550, 0, 0, 605, 0, 362, 0, 1563, 164, 0, 165, 362, 0, 0, 0, 894, 0, 0, -1868, 0, 0, 0, 0, 0, 0, 0, 1552, 0, 0, 0, -1868, 0, 0, 0, 1957, -1868, 170, 0, 0, 0, -1868, 0, 0, -1868, 0, -1868, 0, 0, 1563, 0, 894, 0, 0, 0, 0, 0, 0, 0, 0, 179, 180, 0, 0, 0, 0, 181, 0, 0, 0, 0, -1868, 0, 0, 182, 0, 0, 894, 0, 0, 0, 1550, 0, 0, 0, 0, 0, 0, 0, -1868, 0, 187, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552, 2059, 0, 0, 0, 0, 0, 0, 1550, 0, 0, 0, 0, 0, 197, 0, 0, 0, 1563, 0, 0, 0, 0, -1868, 199, 0, 0, 200, 0, 201, 0, -1868, 0, 202, 1552, 0, 605, 605, 203, 0, 0, 205, 0, 1563, 0, 207, 362, 0, 0, 0, 208, 0, 0, 0, 0, 209, 0, 2475, 211, 0, 0, 0, 0, 605, 214, 0, -1868, 0, 605, 605, 605, 605, 605, 0, 0, 0, 605, 0, 0, 0, 0, 1024, 0, 1024, 0, 0, 1563, 0, 1024, 0, 0, 220, 0, 221, 0, 1563, 0, 0, 0, 223, 0, 224, 0, 0, 225, 0, 866, 226, 0, 0, 1550, 0, 0, 1553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2539, -1868, 0, 0, 0, 605, 0, 0, 1024, 1749, 0, 1552, 0, 0, 0, 0, 0, 0, 0, -1868, 0, 0, 2549, 1750, 0, 231, -1868, -1868, -1868, 0, 2570, 1752, 0, 0, 0, 0, 1753, 0, 0, 1306, 1306, 0, 0, 0, 0, 0, 0, 1306, 0, 2623, 1306, 1306, 0, -1868, 0, 0, -1868, -1868, -1868, 2233, 0, 0, 1306, 1306, 0, 0, 0, 0, 0, 0, 1306, 0, 0, 0, 1306, 1306, 1306, 1306, 0, 0, 0, 0, 0, 0, 1306, 1306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 1306, 362, 0, 0, 1306, 0, 0, 1555, 1306, 0, 0, 0, 1306, 0, 0, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 0, 1306, 0, 0, 0, 0, 1306, 1550, 0, 0, 1306, 0, 2172, 605, 0, 0, 0, 0, 0, 1754, 0, 0, 605, 1755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1552, 0, 605, 0, 1550, 0, 0, 0, 605, 605, 1756, 1757, 0, 605, 605, 0, 0, 0, 605, 0, 0, 362, 0, 1758, 0, 0, 0, 0, 0, 0, 1552, 0, 0, 1306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1759, 0, 0, 1760, 0, 0, 0, 0, 0, 362, 0, 362, 0, 0, 1749, 0, 1761, 0, 1762, 0, 0, 0, 2750, 0, 0, 605, 0, 0, 1750, 0, 0, 0, 0, 0, 0, 0, 1752, 0, 0, 0, 0, 1753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1306, 0, 0, 0, 708, 0, 0, 0, 1763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1957, 1563, 0, 0, 0, 0, 0, 0, 708, 0, 0, 0, 0, 0, 0, 0, 0, 1553, 0, 0, 0, 0, 0, 0, 0, 0, 1749, 0, 0, 0, 605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1750, 0, 0, 0, 1553, 0, 0, 0, 1752, 0, 0, 0, 0, 1753, 0, 0, 0, 1764, 1553, 0, 0, 0, 1754, 0, 0, 0, 1755, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 605, 0, 3226, 0, 0, 0, 1756, 1757, 1550, 0, 0, 0, 1306, 0, 0, 0, 890, 0, 1563, 1758, 0, 0, 1553, 890, 0, 890, 0, 0, 0, 0, 0, 0, 0, 1306, 1552, 1563, 708, 1553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1759, 0, 0, 1760, 1553, 0, 0, 1555, 0, 0, 0, 0, 1550, 0, 0, 0, 1761, 0, 1762, 0, 0, 0, 0, 0, 0, 0, 0, 2933, 0, 1553, 0, 1754, 0, 2939, 1555, 1755, 0, 0, 1552, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1555, 0, 1024, 0, 2955, 0, 0, 1756, 1757, 0, 0, 1306, 0, 0, 0, 0, 0, 0, 0, 0, 1758, 0, 0, 0, 1553, 0, 0, 0, 0, 1763, 0, 0, 0, 1553, 0, 0, 0, 605, 605, 0, 0, 0, 605, 0, 1555, 0, 0, 2994, 0, 2995, 0, 1759, 0, 0, 1760, 0, 0, 0, 0, 1555, 0, 0, 0, 0, 0, 1306, 0, 1761, 0, 1762, 0, 0, 0, 0, 0, 0, 1555, 0, 605, 0, 0, 1189, 0, 0, 0, 0, 0, 0, 1306, 0, 0, 0, 0, 0, 0, 0, 1764, 0, 0, 0, 0, 1555, 0, 0, 0, 605, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 1306, 3247, 0, 0, 1306, 0, 0, 0, 1763, 0, 0, 0, 0, 0, 0, 0, 1306, 1306, 1306, 1306, 1749, 0, 0, 0, 1555, 1306, 0, 0, 0, 0, 0, 0, 0, 1555, 0, 1306, 1306, 0, 1306, 0, 0, 0, 1752, 1553, 0, 0, 0, 1753, 0, 0, 1306, 0, 1306, 0, 0, 0, 1306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3079, 3080, 0, 0, 0, 0, 1306, 0, 0, 1764, 0, 0, 0, 0, 0, 0, 1024, 0, 1306, 1306, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 0, 3383, 0, 0, 0, 0, 1306, 0, 0, 0, 0, 0, 1306, 0, 0, 0, 0, 0, 0, 0, 1306, 1306, 1306, 3070, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, 0, 0, 1749, 0, 0, 1306, 0, -1869, 0, 0, 0, 1755, 0, 0, 0, 1555, 1750, 0, 0, 0, 0, 0, 1957, 1563, 1752, 1563, 0, 0, 0, 1753, 0, 1756, 1757, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 1563, 0, -1869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1749, 0, 0, 0, 0, 0, 0, 0, 3145, 0, 0, 0, 1563, 0, 1750, 0, 0, 0, 2358, 0, 1760, 0, 1752, 0, 0, 0, 0, 1753, 0, 0, 0, 3155, 0, 1761, 0, 0, 1553, 1553, 0, 0, 0, 3159, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1749, 0, 0, 0, 2877, 1563, 0, 0, 0, 0, 0, 0, 0, 0, 1750, 0, 0, 0, 0, 0, 0, 0, 1752, 0, 0, 0, 1754, 1753, 0, 0, 1755, 0, 362, 1563, 0, 0, 2359, 0, 0, 0, 0, -1869, 0, 1563, 0, 0, 0, 0, 0, 0, 1756, 1757, 0, 0, 1563, 0, 0, 708, 0, 0, 0, 0, 0, 1758, 0, 1021, 0, 0, 1563, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1553, 1754, 0, 1024, 0, 1755, 0, 1024, 0, 0, 0, 0, 0, 1759, 0, 0, 1760, 1553, 1021, 0, 1563, 0, 1555, 1555, 1563, 1756, 1757, 1764, 0, 1761, 0, 1762, 0, 0, 2701, 0, 0, 0, 1758, 2702, 1024, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 3248, 3249, 3250, 3251, 1754, 0, 0, 0, 1755, 0, 1021, 0, 0, 0, 0, 1306, 1021, 0, 0, 1759, 0, 1306, 1760, 0, 1563, 0, 0, 0, 1756, 1757, 0, 0, 0, 1306, 0, 1761, 0, 1762, 0, 1306, 1763, 1758, 0, 1306, 0, 0, 0, 1563, 1306, 0, 0, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 1306, 0, 0, 0, 0, 1306, 1306, 0, 0, 0, 1555, 0, 1759, 0, 1563, 1760, 0, 0, 0, 1306, 0, 0, 0, 0, 0, 0, 1306, 1555, 1761, 1306, 1762, 1306, 0, 0, 0, 0, 1763, 0, 1563, 1306, 1306, 1306, 0, 0, 0, 1306, 0, 1764, 1306, 1301, 0, 0, 0, 0, 890, 0, 0, 890, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 0, 3446, 0, 0, 0, 0, 0, 0, 1301, 2360, 0, 0, 0, 0, 0, 0, 0, 0, 1763, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1749, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 1750, 0, 0, 1751, 0, 0, 0, 0, 1752, 0, 0, 0, 0, 1753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 1764, 0, 0, 0, 0, 0, 3381, 0, 0, 0, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 0, 0, 1189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3419, 0, 0, 0, 0, 0, 0, 1301, 708, 0, 0, 0, 1021, 0, 0, 1306, 0, 0, 1021, 0, 0, 0, 0, 0, 0, 0, 1563, 1553, 0, 0, 0, 0, 3427, 0, 0, 0, 0, 0, 1561, 0, 0, 0, 0, 1754, 0, 0, 0, 1755, 0, 0, 0, 0, 0, 0, 0, 1553, 1553, 0, 1553, 0, 1563, 0, 0, 1021, 0, 0, 0, 1756, 1757, 0, 73, 0, 0, 1553, 1024, 1553, 0, 0, 0, 1024, 1758, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1553, 0, 0, 0, 0, 0, 0, 0, 1759, 0, 0, 1760, 1306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1761, 0, 1762, 0, 0, 0, 1553, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1555, 0, 1553, 0, 0, 589, 1301, 0, 0, 1306, 1306, 0, 0, 0, 1306, 1563, 0, 0, 0, 0, 0, 1306, 1306, 0, 0, 1306, 0, 0, 1555, 1555, 1553, 1555, 0, 1301, 0, 0, 0, 0, 0, 0, 1553, 1763, 0, 0, 0, 0, 1555, 0, 1555, 0, 0, 1553, 0, 0, 0, 0, 0, 1301, 1301, 0, 1301, 0, 0, 0, 0, 1553, 0, 0, 0, 790, 0, 0, 0, 0, 0, 0, 1555, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0, 0, 0, 0, 0, 1553, 1306, 0, 589, 1553, 0, 0, 0, 1555, 0, 1764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1765, 1766, 1767, 1555, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 0, 0, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1555, 1301, 1553, 1306, 1301, 1301, 0, 1024, 0, 0, 1555, 0, 1563, 0, 0, 0, 851, 0, 0, 0, 0, 1555, 0, 0, 0, 1553, 0, 0, 0, 0, 0, 1306, 0, 0, 1306, 1555, 604, 0, 851, 0, 0, 0, 1563, 1306, 1306, 0, 0, 1306, 0, 0, 0, 0, 1553, 0, 1306, 1306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1555, 1561, 0, 1749, 1555, 708, 0, 0, 1553, 890, 1306, 0, 0, 0, 0, 0, 0, 1750, 0, 0, 2660, 0, 0, 0, 0, 1752, 0, 0, 1955, 1024, 1753, 0, 0, 1749, 0, 0, 0, 0, 0, 0, 0, 0, 1561, 0, 890, 0, 0, 1750, 0, 0, 0, 0, 0, 0, 1555, 1752, 0, 0, 0, 0, 1753, 0, 0, 0, 0, 1024, 1306, 0, 0, 0, 890, 0, 1749, 0, 0, 0, 0, 1555, 0, 0, 0, 0, 0, 0, 0, 0, 1561, 0, 0, 0, 0, 0, 1306, 1306, 1752, 0, 0, 0, 0, 1753, 0, 1561, 0, 0, 1555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 1561, 0, 0, 1553, 0, 0, 0, 0, 0, 0, 1555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1754, 0, 0, 0, 1755, 1561, 0, 0, 708, 1024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1756, 1757, 0, 0, 0, 0, 1754, 0, 0, 0, 1755, 0, 3073, 1758, 0, 0, 0, 0, 0, 1021, 0, 1021, 0, 0, 1561, 0, 1021, 0, 0, 0, 1756, 1757, 0, 1561, 0, 0, 0, 1563, 0, 1553, 0, 0, 0, 1758, 1759, -1869, 0, 1760, 0, 1755, 0, 0, 0, 0, 1024, 0, 0, 0, 0, 0, 1761, 0, 1762, 0, 0, 0, 0, 0, 0, 1756, 1757, 1021, 0, 1553, 1759, 0, 0, 1760, 0, 1555, 0, 0, -1869, 0, 0, 0, 0, 0, 1024, 0, 1761, 1563, 1762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 1301, 0, 0, 790, 0, 0, 0, 1301, 0, 0, 1301, 1301, 0, 1760, 0, 0, 0, 0, 1763, 0, 0, 0, 1301, 1301, 0, 0, 1761, 0, 0, 0, 1301, 0, 0, 0, 1301, 1301, 1301, 1301, 0, 0, 0, 0, 0, 0, 1301, 1301, 0, 0, 1763, 0, 0, 0, 0, 0, 0, 0, 1555, 0, 0, 0, 1561, 1301, 708, 0, 0, 1301, 0, 0, 0, 1301, 0, 0, 1553, 1301, 0, 0, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1764, 1301, -1869, 0, 0, 1555, 1301, 2662, 0, 0, 1301, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1764, 0, 0, 0, 1749, 0, 0, 0, 0, 0, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 73, 0, 0, 1752, 0, 0, 0, 0, 1753, 0, 0, 0, 0, 1301, 0, 0, 1764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 1556, 0, 0, 0, 0, 0, 1749, 0, 0, 0, 0, 0, 0, 0, 0, 1555, 0, 0, 589, 0, 1750, 0, 0, 0, 0, 0, 0, 1556, 1752, 0, 0, 0, 0, 1753, 0, 0, 0, 0, 0, 0, 0, 1556, 1553, 0, 3245, 0, 0, 0, 0, 708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 1553, 0, 0, 0, 0, -1869, 0, 0, 0, 1755, 1955, 1561, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 1756, 1757, 604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1869, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 0, 0, 0, 0, 0, 0, 0, 0, 1754, 1556, 0, 0, 1755, 0, 0, 1760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 0, 1761, 1555, 0, 0, 1756, 1757, 0, 0, 0, 589, 589, 0, 0, 1301, 0, 0, 0, 1758, 851, 1561, 851, 0, 851, 0, 1556, 0, 0, 0, 851, 851, 0, 1555, 0, 1556, 1301, 0, 1561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1759, 0, 0, 1760, 0, 0, 0, 0, 604, 0, 0, 0, 0, -1869, 0, 0, 1761, 0, 1762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2679, 0, 0, 0, 0, 0, 0, 604, 0, 0, 589, 589, 0, 0, 73, 73, 0, 73, 604, 604, 0, 0, 1408, 0, 0, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1763, 0, 0, 1764, 0, 0, 0, 0, 0, 0, 0, 1553, 0, 0, 0, 0, 0, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 0, 0, 1387, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 1301, 0, 0, 0, 0, 0, 0, 604, 604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1387, 0, 0, 0, 1301, 0, 0, 1553, 0, 1764, 0, 589, 0, 0, 0, 0, 0, 0, 0, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 1301, 1301, 1301, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 1301, 1555, 1301, 0, 0, 589, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 1301, 0, 0, 0, 1301, 0, 0, 0, 604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, 1301, 1301, 0, 0, 0, 0, 0, 1555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 1301, 1301, 1301, 0, 0, 0, 0, 604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1561, 1556, 1556, 0, 0, 1749, 0, 589, 0, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 589, 1750, 0, 0, 2710, 0, 0, 0, 0, 1752, 1955, 1561, 0, 1561, 1753, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1749, 0, 0, 1561, 0, 1561, 0, 0, 0, 0, 0, 0, 0, 0, 1750, 0, 0, 0, 0, 0, 589, 1557, 1752, 1408, 0, 1408, 1408, 1753, 0, 0, 0, 0, 0, 1561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 604, 0, 0, 1561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 1561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 0, 0, 0, 0, 0, 0, 0, 1754, 73, 0, 0, 1755, 73, 0, 0, 604, 708, 1561, 1387, 0, 1387, 1387, 0, 0, 0, 0, 0, 1561, 0, 0, 2715, 1756, 1757, 0, 0, 0, 0, 0, 1561, 0, 0, 0, 0, 0, 1758, 1754, 0, 0, 0, 1755, 0, 0, 1561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 1756, 1757, 0, 1021, 0, 0, 1759, 0, 0, 1760, 0, 0, 0, 1758, 0, 604, 1561, 0, 0, 0, 1561, 0, 1761, 0, 1762, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, 0, 0, 0, 0, 0, 0, 1759, 0, 0, 1760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1761, 1301, 1762, 0, 0, 0, 0, 1301, 0, 0, 1561, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 0, 0, 1763, 0, 1301, 0, 0, 0, 1301, 0, 0, 0, 1561, 1301, 0, 0, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 1301, 0, 0, 0, 0, 1301, 1301, 0, 0, 0, 0, 0, 0, 0, 1561, 1763, 0, 0, 589, 1301, 0, 0, 0, 0, 0, 0, 1301, 0, 1387, 1301, 0, 1301, 0, 0, 0, 0, 0, 0, 1561, 1301, 1301, 1301, 0, 0, 1764, 1301, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1764, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 604, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 1556, 888, 1556, 0, 0, 0, 0, 1557, 888, 0, 888, 0, 0, 0, 0, 0, 0, 1556, 0, 1556, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 851, 851, 851, 1301, 0, 0, 0, 604, 851, 1557, 0, 0, 851, 851, 1561, 0, 0, 0, 0, 851, 0, 0, 1556, 589, 0, 0, 0, 0, 851, 0, 851, 0, 0, 0, 0, 0, 0, 1749, 1556, 0, 0, 0, 0, 0, 851, 0, 851, 0, 1561, 0, 0, 1750, 1557, 0, 0, 0, 0, 0, 0, 1752, 0, 1557, 1021, 0, 1753, 0, 1556, 1021, 0, 0, 1021, 0, 0, 0, 0, 0, 1556, 1749, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 1750, 0, 0, 0, 0, 0, 0, 0, 1752, 0, 1556, 0, 1301, 1753, 0, 0, 589, 604, 0, 0, 0, 0, 0, 1408, 0, 73, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 0, 1556, 0, 0, 0, 0, 0, 1301, 1301, 0, 0, 0, 1301, 1561, 0, 0, 0, 0, 0, 1301, 1301, 0, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1754, 0, 0, 0, 1755, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 1387, 0, 1556, 0, 0, 1557, 604, 0, 0, 0, 1756, 1757, 0, 1387, 0, 0, 0, 2443, 0, 0, 0, 0, 0, 1758, 0, 1556, 1754, 0, 0, 0, 1755, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1301, 0, 1756, 1757, 1556, 0, 1759, 0, 0, 1760, 0, 0, 0, 0, 0, 1758, 0, 0, 0, 0, 0, 0, 1761, 0, 1762, 0, 0, 589, 1556, 0, 0, 589, 0, 0, 0, 589, 0, 0, 1021, 0, 0, 0, 0, 0, 0, 2519, 1759, 0, 0, 1760, 0, 0, 0, 0, 1301, 0, 0, 851, 1021, 0, 0, 0, 1761, 1561, 1762, 1387, 0, 0, 1387, 1387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2543, 1301, 1763, 0, 1301, 0, 0, 0, 0, 0, 0, 0, 1561, 1301, 1301, 589, 0, 1301, 0, 0, 0, 0, 0, 0, 1301, 1301, 0, 0, 0, 0, 0, 604, 0, 0, 0, 604, 0, 0, 0, 604, 0, 0, 1763, 0, 0, 0, 0, 0, 1301, 851, 0, 0, 0, 0, 851, 0, 0, 0, 589, 0, 1556, 0, 0, 0, 3016, 0, 0, 1021, 0, 1764, 0, 0, 0, 0, 0, 1557, 1557, 0, 0, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 1021, 1301, 0, 0, 0, 0, 1764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1765, 1766, 1767, 0, 1768, 1769, 1770, 1771, 1772, 1773, 1301, 1301, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 0, 0, 604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 762, 0, 0, 1019, 0, 0, 0, 0, 0, 0, 0, 763, 0, 0, 0, 1557, 1556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, 0, 0, 764, 1557, 1019, 0, 0, 1560, 0, 0, 851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 765, 0, -485, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1953, 0, 0, 0, 766, 0, 0, 0, 0, 0, 767, 0, 1019, 0, 1560, 0, 1561, 0, 1019, 0, 0, 1408, 768, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -612, 0, 769, 0, 1556, 0, 770, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 1021, 0, 0, 1561, -598, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, -402, 0, 0, 0, 0, 0, 0, 0, 0, 0, 851, 771, 1387, 0, 0, 0, 0, 1298, 0, 0, 0, 1560, 888, 2835, 0, 888, 0, 0, 0, 0, 2838, 0, 2839, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 772, 0, 773, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, -402, 0, 589, 0, 589, 589, 0, 0, 0, 0, 0, 0, 0, 589, 0, 0, 0, 0, 0, 1408, 0, 774, 0, 0, 0, -612, 2519, 775, 0, 0, 0, 0, 851, 1556, 0, 0, 0, 2903, 589, 0, 0, 0, 0, 0, 0, 0, 0, 1408, 1387, 0, 0, 0, 0, 0, 0, 1387, 1387, 0, 776, 777, 0, 778, 0, 1556, 0, 0, 0, 0, 0, 779, 0, 0, 0, 780, 781, 0, 0, 0, 782, 0, 589, 589, 0, 783, 0, 0, 0, 604, 0, 604, 604, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0, 0, 0, 1387, 1298, 0, 0, 0, 851, 1019, 851, 0, 0, 0, 0, 1019, 0, 0, 0, 0, 0, 2905, 604, 0, 1557, 0, 0, 1560, 0, 0, 0, 1387, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 1557, 0, 1557, 0, 0, 0, 0, 1019, 0, 0, 0, 604, 604, 0, 0, 0, 0, 1557, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 851, 0, 0, 0, 1557, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 1556, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 1298, 1298, 0, 1298, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 604, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 1953, 1953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1556, 1557, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 1557, 0, 1298, 1298, 2519, 2519, 2519, 2519, 2519, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 604, 604, 0, 0, 0, 0, 0, 0, 0, 589, 1559, 0, 0, 0, 0, 0, 0, 1557, 888, 0, 0, 0, 0, 0, 0, 0, 0, 851, 0, 0, 0, 0, 851, 851, 851, 851, 851, 1952, 0, 0, 851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3258, 589, 0, 0, 0, 0, 0, 0, 73, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 589, 0, 0, 0, 589, 589, 3284, 0, 0, 589, 3288, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 0, 1019, 0, 0, 1559, 0, 1019, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0, 0, 0, 0, 0, 0, 851, 0, 0, 0, 0, 589, 1019, 0, 1557, 0, 0, 0, 0, 851, 0, 0, 0, 0, 0, 604, 604, 0, 0, 0, 604, 604, 0, 0, 0, 604, 0, 0, 0, 0, 0, 0, 0, 1298, 1298, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 1298, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 1298, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 1298, 1298, 1298, 1298, 0, 1560, 0, 0, 0, 0, 1298, 1298, 0, 0, 0, 0, 0, 0, 604, 0, 0, 0, 0, 0, 0, 589, 1559, 1298, 0, 0, 0, 1298, 0, 1953, 1953, 1298, 1953, 0, 1557, 1298, 0, 0, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1560, 1298, 1560, 0, 0, 0, 1298, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 589, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 604, 1560, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1953, 0, 0, 0, 0, 604, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 1953, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 1952, 1559, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 851, 851, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 1022, 1298, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 1557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 1298, 1298, 1298, 0, 1560, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 1298, 0, 1298, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 1298, 0, 1298, 0, 0, 3187, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 0, 1298, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 1298, 1298, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1952, 1559, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 1022, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 0, 0, 0, 1019, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 1019, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 1302, 1298, 1302, 0, 0, 0, 0, 1298, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 1302, 0, 0, 0, 0, 1298, 0, 0, 0, 1298, 0, 0, 0, 1559, 1298, 0, 0, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 1298, 0, 0, 0, 0, 1298, 1298, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 1298, 0, 1298, 0, 0, 0, 0, 0, 0, 1559, 1298, 1298, 1298, 0, 0, 0, 1298, 0, 1302, 1298, 0, 1302, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1956, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 1560, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 0, 0, 0, 0, 1019, 0, 0, 1019, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 1022, 0, 0, 1562, 0, 1022, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 1298, 0, 0, 0, 1298, 1559, 0, 1347, 0, 0, 0, 1298, 1298, 0, 0, 1298, 1302, 1302, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 1302, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 1302, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 1302, 1302, 1302, 1302, 0, 0, 0, 0, 0, 0, 1302, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 1302, 0, 0, 0, 1302, 0, 0, 0, 1302, 0, 0, 1298, 1302, 0, 0, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 0, 1302, 0, 0, 0, 0, 1302, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1503, 0, 0, 1298, 0, 0, 0, 1019, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 1298, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 1559, 1298, 1298, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 1298, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 1298, 0, 1956, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 1694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1298, 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1737, 1738, 0, 1741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1019, 0, 0, 0, 0, 0, 0, 1849, 0, 0, 1856, 1858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 1019, 0, 0, 1559, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 1302, 1302, 1302, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 1302, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 1302, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 1302, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 1302, 1302, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 1956, 1562, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 1562, 0, 0, 0, 0, 0, 2217, 0, 0, 0, 2219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 2241, 0, 0, 0, 2244, 0, 0, 2254, 0, 0, 0, 0, 0, 0, 2261, 2266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 2277, 0, 0, 0, 2283, 0, 0, 0, 2294, 0, 0, 0, 2301, 0, 1562, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 0, 2312, 0, 0, 0, 0, 1280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1347, 0, 0, 1022, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 1302, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 1302, 2406, 0, 0, 1302, 0, 0, 0, 1562, 1302, 0, 0, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 1302, 0, 0, 0, 0, 1302, 1302, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 1302, 0, 1302, 0, 0, 0, 0, 0, 0, 1562, 1302, 1302, 1302, 0, 0, 0, 1302, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 2492, 2250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 1775, 0, 0, 1775, 0, 0, 2511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 1302, 0, 0, 1775, 0, 1775, 0, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2656, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 1022, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2266, 0, 2266, 2266, 0, 0, 0, 0, 1302, 2718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2738, 0, 2740, 0, 0, 0, 2743, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 1302, 0, 0, 0, 1302, 1562, 0, 0, 0, 0, 0, 1302, 1302, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1347, 0, 0, 0, 0, 0, 1849, 0, 0, 0, 0, 0, 0, 0, 1858, 1858, 1856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2813, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 0, 1022, 0, 0, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1302, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 0, 1562, 1302, 1302, 0, 0, 1302, 0, 0, 0, 0, 0, 0, 1302, 1302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 1302, 0, 0, 0, 1775, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 1775, 0, 2250, 2697, 0, 0, 2250, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 1775, 0, 1022, 1302, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 2250, 2250, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 1302, 1302, 0, 0, 0, 0, 1775, 0, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3013, 0, 0, 0, 0, 0, 3017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 3022, 0, 0, 0, 0, 0, 3023, 0, 0, 0, 3025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3042, 3043, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1562, 0, 0, 3056, 1775, 0, 3059, 0, 3061, 0, 0, 0, 0, 0, 0, 0, 3066, 1022, 0, 0, 0, 0, 3071, 0, 0, 3074, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1022, 0, 0, 1562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 0, 0, 0, 0, 9, 0, 10, 11, 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2697, 0, 2250, 0, 0, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 2250, 0, 2697, 3222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 2697, 2697, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 2250, 2250, 1775, 0, 1775, 0, 0, 1775, 0, 3237, 0, 0, 0, 0, 0, 39, 3243, 3244, 0, 0, 3246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 2250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 3365, 0, 0, 0, 0, 0, 0, 0, 3367, 0, 47, 0, 0, 0, 0, 48, 49, 0, 50, 0, 51, 0, 0, 0, 52, 53, 0, 54, 55, 0, 0, 3375, 56, 57, 58, 59, 60, 0, 0, 61, 62, 63, 64, 0, 65, 66, 67, 0, 68, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 3411, 0, 1775, 0, 0, 0, 0, 1775, 1775, 0, 1775, 0, 0, 2697, 0, 4, 0, 2697, 2697, 2697, 2697, 2697, 2697, 2697, 2697, 2697, 2697, 1775, 1775, 5, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 1775, 2250, 2250, 1775, 0, 1775, 0, 0, 7, 8, 1775, 2697, 2697, 0, 0, 1775, 10, 11, 1775, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 7, 8, 0, 0, 2697, 0, 0, 0, 10, 11, 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1775, 36, 0, 0, 0, 0, 0, 2250, 0, 0, 2250, 0, 38, 2697, 2697, 1775, 0, 0, 0, 2250, 2250, 1775, 1775, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2697, 2250, 2250, 2697, 0, 0, 2697, 2697, 1775, 40, 1775, 0, 41, 43, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 1775, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 2697, 2697, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 48, 49, 0, 50, 0, 43, 0, 0, 0, 52, 53, 0, 54, 55, 0, 0, 0, 56, 57, 58, 59, 60, 0, 0, 61, 62, 990, 0, 0, 0, 991, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 48, 49, 5, 50, 0, 0, 0, 0, 0, 52, 53, 6, 54, 55, 0, 0, 0, 56, 57, 58, 59, 60, 7, 8, 61, 62, 990, 1401, 0, 0, 10, 11, 0, 0, 69, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 8, 0, 0, 0, 0, 36, 0, 10, 11, 0, 0, 0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 37, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 43, 0, 0, 0, 48, 49, 0, 50, 0, 0, 0, 0, 0, 52, 53, 0, 54, 55, 0, 0, 0, 56, 57, 58, 59, 60, 0, 0, 61, 62, 990, 1896, 0, 0, 0, 0, 44, 0, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 48, 49, 0, 50, 0, 0, 0, 0, 0, 52, 53, 0, 54, 55, 0, 0, 0, 56, 57, 58, 59, 60, 0, 0, 61, 62, 990, 619, 81, 82, 83, 372, 85, 86, 69, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 626, 393, 394, 627, 628, 629, 630, 631, 632, 633, 395, 396, 634, 397, 131, 398, 399, 400, 133, 134, 135, 136, 0, 635, 401, 402, 0, 403, 404, 636, 637, 405, 638, 137, 407, 639, 408, 409, 410, 411, 141, 640, 641, 412, 413, 414, 415, 416, 642, 417, 418, 144, 419, 643, 420, 421, 422, 147, 423, 644, 645, 646, 647, 648, 424, 425, 426, 427, 428, 150, 151, 429, 649, 430, 650, 431, 0, 432, 433, 434, 651, 435, 652, 653, 436, 437, 438, 439, 654, 440, 441, 442, 655, 443, 656, 444, 445, 446, 157, 447, 0, 159, 657, 448, 449, 161, 658, 450, 659, 451, 162, 660, 163, 452, 0, 453, 661, 454, 166, 662, 455, 663, 456, 457, 458, 459, 167, 460, 461, 462, 664, 463, 464, 465, 466, 467, 468, 665, 168, 169, 666, 469, 470, 471, 667, 171, 668, 172, 669, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 670, 176, 177, 478, 178, 671, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 184, 185, 672, 493, 494, 495, 496, 497, 498, 499, 186, 500, 673, 501, 502, 188, 503, 674, 189, 190, 504, 505, 675, 676, 506, 677, 678, 679, 507, 508, 680, 681, 191, 192, 193, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 682, 516, 517, 518, 519, 520, 521, 198, 522, 523, 683, 524, 525, 526, 527, 528, 529, 530, 531, 532, 684, 533, 534, 204, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 685, 543, 544, 545, 686, 546, 210, 547, 548, 212, 549, 213, 687, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 688, 559, 560, 689, 561, 562, 563, 564, 690, 216, 217, 691, 692, 566, 218, 567, 219, 693, 568, 569, 570, 571, 572, 694, 695, 573, 574, 575, 576, 696, 697, 577, 578, 0, 0, 227, 580, 228, 581, 0, 698, 699, 582, 583, 584, 585, 586, 587, 81, 82, 83, 229, 85, 86, 230, 87, 88, 89, 0, 0, 0, 92, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 0, 0, 0, 105, 106, 107, 108, 700, 109, 0, 110, 111, 112, 0, 113, 114, 115, 116, 0, 0, 0, 0, 0, 119, 120, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 123, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 133, 134, 135, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 159, 0, 0, 0, 161, 0, 0, 0, 0, 162, 0, 163, 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 169, 0, 0, 0, 0, 0, 171, 0, 172, 0, 0, 173, 174, 0, 175, 0, 0, 0, 0, 0, 0, 176, 177, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 188, 0, 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 0, 0, 0, 0, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, 212, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 217, 0, 0, 0, 218, 0, 219, 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 0, 85, 86, 0, 87, 88, 89, 0, 0, 0, 92, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 0, 2371, 0, 105, 106, 107, 108, 0, 109, 0, 110, 111, 112, 0, 113, 114, 115, 116, 0, 0, 0, 0, 0, 119, 120, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 123, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 133, 134, 135, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 159, 0, 0, 0, 161, 0, 0, 0, 0, 162, 0, 163, 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 169, 0, 0, 0, 0, 0, 171, 0, 172, 0, 0, 173, 174, 0, 175, 0, 0, 0, 0, 0, 0, 176, 177, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 188, 0, 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 0, 0, 0, 0, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, 212, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 217, 0, 0, 0, 218, 0, 219, 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 80, 0, 230, 81, 82, 83, 84, 85, 86, 0, 87, 88, 89, 90, 0, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 104, 2373, 0, 105, 106, 107, 108, 0, 109, 0, 110, 111, 112, 0, 113, 114, 115, 116, 117, 118, 0, 0, 0, 119, 120, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 123, 0, 124, 125, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 127, 128, 129, 0, 0, 0, 0, 0, 0, 0, 0, 130, 131, 0, 0, 132, 133, 134, 135, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 138, 0, 139, 140, 141, 0, 0, 142, 143, 0, 0, 0, 0, 0, 0, 144, 145, 146, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 148, 0, 149, 150, 151, 152, 0, 0, 0, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 154, 0, 0, 0, 0, 0, 155, 0, 0, 0, 0, 156, 157, 158, 0, 159, 0, 160, 0, 161, 0, 0, 0, 0, 162, 0, 163, 0, 164, 0, 165, 0, 166, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 169, 0, 0, 170, 0, 0, 171, 0, 172, 0, 0, 173, 174, 0, 175, 0, 0, 0, 0, 0, 0, 176, 177, 0, 178, 0, 179, 180, 0, 0, 0, 0, 181, 0, 0, 0, 0, 0, 0, 0, 182, 0, 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 187, 188, 0, 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 0, 0, 0, 0, 0, 195, 196, 0, 197, 0, 0, 0, 0, 0, 0, 0, 0, 198, 199, 0, 0, 200, 0, 201, 0, 0, 0, 202, 0, 0, 0, 0, 203, 204, 0, 205, 206, 0, 0, 207, 0, 0, 0, 0, 208, 0, 0, 0, 0, 209, 210, 0, 211, 212, 0, 213, 0, 0, 214, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 217, 0, 0, 0, 218, 0, 219, 0, 220, 0, 221, 0, 0, 222, 0, 0, 223, 0, 224, 0, 0, 225, 0, 0, 226, 227, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, 230, 0, 0, 0, 0, 0, 0, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 231, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 2330, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1209, 135, 1210, 1211, 0, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 2331, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 1239, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 1243, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 0, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 1256, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1259, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 1263, 1264, 2332, 0, 0, 0, 0, 0, 0, 1266, 2333, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1209, 135, 1210, 1211, 0, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 1239, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 1243, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 0, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 1256, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1259, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 1263, 1264, 0, 0, 0, 0, 0, 0, 0, 1266, 2252, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1529, 135, 1530, 1211, 0, 401, 402, 0, 403, 404, 0, 0, 405, 1531, 1532, 407, 0, 408, 409, 410, 411, 0, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 0, 419, 0, 420, 421, 422, 147, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 1533, 1534, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 0, 447, 0, 0, 0, 448, 449, 1535, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 0, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 1942, 463, 464, 465, 466, 467, 468, 0, 168, 1943, 0, 469, 470, 471, 1231, 1536, 0, 1537, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 0, 177, 478, 178, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1538, 184, 1539, 0, 493, 494, 495, 496, 497, 498, 499, 0, 500, 0, 501, 502, 188, 503, 0, 0, 1540, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 1944, 192, 193, 0, 509, 510, 511, 512, 0, 0, 0, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1541, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 0, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 1542, 547, 548, 212, 549, 1543, 0, 550, 551, 552, 553, 554, 555, 556, 557, 0, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1544, 1545, 0, 0, 566, 0, 567, 0, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 0, 1546, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 0, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 1945, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 3414, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, -1298, 374, 0, 93, -1298, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1209, 135, 1210, 1211, 2262, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 2263, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 2264, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 1239, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 1243, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 2265, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 1256, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1259, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 1263, 1264, 619, 81, 82, 83, 372, 85, 86, 1266, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1209, 135, 1210, 1211, 0, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 1239, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 1243, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 0, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 1256, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1259, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 1263, 1264, 1265, 0, 0, 0, 0, 0, 0, 1266, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1209, 135, 1210, 1211, 0, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 1346, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 1239, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 1243, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 0, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 1256, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1259, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 1263, 1264, 619, 81, 82, 83, 372, 85, 86, 1266, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1209, 135, 1210, 1211, 0, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 1239, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 1243, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 208, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 0, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 1256, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 1739, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1259, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 1263, 1264, 619, 81, 82, 83, 372, 85, 86, 1266, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 1854, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1209, 135, 1210, 1211, 0, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 1239, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 1243, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 0, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 1256, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1259, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 1263, 1264, 619, 81, 82, 83, 372, 85, 86, 1266, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1209, 135, 1210, 1211, 0, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 1239, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 1243, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 0, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 1256, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1259, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 1263, 1264, 0, 0, 0, 0, 0, 1689, 0, 1266, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1209, 135, 1210, 1211, 0, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 2263, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 1239, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 1243, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 0, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 1256, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1259, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 1263, 1264, 619, 81, 82, 83, 372, 85, 86, 1266, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1209, 135, 1210, 1211, 0, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 1239, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 1243, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 0, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 1256, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1259, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 1263, 1264, 619, 81, 82, 83, 372, 85, 86, 1266, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1209, 135, 1210, 1211, 0, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 1243, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 0, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1259, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 0, 2246, 619, 81, 82, 83, 372, 85, 86, 1266, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 0, 1209, 135, 1210, 1211, 0, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 0, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 0, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 1243, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 0, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 0, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 1256, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1259, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 1263, 1264, 619, 81, 82, 83, 372, 85, 86, 1266, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 1208, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 0, 1209, 135, 1210, 1211, 0, 401, 402, 0, 403, 404, 1212, 1213, 405, 1214, 1215, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 1223, 1224, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 0, 0, 444, 445, 446, 1226, 447, 0, 1227, 1228, 448, 449, 1229, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 1231, 1232, 0, 1233, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 0, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1237, 184, 1238, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 188, 503, 1240, 1241, 1242, 504, 505, 0, 0, 506, 750, 0, 0, 0, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1246, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 1247, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 0, 549, 1249, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1251, 1252, 0, 0, 566, 1253, 567, 1254, 1255, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 1258, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 0, 230, 588, 0, 0, 1260, 1261, 52, 53, 1262, 54, 0, 0, 0, 0, 0, 2246, 0, 81, 82, 83, 372, 85, 86, 1266, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 2586, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, -956, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, -956, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, -956, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, -956, 473, 474, 475, 476, 477, 0, 176, -956, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, -956, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, -956, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 0, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 1350, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 134, 135, 136, 0, 0, 401, 402, 0, 403, 404, 0, 1213, 405, 406, 137, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 1227, 0, 448, 449, 161, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 184, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 188, 503, 0, 1241, 190, 504, 505, 0, 0, 506, 750, 0, 927, 507, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 208, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 1253, 567, 1254, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 1739, 227, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 2128, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 134, 135, 136, 0, 0, 401, 402, 0, 403, 404, 0, 1213, 405, 406, 137, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 1227, 0, 448, 449, 161, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 184, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 188, 503, 0, 1241, 190, 504, 505, 0, 0, 506, 750, 0, 927, 507, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 1253, 567, 1254, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 227, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 2128, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 134, 135, 136, 0, 0, 401, 402, 0, 403, 404, 0, 1213, 405, 406, 137, 407, 0, 408, 409, 410, 411, 1216, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 1217, 419, 0, 420, 421, 422, 147, 423, 1218, 1219, 1220, 1221, 1222, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 1227, 0, 448, 449, 161, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 1230, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 1234, 177, 478, 178, 0, 479, 480, 481, 1235, 1236, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 184, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 188, 503, 0, 1241, 190, 504, 505, 0, 0, 506, 750, 0, 0, 507, 508, 0, 0, 191, 192, 193, 1244, 509, 510, 511, 512, 0, 1245, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 1248, 546, 210, 547, 548, 212, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 1250, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 1253, 567, 1254, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 1257, 0, 577, 578, 0, 579, 227, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 3332, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 0, 230, 588, 0, 0, 0, 0, 52, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516, 2517, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 0, 230, 588, 0, 0, 0, 0, 52, 53, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 2517, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 750, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 1338, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 208, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 1739, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 588, 0, 0, 0, 0, 0, 0, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 231, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 208, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 1739, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 231, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 1831, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 0, 0, 0, 0, 0, 0, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 2984, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 626, 393, 394, 627, 628, 629, 630, 631, 632, 633, 395, 396, 634, 397, 131, 398, 399, 400, 133, 1529, 135, 1530, 1211, 635, 401, 402, 0, 403, 404, 636, 637, 405, 1531, 1532, 407, 639, 408, 409, 410, 411, 0, 640, 641, 412, 413, 414, 415, 416, 642, 417, 418, 0, 419, 643, 420, 421, 422, 147, 423, 644, 645, 646, 647, 648, 424, 425, 426, 427, 428, 1533, 1534, 429, 649, 430, 650, 431, 0, 432, 433, 434, 651, 435, 652, 653, 436, 1225, 438, 439, 654, 440, 441, 442, 655, 443, 656, 444, 445, 446, 0, 447, 0, 0, 657, 448, 449, 1535, 658, 450, 659, 451, 162, 660, 163, 452, 0, 453, 661, 454, 0, 662, 455, 663, 456, 457, 458, 459, 167, 460, 461, 462, 664, 463, 464, 465, 466, 467, 468, 665, 168, 0, 0, 469, 470, 471, 1231, 1536, 668, 1537, 669, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 670, 0, 177, 478, 178, 671, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1538, 184, 1539, 672, 493, 494, 495, 496, 497, 498, 499, 0, 500, 673, 501, 502, 188, 503, 674, 0, 1540, 504, 505, 675, 676, 506, 677, 678, 679, 2878, 508, 680, 681, 0, 192, 193, 0, 509, 510, 511, 512, 0, 0, 0, 513, 514, 515, 682, 516, 517, 518, 519, 520, 521, 1541, 522, 523, 683, 524, 525, 526, 527, 528, 529, 530, 531, 532, 684, 533, 534, 204, 535, 536, 0, 537, 538, 539, 540, 541, 542, 0, 685, 543, 544, 545, 686, 546, 1542, 547, 548, 212, 549, 1543, 687, 550, 551, 552, 553, 554, 555, 556, 557, 0, 558, 688, 559, 560, 689, 561, 562, 563, 564, 690, 1544, 1545, 0, 692, 566, 0, 567, 0, 693, 568, 569, 570, 571, 572, 0, 695, 573, 574, 575, 576, 696, 697, 577, 578, 0, 0, 1546, 580, 228, 581, 0, 698, 699, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 1037, 230, 588, 0, 0, 0, 0, 52, 53, 0, 54, 1038, 1039, 1040, 0, 1041, 2879, 1043, 1044, 1045, 1046, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 1036, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 1037, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1038, 1039, 1040, 0, 1041, 1042, 1043, 1044, 1045, 1046, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 1037, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1038, 1039, 1040, 0, 1041, 1042, 1043, 1044, 1045, 1046, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 626, 393, 394, 627, 628, 629, 630, 631, 632, 633, 395, 396, 634, 397, 131, 398, 399, 400, 133, 134, 135, 136, 0, 635, 401, 402, 0, 403, 404, 636, 637, 405, 638, 137, 407, 639, 408, 409, 410, 411, 141, 640, 641, 412, 413, 414, 415, 416, 642, 417, 418, 144, 419, 643, 420, 421, 422, 147, 423, 644, 645, 646, 647, 648, 424, 425, 426, 427, 428, 150, 151, 429, 649, 430, 650, 431, 0, 432, 433, 434, 651, 435, 652, 653, 436, 437, 438, 439, 654, 440, 441, 442, 655, 443, 656, 444, 445, 446, 157, 447, 0, 159, 657, 448, 449, 161, 658, 450, 659, 451, 162, 660, 163, 452, 0, 453, 661, 454, 166, 662, 455, 663, 456, 457, 458, 459, 167, 460, 461, 462, 664, 463, 464, 465, 466, 467, 468, 665, 168, 169, 666, 469, 470, 471, 667, 171, 668, 172, 669, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 670, 176, 177, 478, 178, 671, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 184, 185, 672, 493, 494, 495, 496, 497, 498, 499, 186, 500, 673, 501, 502, 188, 503, 674, 189, 190, 504, 505, 675, 676, 506, 677, 678, 679, 507, 508, 680, 681, 191, 192, 193, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 682, 516, 517, 518, 519, 520, 521, 198, 522, 523, 683, 524, 525, 526, 527, 528, 529, 530, 531, 532, 684, 533, 534, 204, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 685, 543, 544, 545, 686, 546, 210, 547, 548, 212, 549, 213, 687, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 688, 559, 560, 689, 561, 562, 563, 564, 690, 216, 217, 691, 692, 566, 218, 567, 219, 693, 568, 569, 570, 571, 572, 694, 695, 573, 574, 575, 576, 696, 697, 577, 578, 0, 0, 227, 580, 228, 581, 0, 698, 699, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 0, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 1504, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 1529, 0, 1530, 1211, 0, 401, 402, 0, 403, 404, 0, 0, 405, 1531, 1532, 407, 0, 408, 409, 410, 411, 0, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 0, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 1533, 1534, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 0, 447, 0, 0, 0, 448, 449, 1535, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 0, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 0, 0, 469, 470, 471, 1231, 1536, 0, 1537, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 0, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1538, 0, 1539, 0, 493, 494, 495, 496, 497, 498, 499, 0, 500, 0, 501, 502, 0, 503, 0, 0, 1540, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 0, 0, 0, 0, 509, 510, 511, 512, 0, 0, 0, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1541, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 0, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 1542, 547, 548, 0, 549, 1543, 0, 550, 551, 552, 553, 554, 555, 556, 557, 0, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1544, 1545, 0, 0, 566, 0, 567, 0, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 0, 1546, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 1906, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 750, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 925, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 1812, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 1813, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 1814, 0, 506, 0, 1815, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 1816, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 0, 230, 588, 0, 0, 0, 0, 52, 53, 0, 54, 0, 0, 0, 0, 0, 1382, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 1813, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 1814, 0, 506, 0, 1815, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 1816, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 0, 230, 588, 0, 0, 0, 0, 52, 53, 0, 54, 0, 0, 0, 0, 0, 1382, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 833, 387, 388, 389, 390, 391, 392, 834, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 835, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 836, 161, 0, 450, 0, 837, 0, 838, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 839, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 840, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 841, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 842, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 843, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 588, 0, 0, 0, 0, 0, 53, 0, 81, 82, 83, 372, 85, 86, 844, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 833, 387, 388, 389, 390, 391, 392, 834, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 835, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 836, 161, 0, 450, 0, 837, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 840, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 841, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 842, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 843, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 588, 0, 0, 0, 0, 0, 53, 0, 81, 82, 83, 372, 85, 86, 844, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 612, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 1310, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 588, 0, 0, 81, 82, 83, 372, 85, 86, 1311, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 0, 230, 588, 0, 0, 1260, 1261, 52, 53, 0, 54, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 565, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 0, 230, 588, 0, 0, 0, 0, 52, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 983, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 0, 230, 588, 0, 0, 0, 0, 52, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 1803, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 0, 230, 588, 0, 0, 0, 0, 52, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 49, 0, 230, 588, 0, 0, 0, 0, 52, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 0, 904, 1594, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 905, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 882, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 906, 0, 907, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 908, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 909, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 910, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 911, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 912, 217, 0, 0, 913, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 886, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 81, 82, 83, 229, 85, 86, 230, 87, 88, 89, 0, 0, 0, 92, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 0, 0, 0, 105, 106, 107, 108, 0, 109, 0, 110, 111, 112, -1414, 113, 114, 115, 116, 0, 0, 0, 0, 0, 119, 120, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 123, 0, 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 133, 134, 135, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 159, 0, 0, 0, 161, 0, 0, 0, 0, 162, 0, 163, 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 169, 0, 0, 0, 0, 0, 171, 0, 172, 0, 0, 173, 174, 0, 175, 0, 0, 0, 0, 0, 0, 176, 177, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 188, 0, 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 0, 0, 0, 0, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, 212, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 217, 0, 0, 0, 218, 0, 219, 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, 230, 0, 363, 81, 82, 83, 0, 85, 86, 0, 87, 88, 89, 0, 0, 0, 92, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 0, 0, 0, 105, 106, 107, 108, 0, 109, 0, 110, 111, 112, -1415, 113, 114, 115, 116, 0, 0, 0, 0, 0, 119, 120, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 123, 0, 124, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 133, 134, 135, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 159, 0, 0, 0, 161, 0, 0, 0, 0, 162, 0, 163, 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 169, 0, 0, 0, 0, 0, 171, 0, 172, 0, 0, 173, 174, 0, 175, 0, 0, 0, 0, 0, 0, 176, 177, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 188, 0, 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 0, 0, 0, 0, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, 212, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 217, 0, 0, 0, 218, 0, 219, 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, 230, 0, 974, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 626, 393, 394, 627, 628, 629, 630, 631, 632, 633, 395, 396, 634, 397, 131, 398, 399, 400, 133, 134, 135, 136, 0, 635, 401, 402, 0, 403, 404, 636, 637, 405, 638, 137, 407, 639, 408, 409, 410, 411, 141, 640, 641, 412, 413, 414, 415, 416, 642, 417, 418, 144, 419, 643, 420, 421, 422, 147, 423, 644, 645, 646, 647, 648, 424, 425, 426, 427, 428, 150, 151, 429, 649, 430, 650, 431, 0, 432, 433, 434, 651, 435, 652, 653, 436, 437, 438, 439, 654, 440, 441, 442, 655, 443, 656, 444, 445, 446, 157, 447, 0, 159, 657, 448, 449, 161, 658, 450, 659, 451, 162, 660, 163, 452, 0, 453, 661, 454, 166, 662, 455, 663, 456, 457, 458, 459, 167, 460, 461, 462, 664, 463, 464, 465, 466, 467, 468, 665, 168, 169, 666, 469, 470, 471, 667, 171, 668, 172, 669, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 670, 176, 177, 478, 178, 671, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 184, 185, 672, 493, 494, 495, 496, 497, 498, 499, 186, 500, 673, 501, 502, 188, 503, 674, 189, 190, 504, 505, 675, 676, 506, 677, 678, 679, 507, 508, 680, 681, 191, 192, 193, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 682, 516, 517, 518, 519, 520, 521, 198, 522, 523, 683, 524, 525, 526, 527, 528, 529, 530, 531, 532, 684, 533, 534, 204, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 685, 543, 544, 545, 686, 546, 210, 547, 548, 212, 549, 213, 687, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 688, 559, 560, 689, 561, 562, 563, 564, 690, 216, 217, 691, 692, 566, 218, 567, 219, 693, 568, 569, 570, 571, 572, 694, 695, 573, 574, 575, 576, 696, 697, 577, 578, 0, 0, 227, 580, 228, 581, 0, 698, 699, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1529, 135, 1530, 1211, 0, 401, 402, 0, 403, 404, 0, 0, 405, 1531, 1532, 407, 0, 408, 409, 410, 411, 0, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 0, 419, 0, 420, 421, 422, 147, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 1533, 1534, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 0, 447, 0, 0, 0, 448, 449, 1535, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 0, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 1942, 463, 464, 465, 466, 467, 468, 0, 168, 1943, 0, 469, 470, 471, 1231, 1536, 0, 1537, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 0, 177, 478, 178, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1538, 184, 1539, 0, 493, 494, 495, 496, 497, 498, 499, 0, 500, 0, 501, 502, 188, 503, 0, 0, 1540, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 1944, 192, 193, 0, 509, 510, 511, 512, 0, 0, 0, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1541, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 0, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 1542, 547, 548, 212, 549, 1543, 0, 550, 551, 552, 553, 554, 555, 556, 557, 0, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1544, 1545, 0, 0, 566, 0, 567, 0, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 0, 1546, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 1529, 135, 1530, 1211, 0, 401, 402, 0, 403, 404, 0, 0, 405, 1531, 1532, 407, 0, 408, 409, 410, 411, 0, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 0, 419, 0, 420, 421, 422, 147, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 1533, 1534, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 0, 447, 0, 0, 0, 448, 449, 1535, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 0, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 0, 0, 469, 470, 471, 1231, 1536, 0, 1537, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 0, 177, 478, 178, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1538, 184, 1539, 0, 493, 494, 495, 496, 497, 498, 499, 0, 500, 0, 501, 502, 188, 503, 0, 0, 1540, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 0, 192, 193, 0, 509, 510, 511, 512, 0, 0, 0, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1541, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 0, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 1542, 547, 548, 212, 549, 1543, 0, 550, 551, 552, 553, 554, 555, 556, 557, 0, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1544, 1545, 0, 0, 566, 0, 567, 0, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 0, 1546, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 1407, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 2320, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 2321, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 750, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 2322, 561, 2323, 563, 2324, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 588, 81, 82, 83, 372, 85, 86, 610, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 611, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 612, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 588, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 612, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 588, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 796, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 797, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 588, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 829, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 588, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 871, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 588, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 588, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 1529, 0, 1530, 1211, 0, 401, 402, 0, 403, 404, 0, 0, 405, 1531, 1532, 407, 0, 408, 409, 410, 411, 0, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 0, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 1533, 1534, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 0, 447, 0, 0, 0, 448, 449, 1535, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 0, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 1942, 463, 464, 465, 466, 467, 468, 0, 0, 1943, 0, 469, 470, 471, 1231, 1536, 0, 1537, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 0, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1538, 0, 1539, 0, 493, 494, 495, 496, 497, 498, 499, 0, 500, 0, 501, 502, 0, 503, 0, 0, 1540, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 1944, 0, 0, 0, 509, 510, 511, 512, 0, 0, 0, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1541, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 0, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 1542, 547, 548, 0, 549, 1543, 0, 550, 551, 552, 553, 554, 555, 556, 557, 0, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1544, 1545, 0, 0, 566, 0, 567, 0, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 0, 1546, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 1529, 0, 1530, 1211, 0, 401, 402, 0, 403, 404, 0, 0, 405, 1531, 1532, 407, 0, 408, 409, 410, 411, 0, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 0, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 1533, 1534, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 0, 447, 0, 0, 0, 448, 449, 1535, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 0, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 0, 0, 469, 470, 471, 1231, 1536, 0, 1537, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 0, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1538, 0, 1539, 0, 493, 494, 495, 496, 497, 498, 499, 1971, 500, 0, 501, 502, 0, 503, 0, 0, 1540, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 0, 0, 0, 0, 509, 510, 511, 512, 0, 0, 0, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1541, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 0, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 1542, 547, 548, 0, 549, 1543, 0, 550, 551, 552, 553, 554, 555, 556, 557, 0, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1544, 1545, 0, 0, 566, 0, 567, 0, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 0, 1546, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 1529, 0, 1530, 1211, 0, 401, 402, 0, 403, 404, 0, 0, 405, 1531, 1532, 407, 0, 408, 409, 410, 411, 0, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 0, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 1533, 1534, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 0, 447, 0, 0, 0, 448, 449, 1535, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 0, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 0, 0, 469, 470, 471, 1231, 1536, 0, 1537, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 0, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1538, 0, 1539, 0, 493, 494, 495, 496, 497, 498, 499, 2832, 500, 0, 501, 502, 0, 503, 0, 0, 1540, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 0, 0, 0, 0, 509, 510, 511, 512, 0, 0, 0, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1541, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 0, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 1542, 547, 548, 0, 549, 1543, 0, 550, 551, 552, 553, 554, 555, 556, 557, 0, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1544, 1545, 0, 0, 566, 0, 567, 0, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 0, 1546, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 1529, 0, 1530, 1211, 0, 401, 402, 0, 403, 404, 0, 0, 405, 1531, 1532, 407, 0, 408, 409, 410, 411, 0, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 0, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 1533, 1534, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 0, 447, 0, 0, 0, 448, 449, 1535, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 0, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 0, 0, 469, 470, 471, 1231, 1536, 0, 1537, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 0, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1538, 0, 1539, 0, 493, 494, 495, 496, 497, 498, 499, 0, 500, 0, 501, 502, 0, 503, 1936, 0, 1540, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 0, 0, 0, 0, 509, 510, 511, 512, 0, 0, 0, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1541, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 0, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 2961, 547, 548, 0, 549, 1543, 0, 550, 551, 552, 553, 554, 555, 556, 557, 0, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1544, 1545, 0, 0, 566, 0, 567, 0, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 0, 1546, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 1529, 0, 1530, 1211, 0, 401, 402, 0, 403, 404, 0, 0, 405, 1531, 1532, 407, 0, 408, 409, 410, 411, 0, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 0, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 1533, 1534, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 0, 447, 0, 0, 0, 448, 449, 1535, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 0, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 0, 0, 469, 470, 471, 1231, 1536, 0, 1537, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 0, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1538, 0, 1539, 0, 493, 494, 495, 496, 497, 498, 499, 0, 500, 0, 501, 502, 0, 503, 0, 0, 1540, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 0, 0, 0, 0, 509, 510, 511, 512, 0, 0, 0, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1541, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 0, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 1542, 547, 548, 0, 549, 1543, 0, 550, 551, 552, 553, 554, 555, 556, 557, 0, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1544, 1545, 0, 0, 566, 0, 567, 0, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 0, 1546, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 619, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 620, 101, 102, 103, 375, 621, 0, 105, 106, 107, 108, 622, 623, 0, 110, 111, 112, 0, 113, 624, 625, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 1529, 0, 1530, 1211, 0, 401, 402, 0, 403, 404, 0, 0, 405, 1531, 1532, 407, 0, 408, 409, 410, 411, 0, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 0, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 1533, 1534, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 1225, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 0, 447, 0, 0, 0, 448, 449, 1535, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 0, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 0, 0, 469, 470, 471, 1231, 1536, 0, 1537, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 0, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 1538, 0, 1539, 0, 493, 494, 495, 496, 497, 498, 499, 0, 500, 0, 501, 502, 0, 503, 0, 0, 1540, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 0, 0, 0, 0, 509, 510, 511, 512, 0, 0, 0, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 1541, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 0, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 0, 547, 548, 0, 549, 1543, 0, 550, 551, 552, 553, 554, 555, 556, 557, 0, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 1544, 1545, 0, 0, 566, 0, 567, 0, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 0, 1546, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 385, 386, 387, 388, 389, 390, 391, 392, 626, 393, 394, 627, 628, 629, 630, 631, 632, 633, 395, 396, 634, 397, 131, 398, 399, 400, 133, 134, 135, 136, 0, 635, 401, 402, 0, 403, 404, 636, 637, 405, 0, 137, 407, 639, 408, 409, 410, 411, 141, 640, 641, 412, 413, 414, 415, 416, 642, 417, 418, 144, 419, 643, 420, 421, 422, 147, 423, 644, 645, 646, 647, 648, 424, 425, 426, 0, 428, 150, 151, 429, 649, 430, 650, 431, 0, 432, 433, 434, 651, 435, 652, 653, 436, 437, 438, 439, 654, 440, 441, 442, 655, 443, 656, 444, 445, 446, 157, 447, 0, 159, 657, 448, 449, 161, 658, 450, 659, 451, 162, 660, 163, 452, 0, 453, 661, 454, 166, 662, 455, 663, 456, 457, 0, 459, 167, 460, 461, 462, 664, 463, 464, 465, 466, 467, 468, 665, 168, 169, 0, 469, 470, 471, 0, 171, 668, 172, 669, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 670, 176, 177, 478, 178, 671, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 0, 488, 489, 0, 491, 492, 183, 184, 185, 672, 493, 494, 495, 496, 497, 498, 499, 186, 500, 673, 501, 502, 188, 503, 674, 189, 190, 504, 505, 675, 676, 506, 677, 678, 679, 507, 508, 680, 681, 191, 192, 193, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 682, 516, 517, 518, 519, 520, 521, 198, 522, 523, 683, 524, 525, 526, 527, 528, 529, 530, 531, 532, 684, 533, 534, 204, 535, 536, 206, 537, 538, 539, 540, 541, 0, 0, 685, 543, 544, 545, 686, 546, 210, 547, 548, 212, 549, 213, 687, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 688, 559, 560, 689, 561, 562, 563, 564, 690, 216, 217, 0, 692, 566, 218, 567, 219, 693, 568, 569, 570, 571, 572, 0, 695, 573, 574, 575, 576, 696, 697, 577, 578, 0, 0, 227, 580, 228, 581, 0, 698, 699, 582, 583, 584, 585, 0, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 134, 135, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 147, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 176, 177, 478, 178, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 184, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 188, 503, 0, 189, 190, 504, 505, 0, 0, 506, 750, 0, 0, 507, 508, 0, 0, 191, 192, 193, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 212, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 134, 135, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 147, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 1134, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 176, 177, 478, 178, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 184, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 188, 503, 0, 189, 190, 504, 505, 0, 0, 506, 750, 0, 0, 507, 508, 0, 0, 191, 192, 193, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 212, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 131, 398, 399, 400, 133, 134, 135, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 147, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 162, 0, 163, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 1141, 167, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 168, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 173, 174, 472, 175, 473, 474, 475, 476, 477, 0, 176, 177, 478, 178, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 184, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 188, 503, 0, 189, 190, 504, 505, 0, 0, 506, 750, 0, 0, 507, 508, 0, 0, 191, 192, 193, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 204, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 212, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 228, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 1920, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 1921, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 1922, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 2550, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 1923, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 1924, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 853, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 854, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 895, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 855, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 856, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 853, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 854, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 855, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 856, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 128, 129, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 750, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 750, 0, 927, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 1313, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 750, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 1656, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 1657, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 1658, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 750, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 1659, 541, 542, 0, 0, 1660, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 1661, 1662, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 854, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 855, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 856, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 749, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 750, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 838, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 839, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 2467, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 2468, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 2472, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 2473, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 2586, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 2599, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 2628, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 2908, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 2910, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 2912, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 3414, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 801, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 879, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 881, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 882, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 0, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 883, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 884, 217, 0, 0, 885, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 886, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 916, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 882, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 0, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 917, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 918, 217, 0, 0, 919, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 886, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 1139, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 1143, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 1150, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 1152, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 1154, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 1156, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 1158, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 1161, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 1324, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 882, 137, 1325, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 0, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 909, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 910, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 1316, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 912, 217, 0, 0, 913, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 886, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 1340, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 0, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 1420, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 1589, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 1616, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 406, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 416, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 535, 536, 206, 537, 538, 1686, 540, 541, 542, 0, 0, 543, 544, 545, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 216, 217, 0, 0, 566, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 579, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 0, 0, 0, 229, 0, 0, 230, 81, 82, 83, 372, 85, 86, 0, 87, 88, 89, 373, 0, 374, 0, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 375, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 376, 377, 0, 0, 0, 378, 379, 0, 0, 0, 0, 380, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, 382, 0, 383, 384, 0, 385, 386, 387, 388, 389, 390, 391, 392, 0, 393, 394, 0, 0, 0, 0, 0, 0, 0, 395, 396, 0, 397, 0, 398, 399, 400, 0, 134, 0, 136, 0, 0, 401, 402, 0, 403, 404, 0, 0, 405, 882, 137, 407, 0, 408, 409, 410, 411, 141, 0, 0, 412, 413, 414, 415, 0, 0, 417, 418, 144, 419, 0, 420, 421, 422, 0, 423, 0, 0, 0, 0, 0, 424, 425, 426, 427, 428, 150, 151, 429, 0, 430, 0, 431, 0, 432, 433, 434, 0, 435, 0, 0, 436, 437, 438, 439, 0, 440, 441, 442, 0, 443, 0, 444, 445, 446, 157, 447, 0, 159, 0, 448, 449, 161, 0, 450, 0, 451, 0, 0, 0, 452, 0, 453, 0, 454, 166, 0, 455, 0, 456, 457, 458, 459, 0, 460, 461, 462, 0, 463, 464, 465, 466, 467, 468, 0, 0, 169, 0, 469, 470, 471, 0, 171, 0, 172, 0, 0, 0, 0, 472, 0, 473, 474, 475, 476, 477, 0, 176, 0, 478, 0, 0, 479, 480, 481, 0, 0, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 909, 183, 0, 185, 0, 493, 494, 495, 496, 497, 498, 499, 186, 500, 0, 501, 502, 0, 503, 0, 189, 190, 504, 505, 0, 0, 506, 0, 0, 0, 507, 508, 0, 0, 191, 0, 0, 194, 509, 510, 511, 512, 0, 195, 196, 513, 514, 515, 0, 516, 517, 518, 519, 520, 521, 198, 522, 523, 0, 524, 525, 526, 527, 528, 529, 530, 531, 532, 0, 533, 534, 0, 910, 536, 206, 537, 538, 539, 540, 541, 542, 0, 0, 543, 544, 1316, 0, 546, 210, 547, 548, 0, 549, 213, 0, 550, 551, 552, 553, 554, 555, 556, 557, 215, 558, 0, 559, 560, 0, 561, 562, 563, 564, 0, 912, 217, 0, 0, 913, 218, 567, 219, 0, 568, 569, 570, 571, 572, 0, 0, 573, 574, 575, 576, 0, 0, 577, 578, 0, 886, 227, 580, 0, 581, 0, 0, 0, 582, 583, 584, 585, 586, 587, 81, 82, 83, 229, 85, 86, 230, 87, 88, 89, 0, 0, 0, 92, 93, 0, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 0, 0, 0, 105, 106, 107, 108, 0, 109, 0, 110, 111, 112, 0, 113, 114, 115, 116, 0, 0, 0, 0, 0, 119, 120, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 122, 0, 123, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 133, 134, 135, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 159, 0, 0, 0, 161, 0, 0, 0, 0, 162, 0, 163, 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 169, 0, 0, 0, 0, 0, 171, 0, 172, 0, 0, 173, 174, 0, 175, 0, 0, 0, 0, 0, 0, 176, 177, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 188, 0, 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 0, 0, 0, 0, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, 212, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 217, 0, 0, 0, 218, 0, 219, 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 228, 0, 81, 82, 83, 0, 85, 86, 0, 87, 88, 89, 0, 0, 229, 92, 93, 230, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 0, 0, 0, 105, 106, 107, 108, 0, 109, 0, 110, 111, 112, 0, 113, 114, 115, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 133, 134, 135, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 159, 0, 0, 0, 161, 0, 0, 0, 0, 162, 0, 163, 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 169, 0, 0, 0, 0, 0, 171, 0, 172, 0, 0, 173, 174, 0, 175, 0, 0, 0, 0, 0, 0, 176, 177, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 188, 0, 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 0, 0, 0, 0, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, 212, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 217, 0, 0, 0, 218, 0, 219, 0, 0, 0, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 228, 0, 81, 82, 83, 0, 85, 86, 0, 87, 88, 89, 0, 0, 229, 0, 93, 230, 95, 96, 97, 98, 99, 100, 0, 101, 102, 103, 0, 0, 0, 105, 106, 107, 108, 0, 0, 0, 110, 111, 112, 0, 113, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 0, 0, 0, 133, 134, 135, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 157, 0, 0, 159, 0, 0, 0, 161, 0, 0, 0, 0, 162, 0, 163, 0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, 0, 0, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 169, 0, 0, 0, 0, 0, 171, 0, 172, 0, 0, 173, 174, 0, 175, 0, 0, 0, 0, 0, 0, 176, 177, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 183, 184, 185, 0, 0, 0, 0, 0, 0, 0, 0, 186, 0, 0, 0, 0, 188, 0, 0, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 0, 0, 0, 0, 0, 195, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, 0, 212, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 216, 217, 0, 0, 0, 218, 0, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 227, 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, 230 }; static const short yycheck[] = { 2, 76, 220, 728, 76, 156, 948, 732, 867, 736, 1619, 231, 148, 149, 1142, 729, 148, 731, 1467, 79, 156, 1064, 76, 1107, 146, 79, 1266, 811, 1406, 743, 1114, 1558, 816, 1657, 720, 203, 913, 762, 92, 94, 824, 1203, 76, 76, 92, 772, 197, 92, 907, 104, 1051, 998, 1560, 1542, 768, 1252, 92, 1793, 1059, 2329, 114, 197, 130, 922, 224, 1324, 114, 781, 2148, 114, 145, 833, 796, 835, 1575, 837, 92, 1017, 114, 804, 2350, 843, 1605, 1095, 139, 810, 813, 76, 2204, 1575, 76, 2, 76, 1831, 149, 2051, 1575, 152, 114, 92, 2128, 156, 1103, 1034, 1575, 160, 1575, 1575, 1109, 1869, 1689, 2138, 1452, 827, 1115, 998, 2539, 2545, 1069, 2574, 920, 114, 832, 1135, 2133, 2134, 2923, 182, 852, 908, 969, 1840, 911, 1429, 76, 1837, 1167, 79, 1948, 1949, 1031, 1901, 197, 2403, 1121, 1905, 202, 24, 993, 25, 92, 1214, 1215, 209, 202, 211, 231, 232, 160, 41, 232, 209, 49, 211, 2076, 2077, 2078, 2079, 222, 1618, 978, 998, 114, 92, 222, 1238, 112, 222, 76, 76, 182, 905, 986, 987, 118, 112, 222, 118, 118, 2703, 722, 112, 105, 93, 41, 84, 237, 92, 92, 1224, 98, 202, 700, 164, 79, 8, 222, 85, 157, 157, 13, 14, 15, 91, 173, 233, 112, 81, 2517, 76, 196, 1748, 25, 26, 27, 127, 29, 30, 31, 222, 85, 3298, 35, 36, 37, 371, 91, 120, 290, 196, 130, 97, 28, 232, 844, 85, 232, 120, 232, 196, 79, 91, 162, 39, 127, 97, 339, 209, 157, 76, 133, 171, 103, 322, 215, 28, 76, 233, 42, 304, 44, 291, 76, 1722, 328, 133, 85, 233, 319, 124, 222, 98, 288, 352, 2984, 1328, 2986, 114, 98, 294, 330, 180, 3318, 159, 328, 328, 381, 237, 157, 157, 3468, 339, 2062, 3100, 85, 365, 304, 171, 260, 85, 193, 365, 352, 412, 368, 756, 371, 2510, 339, 425, 193, 76, 1036, 2680, 79, 431, 162, 152, 1587, 81, 422, 117, 112, 439, 368, 368, 3504, 92, 430, 92, 0, 362, 160, 120, 785, 2538, 1071, 2704, 1545, 1289, 92, 180, 1077, 1080, 352, 454, 133, 3154, 167, 114, 398, 92, 733, 3531, 447, 1149, 737, 1167, 3394, 454, 211, 440, 412, 744, 215, 232, 1460, 1177, 1178, 319, 1327, 1067, 76, 1511, 209, 284, 328, 233, 447, 156, 233, 3188, 1106, 345, 212, 222, 332, 1122, 347, 770, 310, 1185, 454, 774, 98, 332, 1120, 248, 76, 1193, 415, 332, 783, 454, 449, 162, 193, 2497, 284, 171, 1204, 279, 111, 365, 381, 235, 368, 447, 3495, 565, 313, 449, 1146, 565, 400, 260, 332, 2046, 263, 400, 313, 447, 1526, 229, 400, 1953, 291, 202, 1688, 1689, 233, 410, 233, 454, 209, 404, 211, 233, 1501, 1699, 1700, 28, 76, 327, 1592, 233, 229, 222, 1531, 1532, 3267, 1711, 1712, 1424, 422, 406, 1539, 425, 454, 381, 227, 359, 430, 1015, 98, 1725, 1726, 1287, 2190, 103, 365, 422, 422, 991, 425, 425, 185, 1509, 447, 430, 430, 391, 450, 454, 359, 279, 309, 454, 3208, 1534, 339, 394, 3026, 447, 370, 356, 447, 447, 454, 359, 345, 394, 1523, 400, 213, 354, 445, 454, 370, 448, 449, 1331, 1332, 454, 447, 454, 313, 2493, 425, 2495, 2496, 235, 236, 425, 1784, 443, 443, 447, 2504, 425, 445, 445, 332, 608, 609, 2815, 2816, 1402, 454, 1367, 1451, 2589, 398, 422, 441, 2593, 425, 235, 2270, 1396, 156, 430, 431, 328, 734, 422, 162, 76, 425, 739, 740, 1389, 198, 430, 431, 2345, 433, 390, 282, 1393, 180, 416, 439, 2892, 2893, 2894, 2895, 2896, 730, 731, 352, 215, 210, 2339, 450, 2128, 1637, 2417, 1948, 2419, 365, 454, 1589, 368, 2526, 3412, 383, 394, 151, 1915, 157, 235, 236, 440, 441, 442, 443, 295, 438, 439, 440, 441, 442, 443, 766, 1345, 440, 441, 442, 443, 198, 227, 2351, 803, 425, 334, 797, 414, 3445, 425, 431, 398, 1715, 1716, 1433, 431, 233, 346, 439, 122, 796, 797, 229, 439, 288, 3167, 720, 450, 282, 450, 724, 360, 720, 1512, 450, 720, 808, 171, 367, 33, 735, 295, 450, 738, 720, 218, 741, 742, 3336, 1468, 724, 724, 445, 829, 138, 448, 449, 412, 700, 167, 2510, 454, 134, 445, 720, 86, 448, 449, 763, 180, 260, 17, 454, 204, 445, 1494, 852, 448, 449, 181, 409, 776, 157, 454, 779, 341, 158, 720, 2538, 159, 112, 157, 3155, 3188, 3162, 105, 235, 295, 293, 454, 1467, 796, 797, 1429, 438, 439, 440, 441, 442, 443, 805, 197, 160, 196, 216, 423, 2516, 201, 304, 157, 2787, 347, 817, 2573, 354, 167, 821, 822, 56, 905, 438, 439, 440, 441, 442, 443, 284, 7, 720, 149, 10, 327, 724, 150, 330, 1736, 74, 219, 1097, 700, 845, 846, 22, 23, 374, 345, 295, 852, 3446, 1513, 152, 1660, 1661, 1517, 212, 2328, 352, 76, 366, 423, 179, 3313, 398, 43, 422, 2342, 46, 425, 404, 874, 288, 876, 430, 447, 438, 439, 440, 441, 442, 443, 1614, 833, 1783, 835, 17, 837, 1636, 1621, 906, 372, 373, 843, 844, 1627, 279, 1645, 337, 228, 162, 279, 905, 2300, 908, 279, 312, 911, 226, 209, 352, 305, 908, 447, 231, 911, 3124, 200, 412, 447, 757, 923, 233, 225, 1656, 450, 1658, 1659, 2956, 279, 1662, 105, 373, 279, 1607, 354, 1570, 422, 288, 1612, 425, 271, 76, 1618, 259, 430, 261, 381, 390, 312, 2246, 76, 2812, 271, 2250, 76, 2860, 2861, 152, 923, 260, 260, 2990, 263, 263, 227, 422, 303, 1630, 252, 122, 1633, 354, 98, 430, 149, 423, 383, 319, 76, 363, 298, 152, 366, 1657, 2281, 2282, 434, 435, 436, 168, 438, 439, 440, 441, 442, 443, 343, 160, 2975, 434, 448, 332, 1006, 2980, 1900, 1009, 2983, 414, 1012, 3268, 200, 423, 354, 2971, 209, 398, 720, 235, 969, 383, 724, 352, 434, 435, 436, 344, 438, 439, 440, 441, 442, 443, 923, 871, 99, 375, 343, 377, 209, 990, 991, 159, 993, 3302, 345, 345, 1722, 998, 1597, 212, 414, 226, 2610, 2626, 119, 3427, 398, 2007, 2008, 161, 898, 375, 252, 377, 1067, 260, 2143, 374, 1900, 1327, 1067, 909, 910, 1067, 2263, 393, 3285, 1826, 1082, 347, 88, 89, 1067, 1087, 347, 381, 161, 1091, 1968, 260, 2540, 375, 263, 377, 1098, 2284, 271, 1266, 2785, 1887, 235, 2178, 1067, 284, 222, 2540, 413, 1192, 1841, 969, 134, 383, 2540, 235, 3373, 416, 1751, 2589, 279, 1123, 2540, 2593, 2540, 2540, 408, 1067, 2654, 2416, 197, 2318, 990, 991, 234, 993, 158, 398, 404, 235, 998, 179, 447, 2330, 2331, 235, 1168, 348, 447, 1168, 986, 987, 345, 191, 1701, 1702, 1703, 447, 3221, 318, 454, 234, 1709, 279, 249, 1187, 1713, 1714, 1187, 1425, 381, 344, 373, 1720, 1176, 295, 345, 374, 1067, 450, 2139, 447, 1729, 162, 1731, 5, 1208, 375, 1190, 377, 2897, 421, 1495, 231, 424, 191, 1452, 219, 1745, 295, 1747, 196, 3419, 293, 1226, 290, 908, 408, 28, 911, 1466, 249, 3115, 3116, 2000, 407, 413, 2003, 2004, 39, 215, 923, 438, 439, 440, 441, 442, 443, 1899, 11, 3205, 1962, 1168, 132, 1256, 1168, 3402, 1168, 449, 348, 424, 425, 453, 422, 1266, 1976, 425, 416, 227, 2136, 447, 430, 290, 249, 1510, 3472, 1574, 289, 1094, 1990, 298, 293, 451, 1994, 373, 1568, 162, 49, 327, 1525, 1573, 330, 423, 3490, 191, 3441, 175, 304, 447, 3306, 1583, 3447, 1915, 434, 435, 436, 1542, 438, 439, 440, 441, 442, 443, 352, 290, 1310, 1311, 117, 454, 408, 327, 280, 281, 423, 3470, 438, 439, 440, 441, 442, 443, 1567, 450, 1437, 434, 435, 436, 45, 438, 439, 440, 441, 442, 443, 1160, 352, 304, 423, 448, 412, 413, 227, 249, 1355, 1356, 76, 1358, 111, 434, 435, 436, 197, 438, 439, 440, 441, 442, 443, 165, 327, 170, 1475, 330, 412, 1610, 393, 255, 167, 304, 450, 364, 365, 442, 1619, 447, 1067, 2572, 223, 347, 449, 1371, 1372, 1373, 290, 352, 3278, 1391, 187, 1327, 1371, 1329, 1330, 238, 1490, 330, 281, 203, 2048, 2049, 2684, 246, 451, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 83, 3086, 422, 304, 352, 425, 1371, 229, 448, 185, 430, 412, 413, 1416, 1418, 304, 422, 398, 101, 425, 1423, 400, 2898, 404, 430, 126, 1429, 447, 1433, 1371, 1268, 1382, 1429, 1416, 1416, 1429, 1433, 213, 327, 2736, 2737, 1279, 143, 1992, 1429, 304, 447, 202, 383, 347, 442, 1402, 2352, 1027, 155, 1406, 211, 449, 1423, 2262, 304, 2264, 2265, 1468, 1429, 319, 447, 1327, 327, 1329, 1330, 1468, 284, 374, 328, 376, 288, 1051, 336, 414, 1371, 1372, 1373, 327, 2147, 1059, 1324, 1429, 229, 1494, 304, 1749, 235, 352, 2167, 349, 2953, 1494, 20, 1668, 398, 304, 422, 2975, 205, 425, 404, 452, 2980, 454, 430, 2983, 406, 327, 2340, 93, 2065, 845, 418, 419, 420, 2070, 1382, 2961, 327, 1416, 2715, 2560, 422, 381, 1611, 425, 1423, 111, 84, 2646, 430, 425, 1429, 446, 868, 91, 1402, 431, 94, 433, 1406, 454, 445, 447, 447, 439, 295, 447, 104, 1393, 332, 431, 334, 433, 446, 1512, 2708, 2709, 329, 157, 1683, 1570, 454, 452, 346, 454, 1576, 1570, 422, 387, 1570, 425, 38, 3055, 130, 1605, 430, 395, 360, 1570, 447, 122, 425, 139, 140, 367, 1912, 375, 431, 377, 1916, 448, 148, 149, 293, 422, 152, 454, 425, 1570, 156, 185, 450, 430, 160, 1615, 454, 1933, 2510, 165, 127, 448, 1622, 2916, 1624, 1625, 133, 454, 2300, 76, 447, 293, 1570, 2362, 448, 448, 182, 409, 1638, 213, 454, 454, 385, 90, 232, 1961, 2538, 1963, 1668, 450, 1597, 197, 448, 454, 135, 201, 1512, 203, 454, 2868, 2869, 207, 167, 2872, 252, 2874, 422, 241, 2213, 425, 2454, 1371, 1372, 1373, 430, 117, 118, 2461, 2462, 210, 448, 1997, 187, 1570, 423, 445, 454, 447, 2360, 449, 375, 447, 377, 120, 1948, 1949, 435, 436, 3092, 438, 439, 440, 441, 442, 443, 1652, 2602, 448, 448, 450, 2026, 2440, 2441, 2029, 454, 2031, 1416, 3185, 1476, 422, 445, 1479, 425, 1423, 449, 1483, 3295, 430, 218, 1429, 157, 2438, 76, 1433, 3187, 1755, 448, 3205, 316, 448, 2636, 448, 454, 450, 447, 454, 90, 438, 439, 440, 441, 442, 1751, 1587, 1701, 1702, 1703, 448, 1751, 423, 334, 1751, 1709, 455, 3057, 3058, 1713, 1714, 1468, 152, 1751, 3094, 346, 1720, 279, 448, 450, 412, 413, 284, 454, 454, 1729, 288, 1731, 1785, 360, 425, 235, 3261, 1751, 2779, 2046, 367, 1494, 450, 2341, 448, 1745, 454, 1747, 2460, 448, 454, 412, 413, 412, 413, 454, 2063, 412, 413, 422, 1751, 422, 425, 422, 425, 1899, 425, 430, 2717, 430, 210, 430, 371, 209, 1355, 1356, 1828, 1358, 412, 413, 421, 422, 409, 424, 425, 2510, 447, 1917, 447, 430, 431, 109, 433, 1793, 241, 295, 1828, 1828, 439, 279, 422, 448, 233, 425, 284, 412, 413, 454, 430, 315, 3331, 1751, 1870, 2538, 1872, 2184, 448, 1570, 1870, 196, 1872, 1708, 454, 293, 260, 447, 109, 263, 422, 387, 943, 425, 945, 313, 448, 2204, 430, 395, 235, 423, 454, 422, 448, 323, 425, 2594, 1899, 2596, 454, 430, 434, 435, 436, 2537, 438, 439, 440, 441, 442, 443, 1913, 1355, 1356, 1915, 1358, 2864, 447, 422, 1921, 1915, 425, 99, 1915, 417, 1927, 430, 431, 422, 433, 1932, 425, 1915, 2964, 3229, 439, 430, 3232, 1887, 1828, 1195, 1196, 448, 3413, 2363, 2364, 3241, 3242, 454, 295, 448, 1900, 1915, 1902, 2626, 1904, 454, 179, 2365, 2366, 345, 2128, 1964, 3519, 1966, 394, 448, 1969, 2515, 191, 2517, 448, 454, 1809, 423, 1915, 448, 454, 142, 988, 989, 1870, 454, 1872, 237, 434, 435, 436, 449, 438, 439, 440, 441, 442, 443, 296, 1998, 1999, 448, 422, 448, 2662, 425, 293, 454, 76, 454, 430, 295, 231, 381, 293, 2014, 2015, 2016, 417, 2018, 565, 99, 2021, 2022, 2023, 2091, 417, 447, 2027, 1915, 249, 2030, 1887, 237, 416, 448, 197, 352, 440, 421, 422, 454, 424, 425, 1336, 1900, 1992, 1902, 430, 1904, 448, 76, 1751, 448, 2000, 195, 454, 2003, 2004, 454, 1893, 179, 223, 608, 609, 90, 3358, 3359, 3252, 448, 448, 290, 448, 191, 2389, 454, 454, 238, 454, 298, 423, 448, 448, 448, 85, 246, 450, 2167, 454, 76, 3483, 434, 435, 436, 110, 438, 439, 440, 441, 442, 443, 109, 422, 90, 440, 425, 267, 2422, 448, 2128, 430, 448, 451, 231, 454, 229, 448, 454, 422, 2065, 2284, 425, 454, 2667, 2070, 451, 430, 447, 381, 1828, 448, 249, 293, 2677, 150, 2388, 454, 381, 448, 423, 448, 381, 381, 447, 454, 2000, 454, 215, 2003, 2004, 434, 435, 436, 381, 438, 439, 440, 441, 442, 443, 177, 2323, 2324, 2416, 2417, 93, 2419, 235, 2167, 109, 448, 1870, 290, 1872, 393, 336, 454, 400, 229, 422, 298, 2434, 425, 2436, 729, 730, 731, 430, 733, 448, 735, 736, 737, 738, 448, 454, 741, 742, 743, 744, 454, 217, 2201, 3089, 447, 438, 439, 440, 441, 442, 235, 2464, 235, 446, 381, 140, 1915, 447, 763, 304, 447, 766, 2055, 768, 449, 770, 447, 295, 327, 774, 775, 776, 447, 447, 779, 447, 781, 447, 783, 400, 449, 2494, 352, 259, 293, 261, 447, 450, 235, 247, 287, 796, 797, 241, 179, 271, 412, 2510, 447, 120, 805, 412, 187, 808, 93, 2284, 811, 2213, 412, 133, 295, 816, 817, 99, 447, 393, 821, 822, 2297, 824, 120, 99, 827, 2116, 304, 2538, 241, 303, 440, 441, 442, 455, 400, 133, 183, 2548, 183, 2316, 223, 224, 845, 846, 447, 183, 142, 183, 2559, 852, 295, 2328, 183, 454, 183, 2628, 93, 331, 1608, 157, 447, 159, 2573, 1613, 293, 183, 183, 183, 2159, 183, 1620, 874, 293, 876, 111, 2648, 879, 183, 200, 1629, 183, 192, 247, 191, 447, 2887, 447, 361, 447, 447, 2892, 2893, 2894, 2895, 2896, 2606, 218, 423, 2900, 2610, 447, 197, 905, 906, 309, 447, 447, 910, 434, 435, 436, 301, 438, 439, 440, 441, 442, 443, 447, 447, 447, 454, 447, 447, 222, 928, 447, 223, 93, 447, 252, 447, 447, 2390, 2391, 2339, 447, 2341, 93, 2343, 423, 447, 238, 447, 447, 447, 111, 247, 185, 2660, 246, 434, 435, 436, 235, 438, 439, 440, 441, 442, 443, 447, 191, 3092, 191, 229, 2423, 2424, 440, 345, 3500, 267, 2683, 263, 454, 297, 213, 156, 423, 399, 41, 279, 17, 986, 987, 454, 284, 447, 381, 434, 435, 436, 447, 438, 439, 440, 441, 442, 443, 2710, 447, 381, 381, 1006, 241, 449, 1009, 381, 381, 1012, 293, 346, 3198, 105, 284, 313, 454, 381, 399, 381, 185, 381, 3208, 2734, 381, 323, 381, 381, 400, 2582, 2343, 343, 127, 1036, 2438, 293, 385, 385, 220, 454, 336, 381, 381, 447, 2582, 2579, 343, 381, 213, 381, 2454, 143, 293, 375, 2510, 377, 3317, 2461, 2462, 235, 291, 93, 447, 385, 406, 447, 83, 157, 255, 447, 447, 163, 394, 2530, 2531, 2532, 241, 447, 408, 1082, 447, 2537, 2538, 191, 1087, 293, 178, 2537, 1091, 2566, 2537, 93, 2566, 449, 3096, 1098, 394, 334, 344, 2537, 192, 411, 183, 1106, 183, 2582, 2510, 3109, 2582, 346, 2567, 2515, 2589, 2517, 400, 207, 2593, 1120, 1121, 2537, 1123, 1124, 2744, 360, 2528, 2582, 2746, 2747, 2748, 2749, 367, 17, 434, 454, 2538, 404, 2847, 381, 333, 454, 283, 2454, 2537, 1146, 422, 196, 1149, 425, 2461, 2462, 410, 379, 430, 431, 447, 433, 379, 2634, 76, 3345, 2634, 439, 454, 352, 379, 447, 196, 447, 3295, 334, 381, 434, 409, 1176, 383, 412, 84, 454, 434, 81, 454, 346, 1185, 1186, 231, 87, 448, 1190, 454, 294, 1193, 288, 284, 2537, 249, 360, 445, 2510, 1201, 291, 448, 1204, 367, 1206, 38, 448, 381, 115, 381, 343, 132, 447, 239, 239, 3330, 447, 2927, 284, 284, 127, 1724, 284, 124, 293, 299, 2538, 318, 135, 381, 381, 3003, 343, 454, 76, 448, 454, 249, 306, 2529, 397, 109, 306, 109, 151, 409, 327, 319, 90, 1724, 235, 2961, 93, 235, 235, 400, 98, 235, 434, 381, 445, 103, 169, 381, 2667, 166, 249, 434, 2744, 191, 171, 434, 293, 174, 2677, 297, 93, 205, 293, 441, 191, 2571, 2572, 1097, 208, 208, 454, 93, 447, 293, 448, 198, 11, 293, 454, 82, 202, 262, 293, 3414, 109, 454, 1777, 196, 448, 448, 454, 448, 1310, 1311, 448, 218, 448, 448, 448, 417, 448, 448, 448, 220, 417, 448, 1324, 448, 448, 448, 196, 1329, 1330, 448, 417, 3103, 447, 3105, 381, 242, 448, 447, 1340, 455, 1342, 450, 34, 448, 249, 448, 728, 447, 454, 450, 732, 225, 734, 3063, 447, 3483, 3482, 739, 740, 284, 304, 381, 381, 448, 235, 448, 235, 263, 445, 211, 271, 329, 448, 215, 293, 448, 390, 447, 760, 454, 762, 2537, 291, 293, 381, 293, 447, 400, 295, 1391, 3516, 1393, 448, 235, 236, 2851, 2852, 2800, 76, 238, 300, 238, 447, 304, 400, 2154, 248, 434, 2157, 316, 454, 454, 2161, 296, 180, 180, 1418, 445, 448, 177, 98, 803, 804, 196, 76, 103, 327, 191, 810, 330, 337, 2721, 118, 196, 341, 204, 343, 279, 448, 448, 282, 348, 448, 448, 447, 434, 454, 434, 447, 3221, 448, 352, 431, 295, 434, 297, 390, 2206, 225, 2915, 448, 381, 3463, 3464, 235, 1467, 373, 374, 381, 381, 164, 446, 412, 235, 447, 81, 2879, 93, 385, 861, 239, 87, 191, 390, 2887, 867, 297, 221, 129, 2892, 2893, 2894, 2895, 2896, 374, 447, 878, 2900, 454, 2975, 3210, 408, 447, 238, 2980, 403, 447, 2983, 423, 448, 448, 1513, 201, 196, 356, 1517, 448, 448, 124, 448, 196, 1097, 448, 109, 206, 907, 159, 284, 284, 447, 3240, 235, 448, 211, 284, 400, 198, 215, 222, 198, 922, 196, 446, 400, 400, 927, 172, 182, 93, 448, 447, 120, 120, 296, 196, 240, 447, 235, 236, 941, 166, 381, 191, 447, 296, 171, 196, 2879, 174, 447, 248, 448, 1574, 454, 1576, 323, 93, 284, 258, 218, 317, 423, 296, 296, 96, 1587, 340, 1589, 340, 191, 293, 374, 434, 435, 436, 93, 438, 439, 440, 441, 442, 443, 390, 293, 282, 172, 448, 447, 168, 1611, 339, 1425, 1614, 1615, 220, 162, 1618, 295, 293, 1621, 1622, 398, 1624, 1625, 454, 1627, 182, 80, 1630, 317, 448, 1633, 447, 232, 2090, 322, 1638, 1330, 1452, 2343, 2025, 2465, 2055, 2012, 3119, 2938, 2844, 2941, 3104, 3148, 2400, 3454, 1466, 3474, 1656, 2404, 1658, 1659, 2950, 3437, 1662, 3436, 3457, 2943, 2954, 271, 1668, 1584, 3179, 2073, 3504, 3531, 2537, 3132, 3485, 2509, 2538, 3131, 356, 1569, 3532, 1683, 3158, 3086, 1686, 3158, 1630, 182, 1070, 1071, 1186, 3094, 2186, 3096, 3003, 1077, 1510, 3331, 304, 3413, 2955, 1949, 2416, 1948, 3378, 3494, 3109, 3530, 2962, 921, 3307, 1525, 2080, 1838, 158, 2635, 3172, 2349, 1168, 2165, 1722, 2470, 2471, 3179, 330, 2997, 1363, 2357, 1542, 3205, 2367, 1364, 1853, 1362, 1116, 1117, 1118, 1832, 2328, 2128, 1122, 2595, 3206, 2246, 803, 423, 352, 2250, 2936, 2720, 3063, 2360, 2191, 1567, 2297, 3465, 434, 435, 436, 2295, 438, 439, 440, 441, 442, 443, 1780, 2215, 565, 2579, 1127, 2246, 1599, 2121, 3086, 2250, 1893, 1373, 2281, 2282, 76, 329, 3094, 1785, 1868, 1192, 989, 1016, 1900, 2173, 704, 2338, 2174, 2999, 2783, 2998, 1610, 3087, 3085, 1308, 364, 1371, 1184, 1904, 2168, 1619, 2281, 2282, 990, 3519, 1651, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1203, -1, -1, -1, -1, -1, -1, -1, 1831, 3120, 3121, -1, -1, -1, 3125, -1, -1, -1, 1841, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1425, -1, -1, -1, 3256, -1, -1, 2605, -1, 2607, -1, 2609, -1, 2611, -1, -1, -1, -1, 2616, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3354, -1, -1, 3354, -1, -1, -1, -1, 3507, -1, -1, -1, 1466, 1893, -1, -1, -1, -1, 3186, 1899, 2647, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1912, 1913, -1, -1, 1916, 1917, -1, -1, -1, 1921, -1, -1, -1, -1, -1, 1927, -1, -1, -1, 3405, 1932, 1933, 3405, -1, 1510, 1749, -1, 3393, -1, -1, -1, -1, -1, -1, 3256, -1, -1, -1, -1, 1525, -1, -1, -1, -1, -1, -1, 1338, 76, -1, 1961, 1962, 1963, 1964, -1, 1966, -1, -1, 1969, 1970, -1, -1, 90, -1, -1, 1976, -1, -1, -1, -1, 98, -1, -1, 3438, -1, 103, -1, -1, -1, 1990, -1, -1, 1567, 1994, -1, -1, 1997, 1998, 1999, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, 91, 2012, 2013, 2014, 2015, 2016, 2017, 2018, -1, 3494, 2021, 2022, 2023, -1, -1, 2026, 2027, -1, 2029, 2030, 2031, -1, 3507, -1, -1, 1610, -1, -1, -1, 3328, -1, -1, -1, -1, 1619, -1, -1, 2048, 2049, 130, -1, -1, -1, -1, -1, 3530, -1, -1, -1, -1, -1, 3463, 3464, -1, 2065, -1, -1, 148, 149, -1, -1, -1, -1, -1, -1, 156, -1, -1, -1, 160, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2092, -1, 211, -1, -1, -1, 215, -1, 180, 1481, 182, -1, -1, -1, -1, 2107, -1, -1, 1490, 2111, -1, 2113, -1, -1, -1, 197, 235, 236, -1, 2121, -1, -1, -1, -1, -1, -1, -1, 2129, -1, 248, -1, 2133, 2134, -1, 1948, 1949, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2147, 2148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 279, -1, -1, 282, -1, 2167, -1, -1, -1, -1, -1, 84, -1, 1749, 76, -1, 295, -1, 297, -1, -1, 2684, 2184, -1, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, -1, -1, 98, -1, -1, 2201, -1, 103, 2204, -1, -1, -1, -1, -1, -1, 2684, -1, -1, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 135, 1605, -1, 1607, 76, -1, -1, -1, 1612, -1, 2046, 2736, 2737, -1, -1, 356, 151, -1, -1, 1623, -1, -1, 1626, 2994, 2995, -1, 98, 2063, -1, -1, -1, 103, -1, -1, 169, -1, -1, -1, -1, 2736, 2737, -1, -1, -1, -1, -1, -1, -1, 2272, -1, -1, -1, -1, 1657, -1, -1, 1660, 1661, -1, -1, -1, -1, -1, 198, -1, -1, -1, 371, 1672, 204, -1, -1, -1, -1, -1, -1, 2300, -1, -1, -1, -1, -1, 423, 218, -1, -1, -1, 211, -1, -1, -1, 215, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, 446, 241, -1, -1, -1, -1, 235, 236, -1, 455, -1, -1, -1, -1, 2343, -1, -1, -1, 76, 248, 2349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, 2362, 211, -1, -1, -1, 215, -1, 98, -1, -1, -1, -1, 103, -1, -1, -1, -1, 279, -1, -1, 282, -1, 295, -1, -1, 235, 236, 2389, 2390, 2391, -1, -1, -1, 295, -1, -1, -1, 1779, 248, -1, -1, 2403, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2916, -1, -1, -1, -1, -1, -1, 2422, 2423, 2424, -1, 337, -1, -1, -1, -1, -1, 343, -1, 282, -1, -1, 348, -1, -1, 2440, 2441, -1, 2916, -1, -1, -1, 295, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, 1838, -1, 2460, -1, 373, 374, 3211, 3212, 3213, -1, -1, -1, -1, -1, 2046, -1, 385, -1, -1, -1, -1, 390, -1, -1, 211, -1, -1, 565, 215, -1, 399, 2063, -1, -1, -1, -1, -1, -1, -1, 2497, -1, -1, -1, -1, -1, -1, -1, -1, 235, 236, 356, -1, -1, -1, -1, -1, -1, -1, -1, 2517, -1, 248, -1, -1, -1, 423, -1, -1, -1, -1, -1, -1, 2530, 2531, 2532, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, -1, -1, -1, 279, -1, -1, 282, -1, -1, 3057, 3058, -1, -1, -1, -1, -1, -1, -1, -1, 295, 2567, 297, -1, -1, -1, 2572, -1, -1, 423, 2388, -1, -1, 2579, -1, -1, 2582, 2583, 3057, 3058, 2586, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, 2599, -1, -1, -1, -1, 2416, 2417, -1, 2419, -1, 3356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2434, -1, 2436, -1, -1, 356, 2628, -1, -1, -1, -1, -1, -1, 2635, -1, -1, -1, -1, 2020, -1, -1, -1, -1, -1, -1, -1, 2648, -1, -1, -1, 2464, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2662, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 757, 90, -1, -1, -1, 2494, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, 423, -1, -1, -1, 2510, -1, -1, -1, -1, -1, -1, 434, 435, 436, 2088, 438, 439, 440, 441, 442, 443, 795, 796, 797, -1, -1, -1, -1, -1, -1, -1, 454, 2538, -1, 3229, -1, 2110, 3232, -1, -1, -1, -1, 2548, -1, 2118, -1, 3241, 3242, -1, -1, -1, -1, -1, 2559, 2128, 829, -1, -1, -1, 833, -1, 835, 3229, 837, -1, 3232, -1, 2573, -1, 843, 844, -1, -1, -1, 3241, 3242, -1, -1, 852, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2785, -1, -1, -1, -1, -1, 871, -1, -1, 2606, -1, -1, -1, 2610, 211, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2388, 2815, 2816, -1, 898, -1, -1, -1, -1, 235, 236, 905, 906, -1, -1, 909, 910, -1, -1, -1, -1, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2660, -1, -1, 2851, 2852, -1, -1, -1, -1, 3358, 3359, -1, 2434, -1, 2436, -1, -1, -1, -1, 279, -1, -1, 282, 2683, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, -1, 3358, 3359, -1, 1097, 969, 2464, -1, 2892, 2893, 2894, 2895, 2896, -1, 2710, -1, -1, -1, -1, -1, -1, -1, 986, 987, -1, -1, -1, -1, -1, 76, 1097, 2915, -1, -1, -1, -1, 2494, 140, 2734, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 98, 2936, -1, 2938, -1, 103, 2941, 2322, 2943, 356, -1, -1, -1, 2328, -1, 2950, -1, -1, -1, -1, -1, 2956, -1, -1, -1, 179, -1, -1, -1, -1, -1, -1, -1, 187, -1, -1, 2971, -1, 2973, 2548, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2984, 2559, 2986, -1, -1, -1, 2990, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3003, 223, -1, -1, -1, 84, -1, -1, 423, -1, -1, 1094, 178, -1, -1, -1, 95, -1, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 2606, -1, -1, 2847, 2610, -1, -1, 115, -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 235, 236, -1, 151, -1, -1, -1, -1, 1160, -1, -1, -1, -1, 248, 2660, -1, -1, -1, -1, -1, 3092, 169, -1, -1, -1, -1, -1, 1179, -1, -1, 1182, 3103, 3104, 3105, -1, -1, -1, 2683, 3110, -1, 1192, -1, -1, 2927, -1, -1, -1, 282, -1, -1, 198, -1, 3124, -1, -1, -1, 204, -1, -1, -1, 295, -1, -1, 76, 2710, -1, -1, -1, -1, -1, 218, -1, -1, -1, -1, -1, -1, 2961, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, 2734, -1, 103, -1, 2544, -1, -1, -1, -1, -1, 2550, -1, 3172, -1, -1, -1, -1, -1, -1, 3179, -1, -1, -1, -1, -1, 3185, -1, -1, 1268, 2569, -1, -1, -1, 356, -1, 3195, -1, -1, 3198, 1279, -1, -1, -1, -1, -1, -1, 82, -1, 3208, 2589, -1, -1, -1, 2593, -1, -1, 1425, -1, -1, 295, -1, 3221, -1, -1, -1, 1305, -1, 303, -1, -1, 1310, 1311, 2612, -1, 2614, -1, -1, 178, -1, -1, 316, -1, 1425, 1452, 1324, -1, 2626, 1327, -1, 1329, 1330, 3063, -1, -1, -1, -1, 132, 1466, -1, -1, 423, 337, -1, 139, 140, 341, 2646, 343, -1, 1452, 211, -1, 348, 2847, 215, 438, 439, 440, 441, 442, 443, -1, -1, 1466, -1, 3285, -1, -1, -1, -1, -1, -1, -1, -1, 235, 236, 76, 373, 374, 79, 176, 1510, -1, -1, -1, -1, 3306, 248, 3308, 385, -1, 1391, 92, 1393, 390, -1, 1525, -1, -1, -1, -1, -1, -1, 399, -1, -1, -1, 1510, -1, -1, 3330, 3331, 408, 1542, 114, 3335, 3336, -1, -1, 215, -1, 282, 1525, -1, 220, 3345, -1, -1, -1, -1, -1, -1, -1, 2927, 295, -1, -1, -1, 1567, 1542, -1, -1, -1, -1, -1, -1, -1, -1, 148, -1, -1, 2751, 2752, -1, -1, -1, -1, -1, -1, -1, -1, 257, -1, -1, 1567, -1, -1, -1, -1, -1, 76, -1, -1, 3393, -1, -1, 272, 273, 3210, 275, 276, 1610, 278, -1, 90, -1, -1, -1, -1, -1, 1619, -1, 98, 3413, 3414, 356, -1, 103, -1, -1, -1, -1, 202, -1, -1, -1, -1, 1610, 3240, 209, 306, 211, 1512, -1, -1, -1, 1619, -1, 3438, -1, -1, -1, 222, -1, -1, -1, 3446, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 337, -1, -1, -1, -1, -1, -1, 3468, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 423, 3483, -1, -1, -1, -1, -1, 3063, -1, -1, -1, 369, -1, 371, -1, 438, 439, 440, 441, 442, 443, -1, 3504, -1, -1, 1587, -1, -1, -1, -1, -1, -1, -1, -1, 392, 1597, -1, 2899, 739, -1, -1, 399, -1, 211, 402, -1, -1, 215, -1, 3531, -1, -1, -1, -1, -1, -1, -1, -1, 1749, 760, 2922, -1, -1, -1, -1, -1, 328, 235, 236, -1, 2932, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, -1, -1, -1, 1749, -1, -1, -1, -1, 1651, 1652, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 365, -1, -1, 368, -1, -1, -1, -1, 279, -1, 2975, 282, -1, -1, -1, 2980, -1, -1, 2983, -1, -1, -1, -1, -1, 295, -1, 297, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1701, 1702, 1703, -1, -1, -1, -1, 1708, 1709, -1, -1, -1, 1713, 1714, -1, 3210, -1, -1, -1, 1720, -1, 861, -1, -1, -1, -1, -1, 867, 1729, -1, 1731, -1, 3465, -1, -1, -1, -1, -1, 878, -1, -1, -1, -1, -1, 1745, 3240, 1747, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 907, -1, -1, -1, -1, -1, -1, 3075, 3076, 3077, 3078, 1779, -1, -1, -1, 922, -1, 1785, -1, 3519, 927, -1, -1, -1, -1, 1793, -1, -1, -1, -1, -1, -1, -1, -1, 941, -1, -1, -1, -1, -1, -1, 1809, -1, -1, -1, -1, -1, -1, -1, 423, -1, 1948, 1949, -1, -1, -1, -1, -1, -1, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, -1, 448, -1, -1, 1948, 1949, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 565, -1, -1, -1, -1, -1, -1, -1, -1, 138, -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, 3185, -1, 1887, -1, -1, -1, -1, -1, 1893, -1, -1, -1, -1, 90, 1899, -1, -1, -1, -1, -1, 3205, 98, -1, -1, -1, -1, 103, -1, -1, 76, 179, -1, 2046, -1, -1, -1, -1, -1, -1, -1, -1, -1, 191, 90, -1, -1, 1070, 196, -1, 2063, -1, 98, 201, -1, -1, 204, 103, 206, 2046, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, 2063, -1, -1, -1, -1, -1, -1, 231, -1, -1, -1, 3465, -1, 90, -1, -1, -1, 1116, 1117, 1118, -1, 98, -1, -1, -1, 249, 103, -1, -1, -1, -1, 76, 1992, -1, -1, 3295, -1, 3297, -1, -1, 2000, -1, -1, 2003, 2004, -1, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, 3317, 103, 211, 720, -1, -1, 215, 724, 3519, 290, -1, 728, -1, -1, 3331, 732, -1, 298, -1, -1, -1, -1, -1, 3340, -1, -1, 235, 236, 1184, -1, 2047, -1, 211, -1, 2051, -1, 215, -1, 2055, 248, -1, -1, -1, -1, -1, 762, -1, 1203, 2065, -1, -1, -1, 333, 2070, -1, 3372, 235, 236, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, 279, -1, -1, 282, -1, -1, 178, 211, -1, -1, -1, 215, -1, -1, 801, -1, 295, 804, 297, -1, -1, -1, 373, 810, -1, -1, 3413, -1, -1, 2116, 279, 235, 236, 282, -1, -1, -1, -1, -1, 211, -1, -1, 393, 215, 248, -1, 295, -1, 297, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 411, -1, -1, 235, 236, -1, -1, 418, 419, 420, -1, -1, 2159, -1, -1, 279, 248, 356, 282, -1, 2167, 2168, -1, -1, 2171, -1, 2173, -1, -1, -1, -1, 295, -1, 297, 445, 3482, -1, 448, 449, 450, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, 282, -1, 1338, -1, -1, -1, 903, -1, -1, -1, -1, 908, -1, 295, 911, -1, 2213, -1, -1, 3516, -1, -1, -1, -1, -1, -1, 923, -1, -1, -1, -1, -1, -1, -1, 423, -1, 933, -1, -1, -1, -1, -1, 356, -1, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, -1, 448, -1, -1, 2388, -1, 423, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, 2388, 448, 2416, 2417, -1, 2419, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2434, 423, 2436, -1, -1, -1, -1, -1, 2416, 2417, -1, 2419, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, 446, -1, 2434, -1, 2436, -1, 2464, -1, -1, 423, 2339, -1, 2341, 1481, 2343, -1, -1, -1, -1, -1, -1, -1, -1, -1, 438, 439, 440, 441, 442, 443, -1, -1, 2464, -1, -1, -1, 2494, 1066, 1067, -1, -1, -1, 1071, -1, -1, -1, -1, -1, 1077, -1, -1, -1, 2510, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2494, -1, -1, -1, -1, -1, 1097, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2510, -1, 2538, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2548, -1, -1, 1122, -1, -1, -1, -1, -1, -1, -1, 2559, -1, -1, -1, -1, 2538, -1, -1, 2438, -1, -1, -1, -1, -1, 2573, 2548, -1, -1, -1, -1, -1, -1, -1, -1, 2454, -1, 2559, -1, -1, -1, -1, 2461, 2462, -1, -1, -1, -1, -1, -1, -1, 2573, -1, -1, -1, -1, -1, -1, 2606, -1, -1, -1, 2610, -1, -1, 1623, -1, -1, 1626, -1, -1, -1, -1, -1, 2493, -1, 2495, 2496, -1, -1, -1, -1, -1, -1, 2606, 2504, -1, -1, 2610, -1, -1, 2510, -1, 1212, -1, -1, 2515, -1, 2517, -1, -1, -1, 1660, 1661, -1, -1, -1, -1, -1, 2528, 2529, 3, 2660, -1, 1672, -1, -1, 9, -1, 2538, 1239, -1, -1, -1, 16, -1, 18, -1, -1, 21, -1, -1, -1, -1, -1, 2683, -1, -1, 2660, -1, 32, -1, -1, -1, 1263, 1264, -1, 1266, -1, -1, -1, -1, 2571, 2572, -1, -1, -1, -1, 50, 51, -1, 2683, 2710, 2582, -1, 1284, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 77, 2734, -1, 2710, -1, -1, -1, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1327, -1, 102, -1, 2734, -1, -1, -1, -1, -1, -1, -1, -1, 1779, -1, -1, -1, -1, -1, -1, -1, 121, -1, 123, 124, -1, -1, -1, 128, 129, 1357, -1, -1, 1360, 1361, -1, -1, 137, 138, -1, 2667, -1, -1, -1, 1371, 1372, 1373, -1, -1, -1, 2677, 151, -1, 153, -1, -1, 156, -1, -1, -1, -1, -1, 162, -1, -1, -1, -1, -1, 138, -1, -1, 171, 1838, -1, -1, -1, -1, 177, -1, -1, -1, -1, 182, -1, 184, -1, -1, -1, 188, 1416, -1, 2847, -1, -1, 2721, -1, 1423, -1, 1425, 199, -1, 201, 1429, -1, -1, -1, 1433, -1, -1, 179, -1, -1, -1, -1, -1, -1, -1, 2847, -1, -1, -1, 191, -1, -1, -1, 1452, 196, 227, -1, -1, -1, 201, -1, -1, 204, -1, 206, -1, -1, 1466, -1, 1468, -1, -1, -1, -1, -1, -1, -1, -1, 250, 251, -1, -1, -1, -1, 256, -1, -1, -1, -1, 231, -1, -1, 264, -1, -1, 1494, -1, -1, -1, 2927, -1, -1, -1, -1, -1, -1, -1, 249, -1, 281, -1, 1510, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2927, 1525, -1, -1, -1, -1, -1, -1, 2961, -1, -1, -1, -1, -1, 311, -1, -1, -1, 1542, -1, -1, -1, -1, 290, 321, -1, -1, 324, -1, 326, -1, 298, -1, 330, 2961, -1, 2860, 2861, 335, -1, -1, 338, -1, 1567, -1, 342, 1570, -1, -1, -1, 347, -1, -1, -1, -1, 352, -1, 2020, 355, -1, -1, -1, -1, 2887, 361, -1, 333, -1, 2892, 2893, 2894, 2895, 2896, -1, -1, -1, 2900, -1, -1, -1, -1, 1605, -1, 1607, -1, -1, 1610, -1, 1612, -1, -1, 388, -1, 390, -1, 1619, -1, -1, -1, 396, -1, 398, -1, -1, 401, -1, 373, 404, -1, -1, 3063, -1, -1, 1097, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2088, 393, -1, -1, -1, 2954, -1, -1, 1657, 76, -1, 3063, -1, -1, -1, -1, -1, -1, -1, 411, -1, -1, 2110, 90, -1, 447, 418, 419, 420, -1, 2118, 98, -1, -1, -1, -1, 103, -1, -1, 1688, 1689, -1, -1, -1, -1, -1, -1, 1696, -1, 2998, 1699, 1700, -1, 445, -1, -1, 448, 449, 450, 1708, -1, -1, 1711, 1712, -1, -1, -1, -1, -1, -1, 1719, -1, -1, -1, 1723, 1724, 1725, 1726, -1, -1, -1, -1, -1, -1, 1733, 1734, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1749, 1750, 1751, -1, -1, 1754, -1, -1, 1097, 1758, -1, -1, -1, 1762, -1, -1, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, -1, 1775, -1, -1, -1, -1, 1780, 3210, -1, -1, 1784, -1, 3086, 3087, -1, -1, -1, -1, -1, 211, -1, -1, 3096, 215, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3210, -1, 3109, -1, 3240, -1, -1, -1, 3115, 3116, 235, 236, -1, 3120, 3121, -1, -1, -1, 3125, -1, -1, 1828, -1, 248, -1, -1, -1, -1, -1, -1, 3240, -1, -1, 1840, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 279, -1, -1, 282, -1, -1, -1, -1, -1, 1870, -1, 1872, -1, -1, 76, -1, 295, -1, 297, -1, -1, -1, 2322, -1, -1, 3186, -1, -1, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1915, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1930, -1, -1, -1, 92, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1948, 1949, -1, -1, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, -1, -1, -1, 1425, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, 3278, -1, -1, -1, -1, -1, -1, -1, -1, -1, 90, -1, -1, -1, 1452, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, -1, 423, 1466, -1, -1, -1, 211, -1, -1, -1, 215, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, 3328, -1, 448, -1, -1, -1, 235, 236, 3465, -1, -1, -1, 2040, -1, -1, -1, 202, -1, 2046, 248, -1, -1, 1510, 209, -1, 211, -1, -1, -1, -1, -1, -1, -1, 2061, 3465, 2063, 222, 1525, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 279, -1, -1, 282, 1542, -1, -1, 1425, -1, -1, -1, -1, 3519, -1, -1, -1, 295, -1, 297, -1, -1, -1, -1, -1, -1, -1, -1, 2544, -1, 1567, -1, 211, -1, 2550, 1452, 215, -1, -1, 3519, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1466, -1, 2128, -1, 2569, -1, -1, 235, 236, -1, -1, 2137, -1, -1, -1, -1, -1, -1, -1, -1, 248, -1, -1, -1, 1610, -1, -1, -1, -1, 356, -1, -1, -1, 1619, -1, -1, -1, 3463, 3464, -1, -1, -1, 3468, -1, 1510, -1, -1, 2612, -1, 2614, -1, 279, -1, -1, 282, -1, -1, -1, -1, 1525, -1, -1, -1, -1, -1, 2191, -1, 295, -1, 297, -1, -1, -1, -1, -1, -1, 1542, -1, 3504, -1, -1, 2646, -1, -1, -1, -1, -1, -1, 2214, -1, -1, -1, -1, -1, -1, -1, 423, -1, -1, -1, -1, 1567, -1, -1, -1, 3531, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, 2246, 448, -1, -1, 2250, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, 2262, 2263, 2264, 2265, 76, -1, -1, -1, 1610, 2271, -1, -1, -1, -1, -1, -1, -1, 1619, -1, 2281, 2282, -1, 2284, -1, -1, -1, 98, 1749, -1, -1, -1, 103, -1, -1, 2296, -1, 2298, -1, -1, -1, 2302, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2751, 2752, -1, -1, -1, -1, 2318, -1, -1, 423, -1, -1, -1, -1, -1, -1, 2328, -1, 2330, 2331, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, -1, 448, -1, -1, -1, -1, 2351, -1, -1, -1, -1, -1, 2357, -1, -1, -1, -1, -1, -1, -1, 2365, 2366, 2367, 178, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2388, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, 2399, -1, 211, -1, -1, -1, 215, -1, -1, -1, 1749, 90, -1, -1, -1, -1, -1, 2416, 2417, 98, 2419, -1, -1, -1, 103, -1, 235, 236, -1, -1, -1, -1, -1, -1, -1, 2434, -1, 2436, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, 2899, -1, -1, -1, 2464, -1, 90, -1, -1, -1, 94, -1, 282, -1, 98, -1, -1, -1, -1, 103, -1, -1, -1, 2922, -1, 295, -1, -1, 1948, 1949, -1, -1, -1, 2932, 2494, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, -1, 2509, 2510, -1, -1, -1, -1, -1, -1, -1, -1, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, -1, -1, 211, 103, -1, -1, 215, -1, 2537, 2538, -1, -1, 165, -1, -1, -1, -1, 356, -1, 2548, -1, -1, -1, -1, -1, -1, 235, 236, -1, -1, 2559, -1, -1, 720, -1, -1, -1, -1, -1, 248, -1, 728, -1, -1, 2573, 732, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2046, 211, -1, 2589, -1, 215, -1, 2593, -1, -1, -1, -1, -1, 279, -1, -1, 282, 2063, 762, -1, 2606, -1, 1948, 1949, 2610, 235, 236, 423, -1, 295, -1, 297, -1, -1, 191, -1, -1, -1, 248, 196, 2626, -1, 438, 439, 440, 441, 442, 443, -1, -1, 3075, 3076, 3077, 3078, 211, -1, -1, -1, 215, -1, 804, -1, -1, -1, -1, 2651, 810, -1, -1, 279, -1, 2657, 282, -1, 2660, -1, -1, -1, 235, 236, -1, -1, -1, 2669, -1, 295, -1, 297, -1, 2675, 356, 248, -1, 2679, -1, -1, -1, 2683, 2684, -1, -1, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, -1, -1, -1, -1, 2701, 2702, -1, -1, -1, 2046, -1, 279, -1, 2710, 282, -1, -1, -1, 2715, -1, -1, -1, -1, -1, -1, 2722, 2063, 295, 2725, 297, 2727, -1, -1, -1, -1, 356, -1, 2734, 2735, 2736, 2737, -1, -1, -1, 2741, -1, 423, 2744, 903, -1, -1, -1, -1, 908, -1, -1, 911, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, -1, 448, -1, -1, -1, -1, -1, -1, 933, 400, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 423, -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, 90, -1, -1, 93, -1, -1, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2847, -1, -1, -1, -1, 423, -1, -1, -1, -1, -1, 3297, -1, -1, -1, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, -1, -1, 3317, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3340, -1, -1, -1, -1, -1, -1, 1066, 1067, -1, -1, -1, 1071, -1, -1, 2916, -1, -1, 1077, -1, -1, -1, -1, -1, -1, -1, 2927, 2388, -1, -1, -1, -1, 3372, -1, -1, -1, -1, -1, 1097, -1, -1, -1, -1, 211, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, -1, 2416, 2417, -1, 2419, -1, 2961, -1, -1, 1122, -1, -1, -1, 235, 236, -1, 2, -1, -1, 2434, 2975, 2436, -1, -1, -1, 2980, 248, -1, 2983, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2464, -1, -1, -1, -1, -1, -1, -1, 279, -1, -1, 282, 3016, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, -1, 297, -1, -1, -1, 2494, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2388, -1, 2510, -1, -1, 84, 1212, -1, -1, 3057, 3058, -1, -1, -1, 3062, 3063, -1, -1, -1, -1, -1, 3069, 3070, -1, -1, 3073, -1, -1, 2416, 2417, 2538, 2419, -1, 1239, -1, -1, -1, -1, -1, -1, 2548, 356, -1, -1, -1, -1, 2434, -1, 2436, -1, -1, 2559, -1, -1, -1, -1, -1, 1263, 1264, -1, 1266, -1, -1, -1, -1, 2573, -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, 2464, -1, 1284, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, -1, -1, -1, -1, -1, -1, -1, 2606, 3147, -1, 180, 2610, -1, -1, -1, 2494, -1, 423, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 434, 435, 436, 2510, 438, 439, 440, 441, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, 3185, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2538, 1357, 2660, 3201, 1360, 1361, -1, 3205, -1, -1, 2548, -1, 3210, -1, -1, -1, 160, -1, -1, -1, -1, 2559, -1, -1, -1, 2683, -1, -1, -1, -1, -1, 3229, -1, -1, 3232, 2573, 180, -1, 182, -1, -1, -1, 3240, 3241, 3242, -1, -1, 3245, -1, -1, -1, -1, 2710, -1, 3252, 3253, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2606, 1425, -1, 76, 2610, 1429, -1, -1, 2734, 1433, 3276, -1, -1, -1, -1, -1, -1, 90, -1, -1, 93, -1, -1, -1, -1, 98, -1, -1, 1452, 3295, 103, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, 1466, -1, 1468, -1, -1, 90, -1, -1, -1, -1, -1, -1, 2660, 98, -1, -1, -1, -1, 103, -1, -1, -1, -1, 3331, 3332, -1, -1, -1, 1494, -1, 76, -1, -1, -1, -1, 2683, -1, -1, -1, -1, -1, -1, -1, -1, 1510, -1, -1, -1, -1, -1, 3358, 3359, 98, -1, -1, -1, -1, 103, -1, 1525, -1, -1, 2710, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1097, -1, -1, -1, 1542, -1, -1, 2847, -1, -1, -1, -1, -1, -1, 2734, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, 215, 1567, -1, -1, 1570, 3413, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 235, 236, -1, -1, -1, -1, 211, -1, -1, -1, 215, -1, 178, 248, -1, -1, -1, -1, -1, 1605, -1, 1607, -1, -1, 1610, -1, 1612, -1, -1, -1, 235, 236, -1, 1619, -1, -1, -1, 3465, -1, 2927, -1, -1, -1, 248, 279, 211, -1, 282, -1, 215, -1, -1, -1, -1, 3482, -1, -1, -1, -1, -1, 295, -1, 297, -1, -1, -1, -1, -1, -1, 235, 236, 1657, -1, 2961, 279, -1, -1, 282, -1, 2847, -1, -1, 248, -1, -1, -1, -1, -1, 3516, -1, 295, 3519, 297, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1688, 1689, -1, -1, 565, -1, -1, -1, 1696, -1, -1, 1699, 1700, -1, 282, -1, -1, -1, -1, 356, -1, -1, -1, 1711, 1712, -1, -1, 295, -1, -1, -1, 1719, -1, -1, -1, 1723, 1724, 1725, 1726, -1, -1, -1, -1, -1, -1, 1733, 1734, -1, -1, 356, -1, -1, -1, -1, -1, -1, -1, 2927, -1, -1, -1, 1749, 1750, 1751, -1, -1, 1754, -1, -1, -1, 1758, -1, -1, 3063, 1762, -1, -1, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 423, 1775, 356, -1, -1, 2961, 1780, 400, -1, -1, 1784, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, 423, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, 700, -1, -1, 98, -1, -1, -1, -1, 103, -1, -1, -1, -1, 1840, -1, -1, 423, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 438, 439, 440, 441, 442, 443, -1, -1, 1425, -1, -1, -1, -1, -1, 76, -1, -1, -1, -1, -1, -1, -1, -1, 3063, -1, -1, 757, -1, 90, -1, -1, -1, -1, -1, -1, 1452, 98, -1, -1, -1, -1, 103, -1, -1, -1, -1, -1, -1, -1, 1466, 3210, -1, 178, -1, -1, -1, -1, 1915, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1930, -1, -1, -1, -1, -1, -1, -1, 3240, -1, -1, -1, -1, 211, -1, -1, -1, 215, 1948, 1949, -1, 1510, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1525, 235, 236, 757, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 248, -1, -1, 1542, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 871, -1, -1, -1, -1, -1, -1, -1, -1, 211, 1567, -1, -1, 215, -1, -1, 282, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 898, -1, 295, 3210, -1, -1, 235, 236, -1, -1, -1, 909, 910, -1, -1, 2040, -1, -1, -1, 248, 833, 2046, 835, -1, 837, -1, 1610, -1, -1, -1, 843, 844, -1, 3240, -1, 1619, 2061, -1, 2063, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 279, -1, -1, 282, -1, -1, -1, -1, 871, -1, -1, -1, -1, 356, -1, -1, 295, -1, 297, -1, -1, -1, -1, -1, -1, -1, -1, -1, 307, -1, -1, -1, -1, -1, -1, 898, -1, -1, 986, 987, -1, -1, 990, 991, -1, 993, 909, 910, -1, -1, 998, -1, -1, 2128, -1, -1, -1, -1, -1, -1, -1, -1, 2137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, 423, -1, -1, -1, -1, -1, -1, -1, 3465, -1, -1, -1, -1, -1, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, -1, -1, 969, -1, -1, -1, -1, -1, -1, -1, -1, 1749, 2191, -1, -1, -1, -1, -1, -1, 986, 987, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 998, -1, -1, -1, 2214, -1, -1, 3519, -1, 423, -1, 1094, -1, -1, -1, -1, -1, -1, -1, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, -1, -1, -1, 2246, -1, -1, -1, 2250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2262, 2263, 2264, 2265, -1, -1, -1, -1, -1, 2271, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2281, 2282, 3465, 2284, -1, -1, 1160, -1, -1, -1, -1, -1, -1, -1, -1, 2296, -1, 2298, -1, -1, -1, 2302, -1, -1, -1, 1094, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2318, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2328, -1, 2330, 2331, -1, -1, -1, -1, -1, 3519, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2351, -1, -1, -1, -1, -1, 2357, -1, -1, -1, -1, -1, -1, -1, 2365, 2366, 2367, -1, -1, -1, -1, 1160, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2388, 1948, 1949, -1, -1, 76, -1, 1268, -1, -1, -1, 2399, -1, -1, -1, -1, -1, -1, 1279, 90, -1, -1, 93, -1, -1, -1, -1, 98, 2416, 2417, -1, 2419, 103, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, -1, -1, 2434, -1, 2436, -1, -1, -1, -1, -1, -1, -1, -1, 90, -1, -1, -1, -1, -1, 1324, 1097, 98, 1327, -1, 1329, 1330, 103, -1, -1, -1, -1, -1, 2464, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1268, -1, -1, -1, -1, -1, -1, 2046, -1, -1, -1, 1279, -1, -1, 2494, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2063, -1, -1, -1, -1, -1, 2510, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1393, -1, -1, -1, -1, -1, -1, -1, 211, 1402, -1, -1, 215, 1406, -1, -1, 1324, 2537, 2538, 1327, -1, 1329, 1330, -1, -1, -1, -1, -1, 2548, -1, -1, 196, 235, 236, -1, -1, -1, -1, -1, 2559, -1, -1, -1, -1, -1, 248, 211, -1, -1, -1, 215, -1, -1, 2573, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2589, 235, 236, -1, 2593, -1, -1, 279, -1, -1, 282, -1, -1, -1, 248, -1, 1393, 2606, -1, -1, -1, 2610, -1, 295, -1, 297, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2626, -1, -1, -1, -1, -1, -1, -1, 279, -1, -1, 282, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 295, 2651, 297, -1, -1, -1, -1, 2657, -1, -1, 2660, -1, -1, -1, -1, -1, -1, -1, -1, 2669, -1, -1, -1, 356, -1, 2675, -1, -1, -1, 2679, -1, -1, -1, 2683, 2684, -1, -1, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, -1, -1, -1, -1, 2701, 2702, -1, -1, -1, -1, -1, -1, -1, 2710, 356, -1, -1, 1587, 2715, -1, -1, -1, -1, -1, -1, 2722, -1, 1512, 2725, -1, 2727, -1, -1, -1, -1, -1, -1, 2734, 2735, 2736, 2737, -1, -1, 423, 2741, -1, -1, 2744, -1, -1, -1, -1, -1, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 423, -1, 1425, -1, -1, -1, -1, -1, -1, -1, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 1587, -1, -1, -1, -1, -1, -1, -1, 1452, -1, 1597, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1466, -1, -1, -1, -1, -1, -1, -1, 2388, -1, -1, -1, -1, -1, 1708, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2847, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2416, 2417, 202, 2419, -1, -1, -1, -1, 1510, 209, -1, 211, -1, -1, -1, -1, -1, -1, 2434, -1, 2436, -1, -1, 1525, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1542, -1, -1, -1, -1, -1, -1, -1, 2464, -1, -1, -1, -1, -1, -1, -1, 1701, 1702, 1703, 2916, -1, -1, -1, 1708, 1709, 1567, -1, -1, 1713, 1714, 2927, -1, -1, -1, -1, 1720, -1, -1, 2494, 1809, -1, -1, -1, -1, 1729, -1, 1731, -1, -1, -1, -1, -1, -1, 76, 2510, -1, -1, -1, -1, -1, 1745, -1, 1747, -1, 2961, -1, -1, 90, 1610, -1, -1, -1, -1, -1, -1, 98, -1, 1619, 2975, -1, 103, -1, 2538, 2980, -1, -1, 2983, -1, -1, -1, -1, -1, 2548, 76, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2559, -1, -1, -1, 90, -1, -1, -1, -1, -1, -1, -1, 98, -1, 2573, -1, 3016, 103, -1, -1, 1893, 1809, -1, -1, -1, -1, -1, 1900, -1, 1902, -1, 1904, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2606, -1, -1, -1, 2610, -1, -1, -1, -1, -1, 3057, 3058, -1, -1, -1, 3062, 3063, -1, -1, -1, -1, -1, 3069, 3070, -1, -1, 3073, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, 215, -1, -1, -1, -1, 1097, -1, -1, -1, -1, 1887, -1, 2660, -1, -1, 1749, 1893, -1, -1, -1, 235, 236, -1, 1900, -1, -1, -1, 1989, -1, -1, -1, -1, -1, 248, -1, 2683, 211, -1, -1, -1, 215, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3147, -1, 235, 236, 2710, -1, 279, -1, -1, 282, -1, -1, -1, -1, -1, 248, -1, -1, -1, -1, -1, -1, 295, -1, 297, -1, -1, 2047, 2734, -1, -1, 2051, -1, -1, -1, 2055, -1, -1, 3185, -1, -1, -1, -1, -1, -1, 2065, 279, -1, -1, 282, -1, -1, -1, -1, 3201, -1, -1, 1992, 3205, -1, -1, -1, 295, 3210, 297, 2000, -1, -1, 2003, 2004, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2101, 3229, 356, -1, 3232, -1, -1, -1, -1, -1, -1, -1, 3240, 3241, 3242, 2116, -1, 3245, -1, -1, -1, -1, -1, -1, 3252, 3253, -1, -1, -1, -1, -1, 2047, -1, -1, -1, 2051, -1, -1, -1, 2055, -1, -1, 356, -1, -1, -1, -1, -1, 3276, 2065, -1, -1, -1, -1, 2070, -1, -1, -1, 2159, -1, 2847, -1, -1, -1, 378, -1, -1, 3295, -1, 423, -1, -1, -1, -1, -1, 1948, 1949, -1, -1, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2116, -1, -1, 3331, 3332, -1, -1, -1, -1, 423, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 3358, 3359, -1, -1, -1, -1, -1, -1, -1, -1, 2927, -1, -1, 2159, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 728, 84, -1, -1, 732, -1, -1, -1, -1, -1, -1, -1, 95, -1, -1, -1, 2046, 2961, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3413, -1, -1, -1, 115, 2063, 762, -1, -1, 1425, -1, -1, 2213, -1, -1, -1, -1, -1, -1, -1, -1, -1, 133, -1, 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1452, -1, -1, -1, 151, -1, -1, -1, -1, -1, 157, -1, 804, -1, 1466, -1, 3465, -1, 810, -1, -1, 2343, 169, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 198, -1, 200, -1, 3063, -1, 204, 1510, -1, -1, -1, -1, -1, -1, -1, -1, 3516, -1, -1, 3519, 218, -1, 1525, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1542, -1, -1, -1, 241, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2341, 252, 2343, -1, -1, -1, -1, 903, -1, -1, -1, 1567, 908, 2439, -1, 911, -1, -1, -1, -1, 2446, -1, 2448, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 933, -1, -1, -1, -1, -1, -1, 295, -1, 297, -1, -1, -1, -1, -1, -1, -1, 1610, -1, -1, -1, -1, -1, -1, -1, -1, 1619, -1, 316, -1, 2493, -1, 2495, 2496, -1, -1, -1, -1, -1, -1, -1, 2504, -1, -1, -1, -1, -1, 2510, -1, 337, -1, -1, -1, 341, 2517, 343, -1, -1, -1, -1, 2438, 3210, -1, -1, -1, 2528, 2529, -1, -1, -1, -1, -1, -1, -1, -1, 2538, 2454, -1, -1, -1, -1, -1, -1, 2461, 2462, -1, 374, 375, -1, 377, -1, 3240, -1, -1, -1, -1, -1, 385, -1, -1, -1, 389, 390, -1, -1, -1, 394, -1, 2571, 2572, -1, 399, -1, -1, -1, 2493, -1, 2495, 2496, -1, -1, -1, -1, -1, -1, -1, 2504, -1, -1, -1, -1, -1, 2510, 1066, -1, -1, -1, 2515, 1071, 2517, -1, -1, -1, -1, 1077, -1, -1, -1, -1, -1, 2528, 2529, -1, 2388, -1, -1, 1749, -1, -1, -1, 2538, -1, -1, -1, 1097, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2416, 2417, -1, 2419, -1, -1, -1, -1, 1122, -1, -1, -1, 2571, 2572, -1, -1, -1, -1, 2434, -1, 2436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2464, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2721, 2494, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2510, -1, -1, -1, 1212, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2667, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2677, -1, -1, -1, 2538, -1, -1, 1239, -1, -1, -1, -1, -1, -1, 2548, -1, -1, 3465, -1, -1, -1, -1, -1, -1, -1, 2559, -1, -1, -1, -1, -1, 1263, 1264, -1, 1266, -1, -1, -1, -1, 2573, -1, -1, -1, -1, 2721, -1, -1, -1, -1, -1, -1, -1, 1284, -1, -1, -1, 1948, 1949, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3519, 2606, -1, -1, -1, 2610, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2860, 2861, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1357, 2660, -1, 1360, 1361, 2892, 2893, 2894, 2895, 2896, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2683, -1, -1, -1, -1, 2046, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2063, -1, -1, -1, -1, 2710, -1, -1, -1, -1, -1, -1, 2860, 2861, -1, -1, -1, -1, -1, -1, -1, 2954, 1425, -1, -1, -1, -1, -1, -1, 2734, 1433, -1, -1, -1, -1, -1, -1, -1, -1, 2887, -1, -1, -1, -1, 2892, 2893, 2894, 2895, 2896, 1452, -1, -1, 2900, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1466, -1, 1468, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1494, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2954, 1510, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1525, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1542, -1, -1, 2847, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3086, 3087, -1, -1, -1, -1, -1, -1, 3094, -1, -1, 1567, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3115, 3116, -1, -1, -1, 3120, 3121, 3122, -1, -1, 3125, 3126, -1, -1, -1, -1, -1, -1, -1, -1, 1605, -1, 1607, -1, -1, 1610, -1, 1612, -1, -1, -1, -1, -1, -1, 1619, -1, -1, -1, -1, -1, 2927, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3087, -1, -1, -1, -1, -1, -1, -1, -1, 3096, -1, -1, -1, -1, 3186, 1657, -1, 2961, -1, -1, -1, -1, 3109, -1, -1, -1, -1, -1, 3115, 3116, -1, -1, -1, 3120, 3121, -1, -1, -1, 3125, -1, -1, -1, -1, -1, -1, -1, 1688, 1689, -1, -1, -1, -1, -1, -1, 1696, -1, -1, 1699, 1700, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1711, 1712, -1, -1, -1, -1, -1, -1, 1719, -1, -1, -1, 1723, 1724, 1725, 1726, -1, 2388, -1, -1, -1, -1, 1733, 1734, -1, -1, -1, -1, -1, -1, 3186, -1, -1, -1, -1, -1, -1, 3278, 1749, 1750, -1, -1, -1, 1754, -1, 2416, 2417, 1758, 2419, -1, 3063, 1762, -1, -1, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 2434, 1775, 2436, -1, -1, -1, 1780, -1, -1, -1, 1784, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3328, -1, -1, -1, -1, -1, 2464, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3278, 2494, -1, -1, -1, -1, -1, 1840, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2510, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2538, -1, -1, -1, -1, 3328, -1, -1, -1, -1, 2548, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2559, -1, -1, -1, -1, -1, -1, -1, -1, 3210, -1, -1, -1, -1, 2573, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1930, -1, -1, -1, -1, -1, -1, -1, 3240, -1, -1, -1, -1, -1, -1, -1, 2606, -1, 1948, 1949, 2610, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2660, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3463, 3464, -1, -1, -1, 2683, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2040, -1, -1, -1, -1, -1, 2046, -1, -1, -1, 2710, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2061, -1, 2063, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2734, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 728, -1, -1, -1, 732, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2128, -1, -1, -1, -1, -1, -1, -1, -1, 2137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 762, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3465, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2847, -1, -1, 804, 2191, -1, -1, -1, -1, 810, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2214, -1, -1, 3519, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2246, -1, -1, -1, 2250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2262, 2263, 2264, 2265, -1, 2927, -1, -1, -1, 2271, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2281, 2282, -1, 2284, -1, -1, -1, -1, 903, -1, -1, -1, -1, -1, -1, 2296, -1, 2298, -1, -1, 2961, 2302, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2318, 933, -1, -1, -1, -1, -1, -1, -1, -1, 2328, -1, 2330, 2331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2351, -1, -1, -1, -1, -1, 2357, -1, -1, -1, -1, -1, -1, -1, 2365, 2366, 2367, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2388, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2399, -1, -1, -1, 3063, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2416, 2417, -1, 2419, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2434, -1, 2436, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1066, -1, -1, -1, -1, 1071, -1, -1, -1, -1, -1, 1077, 2464, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1097, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2494, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1122, -1, 2510, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2538, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2548, -1, 3210, -1, -1, -1, -1, -1, -1, -1, -1, 2559, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2573, -1, -1, -1, -1, -1, -1, 3240, -1, -1, -1, -1, -1, -1, -1, -1, 2589, -1, -1, -1, 2593, -1, -1, -1, -1, 1212, -1, -1, -1, -1, -1, -1, -1, 2606, -1, -1, -1, 2610, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1239, 2626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1263, 1264, 2651, 1266, -1, -1, -1, -1, 2657, -1, -1, 2660, -1, -1, -1, -1, -1, -1, -1, -1, 2669, 1284, -1, -1, -1, -1, 2675, -1, -1, -1, 2679, -1, -1, -1, 2683, 2684, -1, -1, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, -1, -1, -1, -1, 2701, 2702, -1, -1, -1, -1, -1, -1, -1, 2710, -1, -1, -1, -1, 2715, -1, -1, -1, -1, -1, -1, 2722, -1, -1, 2725, -1, 2727, -1, -1, -1, -1, -1, -1, 2734, 2735, 2736, 2737, -1, -1, -1, 2741, -1, 1357, 2744, -1, 1360, 1361, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3465, -1, -1, -1, -1, -1, 1425, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1452, -1, -1, -1, -1, -1, -1, -1, -1, 2847, -1, -1, -1, -1, 1466, -1, -1, -1, -1, -1, -1, 3519, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1510, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1525, -1, -1, -1, -1, 2916, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2927, 1542, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1567, -1, -1, -1, -1, -1, -1, -1, 2961, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2975, -1, -1, -1, -1, 2980, -1, -1, 2983, -1, -1, -1, -1, -1, -1, -1, 1605, -1, 1607, -1, -1, 1610, -1, 1612, -1, -1, -1, -1, -1, -1, 1619, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3016, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 903, -1, -1, -1, -1, -1, -1, -1, 1657, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3057, 3058, -1, -1, -1, 3062, 3063, -1, 933, -1, -1, -1, 3069, 3070, -1, -1, 3073, 1688, 1689, -1, -1, -1, -1, -1, -1, 1696, -1, -1, 1699, 1700, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1711, 1712, -1, -1, -1, -1, -1, -1, 1719, -1, -1, -1, 1723, 1724, 1725, 1726, -1, -1, -1, -1, -1, -1, 1733, 1734, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1749, 1750, -1, -1, -1, 1754, -1, -1, -1, 1758, -1, -1, 3147, 1762, -1, -1, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, -1, 1775, -1, -1, -1, -1, 1780, -1, -1, -1, 1784, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3185, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1066, -1, -1, 3201, -1, -1, -1, 3205, -1, -1, -1, -1, 3210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1840, -1, -1, 3229, -1, -1, 3232, -1, -1, -1, -1, -1, -1, -1, 3240, 3241, 3242, -1, -1, 3245, -1, -1, -1, -1, -1, -1, 3252, 3253, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3276, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3295, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1930, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3331, 3332, -1, 1948, 1949, -1, -1, -1, -1, -1, -1, -1, -1, 1212, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3358, 3359, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1239, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1263, 1264, -1, 1266, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3413, -1, -1, 1284, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2040, -1, -1, -1, -1, -1, 2046, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2061, -1, 2063, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3465, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3482, -1, -1, -1, -1, -1, -1, 1357, -1, -1, 1360, 1361, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2128, -1, 3516, -1, -1, 3519, -1, -1, -1, 2137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2191, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2214, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2246, -1, -1, -1, 2250, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2262, 2263, 2264, 2265, -1, -1, -1, -1, -1, 2271, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2281, 2282, -1, 2284, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2296, -1, 2298, -1, -1, -1, 2302, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2318, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2328, -1, 2330, 2331, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1280, -1, -1, -1, -1, -1, -1, -1, 2351, -1, -1, -1, -1, -1, 2357, -1, -1, -1, -1, -1, -1, -1, 2365, 2366, 2367, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2388, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2399, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1347, -1, -1, -1, -1, -1, 2416, 2417, -1, 2419, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2434, -1, 2436, -1, -1, -1, -1, -1, 1696, -1, -1, -1, 1700, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2464, 1719, -1, -1, -1, 1723, -1, -1, 1726, -1, -1, -1, -1, -1, -1, 1733, 1734, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2494, -1, 1750, -1, -1, -1, 1754, -1, -1, -1, 1758, -1, -1, -1, 1762, -1, 2510, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, -1, 1775, -1, -1, -1, -1, 1780, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2538, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2548, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2559, -1, -1, -1, -1, -1, -1, 1503, -1, -1, -1, -1, -1, -1, 2573, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1840, -1, -1, 2589, -1, -1, -1, 2593, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2606, -1, -1, -1, 2610, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2626, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2651, -1, -1, -1, -1, -1, 2657, -1, -1, 2660, -1, -1, -1, -1, -1, -1, -1, -1, 2669, -1, -1, -1, -1, -1, 2675, 1930, -1, -1, 2679, -1, -1, -1, 2683, 2684, -1, -1, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, -1, -1, -1, -1, 2701, 2702, -1, -1, -1, -1, -1, -1, -1, 2710, -1, -1, -1, -1, 2715, -1, -1, -1, -1, -1, -1, 2722, -1, -1, 2725, -1, 2727, -1, -1, -1, -1, -1, -1, 2734, 2735, 2736, 2737, -1, -1, -1, 2741, -1, -1, 2744, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1694, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1718, -1, -1, -1, -1, 2040, 1724, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1737, 1738, -1, -1, 1741, -1, -1, 2061, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1778, -1, -1, -1, -1, -1, 2847, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1849, -1, -1, -1, 2916, -1, -1, 1856, -1, 1858, -1, -1, -1, -1, -1, 2927, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2191, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2214, 2961, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2975, -1, -1, -1, -1, 2980, -1, -1, 2983, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2262, -1, 2264, 2265, -1, -1, -1, -1, 3016, 2271, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2296, -1, 2298, -1, -1, -1, 2302, -1, -1, -1, -1, -1, -1, -1, -1, 3057, 3058, -1, -1, -1, 3062, 3063, -1, -1, -1, -1, -1, 3069, 3070, -1, -1, 3073, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2351, -1, -1, -1, -1, -1, 2357, -1, -1, -1, -1, -1, -1, -1, 2365, 2366, 2367, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2399, -1, 3147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3185, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3201, -1, -1, -1, 3205, -1, -1, -1, -1, 3210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3229, -1, -1, 3232, -1, -1, -1, -1, -1, -1, -1, 3240, 3241, 3242, -1, -1, 3245, -1, -1, -1, -1, -1, -1, 3252, 3253, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2208, -1, -1, -1, -1, 3276, -1, -1, -1, 2217, -1, 2219, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3295, -1, -1, -1, -1, -1, -1, -1, -1, 2241, -1, -1, 2244, -1, 2246, 2247, -1, -1, 2250, -1, -1, -1, 2254, -1, -1, -1, -1, -1, -1, 2261, -1, -1, -1, -1, 2266, -1, 3331, 3332, -1, -1, -1, -1, -1, -1, -1, 2277, -1, -1, -1, 2281, 2282, 2283, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2294, 3358, 3359, -1, -1, -1, -1, 2301, -1, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2651, -1, -1, -1, -1, -1, 2657, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3413, -1, 2669, -1, -1, -1, -1, -1, 2675, -1, -1, -1, 2679, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2701, 2702, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3465, -1, -1, 2722, 2406, -1, 2725, -1, 2727, -1, -1, -1, -1, -1, -1, -1, 2735, 3482, -1, -1, -1, -1, 2741, -1, -1, 2744, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3516, -1, -1, 3519, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2492, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2511, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 39, 40, -1, -1, -1, -1, 45, -1, 47, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, 2603, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2656, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2682, -1, 2684, -1, -1, 2687, 2688, 2689, 2690, 2691, 2692, 2693, 2694, 2695, 2696, -1, 2698, 3016, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 190, -1, -1, -1, -1, -1, 2718, -1, -1, -1, -1, 2723, 2724, -1, -1, -1, -1, -1, -1, 209, -1, -1, -1, -1, 2736, 2737, 2738, -1, 2740, -1, -1, 2743, -1, 3062, -1, -1, -1, -1, -1, 229, 3069, 3070, -1, -1, 3073, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, 2813, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 345, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3201, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 381, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 393, 2916, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 405, 3245, -1, -1, -1, -1, -1, -1, -1, 3253, -1, 416, -1, -1, -1, -1, 421, 422, -1, 424, -1, 426, -1, -1, -1, 430, 431, -1, 433, 434, -1, -1, 3276, 438, 439, 440, 441, 442, -1, -1, 445, 446, 447, 448, -1, 450, 451, 452, -1, 454, 455, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3013, -1, 3332, -1, 3017, -1, -1, -1, -1, 3022, 3023, -1, 3025, -1, -1, 3028, -1, 5, -1, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 19, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, 3056, 3057, 3058, 3059, -1, 3061, -1, -1, 39, 40, 3066, 3067, 3068, -1, -1, 3071, 47, 48, 3074, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, 117, -1, -1, 39, 40, -1, -1, 3149, -1, -1, -1, 47, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 190, -1, -1, -1, -1, -1, -1, 3222, 117, -1, -1, -1, -1, -1, 3229, -1, -1, 3232, -1, 209, 3235, 3236, 3237, -1, -1, -1, 3241, 3242, 3243, 3244, -1, 3246, -1, -1, -1, -1, -1, -1, -1, 229, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, 263, -1, -1, -1, -1, -1, -1, -1, 190, -1, -1, 3299, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, 209, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 229, -1, -1, -1, -1, -1, -1, -1, -1, 3344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3357, 3358, 3359, 3360, -1, -1, 3363, 3364, 3365, 260, 3367, -1, 263, 345, -1, -1, -1, -1, 3375, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 381, -1, -1, -1, -1, 3411, -1, -1, -1, -1, -1, -1, 393, -1, -1, -1, -1, -1, 3424, 3425, -1, -1, -1, -1, 405, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 416, -1, -1, -1, -1, 421, 422, -1, 424, -1, 345, -1, -1, -1, 430, 431, -1, 433, 434, -1, -1, -1, 438, 439, 440, 441, 442, -1, -1, 445, 446, 447, -1, -1, -1, 451, -1, -1, -1, 455, -1, -1, -1, -1, -1, -1, 381, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 405, -1, -1, -1, 5, -1, -1, -1, -1, -1, -1, 416, -1, -1, -1, -1, 421, 422, 19, 424, -1, -1, -1, -1, -1, 430, 431, 28, 433, 434, -1, -1, -1, 438, 439, 440, 441, 442, 39, 40, 445, 446, 447, 448, -1, -1, 47, 48, -1, -1, 455, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, -1, -1, -1, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 39, 40, -1, -1, -1, -1, 117, -1, 47, 48, -1, -1, -1, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, 190, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 209, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 229, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 260, -1, 190, 263, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 209, -1, -1, 284, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 229, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -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, 345, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 381, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 405, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 416, 345, -1, -1, -1, 421, 422, -1, 424, -1, -1, -1, -1, -1, 430, 431, -1, 433, 434, -1, -1, -1, 438, 439, 440, 441, 442, -1, -1, 445, 446, 447, 448, -1, -1, -1, -1, 381, -1, 455, -1, -1, -1, -1, -1, -1, -1, -1, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 405, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 416, -1, -1, -1, -1, 421, 422, -1, 424, -1, -1, -1, -1, -1, 430, 431, -1, 433, 434, -1, -1, -1, 438, 439, 440, 441, 442, -1, -1, 445, 446, 447, 5, 6, 7, 8, 9, 10, 11, 455, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 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, -1, 108, 109, 110, -1, 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, -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -1, 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, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -1, -1, 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, -1, 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, -1, 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, -1, -1, 405, 406, 407, 408, -1, 410, 411, 412, 413, 414, 415, 416, 417, 6, 7, 8, 421, 10, 11, 424, 13, 14, 15, -1, -1, -1, 19, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, -1, -1, -1, 35, 36, 37, 38, 451, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, -1, -1, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, 155, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, -1, 186, -1, -1, -1, 190, -1, -1, -1, -1, 195, -1, 197, -1, -1, -1, -1, -1, 203, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, 224, -1, -1, -1, -1, -1, 230, -1, 232, -1, -1, 235, 236, -1, 238, -1, -1, -1, -1, -1, -1, 245, 246, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 266, 267, 268, -1, -1, -1, -1, -1, -1, -1, -1, 277, -1, -1, -1, -1, 282, -1, -1, 285, 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 299, 300, 301, 302, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 320, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 336, -1, -1, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, 356, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 379, 380, -1, -1, -1, 384, -1, 386, -1, -1, -1, -1, -1, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 405, -1, 407, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, -1, 10, 11, -1, 13, 14, 15, -1, -1, -1, 19, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, -1, 452, -1, 35, 36, 37, 38, -1, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, -1, -1, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, 155, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, -1, 186, -1, -1, -1, 190, -1, -1, -1, -1, 195, -1, 197, -1, -1, -1, -1, -1, 203, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, 224, -1, -1, -1, -1, -1, 230, -1, 232, -1, -1, 235, 236, -1, 238, -1, -1, -1, -1, -1, -1, 245, 246, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 266, 267, 268, -1, -1, -1, -1, -1, -1, -1, -1, 277, -1, -1, -1, -1, 282, -1, -1, 285, 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 299, 300, 301, 302, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 320, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 336, -1, -1, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, 356, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 379, 380, -1, -1, -1, 384, -1, 386, -1, -1, -1, -1, -1, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 405, -1, 407, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 421, 3, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, 452, -1, 35, 36, 37, 38, -1, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, 98, 99, -1, -1, 102, 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, -1, 121, -1, 123, 124, 125, -1, -1, 128, 129, -1, -1, -1, -1, -1, -1, 136, 137, 138, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, 151, -1, 153, 154, 155, 156, -1, -1, -1, -1, -1, 162, -1, -1, -1, -1, -1, -1, -1, -1, 171, -1, -1, -1, -1, -1, 177, -1, -1, -1, -1, 182, 183, 184, -1, 186, -1, 188, -1, 190, -1, -1, -1, -1, 195, -1, 197, -1, 199, -1, 201, -1, 203, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, 224, -1, -1, 227, -1, -1, 230, -1, 232, -1, -1, 235, 236, -1, 238, -1, -1, -1, -1, -1, -1, 245, 246, -1, 248, -1, 250, 251, -1, -1, -1, -1, 256, -1, -1, -1, -1, -1, -1, -1, 264, -1, 266, 267, 268, -1, -1, -1, -1, -1, -1, -1, -1, 277, -1, -1, -1, 281, 282, -1, -1, 285, 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 299, 300, 301, 302, -1, -1, -1, -1, -1, 308, 309, -1, 311, -1, -1, -1, -1, -1, -1, -1, -1, 320, 321, -1, -1, 324, -1, 326, -1, -1, -1, 330, -1, -1, -1, -1, 335, 336, -1, 338, 339, -1, -1, 342, -1, -1, -1, -1, 347, -1, -1, -1, -1, 352, 353, -1, 355, 356, -1, 358, -1, -1, 361, -1, -1, -1, -1, -1, -1, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 379, 380, -1, -1, -1, 384, -1, 386, -1, 388, -1, 390, -1, -1, 393, -1, -1, 396, -1, 398, -1, -1, 401, -1, -1, 404, 405, -1, 407, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 421, -1, -1, 424, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, 447, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, 167, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, 438, 439, 440, -1, -1, -1, -1, -1, -1, 447, 448, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, 438, 439, -1, -1, -1, -1, -1, -1, -1, 447, 448, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, -1, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, -1, 137, -1, 139, 140, 141, 142, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, -1, 184, -1, -1, -1, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, -1, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, 246, 247, 248, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -1, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, 281, 282, 283, -1, -1, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, 300, 301, -1, 303, 304, 305, 306, -1, -1, -1, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, -1, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, -1, 385, -1, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, -1, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, -1, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 448, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, 400, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, -1, -1, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 445, 18, -1, 20, 449, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, 196, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, -1, 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, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, 438, 439, 5, 6, 7, 8, 9, 10, 11, 447, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, 438, 439, 440, -1, -1, -1, -1, -1, -1, 447, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, 438, 439, 5, 6, 7, 8, 9, 10, 11, 447, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, 438, 439, 5, 6, 7, 8, 9, 10, 11, 447, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, 438, 439, 5, 6, 7, 8, 9, 10, 11, 447, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, 438, 439, -1, -1, -1, -1, -1, 445, -1, 447, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, 196, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, 438, 439, 5, 6, 7, 8, 9, 10, 11, 447, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, 438, 439, 5, 6, 7, 8, 9, 10, 11, 447, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, 280, 281, 282, 283, 284, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, -1, 439, 5, 6, 7, 8, 9, 10, 11, 447, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, -1, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, -1, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, -1, -1, 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, -1, 280, 281, 282, 283, 284, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, 438, 439, 5, 6, 7, 8, 9, 10, 11, 447, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, 92, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, -1, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, 114, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, -1, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, -1, -1, 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, -1, 280, 281, 282, 283, 284, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, -1, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, 351, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, -1, 424, 425, -1, -1, 428, 429, 430, 431, 432, 433, -1, -1, -1, -1, -1, 439, -1, 6, 7, 8, 9, 10, 11, 447, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, 93, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, -1, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 448, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, 109, 110, -1, 112, 113, -1, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, 280, 281, 282, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 447, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, 109, 110, -1, 112, 113, -1, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, 280, 281, 282, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, 294, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 447, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, 109, 110, -1, 112, 113, -1, 115, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 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, -1, 280, 281, 282, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 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, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 447, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, -1, 424, 425, -1, -1, -1, -1, 430, 431, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 446, 447, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, -1, 424, 425, -1, -1, -1, -1, 430, 431, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, 447, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 447, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 425, -1, -1, -1, -1, -1, -1, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, 447, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 447, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 447, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, -1, -1, -1, -1, -1, -1, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, 447, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 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, -1, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, -1, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, -1, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, -1, 184, -1, -1, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, -1, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, -1, -1, 226, 227, 228, 229, 230, 231, 232, 233, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, -1, 246, 247, 248, 249, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, -1, 300, 301, -1, 303, 304, 305, 306, -1, -1, -1, 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, -1, 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, -1, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, -1, 382, 383, -1, 385, -1, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, -1, 405, 406, 407, 408, -1, 410, 411, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, 423, 424, 425, -1, -1, -1, -1, 430, 431, -1, 433, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, 423, 424, -1, -1, -1, -1, -1, -1, -1, -1, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, 423, 424, -1, -1, -1, -1, -1, -1, -1, -1, -1, 434, 435, 436, -1, 438, 439, 440, 441, 442, 443, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 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, -1, 108, 109, 110, -1, 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, -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -1, 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, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -1, -1, 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, -1, 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, -1, 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, -1, -1, 405, 406, 407, 408, -1, 410, 411, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, -1, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, 440, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, 107, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, -1, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, -1, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, -1, 184, -1, -1, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, -1, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, -1, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, 281, -1, 283, -1, -1, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, 303, 304, 305, 306, -1, -1, -1, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, -1, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, -1, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, -1, 385, -1, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, -1, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, 440, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, 440, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, 289, -1, 291, -1, 293, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, -1, 424, 425, -1, -1, -1, -1, 430, 431, -1, 433, -1, -1, -1, -1, -1, 439, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, 289, -1, 291, -1, 293, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, -1, 424, 425, -1, -1, -1, -1, 430, 431, -1, 433, -1, -1, -1, -1, -1, 439, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, 196, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 425, -1, -1, -1, -1, -1, 431, -1, 6, 7, 8, 9, 10, 11, 439, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 425, -1, -1, -1, -1, -1, 431, -1, 6, 7, 8, 9, 10, 11, 439, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 425, -1, -1, 6, 7, 8, 9, 10, 11, 434, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, -1, 424, 425, -1, -1, 428, 429, 430, 431, -1, 433, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, 381, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, -1, 424, 425, -1, -1, -1, -1, 430, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, -1, 424, 425, -1, -1, -1, -1, 430, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, -1, 424, 425, -1, -1, -1, -1, 430, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, 422, -1, 424, 425, -1, -1, -1, -1, 430, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, -1, 4, 427, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, 6, 7, 8, 421, 10, 11, 424, 13, 14, 15, -1, -1, -1, 19, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, -1, -1, -1, 35, 36, 37, 38, -1, 40, -1, 42, 43, 44, 45, 46, 47, 48, 49, -1, -1, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, 155, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, -1, 186, -1, -1, -1, 190, -1, -1, -1, -1, 195, -1, 197, -1, -1, -1, -1, -1, 203, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, 224, -1, -1, -1, -1, -1, 230, -1, 232, -1, -1, 235, 236, -1, 238, -1, -1, -1, -1, -1, -1, 245, 246, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 266, 267, 268, -1, -1, -1, -1, -1, -1, -1, -1, 277, -1, -1, -1, -1, 282, -1, -1, 285, 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 299, 300, 301, 302, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 320, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 336, -1, -1, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, 356, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 379, 380, -1, -1, -1, 384, -1, 386, -1, -1, -1, -1, -1, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 405, -1, 407, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 421, -1, -1, 424, -1, 426, 6, 7, 8, -1, 10, 11, -1, 13, 14, 15, -1, -1, -1, 19, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, -1, -1, -1, 35, 36, 37, 38, -1, 40, -1, 42, 43, 44, 45, 46, 47, 48, 49, -1, -1, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, 155, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, -1, 186, -1, -1, -1, 190, -1, -1, -1, -1, 195, -1, 197, -1, -1, -1, -1, -1, 203, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, 224, -1, -1, -1, -1, -1, 230, -1, 232, -1, -1, 235, 236, -1, 238, -1, -1, -1, -1, -1, -1, 245, 246, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 266, 267, 268, -1, -1, -1, -1, -1, -1, -1, -1, 277, -1, -1, -1, -1, 282, -1, -1, 285, 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 299, 300, 301, 302, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 320, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 336, -1, -1, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, 356, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 379, 380, -1, -1, -1, 384, -1, 386, -1, -1, -1, -1, -1, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 405, -1, 407, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 421, -1, -1, 424, -1, 426, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 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, -1, 108, 109, 110, -1, 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, -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -1, 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, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -1, -1, 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, -1, 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, -1, 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, -1, -1, 405, 406, 407, 408, -1, 410, 411, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, -1, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, -1, 137, -1, 139, 140, 141, 142, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, -1, 184, -1, -1, -1, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, -1, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, 246, 247, 248, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -1, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, 281, 282, 283, -1, -1, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, 300, 301, -1, 303, 304, 305, 306, -1, -1, -1, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, -1, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, -1, 385, -1, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, -1, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, -1, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, -1, 137, -1, 139, 140, 141, 142, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, -1, 184, -1, -1, -1, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, -1, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, -1, 246, 247, 248, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, -1, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, 281, 282, 283, -1, -1, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, -1, 300, 301, -1, 303, 304, 305, 306, -1, -1, -1, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, -1, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, -1, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, -1, 385, -1, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, -1, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, 41, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 425, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 425, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 425, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, 17, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 425, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 425, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 425, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 425, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, 107, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, -1, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, -1, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, -1, 184, -1, -1, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, -1, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, -1, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, 281, -1, 283, -1, -1, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, -1, 303, 304, 305, 306, -1, -1, -1, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, -1, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, -1, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, -1, 385, -1, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, -1, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, 107, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, -1, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, -1, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, -1, 184, -1, -1, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, -1, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, -1, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, -1, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, 303, 304, 305, 306, -1, -1, -1, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, -1, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, -1, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, -1, 385, -1, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, -1, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, 107, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, -1, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, -1, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, -1, 184, -1, -1, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, -1, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, -1, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, -1, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, 303, 304, 305, 306, -1, -1, -1, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, -1, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, -1, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, -1, 385, -1, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, -1, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, 107, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, -1, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, -1, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, -1, 184, -1, -1, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, -1, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, -1, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, 281, -1, 283, 284, -1, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, 303, 304, 305, 306, -1, -1, -1, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, -1, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, -1, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, -1, 385, -1, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, -1, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, 107, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, -1, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, -1, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, -1, 184, -1, -1, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, -1, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, -1, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, 281, -1, 283, -1, -1, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, 303, 304, 305, 306, -1, -1, -1, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, -1, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, -1, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, -1, 385, -1, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, -1, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 5, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, 107, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, -1, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, -1, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, -1, 184, -1, -1, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, -1, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, -1, -1, 226, 227, 228, 229, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, -1, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, -1, 278, -1, 280, 281, -1, 283, -1, -1, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, 303, 304, 305, 306, -1, -1, -1, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, -1, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, -1, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, -1, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, -1, 385, -1, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, -1, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 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, -1, 108, 109, 110, -1, 112, 113, 114, 115, 116, -1, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, -1, 153, 154, 155, 156, 157, 158, 159, 160, -1, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, -1, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, -1, 200, 201, 202, 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, -1, 226, 227, 228, -1, 230, 231, 232, 233, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, -1, 261, 262, -1, 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, -1, 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, -1, -1, 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, -1, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, 399, 400, 401, 402, -1, -1, 405, 406, 407, 408, -1, 410, 411, 412, 413, 414, 415, -1, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, 282, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, 282, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, 142, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, 195, -1, 197, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, 211, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, 223, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, 235, 236, 237, 238, 239, 240, 241, 242, 243, -1, 245, 246, 247, 248, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, 282, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, 300, 301, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, 356, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, 407, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, 193, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, 248, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, 394, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, 201, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 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, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 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, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, 294, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, 138, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 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, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, 347, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, 292, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, 196, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, 399, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, 93, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, 93, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, 204, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, 400, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, -1, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, -1, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, 99, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, -1, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, 93, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, -1, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, 132, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, -1, -1, -1, 421, -1, -1, 424, 6, 7, 8, 9, 10, 11, -1, 13, 14, 15, 16, -1, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, 32, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, 50, 51, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 80, 81, 82, 83, 84, -1, 86, 87, -1, -1, -1, -1, -1, -1, -1, 95, 96, -1, 98, -1, 100, 101, 102, -1, 104, -1, 106, -1, -1, 109, 110, -1, 112, 113, -1, -1, 116, 117, 118, 119, -1, 121, 122, 123, 124, 125, -1, -1, 128, 129, 130, 131, -1, -1, 134, 135, 136, 137, -1, 139, 140, 141, -1, 143, -1, -1, -1, -1, -1, 149, 150, 151, 152, 153, 154, 155, 156, -1, 158, -1, 160, -1, 162, 163, 164, -1, 166, -1, -1, 169, 170, 171, 172, -1, 174, 175, 176, -1, 178, -1, 180, 181, 182, 183, 184, -1, 186, -1, 188, 189, 190, -1, 192, -1, 194, -1, -1, -1, 198, -1, 200, -1, 202, 203, -1, 205, -1, 207, 208, 209, 210, -1, 212, 213, 214, -1, 216, 217, 218, 219, 220, 221, -1, -1, 224, -1, 226, 227, 228, -1, 230, -1, 232, -1, -1, -1, -1, 237, -1, 239, 240, 241, 242, 243, -1, 245, -1, 247, -1, -1, 250, 251, 252, -1, -1, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, -1, 268, -1, 270, 271, 272, 273, 274, 275, 276, 277, 278, -1, 280, 281, -1, 283, -1, 285, 286, 287, 288, -1, -1, 291, -1, -1, -1, 295, 296, -1, -1, 299, -1, -1, 302, 303, 304, 305, 306, -1, 308, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, -1, 324, 325, 326, 327, 328, 329, 330, 331, 332, -1, 334, 335, -1, 337, 338, 339, 340, 341, 342, 343, 344, 345, -1, -1, 348, 349, 350, -1, 352, 353, 354, 355, -1, 357, 358, -1, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, -1, 371, 372, -1, 374, 375, 376, 377, -1, 379, 380, -1, -1, 383, 384, 385, 386, -1, 388, 389, 390, 391, 392, -1, -1, 395, 396, 397, 398, -1, -1, 401, 402, -1, 404, 405, 406, -1, 408, -1, -1, -1, 412, 413, 414, 415, 416, 417, 6, 7, 8, 421, 10, 11, 424, 13, 14, 15, -1, -1, -1, 19, 20, -1, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, -1, -1, -1, 35, 36, 37, 38, -1, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, -1, -1, -1, -1, -1, 55, 56, -1, -1, -1, -1, 61, -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, 155, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, -1, 186, -1, -1, -1, 190, -1, -1, -1, -1, 195, -1, 197, -1, -1, -1, -1, -1, 203, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, 224, -1, -1, -1, -1, -1, 230, -1, 232, -1, -1, 235, 236, -1, 238, -1, -1, -1, -1, -1, -1, 245, 246, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 266, 267, 268, -1, -1, -1, -1, -1, -1, -1, -1, 277, -1, -1, -1, -1, 282, -1, -1, 285, 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 299, 300, 301, 302, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 320, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 336, -1, -1, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, 356, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 379, 380, -1, -1, -1, 384, -1, 386, -1, -1, -1, -1, -1, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 405, -1, 407, -1, 6, 7, 8, -1, 10, 11, -1, 13, 14, 15, -1, -1, 421, 19, 20, 424, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, -1, -1, -1, 35, 36, 37, 38, -1, 40, -1, 42, 43, 44, -1, 46, 47, 48, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, 155, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, -1, 186, -1, -1, -1, 190, -1, -1, -1, -1, 195, -1, 197, -1, -1, -1, -1, -1, 203, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, 224, -1, -1, -1, -1, -1, 230, -1, 232, -1, -1, 235, 236, -1, 238, -1, -1, -1, -1, -1, -1, 245, 246, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 266, 267, 268, -1, -1, -1, -1, -1, -1, -1, -1, 277, -1, -1, -1, -1, 282, -1, -1, 285, 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 299, 300, 301, 302, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 320, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 336, -1, -1, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, 356, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 379, 380, -1, -1, -1, 384, -1, 386, -1, -1, -1, -1, -1, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 405, -1, 407, -1, 6, 7, 8, -1, 10, 11, -1, 13, 14, 15, -1, -1, 421, -1, 20, 424, 22, 23, 24, 25, 26, 27, -1, 29, 30, 31, -1, -1, -1, 35, 36, 37, 38, -1, -1, -1, 42, 43, 44, -1, 46, -1, -1, 49, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, -1, -1, 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 118, -1, -1, -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 136, -1, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, 155, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, -1, 186, -1, -1, -1, 190, -1, -1, -1, -1, 195, -1, 197, -1, -1, -1, -1, -1, 203, -1, -1, -1, -1, -1, -1, -1, 211, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, 224, -1, -1, -1, -1, -1, 230, -1, 232, -1, -1, 235, 236, -1, 238, -1, -1, -1, -1, -1, -1, 245, 246, -1, 248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 266, 267, 268, -1, -1, -1, -1, -1, -1, -1, -1, 277, -1, -1, -1, -1, 282, -1, -1, 285, 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 299, 300, 301, 302, -1, -1, -1, -1, -1, 308, 309, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 320, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 336, -1, -1, 339, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 353, -1, -1, 356, -1, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, 368, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 379, 380, -1, -1, -1, 384, -1, 386, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 405, -1, 407, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 421, -1, -1, 424 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const unsigned short yystos[] = { 0, 457, 458, 0, 5, 19, 28, 39, 40, 45, 47, 48, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 117, 190, 209, 229, 260, 263, 284, 345, 381, 393, 405, 416, 421, 422, 424, 426, 430, 431, 433, 434, 438, 439, 440, 441, 442, 445, 446, 447, 448, 450, 451, 452, 454, 455, 459, 844, 845, 848, 884, 886, 986, 999, 1000, 885, 3, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 35, 36, 37, 38, 40, 42, 43, 44, 46, 47, 48, 49, 50, 51, 55, 56, 61, 70, 72, 74, 75, 77, 87, 88, 89, 98, 99, 102, 103, 104, 105, 106, 118, 121, 123, 124, 125, 128, 129, 136, 137, 138, 142, 151, 153, 154, 155, 156, 162, 171, 177, 182, 183, 184, 186, 188, 190, 195, 197, 199, 201, 203, 211, 223, 224, 227, 230, 232, 235, 236, 238, 245, 246, 248, 250, 251, 256, 264, 266, 267, 268, 277, 281, 282, 285, 286, 299, 300, 301, 302, 308, 309, 311, 320, 321, 324, 326, 330, 335, 336, 338, 339, 342, 347, 352, 353, 355, 356, 358, 361, 368, 379, 380, 384, 386, 388, 390, 393, 396, 398, 401, 404, 405, 407, 421, 424, 447, 460, 461, 462, 465, 466, 467, 468, 469, 470, 471, 472, 474, 475, 479, 490, 491, 492, 495, 496, 504, 505, 514, 542, 547, 548, 552, 557, 559, 561, 562, 575, 576, 577, 578, 588, 593, 594, 595, 596, 601, 602, 605, 608, 609, 619, 620, 623, 629, 643, 646, 647, 648, 651, 653, 655, 658, 660, 661, 662, 670, 671, 672, 673, 674, 679, 681, 682, 686, 687, 690, 691, 692, 694, 695, 696, 697, 698, 703, 706, 711, 713, 717, 724, 727, 728, 729, 730, 731, 752, 860, 874, 875, 876, 877, 878, 891, 897, 898, 899, 900, 901, 903, 905, 907, 908, 909, 910, 912, 917, 918, 921, 926, 927, 936, 937, 939, 940, 941, 944, 948, 951, 955, 957, 958, 961, 963, 966, 975, 982, 983, 993, 426, 888, 889, 891, 893, 897, 900, 903, 17, 9, 16, 18, 32, 50, 51, 55, 56, 61, 70, 72, 74, 75, 77, 78, 79, 80, 81, 82, 83, 84, 86, 87, 95, 96, 98, 100, 101, 102, 109, 110, 112, 113, 116, 117, 119, 121, 122, 123, 124, 128, 129, 130, 131, 132, 134, 135, 137, 139, 140, 141, 143, 149, 150, 151, 152, 153, 156, 158, 160, 162, 163, 164, 166, 169, 170, 171, 172, 174, 175, 176, 178, 180, 181, 182, 184, 188, 189, 192, 194, 198, 200, 202, 205, 207, 208, 209, 210, 212, 213, 214, 216, 217, 218, 219, 220, 221, 226, 227, 228, 237, 239, 240, 241, 242, 243, 247, 250, 251, 252, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 270, 271, 272, 273, 274, 275, 276, 278, 280, 281, 283, 287, 288, 291, 295, 296, 303, 304, 305, 306, 310, 311, 312, 314, 315, 316, 317, 318, 319, 321, 322, 324, 325, 326, 327, 328, 329, 330, 331, 332, 334, 335, 337, 338, 340, 341, 342, 343, 344, 345, 348, 349, 350, 352, 354, 355, 357, 360, 361, 362, 363, 364, 365, 366, 367, 369, 371, 372, 374, 375, 376, 377, 381, 383, 385, 388, 389, 390, 391, 392, 395, 396, 397, 398, 401, 402, 404, 406, 408, 412, 413, 414, 415, 416, 417, 425, 848, 853, 858, 870, 871, 965, 966, 967, 971, 977, 978, 979, 980, 981, 982, 990, 992, 993, 33, 225, 938, 12, 85, 157, 837, 872, 919, 920, 971, 992, 5, 28, 33, 39, 40, 47, 48, 85, 88, 89, 90, 91, 92, 93, 94, 97, 108, 114, 115, 117, 120, 126, 127, 133, 138, 144, 145, 146, 147, 148, 157, 159, 165, 167, 168, 173, 177, 179, 187, 191, 193, 196, 201, 204, 206, 215, 222, 225, 229, 231, 233, 244, 249, 269, 279, 284, 289, 290, 292, 293, 294, 297, 298, 313, 323, 333, 347, 351, 359, 370, 373, 378, 381, 382, 387, 393, 394, 399, 400, 410, 411, 451, 902, 967, 968, 969, 974, 975, 976, 977, 979, 980, 984, 836, 971, 836, 969, 28, 39, 117, 229, 962, 42, 44, 279, 892, 383, 414, 675, 84, 135, 151, 169, 198, 204, 218, 241, 295, 337, 343, 348, 373, 374, 385, 390, 399, 920, 156, 675, 836, 269, 292, 832, 834, 840, 859, 971, 293, 312, 675, 105, 510, 728, 84, 95, 115, 133, 151, 157, 169, 200, 204, 252, 295, 297, 337, 343, 374, 375, 377, 385, 389, 390, 394, 399, 515, 553, 591, 624, 630, 837, 848, 861, 862, 863, 872, 993, 17, 311, 836, 872, 925, 362, 836, 196, 84, 95, 115, 135, 151, 169, 198, 204, 218, 295, 303, 316, 337, 341, 343, 348, 373, 374, 385, 390, 399, 408, 558, 597, 675, 212, 925, 698, 705, 78, 85, 100, 189, 194, 196, 215, 243, 270, 314, 325, 439, 603, 604, 836, 844, 849, 850, 990, 17, 85, 138, 323, 347, 610, 611, 612, 971, 233, 834, 971, 841, 853, 373, 734, 603, 836, 834, 383, 925, 303, 151, 218, 372, 373, 656, 342, 971, 85, 117, 350, 379, 383, 404, 481, 965, 970, 977, 979, 981, 982, 993, 201, 610, 611, 312, 675, 971, 85, 167, 736, 4, 17, 132, 134, 252, 265, 337, 350, 379, 383, 480, 481, 85, 350, 379, 383, 481, 383, 734, 959, 969, 440, 834, 294, 761, 762, 834, 197, 700, 447, 829, 728, 729, 102, 461, 450, 407, 699, 179, 231, 298, 393, 737, 738, 454, 900, 903, 899, 880, 450, 904, 906, 5, 28, 39, 117, 170, 229, 911, 152, 209, 260, 263, 345, 416, 447, 791, 883, 887, 986, 426, 891, 893, 900, 895, 450, 836, 872, 994, 157, 861, 24, 400, 441, 836, 836, 447, 451, 995, 996, 997, 998, 1000, 902, 400, 928, 929, 930, 28, 229, 229, 974, 7, 10, 22, 23, 43, 46, 168, 964, 964, 20, 900, 832, 842, 965, 973, 977, 978, 983, 993, 599, 971, 837, 599, 837, 971, 618, 842, 858, 761, 836, 122, 423, 434, 435, 436, 438, 439, 440, 441, 442, 443, 650, 798, 799, 971, 858, 836, 761, 834, 761, 836, 836, 599, 858, 38, 237, 319, 676, 677, 678, 445, 449, 823, 824, 293, 84, 115, 127, 135, 151, 169, 198, 218, 242, 295, 337, 341, 343, 348, 373, 374, 385, 390, 408, 558, 606, 853, 834, 381, 842, 836, 447, 385, 837, 599, 375, 377, 858, 375, 377, 122, 798, 329, 858, 476, 971, 836, 836, 599, 858, 348, 373, 408, 558, 135, 218, 198, 341, 423, 864, 865, 455, 992, 994, 925, 993, 725, 762, 210, 842, 836, 210, 654, 210, 837, 210, 842, 210, 835, 836, 122, 210, 798, 109, 210, 835, 210, 836, 210, 836, 210, 836, 210, 835, 241, 210, 598, 599, 424, 872, 924, 922, 699, 850, 85, 850, 85, 850, 850, 849, 604, 836, 836, 233, 931, 933, 994, 315, 293, 381, 454, 834, 833, 834, 604, 853, 196, 109, 836, 836, 834, 971, 99, 417, 237, 449, 296, 293, 196, 853, 381, 293, 92, 104, 106, 107, 114, 115, 117, 118, 125, 136, 144, 145, 146, 147, 148, 154, 155, 170, 183, 186, 187, 190, 203, 229, 230, 232, 245, 253, 254, 266, 268, 279, 284, 285, 286, 295, 302, 308, 320, 339, 351, 358, 368, 379, 380, 384, 386, 387, 394, 399, 405, 423, 428, 429, 432, 438, 439, 440, 447, 728, 771, 772, 773, 778, 779, 780, 782, 783, 784, 785, 788, 789, 792, 794, 795, 796, 800, 817, 822, 830, 831, 832, 842, 843, 844, 845, 846, 847, 848, 857, 965, 968, 972, 977, 978, 989, 990, 992, 993, 381, 434, 994, 381, 434, 920, 85, 493, 833, 350, 480, 157, 488, 853, 489, 853, 971, 99, 119, 480, 417, 677, 381, 453, 99, 417, 237, 933, 678, 833, 975, 447, 834, 93, 971, 352, 440, 195, 701, 157, 792, 827, 828, 448, 448, 450, 834, 85, 735, 735, 109, 735, 191, 249, 290, 741, 747, 749, 750, 829, 879, 440, 913, 914, 916, 451, 451, 28, 229, 229, 381, 381, 381, 381, 381, 439, 844, 845, 855, 881, 990, 177, 894, 913, 93, 868, 109, 871, 871, 400, 930, 233, 930, 931, 448, 996, 997, 995, 452, 454, 41, 848, 855, 856, 932, 934, 935, 989, 229, 235, 836, 381, 836, 6, 836, 964, 916, 824, 447, 583, 304, 327, 449, 600, 304, 327, 352, 412, 463, 491, 81, 171, 352, 501, 304, 111, 185, 213, 334, 346, 360, 367, 409, 640, 644, 447, 631, 81, 171, 327, 473, 304, 327, 330, 352, 499, 500, 327, 599, 447, 449, 352, 463, 491, 304, 327, 352, 549, 81, 87, 124, 166, 171, 174, 220, 271, 327, 352, 497, 498, 500, 304, 327, 293, 304, 352, 327, 352, 463, 491, 450, 247, 294, 415, 454, 676, 792, 440, 839, 974, 823, 834, 842, 447, 842, 287, 122, 798, 836, 836, 241, 836, 412, 511, 364, 365, 507, 853, 447, 583, 585, 120, 104, 106, 117, 118, 154, 155, 190, 230, 232, 266, 268, 286, 320, 353, 358, 379, 380, 405, 767, 770, 772, 773, 777, 779, 780, 781, 783, 784, 788, 789, 965, 972, 977, 978, 993, 836, 412, 93, 693, 463, 599, 447, 579, 515, 463, 99, 477, 304, 560, 83, 101, 563, 93, 579, 463, 834, 834, 834, 241, 599, 131, 840, 971, 842, 836, 427, 866, 971, 455, 867, 864, 105, 149, 226, 271, 344, 400, 712, 183, 583, 183, 447, 183, 183, 631, 183, 454, 210, 599, 183, 447, 835, 183, 183, 293, 183, 183, 293, 183, 210, 853, 183, 112, 332, 454, 502, 923, 929, 933, 156, 704, 706, 711, 717, 724, 727, 836, 933, 933, 932, 985, 988, 992, 49, 942, 943, 992, 151, 198, 241, 343, 348, 373, 374, 613, 833, 835, 612, 157, 447, 707, 727, 215, 454, 714, 836, 924, 835, 192, 657, 657, 657, 247, 971, 191, 613, 835, 342, 971, 447, 445, 728, 807, 406, 786, 792, 821, 447, 786, 786, 447, 447, 447, 447, 447, 776, 776, 309, 728, 447, 447, 774, 447, 447, 447, 447, 117, 118, 786, 792, 447, 447, 775, 447, 447, 447, 447, 447, 412, 413, 447, 790, 447, 790, 447, 447, 728, 825, 792, 792, 404, 728, 792, 803, 853, 118, 447, 787, 447, 853, 76, 90, 93, 98, 103, 211, 215, 235, 236, 248, 279, 282, 295, 297, 356, 423, 434, 435, 436, 438, 439, 440, 441, 442, 443, 798, 800, 802, 301, 792, 233, 454, 732, 933, 824, 447, 25, 991, 992, 289, 293, 956, 956, 11, 49, 945, 946, 947, 920, 920, 160, 212, 494, 119, 157, 489, 93, 157, 252, 487, 789, 856, 993, 157, 187, 289, 293, 387, 482, 483, 485, 486, 856, 971, 482, 933, 933, 247, 502, 235, 834, 971, 447, 718, 719, 720, 721, 722, 971, 699, 448, 454, 447, 702, 728, 730, 731, 730, 739, 740, 792, 730, 319, 354, 398, 85, 743, 792, 744, 792, 747, 748, 741, 742, 191, 750, 913, 440, 450, 454, 976, 890, 893, 890, 229, 152, 209, 260, 345, 260, 345, 345, 263, 260, 263, 345, 844, 845, 454, 882, 156, 913, 450, 920, 399, 869, 871, 448, 452, 998, 17, 454, 900, 447, 836, 447, 975, 440, 584, 767, 304, 327, 352, 381, 381, 839, 449, 381, 381, 480, 688, 120, 133, 193, 313, 394, 527, 528, 133, 157, 279, 157, 279, 343, 381, 293, 346, 284, 161, 234, 332, 640, 645, 215, 224, 299, 448, 632, 633, 634, 636, 638, 767, 965, 972, 973, 977, 978, 993, 304, 327, 352, 381, 399, 381, 381, 579, 374, 579, 454, 381, 400, 277, 649, 767, 650, 480, 82, 132, 139, 140, 176, 215, 220, 257, 272, 273, 275, 276, 278, 306, 337, 369, 371, 392, 399, 402, 464, 381, 381, 343, 110, 150, 217, 259, 261, 271, 303, 331, 361, 550, 127, 527, 659, 659, 293, 385, 133, 659, 385, 834, 220, 381, 659, 343, 413, 454, 381, 381, 761, 381, 343, 381, 480, 464, 319, 328, 349, 484, 676, 446, 455, 583, 767, 631, 855, 599, 447, 235, 293, 293, 599, 235, 291, 196, 381, 506, 463, 586, 587, 993, 579, 447, 770, 93, 92, 445, 768, 152, 263, 416, 447, 791, 600, 83, 132, 175, 255, 304, 374, 376, 683, 684, 767, 464, 591, 580, 581, 974, 408, 464, 858, 138, 201, 478, 514, 547, 562, 608, 623, 679, 836, 255, 162, 227, 398, 564, 565, 447, 464, 549, 288, 447, 544, 447, 529, 489, 191, 840, 293, 631, 93, 449, 849, 867, 412, 413, 726, 344, 447, 728, 754, 755, 756, 761, 763, 795, 832, 411, 764, 842, 502, 767, 837, 842, 502, 835, 836, 183, 400, 650, 649, 502, 835, 836, 834, 836, 836, 834, 835, 183, 502, 598, 599, 933, 929, 836, 933, 17, 454, 991, 844, 851, 992, 454, 434, 835, 617, 618, 842, 835, 835, 833, 833, 835, 381, 412, 621, 404, 708, 709, 971, 333, 710, 79, 180, 339, 354, 715, 834, 283, 716, 381, 610, 611, 196, 202, 622, 971, 792, 803, 803, 806, 807, 447, 410, 818, 819, 792, 803, 792, 803, 849, 849, 849, 152, 209, 260, 263, 345, 416, 804, 808, 853, 993, 849, 803, 803, 849, 849, 786, 786, 792, 849, 650, 792, 809, 439, 793, 794, 796, 800, 811, 448, 803, 792, 803, 812, 379, 379, 849, 849, 792, 108, 196, 244, 382, 792, 803, 815, 823, 448, 454, 352, 849, 849, 791, 767, 792, 974, 379, 97, 370, 826, 792, 447, 728, 816, 167, 187, 279, 284, 288, 387, 395, 792, 103, 211, 215, 248, 356, 447, 792, 381, 792, 792, 792, 792, 792, 792, 792, 792, 792, 792, 85, 91, 359, 797, 339, 447, 796, 200, 252, 373, 375, 377, 733, 834, 831, 196, 753, 85, 167, 440, 448, 803, 836, 992, 851, 454, 434, 383, 447, 853, 454, 933, 900, 448, 722, 723, 454, 753, 434, 825, 697, 834, 827, 835, 454, 94, 165, 400, 294, 288, 751, 751, 290, 454, 249, 450, 914, 768, 452, 893, 452, 855, 448, 38, 450, 870, 994, 934, 768, 987, 997, 987, 768, 448, 448, 454, 381, 381, 343, 858, 836, 839, 858, 837, 132, 689, 447, 836, 239, 239, 447, 836, 284, 792, 284, 836, 858, 284, 161, 234, 293, 299, 448, 454, 636, 638, 634, 638, 600, 381, 381, 343, 858, 835, 858, 836, 836, 500, 836, 838, 971, 454, 448, 454, 835, 249, 306, 204, 337, 284, 848, 835, 849, 306, 835, 397, 858, 836, 836, 855, 109, 551, 855, 855, 150, 259, 261, 109, 463, 463, 519, 971, 971, 836, 85, 399, 836, 836, 971, 85, 399, 836, 834, 836, 836, 836, 124, 291, 352, 498, 858, 836, 327, 858, 836, 858, 130, 391, 319, 792, 235, 93, 235, 235, 400, 649, 284, 607, 853, 599, 599, 235, 607, 507, 508, 448, 454, 434, 792, 92, 768, 767, 445, 446, 447, 769, 848, 849, 971, 381, 381, 849, 564, 249, 434, 685, 685, 685, 685, 685, 684, 520, 191, 448, 454, 434, 834, 477, 297, 515, 848, 293, 297, 765, 766, 971, 834, 248, 516, 517, 518, 519, 524, 527, 545, 546, 971, 412, 413, 538, 530, 531, 971, 93, 205, 853, 293, 834, 93, 241, 334, 639, 640, 641, 663, 866, 441, 208, 208, 191, 728, 755, 756, 93, 757, 971, 454, 142, 197, 223, 238, 246, 267, 336, 758, 757, 93, 757, 971, 824, 792, 710, 583, 93, 631, 599, 838, 447, 448, 293, 502, 293, 502, 853, 502, 725, 994, 988, 949, 950, 992, 943, 947, 454, 631, 204, 614, 615, 858, 82, 622, 448, 454, 825, 830, 180, 354, 180, 354, 339, 398, 262, 836, 293, 614, 109, 502, 448, 454, 446, 446, 454, 849, 792, 173, 819, 820, 93, 448, 400, 448, 448, 448, 448, 454, 448, 196, 448, 448, 448, 448, 448, 454, 448, 454, 448, 307, 810, 448, 793, 76, 215, 235, 295, 423, 434, 435, 436, 438, 439, 440, 441, 442, 443, 800, 793, 448, 448, 191, 196, 813, 814, 448, 417, 417, 448, 448, 93, 815, 803, 815, 815, 196, 448, 825, 792, 971, 448, 448, 417, 793, 793, 178, 803, 196, 167, 187, 284, 288, 387, 395, 447, 178, 370, 826, 792, 816, 792, 381, 650, 792, 447, 728, 375, 377, 375, 377, 834, 734, 734, 754, 764, 803, 803, 448, 448, 8, 13, 14, 15, 25, 26, 27, 29, 30, 31, 35, 36, 37, 309, 390, 952, 953, 954, 946, 851, 677, 849, 791, 485, 768, 448, 454, 719, 764, 827, 448, 740, 295, 798, 801, 835, 716, 716, 744, 744, 743, 455, 896, 450, 34, 960, 448, 448, 450, 767, 858, 836, 836, 249, 792, 528, 447, 447, 530, 502, 225, 284, 633, 638, 638, 442, 858, 836, 836, 304, 327, 767, 304, 277, 767, 850, 848, 835, 835, 848, 848, 855, 599, 855, 855, 767, 171, 352, 390, 501, 502, 502, 381, 381, 446, 607, 767, 607, 607, 838, 448, 235, 235, 607, 400, 512, 513, 105, 143, 163, 178, 192, 207, 284, 291, 318, 509, 587, 993, 295, 439, 582, 638, 801, 856, 983, 984, 448, 445, 448, 849, 768, 769, 438, 439, 440, 441, 442, 446, 448, 293, 685, 157, 844, 848, 854, 990, 157, 853, 157, 836, 157, 836, 157, 836, 120, 133, 157, 159, 222, 279, 284, 313, 323, 394, 521, 522, 523, 390, 581, 582, 529, 329, 373, 834, 565, 448, 454, 767, 447, 834, 448, 454, 448, 454, 291, 579, 291, 293, 539, 448, 454, 727, 554, 836, 381, 834, 400, 625, 635, 853, 489, 353, 637, 638, 412, 641, 642, 293, 862, 727, 925, 448, 971, 447, 755, 238, 300, 759, 755, 759, 238, 758, 759, 238, 447, 971, 447, 502, 767, 502, 400, 502, 649, 502, 834, 834, 502, 149, 454, 434, 618, 858, 412, 454, 616, 296, 727, 709, 180, 180, 613, 502, 858, 792, 807, 448, 378, 792, 177, 767, 599, 849, 792, 792, 849, 792, 813, 767, 793, 167, 279, 288, 793, 793, 793, 793, 793, 793, 793, 793, 793, 793, 792, 792, 814, 813, 790, 790, 767, 448, 448, 448, 803, 448, 787, 853, 792, 90, 90, 792, 448, 792, 196, 447, 767, 805, 792, 793, 793, 178, 178, 792, 448, 178, 792, 734, 734, 734, 734, 834, 834, 204, 745, 448, 448, 454, 434, 448, 960, 434, 722, 710, 447, 844, 434, 915, 685, 448, 530, 530, 448, 225, 390, 381, 381, 381, 520, 279, 279, 363, 366, 767, 836, 836, 448, 235, 235, 607, 607, 463, 164, 693, 693, 279, 318, 693, 693, 159, 222, 279, 572, 573, 574, 849, 412, 413, 446, 448, 769, 769, 769, 769, 769, 768, 791, 834, 849, 447, 836, 793, 160, 212, 159, 284, 239, 834, 642, 767, 93, 834, 191, 566, 297, 766, 516, 525, 221, 537, 518, 546, 971, 129, 374, 540, 531, 418, 419, 420, 680, 403, 555, 600, 853, 625, 838, 447, 454, 972, 639, 579, 162, 227, 347, 398, 668, 423, 873, 757, 447, 835, 755, 293, 400, 760, 755, 238, 755, 765, 447, 765, 971, 448, 838, 448, 502, 502, 726, 950, 954, 201, 615, 196, 792, 448, 448, 448, 448, 448, 814, 196, 167, 288, 447, 448, 791, 793, 793, 792, 805, 448, 454, 90, 90, 792, 792, 178, 792, 448, 834, 834, 834, 834, 109, 206, 746, 953, 439, 845, 848, 851, 852, 853, 829, 650, 998, 849, 448, 448, 642, 858, 836, 858, 284, 284, 849, 971, 400, 503, 235, 607, 607, 508, 853, 853, 848, 284, 530, 853, 848, 160, 212, 159, 574, 573, 446, 198, 198, 196, 571, 792, 279, 522, 642, 529, 400, 541, 400, 727, 447, 172, 567, 182, 565, 448, 181, 216, 526, 447, 538, 162, 171, 310, 836, 93, 120, 120, 296, 554, 240, 556, 196, 447, 447, 626, 627, 795, 971, 853, 600, 642, 381, 971, 835, 448, 792, 447, 755, 760, 448, 765, 448, 502, 502, 502, 191, 296, 614, 793, 196, 447, 793, 448, 767, 793, 793, 792, 803, 792, 844, 845, 791, 448, 323, 642, 541, 792, 607, 530, 618, 93, 652, 834, 572, 448, 541, 258, 532, 218, 838, 680, 339, 362, 568, 317, 538, 134, 158, 219, 134, 158, 219, 833, 539, 340, 340, 543, 296, 296, 853, 599, 626, 792, 448, 454, 400, 599, 628, 628, 442, 834, 448, 835, 448, 502, 793, 793, 448, 834, 541, 652, 96, 191, 197, 305, 293, 533, 534, 535, 374, 93, 836, 539, 448, 540, 727, 448, 448, 642, 627, 599, 390, 764, 448, 448, 529, 172, 162, 398, 293, 535, 293, 534, 836, 198, 295, 366, 589, 590, 447, 540, 642, 628, 540, 168, 532, 339, 112, 271, 332, 352, 536, 536, 849, 849, 767, 454, 569, 570, 857, 971, 540, 764, 86, 228, 669, 533, 182, 80, 157, 284, 842, 650, 590, 448, 454, 764, 280, 447, 664, 666, 671, 706, 711, 717, 727, 572, 317, 631, 322, 447, 592, 570, 665, 666, 667, 728, 729, 842, 649, 448, 450, 447, 448, 667, 569, 592, 448 }; #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ #endif #if ! defined (YYSIZE_T) && defined (size_t) # define YYSIZE_T size_t #endif #if ! defined (YYSIZE_T) # if defined (__STDC__) || defined (__cplusplus) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # endif #endif #if ! defined (YYSIZE_T) # define YYSIZE_T unsigned int #endif #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 yyerrlab1 /* 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; \ goto yybackup; \ } \ else \ { \ yyerror ("syntax error: cannot back up");\ YYERROR; \ } \ while (0) #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Compute the default location (before the actions are run). */ #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ Current.first_line = Rhs[1].first_line; \ Current.first_column = Rhs[1].first_column; \ Current.last_line = Rhs[N].last_line; \ Current.last_column = Rhs[N].last_column; #endif /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM # define YYLEX yylex (YYLEX_PARAM) #else # define YYLEX yylex () #endif /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) # define YYDSYMPRINT(Args) \ do { \ if (yydebug) \ yysymprint Args; \ } while (0) # define YYDSYMPRINTF(Title, Token, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yysymprint (stderr, \ Token, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (cinluded). | `------------------------------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void yy_stack_print (short *bottom, short *top) #else static void yy_stack_print (bottom, top) short *bottom; short *top; #endif { YYFPRINTF (stderr, "Stack now"); for (/* Nothing. */; 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 (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void yy_reduce_print (int yyrule) #else static void yy_reduce_print (yyrule) int yyrule; #endif { int yyi; unsigned int yylineno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", yyrule - 1, yylineno); /* Print the symbols being reduced, and their result. */ for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (Rule); \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YYDSYMPRINT(Args) # define YYDSYMPRINTF(Title, Token, 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 SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #if YYMAXDEPTH == 0 # undef YYMAXDEPTH #endif #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. */ static YYSIZE_T # if defined (__STDC__) || defined (__cplusplus) yystrlen (const char *yystr) # else yystrlen (yystr) const char *yystr; # endif { register const char *yys = yystr; while (*yys++ != '\0') continue; return yys - yystr - 1; } # 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. */ static char * # if defined (__STDC__) || defined (__cplusplus) yystpcpy (char *yydest, const char *yysrc) # else yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; # endif { register char *yyd = yydest; register const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif #endif /* !YYERROR_VERBOSE */ #if YYDEBUG /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) #else static void yysymprint (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE *yyvaluep; #endif { /* Pacify ``unused variable'' warnings. */ (void) yyvaluep; if (yytype < YYNTOKENS) { YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); # ifdef YYPRINT YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif } else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); switch (yytype) { default: break; } YYFPRINTF (yyoutput, ")"); } #endif /* ! YYDEBUG */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ #if defined (__STDC__) || defined (__cplusplus) static void yydestruct (int yytype, YYSTYPE *yyvaluep) #else static void yydestruct (yytype, yyvaluep) int yytype; YYSTYPE *yyvaluep; #endif { /* Pacify ``unused variable'' warnings. */ (void) yyvaluep; 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 (void); #else int yyparse (); #endif #endif /* ! YYPARSE_PARAM */ /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ int yynerrs; /*----------. | yyparse. | `----------*/ #ifdef YYPARSE_PARAM # if defined (__STDC__) || defined (__cplusplus) int yyparse (void *YYPARSE_PARAM) # else int yyparse (YYPARSE_PARAM) void *YYPARSE_PARAM; # endif #else /* ! YYPARSE_PARAM */ #if defined (__STDC__) || defined (__cplusplus) int yyparse (void) #else int yyparse () #endif #endif { register int yystate; register int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; /* 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. */ short yyssa[YYINITDEPTH]; short *yyss = yyssa; register short *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; register YYSTYPE *yyvsp; #define YYPOPSTACK (yyvsp--, yyssp--) YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; /* When reducing, the number of symbols on the RHS of the reduced rule. */ int yylen; 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; 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; short *yyss1 = yyss; /* 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 ("parser stack overflow", &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyoverflowlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyoverflowlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { short *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyoverflowlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + 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 lookahead token if we need one and don't already have one. */ /* yyresume: */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead 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); YYDSYMPRINTF ("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; /* Shift the lookahead token. */ YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); /* Discard the token being shifted unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; *++yyvsp = yylval; /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; yystate = yyn; 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]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 5: #line 616 "preproc.y" { connection = NULL; } break; case 7: #line 619 "preproc.y" { fprintf(yyout, "%s", yyvsp[0].str); free(yyvsp[0].str); output_line_number(); } break; case 9: #line 625 "preproc.y" { fprintf(yyout, "%s", yyvsp[0].str); free(yyvsp[0].str); } break; case 10: #line 626 "preproc.y" { fprintf(yyout, "%s", yyvsp[0].str); free(yyvsp[0].str); } break; case 11: #line 627 "preproc.y" { braces_open++; fputs("{", yyout); } break; case 12: #line 628 "preproc.y" { remove_typedefs(braces_open); remove_variables(braces_open--); fputs("}", yyout); } break; case 13: #line 632 "preproc.y" { connection = yyvsp[0].str; /* * Do we have a variable as connection target? * Remove the variable from the variable * list or else it will be used twice */ if (argsinsert != NULL) argsinsert = NULL; } break; case 14: #line 643 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 15: #line 644 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 16: #line 645 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 17: #line 646 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 18: #line 647 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 19: #line 648 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 20: #line 649 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 21: #line 650 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 22: #line 651 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 23: #line 652 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 24: #line 653 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 25: #line 654 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 26: #line 655 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 27: #line 656 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 28: #line 658 "preproc.y" { if (INFORMIX_MODE) { /* * Informix also has a CLOSE DATABASE command that * essantially works like a DISCONNECT CURRENT * as far as I know. */ if (pg_strcasecmp(yyvsp[0].str+strlen("close "), "database") == 0) { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "no at option for close database statement.\n"); fprintf(yyout, "{ ECPGdisconnect(__LINE__, \"CURRENT\");"); whenever_action(2); free(yyvsp[0].str); } else output_statement(yyvsp[0].str, 0, connection); } else output_statement(yyvsp[0].str, 0, connection); } break; case 29: #line 681 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 30: #line 682 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 31: #line 683 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 32: #line 684 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 33: #line 685 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 34: #line 686 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 35: #line 687 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 36: #line 688 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 37: #line 689 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 38: #line 690 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 39: #line 691 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 40: #line 692 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 41: #line 693 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 42: #line 694 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 43: #line 695 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 44: #line 696 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 45: #line 697 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 46: #line 698 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 47: #line 699 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 48: #line 700 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 49: #line 701 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 50: #line 703 "preproc.y" { output_simple_statement(yyvsp[0].str); } break; case 51: #line 704 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 52: #line 705 "preproc.y" { output_statement(yyvsp[0].str, 1, connection); } break; case 53: #line 706 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 54: #line 707 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 55: #line 708 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 56: #line 709 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 57: #line 710 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 58: #line 711 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 59: #line 712 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 60: #line 713 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 61: #line 714 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 62: #line 715 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 63: #line 716 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 64: #line 717 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 65: #line 718 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 66: #line 719 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 67: #line 721 "preproc.y" { output_statement(yyvsp[0].str, 1, connection); } break; case 68: #line 722 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 69: #line 723 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 70: #line 724 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 71: #line 725 "preproc.y" { output_statement(yyvsp[0].str, 1, connection); } break; case 72: #line 726 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 73: #line 727 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 74: #line 728 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 75: #line 729 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 76: #line 731 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 77: #line 732 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 78: #line 733 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 79: #line 734 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 80: #line 735 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 81: #line 736 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 82: #line 737 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 83: #line 738 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 84: #line 739 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 85: #line 740 "preproc.y" { output_statement(yyvsp[0].str, 1, connection); } break; case 86: #line 742 "preproc.y" { fprintf(yyout, "{ ECPGtrans(__LINE__, %s, \"%s\");", connection ? connection : "NULL", yyvsp[0].str); whenever_action(2); free(yyvsp[0].str); } break; case 87: #line 747 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 88: #line 748 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 89: #line 749 "preproc.y" { output_statement(yyvsp[0].str, 1, connection); } break; case 90: #line 750 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 91: #line 751 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 92: #line 752 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 93: #line 753 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 94: #line 754 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 95: #line 756 "preproc.y" { fprintf(yyout,"ECPGallocate_desc(__LINE__, %s);",yyvsp[0].str); whenever_action(0); free(yyvsp[0].str); } break; case 96: #line 762 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "no at option for connect statement.\n"); fprintf(yyout, "{ ECPGconnect(__LINE__, %d, %s, %d); ", compat, yyvsp[0].str, autocommit); reset_variables(); whenever_action(2); free(yyvsp[0].str); } break; case 97: #line 772 "preproc.y" { output_simple_statement(yyvsp[0].str); } break; case 98: #line 776 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "no at option for deallocate statement.\n"); fprintf(yyout, "{ ECPGdeallocate(__LINE__, %d, %s);", compat, yyvsp[0].str); whenever_action(2); free(yyvsp[0].str); } break; case 99: #line 784 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "no at option for deallocate statement.\n"); fprintf(yyout,"ECPGdeallocate_desc(__LINE__, %s);",yyvsp[0].str); whenever_action(0); free(yyvsp[0].str); } break; case 100: #line 792 "preproc.y" { output_simple_statement(yyvsp[0].str); } break; case 101: #line 796 "preproc.y" { fprintf(yyout, "{ ECPGdescribe(__LINE__, %s,", yyvsp[0].str); dump_variables(argsresult, 1); fputs("ECPGt_EORT);", yyout); fprintf(yyout, "}"); output_line_number(); /* whenever_action(2); */ free(yyvsp[0].str); } break; case 102: #line 807 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "no at option for disconnect statement.\n"); fprintf(yyout, "{ ECPGdisconnect(__LINE__, %s);", yyvsp[0].str ? yyvsp[0].str : "\"CURRENT\""); whenever_action(2); free(yyvsp[0].str); } break; case 103: #line 817 "preproc.y" { output_statement(yyvsp[0].str, 0, connection); } break; case 104: #line 821 "preproc.y" { fprintf(yyout, "{ ECPGdeallocate(__LINE__, %d, \"%s\");", compat, yyvsp[0].str); whenever_action(2); free(yyvsp[0].str); } break; case 105: #line 828 "preproc.y" { lookup_descriptor(yyvsp[0].descriptor.name, connection); output_get_descr(yyvsp[0].descriptor.name, yyvsp[0].descriptor.str); free(yyvsp[0].descriptor.name); free(yyvsp[0].descriptor.str); } break; case 106: #line 835 "preproc.y" { lookup_descriptor(yyvsp[0].str, connection); output_get_descr_header(yyvsp[0].str); free(yyvsp[0].str); } break; case 107: #line 841 "preproc.y" { struct cursor *ptr; if ((ptr = add_additional_variables(yyvsp[0].str, true)) != NULL) { output_statement(mm_strdup(ptr->command), 0, ptr->connection ? mm_strdup(ptr->connection) : NULL); ptr->opened = true; } } break; case 108: #line 852 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "no at option for prepare statement.\n"); fprintf(yyout, "{ ECPGprepare(__LINE__, %s);", yyvsp[0].str); whenever_action(2); free(yyvsp[0].str); } break; case 109: #line 862 "preproc.y" { fprintf(yyout, "{ ECPGsetcommit(__LINE__, \"%s\", %s);", yyvsp[0].str, connection ? connection : "NULL"); whenever_action(2); free(yyvsp[0].str); } break; case 110: #line 868 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "no at option for set connection statement.\n"); fprintf(yyout, "{ ECPGsetconn(__LINE__, %s);", yyvsp[0].str); whenever_action(2); free(yyvsp[0].str); } break; case 111: #line 877 "preproc.y" { lookup_descriptor(yyvsp[0].descriptor.name, connection); output_set_descr(yyvsp[0].descriptor.name, yyvsp[0].descriptor.str); free(yyvsp[0].descriptor.name); free(yyvsp[0].descriptor.str); } break; case 112: #line 884 "preproc.y" { lookup_descriptor(yyvsp[0].str, connection); output_set_descr_header(yyvsp[0].str); free(yyvsp[0].str); } break; case 113: #line 890 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "no at option for typedef statement.\n"); fprintf(yyout, "%s", yyvsp[0].str); free(yyvsp[0].str); output_line_number(); } break; case 114: #line 899 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "no at option for var statement.\n"); output_simple_statement(yyvsp[0].str); } break; case 115: #line 906 "preproc.y" { if (connection) mmerror(PARSE_ERROR, ET_ERROR, "no at option for whenever statement.\n"); output_simple_statement(yyvsp[0].str); } break; case 116: #line 927 "preproc.y" { yyval.str = cat_str(4, make_str("create role"), yyvsp[-2].str, make_str("with"), yyvsp[0].str); } break; case 117: #line 930 "preproc.y" { yyval.str = make_str("with"); } break; case 118: #line 931 "preproc.y" { yyval.str = EMPTY; } break; case 119: #line 940 "preproc.y" { yyval.str = cat2_str(make_str("password"), yyvsp[0].str); } break; case 120: #line 941 "preproc.y" { yyval.str = make_str("password null"); } break; case 121: #line 942 "preproc.y" { yyval.str = cat2_str(make_str("encrypted password"), yyvsp[0].str); } break; case 122: #line 943 "preproc.y" { yyval.str = cat2_str(make_str("unencrypted password"), yyvsp[0].str); } break; case 123: #line 944 "preproc.y" { yyval.str = make_str("superuser"); } break; case 124: #line 945 "preproc.y" { yyval.str = make_str("nosuperuser"); } break; case 125: #line 946 "preproc.y" { yyval.str = make_str("inherit"); } break; case 126: #line 947 "preproc.y" { yyval.str = make_str("noinherit"); } break; case 127: #line 948 "preproc.y" { yyval.str = make_str("createdb"); } break; case 128: #line 949 "preproc.y" { yyval.str = make_str("nocreatedb"); } break; case 129: #line 950 "preproc.y" { yyval.str = make_str("createrole"); } break; case 130: #line 951 "preproc.y" { yyval.str = make_str("nocreaterole"); } break; case 131: #line 952 "preproc.y" { yyval.str = make_str("login"); } break; case 132: #line 953 "preproc.y" { yyval.str = make_str("nologin"); } break; case 133: #line 954 "preproc.y" { yyval.str = cat2_str(make_str("connection limit"), yyvsp[0].str); } break; case 134: #line 955 "preproc.y" { yyval.str = cat2_str(make_str("valid until"), yyvsp[0].str); } break; case 135: #line 956 "preproc.y" { yyval.str = cat2_str(make_str("user"), yyvsp[0].str); } break; case 136: #line 957 "preproc.y" { yyval.str = cat2_str(make_str("sysid"), yyvsp[0].str); } break; case 137: #line 958 "preproc.y" { yyval.str = cat2_str(make_str("admin"), yyvsp[0].str); } break; case 138: #line 959 "preproc.y" { yyval.str = cat2_str(make_str("role"), yyvsp[0].str); } break; case 139: #line 960 "preproc.y" { yyval.str = cat2_str(make_str("in role"), yyvsp[0].str); } break; case 140: #line 961 "preproc.y" { yyval.str = cat2_str(make_str("in group"), yyvsp[0].str); } break; case 141: #line 972 "preproc.y" {yyval.str = cat_str(4, make_str("create user"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 142: #line 983 "preproc.y" { yyval.str = cat_str(4, make_str("alter role"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 143: #line 987 "preproc.y" { yyval.str = cat_str(4, make_str("alter role"), yyvsp[-2].str, make_str("set"), yyvsp[0].str); } break; case 144: #line 989 "preproc.y" { yyval.str = cat_str(3, make_str("alter role"), yyvsp[-1].str, yyvsp[0].str); } break; case 145: #line 999 "preproc.y" { yyval.str = cat_str(4, make_str("alter user"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 146: #line 1002 "preproc.y" { yyval.str = cat_str(4, make_str("alter user"), yyvsp[-2].str, make_str("set"), yyvsp[0].str); } break; case 147: #line 1004 "preproc.y" { yyval.str = cat_str(3, make_str("alter user"), yyvsp[-1].str, yyvsp[0].str); } break; case 148: #line 1014 "preproc.y" { yyval.str = cat2_str(make_str("drop role"), yyvsp[0].str);} break; case 149: #line 1016 "preproc.y" { yyval.str = cat2_str(make_str("drop role if exists"), yyvsp[0].str);} break; case 150: #line 1026 "preproc.y" { yyval.str = cat2_str(make_str("drop user"), yyvsp[0].str);} break; case 151: #line 1028 "preproc.y" { yyval.str = cat2_str(make_str("drop user if exists"), yyvsp[0].str);} break; case 152: #line 1039 "preproc.y" { yyval.str = cat_str(4, make_str("create group"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 153: #line 1049 "preproc.y" { yyval.str = cat_str(5, make_str("alter group"), yyvsp[-3].str, yyvsp[-2].str, make_str("user"), yyvsp[0].str); } break; case 154: #line 1052 "preproc.y" { yyval.str = make_str("add"); } break; case 155: #line 1053 "preproc.y" { yyval.str = make_str("drop"); } break; case 156: #line 1063 "preproc.y" { yyval.str = cat2_str(make_str("drop group"), yyvsp[0].str); } break; case 157: #line 1065 "preproc.y" { yyval.str = cat2_str(make_str("drop group if exists"), yyvsp[0].str); } break; case 158: #line 1076 "preproc.y" { yyval.str = cat_str(5, make_str("create schema"), yyvsp[-3].str, make_str("authorization"), yyvsp[-1].str, yyvsp[0].str); } break; case 159: #line 1078 "preproc.y" { yyval.str = cat_str(3, make_str("create schema"), yyvsp[-1].str, yyvsp[0].str); } break; case 160: #line 1081 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 161: #line 1082 "preproc.y" { yyval.str = EMPTY; } break; case 162: #line 1085 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 163: #line 1086 "preproc.y" { yyval.str = EMPTY; } break; case 164: #line 1093 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 165: #line 1094 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 166: #line 1095 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 167: #line 1096 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 168: #line 1097 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 169: #line 1098 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 170: #line 1112 "preproc.y" { yyval.str = cat2_str(make_str("set"), yyvsp[0].str ); } break; case 171: #line 1114 "preproc.y" { yyval.str = cat2_str(make_str("set local"), yyvsp[0].str ); } break; case 172: #line 1116 "preproc.y" { yyval.str = cat2_str(make_str("set session"), yyvsp[0].str ); } break; case 173: #line 1120 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("to"), yyvsp[0].str); } break; case 174: #line 1122 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("="), yyvsp[0].str); } break; case 175: #line 1124 "preproc.y" { yyval.str = cat2_str(make_str("time zone"), yyvsp[0].str); } break; case 176: #line 1126 "preproc.y" { yyval.str = cat2_str(make_str("transaction"), yyvsp[0].str); } break; case 177: #line 1128 "preproc.y" { yyval.str = cat2_str(make_str("session characteristics as transaction"), yyvsp[0].str); } break; case 178: #line 1130 "preproc.y" { yyval.str = cat2_str(make_str("names"), yyvsp[0].str); } break; case 179: #line 1132 "preproc.y" { yyval.str = cat2_str(make_str("role"), yyvsp[0].str); } break; case 180: #line 1134 "preproc.y" { yyval.str = cat2_str(make_str("session authorization"), yyvsp[0].str); } break; case 181: #line 1136 "preproc.y" { yyval.str = make_str("session authorization default"); } break; case 182: #line 1139 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 183: #line 1140 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("."), yyvsp[0].str); } break; case 184: #line 1145 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 185: #line 1147 "preproc.y" { yyval.str = make_str("default"); } break; case 186: #line 1151 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 187: #line 1153 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 188: #line 1156 "preproc.y" { yyval.str = make_str("read uncommitted"); } break; case 189: #line 1157 "preproc.y" { yyval.str = make_str("read committed"); } break; case 190: #line 1158 "preproc.y" { yyval.str = make_str("repeatable read"); } break; case 191: #line 1159 "preproc.y" { yyval.str = make_str("serializable"); } break; case 192: #line 1162 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 193: #line 1163 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 194: #line 1164 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 195: #line 1167 "preproc.y" { yyval.str = make_str("true"); } break; case 196: #line 1168 "preproc.y" { yyval.str = make_str("false"); } break; case 197: #line 1169 "preproc.y" { yyval.str = make_str("on"); } break; case 198: #line 1170 "preproc.y" { yyval.str = make_str("off"); } break; case 199: #line 1180 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 200: #line 1181 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 201: #line 1183 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 202: #line 1185 "preproc.y" { yyval.str = cat_str(6, yyvsp[-5].str, make_str("("), yyvsp[-3].str, make_str(")"), yyvsp[-1].str, yyvsp[0].str); } break; case 203: #line 1187 "preproc.y" { yyval.str = make_str("default"); } break; case 204: #line 1189 "preproc.y" { yyval.str = make_str("local"); } break; case 205: #line 1192 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 206: #line 1193 "preproc.y" { yyval.str = make_str("default"); } break; case 207: #line 1194 "preproc.y" { yyval.str = EMPTY; } break; case 208: #line 1197 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 209: #line 1198 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 210: #line 1202 "preproc.y" { yyval.str = cat2_str(make_str("show"), yyvsp[-1].str); } break; case 211: #line 1204 "preproc.y" { yyval.str = make_str("show time zone"); } break; case 212: #line 1206 "preproc.y" { yyval.str = make_str("show transaction isolation level"); } break; case 213: #line 1208 "preproc.y" { yyval.str = make_str("show session authorization"); } break; case 214: #line 1210 "preproc.y" { mmerror(PARSE_ERROR, ET_ERROR, "SHOW ALL not implemented"); } break; case 215: #line 1214 "preproc.y" { yyval.str = cat2_str(make_str("reset"), yyvsp[0].str); } break; case 216: #line 1216 "preproc.y" { yyval.str = make_str("reset time zone"); } break; case 217: #line 1218 "preproc.y" { yyval.str = make_str("reset transaction isolation level"); } break; case 218: #line 1220 "preproc.y" { yyval.str = make_str("reset session authorization"); } break; case 219: #line 1222 "preproc.y" { yyval.str = make_str("reset all"); } break; case 220: #line 1226 "preproc.y" { yyval.str = cat_str(3, make_str("set constraints"), yyvsp[-1].str, yyvsp[0].str); } break; case 221: #line 1230 "preproc.y" { yyval.str = make_str("all"); } break; case 222: #line 1232 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 223: #line 1235 "preproc.y" { yyval.str = make_str("deferred"); } break; case 224: #line 1236 "preproc.y" { yyval.str = make_str("immediate"); } break; case 225: #line 1242 "preproc.y" { yyval.str= make_str("checkpoint"); } break; case 226: #line 1254 "preproc.y" { yyval.str = cat_str(3, make_str("alter table"), yyvsp[-1].str, yyvsp[0].str); } break; case 227: #line 1256 "preproc.y" { yyval.str = cat_str(3, make_str("alter table"), yyvsp[-1].str, yyvsp[0].str); } break; case 228: #line 1261 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 229: #line 1262 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 230: #line 1268 "preproc.y" { yyval.str = cat_str(3, make_str("add"), yyvsp[-1].str, yyvsp[0].str); } break; case 231: #line 1271 "preproc.y" { yyval.str = cat_str(4, make_str("alter"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 232: #line 1274 "preproc.y" { yyval.str = cat_str(4, make_str("alter"), yyvsp[-4].str, yyvsp[-3].str, make_str("drop not null")); } break; case 233: #line 1277 "preproc.y" { yyval.str = cat_str(4, make_str("alter"), yyvsp[-4].str, yyvsp[-3].str, make_str("set not null")); } break; case 234: #line 1280 "preproc.y" { yyval.str = cat_str(5, make_str("alter"), yyvsp[-4].str, yyvsp[-3].str, make_str("set statistics"), yyvsp[0].str); } break; case 235: #line 1283 "preproc.y" { yyval.str = cat_str(5, make_str("alter"), yyvsp[-4].str, yyvsp[-3].str, make_str("set storage"), yyvsp[0].str); } break; case 236: #line 1286 "preproc.y" { yyval.str = cat_str(4, make_str("drop"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 237: #line 1289 "preproc.y" { yyval.str = cat_str(6, make_str("alter"), yyvsp[-4].str, yyvsp[-3].str, make_str("type"), yyvsp[-1].str, yyvsp[0].str); } break; case 238: #line 1292 "preproc.y" { yyval.str = cat_str(2, make_str("add"), yyvsp[0].str); } break; case 239: #line 1295 "preproc.y" { yyval.str = cat_str(3, make_str("drop constraint"), yyvsp[-1].str, yyvsp[0].str); } break; case 240: #line 1298 "preproc.y" { yyval.str = make_str("set without oids"); } break; case 241: #line 1301 "preproc.y" { yyval.str = cat_str(2, make_str("cluster on"), yyvsp[0].str); } break; case 242: #line 1304 "preproc.y" { yyval.str = make_str("set without cluster"); } break; case 243: #line 1307 "preproc.y" { yyval.str = cat2_str(make_str("enable trigger"), yyvsp[0].str); } break; case 244: #line 1310 "preproc.y" { yyval.str = make_str("enable trigger all"); } break; case 245: #line 1313 "preproc.y" { yyval.str = make_str("enable trigger user"); } break; case 246: #line 1316 "preproc.y" { yyval.str = cat2_str(make_str("disable trigger"), yyvsp[0].str); } break; case 247: #line 1319 "preproc.y" { yyval.str = make_str("disable trigger all"); } break; case 248: #line 1322 "preproc.y" { yyval.str = make_str("disable trigger user"); } break; case 249: #line 1325 "preproc.y" { yyval.str = cat2_str(make_str("inherit"), yyvsp[0].str); } break; case 250: #line 1328 "preproc.y" { yyval.str = cat2_str(make_str("no inherit"), yyvsp[0].str); } break; case 251: #line 1330 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 252: #line 1333 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 253: #line 1334 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 254: #line 1341 "preproc.y" { yyval.str = cat2_str(make_str("owner to"), yyvsp[0].str); } break; case 255: #line 1344 "preproc.y" { yyval.str = cat2_str(make_str("set tablespace"), yyvsp[0].str); } break; case 256: #line 1346 "preproc.y" { yyval.str = cat2_str(make_str("set"), yyvsp[0].str); } break; case 257: #line 1348 "preproc.y" { yyval.str = cat2_str(make_str("reset"), yyvsp[0].str); } break; case 258: #line 1352 "preproc.y" { yyval.str = cat2_str(make_str("set default"), yyvsp[0].str); } break; case 259: #line 1353 "preproc.y" { yyval.str = make_str("drop default"); } break; case 260: #line 1356 "preproc.y" { yyval.str = make_str("cascade"); } break; case 261: #line 1357 "preproc.y" { yyval.str = make_str("restrict"); } break; case 262: #line 1358 "preproc.y" { yyval.str = EMPTY; } break; case 263: #line 1361 "preproc.y" { yyval.str = cat2_str(make_str("using"), yyvsp[0].str); } break; case 264: #line 1362 "preproc.y" { yyval.str = EMPTY; } break; case 265: #line 1373 "preproc.y" { yyval.str = cat2_str(make_str("close"), yyvsp[0].str); } break; case 266: #line 1378 "preproc.y" { if (strcmp(yyvsp[-4].str, "to") == 0 && strcmp(yyvsp[-3].str, "stdin") == 0) mmerror(PARSE_ERROR, ET_ERROR, "copy to stdin not possible.\n"); else if (strcmp(yyvsp[-4].str, "from") == 0 && strcmp(yyvsp[-3].str, "stdout") == 0) mmerror(PARSE_ERROR, ET_ERROR, "copy from stdout not possible.\n"); else if (strcmp(yyvsp[-4].str, "from") == 0 && strcmp(yyvsp[-3].str, "stdin") == 0) mmerror(PARSE_ERROR, ET_WARNING, "copy from stdin not implemented.\n"); yyval.str = cat_str(9, make_str("copy"), yyvsp[-7].str, yyvsp[-6].str, yyvsp[-5].str, yyvsp[-4].str, yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 267: #line 1389 "preproc.y" { if (strcmp(yyvsp[-2].str, "stdin") == 0) mmerror(PARSE_ERROR, ET_ERROR, "copy to stdin not possible.\n"); yyval.str = cat_str(6, make_str("copy"), yyvsp[-4].str, make_str("to"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 268: #line 1397 "preproc.y" { yyval.str = make_str("to"); } break; case 269: #line 1398 "preproc.y" { yyval.str = make_str("from"); } break; case 270: #line 1401 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 271: #line 1402 "preproc.y" { yyval.str = make_str("stdin"); } break; case 272: #line 1403 "preproc.y" { yyval.str = make_str("stdout"); } break; case 273: #line 1406 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 274: #line 1407 "preproc.y" { yyval.str = EMPTY; } break; case 275: #line 1410 "preproc.y" { yyval.str = make_str("binary"); } break; case 276: #line 1411 "preproc.y" { yyval.str = make_str("oids"); } break; case 277: #line 1413 "preproc.y" { yyval.str = cat_str(3, make_str("delimiter"), yyvsp[-1].str, yyvsp[0].str); } break; case 278: #line 1415 "preproc.y" { yyval.str = cat_str(3, make_str("null"), yyvsp[-1].str, yyvsp[0].str); } break; case 279: #line 1416 "preproc.y" { yyval.str = make_str("csv"); } break; case 280: #line 1417 "preproc.y" { yyval.str = make_str("header"); } break; case 281: #line 1419 "preproc.y" { yyval.str = cat_str(3, make_str("quote"), yyvsp[-1].str, yyvsp[0].str); } break; case 282: #line 1421 "preproc.y" { yyval.str = cat_str(3, make_str("escape"), yyvsp[-1].str, yyvsp[0].str); } break; case 283: #line 1423 "preproc.y" { yyval.str = cat2_str(make_str("force quote"), yyvsp[0].str); } break; case 284: #line 1425 "preproc.y" { yyval.str = cat2_str(make_str("force not null"), yyvsp[0].str); } break; case 285: #line 1429 "preproc.y" { yyval.str = make_str("binary"); } break; case 286: #line 1430 "preproc.y" { yyval.str = EMPTY; } break; case 287: #line 1433 "preproc.y" { yyval.str = make_str("with oids"); } break; case 288: #line 1434 "preproc.y" { yyval.str = EMPTY; } break; case 289: #line 1442 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("delimiters"), yyvsp[0].str); } break; case 290: #line 1444 "preproc.y" { yyval.str = EMPTY; } break; case 291: #line 1447 "preproc.y" { yyval.str = make_str("using"); } break; case 292: #line 1448 "preproc.y" { yyval.str = EMPTY; } break; case 293: #line 1460 "preproc.y" { yyval.str = cat_str(11, make_str("create"), yyvsp[-9].str, make_str("table"), yyvsp[-7].str, make_str("("), yyvsp[-5].str, make_str(")"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 294: #line 1463 "preproc.y" { yyval.str = cat_str(12, make_str("create"), yyvsp[-10].str, make_str("table"), yyvsp[-8].str, make_str("of"), yyvsp[-6].str, make_str("("), yyvsp[-4].str, make_str(")"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 295: #line 1471 "preproc.y" { yyval.str = make_str("temporary"); } break; case 296: #line 1472 "preproc.y" { yyval.str = make_str("temp"); } break; case 297: #line 1473 "preproc.y" { yyval.str = make_str("local temporary"); } break; case 298: #line 1474 "preproc.y" { yyval.str = make_str("local temp"); } break; case 299: #line 1475 "preproc.y" { yyval.str = make_str("global temporary"); } break; case 300: #line 1476 "preproc.y" { yyval.str = make_str("global temp"); } break; case 301: #line 1477 "preproc.y" { yyval.str = EMPTY; } break; case 302: #line 1482 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 303: #line 1484 "preproc.y" { yyval.str = EMPTY; } break; case 304: #line 1487 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 305: #line 1489 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 306: #line 1492 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 307: #line 1493 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 308: #line 1494 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 309: #line 1498 "preproc.y" {yyval.str = cat_str(3, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 310: #line 1501 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str,yyvsp[0].str); } break; case 311: #line 1502 "preproc.y" { yyval.str = EMPTY; } break; case 312: #line 1506 "preproc.y" { yyval.str = cat_str(3, make_str("constraint"), yyvsp[-1].str, yyvsp[0].str); } break; case 313: #line 1507 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 314: #line 1508 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 315: #line 1523 "preproc.y" { yyval.str = make_str("not null"); } break; case 316: #line 1525 "preproc.y" { yyval.str = make_str("null"); } break; case 317: #line 1527 "preproc.y" { yyval.str = cat_str(3, make_str("unique"), yyvsp[-1].str, yyvsp[0].str); } break; case 318: #line 1529 "preproc.y" { yyval.str = cat_str(3, make_str("primary key"), yyvsp[-1].str, yyvsp[0].str); } break; case 319: #line 1531 "preproc.y" { yyval.str = cat_str(3, make_str("check ("), yyvsp[-1].str, make_str(")")); } break; case 320: #line 1533 "preproc.y" { yyval.str = cat2_str(make_str("default"), yyvsp[0].str); } break; case 321: #line 1535 "preproc.y" { yyval.str = cat_str(5, make_str("references"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 322: #line 1549 "preproc.y" { yyval.str = make_str("deferrable"); } break; case 323: #line 1550 "preproc.y" { yyval.str = make_str("not deferrable"); } break; case 324: #line 1551 "preproc.y" { yyval.str = make_str("initially deferred"); } break; case 325: #line 1552 "preproc.y" { yyval.str = make_str("initially immediate"); } break; case 326: #line 1556 "preproc.y" {yyval.str = cat_str(3, make_str("like"), yyvsp[-1].str, yyvsp[0].str); } break; case 327: #line 1560 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 328: #line 1561 "preproc.y" { yyval.str = EMPTY; } break; case 329: #line 1565 "preproc.y" { yyval.str = make_str("including defaults"); } break; case 330: #line 1566 "preproc.y" { yyval.str = make_str("excluding defaults"); } break; case 331: #line 1567 "preproc.y" { yyval.str = make_str("including constraints"); } break; case 332: #line 1568 "preproc.y" { yyval.str = make_str("excluding constraints"); } break; case 333: #line 1569 "preproc.y" { yyval.str = make_str("including indexes"); } break; case 334: #line 1570 "preproc.y" { yyval.str = make_str("excluding indexes"); } break; case 335: #line 1578 "preproc.y" { yyval.str = cat_str(3, make_str("constraint"), yyvsp[-1].str, yyvsp[0].str); } break; case 336: #line 1580 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 337: #line 1584 "preproc.y" { yyval.str = cat_str(3, make_str("check("), yyvsp[-1].str, make_str(")")); } break; case 338: #line 1586 "preproc.y" { yyval.str = cat_str(5, make_str("unique("), yyvsp[-3].str, make_str(")"), yyvsp[-1].str, yyvsp[0].str); } break; case 339: #line 1588 "preproc.y" { yyval.str = cat_str(5, make_str("primary key("), yyvsp[-3].str, make_str(")"), yyvsp[-1].str, yyvsp[0].str); } break; case 340: #line 1591 "preproc.y" { yyval.str = cat_str(8, make_str("foreign key("), yyvsp[-7].str, make_str(") references"), yyvsp[-4].str, yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 341: #line 1594 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 342: #line 1595 "preproc.y" { yyval.str = EMPTY; } break; case 343: #line 1599 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 344: #line 1601 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 345: #line 1604 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 346: #line 1608 "preproc.y" { yyval.str = make_str("match full"); } break; case 347: #line 1610 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "Currently unsupported FOREIGN KEY/MATCH PARTIAL will be passed to backend"); yyval.str = make_str("match partial"); } break; case 348: #line 1615 "preproc.y" { yyval.str = EMPTY; } break; case 349: #line 1618 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 350: #line 1619 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 351: #line 1620 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 352: #line 1621 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 353: #line 1622 "preproc.y" { yyval.str = EMPTY; } break; case 354: #line 1626 "preproc.y" { yyval.str = cat2_str(make_str("on delete"), yyvsp[0].str); } break; case 355: #line 1630 "preproc.y" { yyval.str = cat2_str(make_str("on update"), yyvsp[0].str); } break; case 356: #line 1633 "preproc.y" { yyval.str = make_str("no action"); } break; case 357: #line 1634 "preproc.y" { yyval.str = make_str("restrict"); } break; case 358: #line 1635 "preproc.y" { yyval.str = make_str("cascade"); } break; case 359: #line 1636 "preproc.y" { yyval.str = make_str("set default"); } break; case 360: #line 1637 "preproc.y" { yyval.str = make_str("set null"); } break; case 361: #line 1641 "preproc.y" { yyval.str = cat_str(3, make_str("inherits ("), yyvsp[-1].str, make_str(")")); } break; case 362: #line 1643 "preproc.y" { yyval.str = EMPTY; } break; case 363: #line 1646 "preproc.y" { yyval.str = cat2_str(make_str("with"), yyvsp[0].str); } break; case 364: #line 1647 "preproc.y" { yyval.str = make_str("with oids"); } break; case 365: #line 1648 "preproc.y" { yyval.str = make_str("without oids"); } break; case 366: #line 1649 "preproc.y" { yyval.str = EMPTY; } break; case 367: #line 1652 "preproc.y" { yyval.str = make_str("on commit drop"); } break; case 368: #line 1653 "preproc.y" { yyval.str = make_str("on commit delete rows"); } break; case 369: #line 1654 "preproc.y" { yyval.str = make_str("on commit preserve rows"); } break; case 370: #line 1655 "preproc.y" { yyval.str = EMPTY; } break; case 371: #line 1658 "preproc.y" { yyval.str = cat2_str(make_str("tablespace"), yyvsp[0].str); } break; case 372: #line 1659 "preproc.y" { yyval.str = EMPTY; } break; case 373: #line 1662 "preproc.y" { yyval.str = cat2_str(make_str("using index tablespace"), yyvsp[0].str); } break; case 374: #line 1663 "preproc.y" { yyval.str = EMPTY; } break; case 375: #line 1672 "preproc.y" { FoundInto = 0; } break; case 376: #line 1674 "preproc.y" { if (FoundInto == 1) mmerror(PARSE_ERROR, ET_ERROR, "CREATE TABLE / AS SELECT may not specify INTO"); yyval.str = cat_str(10, make_str("create"), yyvsp[-9].str, make_str("table"), yyvsp[-7].str, yyvsp[-6].str, yyvsp[-5].str, yyvsp[-4].str, yyvsp[-3].str, make_str("as"), yyvsp[0].str); } break; case 377: #line 1683 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 378: #line 1685 "preproc.y" { yyval.str = EMPTY; } break; case 379: #line 1689 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 380: #line 1691 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 381: #line 1694 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 382: #line 1706 "preproc.y" { yyval.str = cat_str(5, make_str("create"), yyvsp[-3].str, make_str("sequence"), yyvsp[-1].str, yyvsp[0].str); } break; case 383: #line 1710 "preproc.y" { yyval.str = cat_str(3,make_str("alter sequence"), yyvsp[-1].str, yyvsp[0].str); } break; case 384: #line 1713 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 385: #line 1714 "preproc.y" { yyval.str = EMPTY; } break; case 386: #line 1718 "preproc.y" { yyval.str = cat2_str(make_str("cache"), yyvsp[0].str); } break; case 387: #line 1720 "preproc.y" { yyval.str = make_str("cycle"); } break; case 388: #line 1722 "preproc.y" { yyval.str = make_str("no cycle"); } break; case 389: #line 1724 "preproc.y" { yyval.str = cat_str(3, make_str("increment"), yyvsp[-1].str, yyvsp[0].str); } break; case 390: #line 1726 "preproc.y" { yyval.str = cat2_str(make_str("maxvalue"), yyvsp[0].str); } break; case 391: #line 1728 "preproc.y" { yyval.str = cat2_str(make_str("minvalue"), yyvsp[0].str); } break; case 392: #line 1730 "preproc.y" { yyval.str = make_str("no maxvalue"); } break; case 393: #line 1732 "preproc.y" { yyval.str = make_str("no minvalue"); } break; case 394: #line 1734 "preproc.y" { yyval.str = cat2_str(make_str("owned by"), yyvsp[0].str); } break; case 395: #line 1736 "preproc.y" { yyval.str = cat_str(3, make_str("start"), yyvsp[-1].str, yyvsp[0].str); } break; case 396: #line 1738 "preproc.y" { yyval.str = cat_str(3, make_str("restart"), yyvsp[-1].str, yyvsp[0].str); } break; case 397: #line 1741 "preproc.y" { yyval.str = make_str("by"); } break; case 398: #line 1742 "preproc.y" { yyval.str = EMPTY; } break; case 399: #line 1754 "preproc.y" { yyval.str = cat_str(5, make_str("create"), yyvsp[-3].str, yyvsp[-2].str, make_str("language"), yyvsp[0].str); } break; case 400: #line 1757 "preproc.y" { yyval.str = cat_str(9, make_str("create"), yyvsp[-7].str, yyvsp[-6].str, make_str("language"), yyvsp[-4].str, make_str("handler"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 401: #line 1760 "preproc.y" { yyval.str = make_str("trusted"); } break; case 402: #line 1761 "preproc.y" { yyval.str = EMPTY; } break; case 403: #line 1768 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 404: #line 1769 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 405: #line 1773 "preproc.y" { yyval.str = cat2_str(make_str("validator"), yyvsp[0].str); } break; case 406: #line 1775 "preproc.y" { yyval.str = ""; } break; case 407: #line 1778 "preproc.y" { yyval.str = cat2_str(make_str("lancompiler"), yyvsp[0].str); } break; case 408: #line 1780 "preproc.y" { yyval.str = ""; } break; case 409: #line 1784 "preproc.y" { yyval.str = cat_str(5, make_str("drop"), yyvsp[-3].str, make_str("language"), yyvsp[-1].str, yyvsp[0].str); } break; case 410: #line 1786 "preproc.y" { yyval.str = cat_str(5, make_str("drop"), yyvsp[-5].str, make_str("language if exists"), yyvsp[-1].str, yyvsp[0].str); } break; case 411: #line 1789 "preproc.y" { yyval.str = make_str("prcedural"); } break; case 412: #line 1790 "preproc.y" { yyval.str = EMPTY; } break; case 413: #line 1801 "preproc.y" { yyval.str = cat_str(5,make_str("create tablespace"), yyvsp[-3].str, yyvsp[-2].str, make_str("location"), yyvsp[0].str); } break; case 414: #line 1804 "preproc.y" { yyval.str = cat2_str(make_str("owner"), yyvsp[0].str); } break; case 415: #line 1805 "preproc.y" { yyval.str = EMPTY; } break; case 416: #line 1820 "preproc.y" { yyval.str = cat2_str(make_str("drop tablespace"), yyvsp[0].str); } break; case 417: #line 1822 "preproc.y" { yyval.str = cat2_str(make_str("drop tablespace if exists"), yyvsp[0].str); } break; case 418: #line 1837 "preproc.y" { yyval.str = cat_str(12, make_str("create trigger"), yyvsp[-11].str, yyvsp[-10].str, yyvsp[-9].str, make_str("on"), yyvsp[-7].str, yyvsp[-6].str, make_str("execute procedure"), yyvsp[-3].str, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 419: #line 1842 "preproc.y" { yyval.str = cat_str(13, make_str("create constraint trigger"), yyvsp[-15].str, make_str("after"), yyvsp[-13].str, make_str("on"), yyvsp[-11].str, yyvsp[-10].str, yyvsp[-9].str, make_str("for each row execute procedure"), yyvsp[-3].str, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 420: #line 1845 "preproc.y" { yyval.str = make_str("before"); } break; case 421: #line 1846 "preproc.y" { yyval.str = make_str("after"); } break; case 422: #line 1850 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 423: #line 1852 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("or"), yyvsp[0].str); } break; case 424: #line 1854 "preproc.y" { yyval.str = cat_str(5, yyvsp[-4].str, make_str("or"), yyvsp[-2].str, make_str("or"), yyvsp[0].str); } break; case 425: #line 1857 "preproc.y" { yyval.str = make_str("insert"); } break; case 426: #line 1858 "preproc.y" { yyval.str = make_str("delete"); } break; case 427: #line 1859 "preproc.y" { yyval.str = make_str("update"); } break; case 428: #line 1863 "preproc.y" { yyval.str = cat_str(3, make_str("for"), yyvsp[-1].str, yyvsp[0].str); } break; case 429: #line 1865 "preproc.y" { yyval.str = EMPTY; } break; case 430: #line 1868 "preproc.y" { yyval.str = make_str("each"); } break; case 431: #line 1869 "preproc.y" { yyval.str = EMPTY; } break; case 432: #line 1872 "preproc.y" { yyval.str = make_str("row"); } break; case 433: #line 1873 "preproc.y" { yyval.str = make_str("statement"); } break; case 434: #line 1877 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 435: #line 1879 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 436: #line 1881 "preproc.y" { yyval.str = EMPTY; } break; case 437: #line 1884 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 438: #line 1885 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 439: #line 1888 "preproc.y" { yyval.str = EMPTY; } break; case 440: #line 1889 "preproc.y" { yyval.str = cat2_str(make_str("from"), yyvsp[0].str); } break; case 441: #line 1892 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 442: #line 1894 "preproc.y" { if (strcmp(yyvsp[-1].str, "deferrable") != 0 && strcmp(yyvsp[0].str, "initially deferrable") == 0 ) mmerror(PARSE_ERROR, ET_ERROR, "INITIALLY DEFERRED constraint must be DEFERRABLE"); yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 443: #line 1900 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 444: #line 1902 "preproc.y" { if (strcmp(yyvsp[0].str, "deferrable") != 0 && strcmp(yyvsp[-1].str, "initially deferrable") == 0 ) mmerror(PARSE_ERROR, ET_ERROR, "INITIALLY DEFERRED constraint must be DEFERRABLE"); yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 445: #line 1911 "preproc.y" { yyval.str = make_str("not deferrable"); } break; case 446: #line 1913 "preproc.y" { yyval.str = make_str("deferrable"); } break; case 447: #line 1917 "preproc.y" { yyval.str = make_str("initially immediate"); } break; case 448: #line 1919 "preproc.y" { yyval.str = make_str("initially deferred"); } break; case 449: #line 1923 "preproc.y" { yyval.str = cat_str(5, make_str("drop trigger"), yyvsp[-3].str, make_str("on"), yyvsp[-1].str, yyvsp[0].str); } break; case 450: #line 1925 "preproc.y" { yyval.str = cat_str(5, make_str("drop trigger if exists"), yyvsp[-3].str, make_str("on"), yyvsp[-1].str, yyvsp[0].str); } break; case 451: #line 1937 "preproc.y" { mmerror(PARSE_ERROR, ET_ERROR, "CREATE ASSERTION is not yet supported"); yyval.str = cat_str(6, make_str("create assertion"), yyvsp[-5].str, make_str("check ("), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 452: #line 1944 "preproc.y" { mmerror(PARSE_ERROR, ET_ERROR, "DROP ASSERTION is not yet supported"); yyval.str = cat2_str(make_str("drop assertion"), yyvsp[0].str); } break; case 453: #line 1959 "preproc.y" { yyval.str = cat_str(4, make_str("create aggregate"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 454: #line 1961 "preproc.y" { yyval.str = cat_str(3, make_str("create aggregate"), yyvsp[-1].str, yyvsp[0].str); } break; case 455: #line 1963 "preproc.y" { yyval.str = cat_str(3, make_str("create operator"), yyvsp[-1].str, yyvsp[0].str); } break; case 456: #line 1965 "preproc.y" { yyval.str = cat_str(3, make_str("create type"), yyvsp[-1].str, yyvsp[0].str); } break; case 457: #line 1967 "preproc.y" { yyval.str = cat2_str(make_str("create type"), yyvsp[0].str); } break; case 458: #line 1969 "preproc.y" { yyval.str = cat_str(5, make_str("create type"), yyvsp[-4].str, make_str("as ("), yyvsp[-1].str, make_str(")")); } break; case 459: #line 1973 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 460: #line 1976 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 461: #line 1977 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 462: #line 1980 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("="), yyvsp[0].str); } break; case 463: #line 1981 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 464: #line 1985 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 465: #line 1986 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 466: #line 1987 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 467: #line 1988 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 468: #line 1989 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 469: #line 1992 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 470: #line 1993 "preproc.y" { yyval.str = make_str("(*)"); } break; case 471: #line 1997 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 472: #line 1998 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 473: #line 2001 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 474: #line 2004 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 475: #line 2005 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 476: #line 2008 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("="), yyvsp[0].str); } break; case 477: #line 2014 "preproc.y" { yyval.str = cat_str(9, make_str("create operator class"), yyvsp[-8].str, yyvsp[-7].str, make_str("for type"), yyvsp[-4].str, make_str("using"), yyvsp[-2].str, make_str("as"), yyvsp[0].str); } break; case 478: #line 2019 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 479: #line 2020 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 480: #line 2024 "preproc.y" { yyval.str = cat_str(4, make_str("operator"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 481: #line 2026 "preproc.y" { yyval.str = cat_str(7, make_str("operator"), yyvsp[-5].str, yyvsp[-4].str, make_str("("), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 482: #line 2028 "preproc.y" { yyval.str = cat_str(4, make_str("function"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 483: #line 2030 "preproc.y" { yyval.str = cat2_str(make_str("storage"), yyvsp[0].str); } break; case 484: #line 2033 "preproc.y" { yyval.str = make_str("default"); } break; case 485: #line 2034 "preproc.y" { yyval.str = EMPTY; } break; case 486: #line 2037 "preproc.y" { yyval.str = make_str("recheck"); } break; case 487: #line 2038 "preproc.y" { yyval.str = EMPTY; } break; case 488: #line 2042 "preproc.y" { yyval.str = cat_str(5,make_str("drop operator class"), yyvsp[-3].str, make_str("using"), yyvsp[-1].str, yyvsp[0].str); } break; case 489: #line 2044 "preproc.y" { yyval.str = cat_str(5,make_str("drop operator class if exists"), yyvsp[-3].str, make_str("using"), yyvsp[-1].str, yyvsp[0].str); } break; case 490: #line 2057 "preproc.y" {yyval.str = cat_str(3, make_str("drop owned by"), yyvsp[-1].str, yyvsp[0].str); } break; case 491: #line 2062 "preproc.y" {yyval.str = cat_str(4, make_str("reassign owned by"), yyvsp[-2].str, make_str("to"), yyvsp[0].str); } break; case 492: #line 2074 "preproc.y" { yyval.str = cat_str(5, make_str("drop"), yyvsp[-4].str, make_str("if exists"), yyvsp[-1].str, yyvsp[0].str); } break; case 493: #line 2076 "preproc.y" { yyval.str = cat_str(4, make_str("drop"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 494: #line 2079 "preproc.y" { yyval.str = make_str("table"); } break; case 495: #line 2080 "preproc.y" { yyval.str = make_str("sequence"); } break; case 496: #line 2081 "preproc.y" { yyval.str = make_str("view"); } break; case 497: #line 2082 "preproc.y" { yyval.str = make_str("index"); } break; case 498: #line 2083 "preproc.y" { yyval.str = make_str("type"); } break; case 499: #line 2084 "preproc.y" { yyval.str = make_str("domain"); } break; case 500: #line 2085 "preproc.y" { yyval.str = make_str("conversion"); } break; case 501: #line 2086 "preproc.y" { yyval.str = make_str("schema"); } break; case 502: #line 2090 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 503: #line 2092 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 504: #line 2095 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 505: #line 2096 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 506: #line 2099 "preproc.y" { yyval.str = cat2_str(make_str("."), yyvsp[0].str); } break; case 507: #line 2100 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("."), yyvsp[0].str); } break; case 508: #line 2110 "preproc.y" { yyval.str = cat_str(4, make_str("truncate table"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 509: #line 2125 "preproc.y" { add_additional_variables(yyvsp[-1].str, false); yyval.str = cat_str(4, make_str("fetch"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str); } break; case 510: #line 2130 "preproc.y" { add_additional_variables(yyvsp[-1].str, false); yyval.str = cat_str(4, make_str("fetch"), yyvsp[-2].str, make_str("from"), yyvsp[-1].str); } break; case 511: #line 2135 "preproc.y" { add_additional_variables(yyvsp[-1].str, false); yyval.str = cat_str(3, make_str("fetch"), yyvsp[-2].str, yyvsp[-1].str); } break; case 512: #line 2140 "preproc.y" { add_additional_variables(yyvsp[-1].str, false); yyval.str = cat2_str(make_str("fetch"), yyvsp[-1].str); } break; case 513: #line 2145 "preproc.y" { add_additional_variables(yyvsp[0].str, false); yyval.str = cat_str(4, make_str("fetch"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 514: #line 2150 "preproc.y" { add_additional_variables(yyvsp[0].str, false); yyval.str = cat_str(4, make_str("fetch"), yyvsp[-1].str, make_str("from"), yyvsp[0].str); } break; case 515: #line 2155 "preproc.y" { add_additional_variables(yyvsp[0].str, false); yyval.str = cat_str(3, make_str("fetch"), yyvsp[-1].str, yyvsp[0].str); } break; case 516: #line 2160 "preproc.y" { add_additional_variables(yyvsp[0].str, false); yyval.str = cat2_str(make_str("fetch"), yyvsp[0].str); } break; case 517: #line 2165 "preproc.y" { yyval.str = cat_str(4, make_str("move"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 518: #line 2167 "preproc.y" { yyval.str = cat2_str(make_str("move"), yyvsp[0].str); } break; case 519: #line 2170 "preproc.y" { yyval.str = make_str("next"); } break; case 520: #line 2171 "preproc.y" { yyval.str = make_str("prior"); } break; case 521: #line 2172 "preproc.y" { yyval.str = make_str("first"); } break; case 522: #line 2173 "preproc.y" { yyval.str = make_str("last"); } break; case 523: #line 2174 "preproc.y" { yyval.str = cat2_str(make_str("absolute"), yyvsp[0].str); } break; case 524: #line 2175 "preproc.y" { yyval.str = cat2_str(make_str("relative"), yyvsp[0].str); } break; case 525: #line 2176 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 526: #line 2177 "preproc.y" { yyval.str = make_str("all"); } break; case 527: #line 2178 "preproc.y" { yyval.str = make_str("forward"); } break; case 528: #line 2179 "preproc.y" { yyval.str = cat2_str(make_str("forward"), yyvsp[0].str); } break; case 529: #line 2180 "preproc.y" { yyval.str = make_str("forward all"); } break; case 530: #line 2181 "preproc.y" { yyval.str = make_str("backward"); } break; case 531: #line 2182 "preproc.y" { yyval.str = cat2_str(make_str("backward"), yyvsp[0].str); } break; case 532: #line 2183 "preproc.y" { yyval.str = make_str("backward all"); } break; case 533: #line 2186 "preproc.y" { yyval.str = make_str("in"); } break; case 534: #line 2187 "preproc.y" { yyval.str = make_str("from"); } break; case 535: #line 2191 "preproc.y" { yyval.str = cat_str(5, make_str("comment on"), yyvsp[-3].str, yyvsp[-2].str, make_str("is"), yyvsp[0].str); } break; case 536: #line 2193 "preproc.y" { yyval.str = cat_str(5, make_str("comment on aggregate"), yyvsp[-3].str, yyvsp[-2].str, make_str("is"), yyvsp[0].str); } break; case 537: #line 2195 "preproc.y" { yyval.str = cat_str(5, make_str("comment on function"), yyvsp[-3].str, yyvsp[-2].str, make_str("is"), yyvsp[0].str); } break; case 538: #line 2197 "preproc.y" { yyval.str = cat_str(6, make_str("comment on operator"), yyvsp[-5].str, make_str("("), yyvsp[-3].str, make_str(") is"), yyvsp[0].str); } break; case 539: #line 2199 "preproc.y" { yyval.str = cat_str(6, make_str("comment on trigger"), yyvsp[-4].str, make_str("on"), yyvsp[-2].str, make_str("is"), yyvsp[0].str); } break; case 540: #line 2201 "preproc.y" { yyval.str = cat_str(6, make_str("comment on rule"), yyvsp[-4].str, make_str("on"), yyvsp[-2].str, make_str("is"), yyvsp[0].str); } break; case 541: #line 2203 "preproc.y" { yyval.str = cat_str(4, make_str("comment on rule"), yyvsp[-2].str, make_str("is"), yyvsp[0].str); } break; case 542: #line 2205 "preproc.y" { yyval.str = cat_str(6, make_str("comment on operator class"), yyvsp[-4].str, make_str("using"), yyvsp[-2].str, make_str("is"), yyvsp[0].str); } break; case 543: #line 2207 "preproc.y" { yyval.str = cat_str(4, make_str("comment on large object"), yyvsp[-2].str, make_str("is"), yyvsp[0].str); } break; case 544: #line 2209 "preproc.y" { yyval.str = cat_str(6, make_str("comment on cast ("), yyvsp[-5].str, make_str("as"), yyvsp[-3].str, make_str(") is"), yyvsp[0].str); } break; case 545: #line 2211 "preproc.y" { yyval.str = cat_str(6, make_str("comment on"), yyvsp[-4].str, make_str("language"), yyvsp[-2].str, make_str("is"), yyvsp[0].str); } break; case 546: #line 2214 "preproc.y" { yyval.str = make_str("column"); } break; case 547: #line 2215 "preproc.y" { yyval.str = make_str("database"); } break; case 548: #line 2216 "preproc.y" { yyval.str = make_str("schema"); } break; case 549: #line 2217 "preproc.y" { yyval.str = make_str("idnex"); } break; case 550: #line 2218 "preproc.y" { yyval.str = make_str("sequence"); } break; case 551: #line 2219 "preproc.y" { yyval.str = make_str("table"); } break; case 552: #line 2220 "preproc.y" { yyval.str = make_str("domain"); } break; case 553: #line 2221 "preproc.y" { yyval.str = make_str("type"); } break; case 554: #line 2222 "preproc.y" { yyval.str = make_str("view"); } break; case 555: #line 2223 "preproc.y" { yyval.str = make_str("conversion"); } break; case 556: #line 2224 "preproc.y" { yyval.str = make_str("tablespace"); } break; case 557: #line 2225 "preproc.y" { yyval.str = make_str("role"); } break; case 558: #line 2228 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 559: #line 2229 "preproc.y" { yyval.str = make_str("null"); } break; case 560: #line 2240 "preproc.y" { yyval.str = cat_str(7, make_str("grant"), yyvsp[-5].str, make_str("on"), yyvsp[-3].str, make_str("to"), yyvsp[-1].str, yyvsp[0].str); } break; case 561: #line 2244 "preproc.y" {yyval.str = cat_str(7, make_str("revoke"), yyvsp[-5].str, make_str("on"), yyvsp[-3].str, make_str("from"), yyvsp[-1].str, yyvsp[0].str); } break; case 562: #line 2246 "preproc.y" {yyval.str = cat_str(7, make_str("revoke grant option for"), yyvsp[-5].str, make_str("on"), yyvsp[-3].str, make_str("from"), yyvsp[-1].str, yyvsp[0].str); } break; case 563: #line 2249 "preproc.y" { yyval.str = make_str("all privileges"); } break; case 564: #line 2250 "preproc.y" { yyval.str = make_str("all"); } break; case 565: #line 2251 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 566: #line 2255 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 567: #line 2257 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 568: #line 2260 "preproc.y" { yyval.str = make_str("select"); } break; case 569: #line 2261 "preproc.y" { yyval.str = make_str("references"); } break; case 570: #line 2262 "preproc.y" { yyval.str = make_str("create"); } break; case 571: #line 2263 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 572: #line 2267 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 573: #line 2269 "preproc.y" { yyval.str = cat2_str(make_str("table"), yyvsp[0].str); } break; case 574: #line 2271 "preproc.y" { yyval.str = cat2_str(make_str("sequence"), yyvsp[0].str); } break; case 575: #line 2273 "preproc.y" { yyval.str = cat2_str(make_str("function"), yyvsp[0].str); } break; case 576: #line 2275 "preproc.y" { yyval.str = cat2_str(make_str("database"), yyvsp[0].str); } break; case 577: #line 2277 "preproc.y" { yyval.str = cat2_str(make_str("language") , yyvsp[0].str); } break; case 578: #line 2279 "preproc.y" { yyval.str = cat2_str(make_str("schema") , yyvsp[0].str); } break; case 579: #line 2281 "preproc.y" { yyval.str = cat2_str(make_str("tablespace") , yyvsp[0].str); } break; case 580: #line 2285 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 581: #line 2287 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 582: #line 2290 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 583: #line 2291 "preproc.y" { yyval.str = cat2_str(make_str("group"), yyvsp[0].str); } break; case 584: #line 2295 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "Currently unsupported GRANT/WITH GRANT OPTION will be passed to backend"); yyval.str = make_str("with grant option"); } break; case 585: #line 2299 "preproc.y" { yyval.str = EMPTY; } break; case 586: #line 2303 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 587: #line 2305 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 588: #line 2308 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 589: #line 2318 "preproc.y" { yyval.str = cat_str(6, make_str("grant"), yyvsp[-4].str, make_str("to"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 590: #line 2323 "preproc.y" { yyval.str = cat_str(6, make_str("revoke"), yyvsp[-4].str, make_str("from"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 591: #line 2326 "preproc.y" { yyval.str = make_str("with admin option"); } break; case 592: #line 2327 "preproc.y" { yyval.str = EMPTY; } break; case 593: #line 2330 "preproc.y" { yyval.str = cat2_str(make_str("granted by"), yyvsp[0].str); } break; case 594: #line 2331 "preproc.y" { yyval.str = EMPTY; } break; case 595: #line 2349 "preproc.y" { yyval.str = cat_str(13, make_str("create"), yyvsp[-11].str, make_str("index"), yyvsp[-9].str, make_str("on"), yyvsp[-7].str, yyvsp[-6].str, make_str("("), yyvsp[-4].str, make_str(")"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 596: #line 2352 "preproc.y" { yyval.str = cat_str(13, make_str("create"), yyvsp[-12].str, make_str("index concurrently"), yyvsp[-9].str, make_str("on"), yyvsp[-7].str, yyvsp[-6].str, make_str("("), yyvsp[-4].str, make_str(")"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 597: #line 2355 "preproc.y" { yyval.str = make_str("unique"); } break; case 598: #line 2356 "preproc.y" { yyval.str = EMPTY; } break; case 599: #line 2360 "preproc.y" { yyval.str = cat2_str(make_str("using"), yyvsp[0].str); } break; case 600: #line 2362 "preproc.y" { yyval.str = EMPTY; } break; case 601: #line 2365 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 602: #line 2366 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 603: #line 2370 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 604: #line 2372 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 605: #line 2374 "preproc.y" { yyval.str = cat_str(4, make_str("("), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 606: #line 2377 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 607: #line 2378 "preproc.y" { yyval.str = cat2_str(make_str("using"), yyvsp[0].str); } break; case 608: #line 2379 "preproc.y" { yyval.str = EMPTY; } break; case 609: #line 2384 "preproc.y" { yyval.str = cat_str(8, make_str("create"), yyvsp[-7].str, make_str("function"), yyvsp[-5].str, yyvsp[-4].str, make_str("returns"), yyvsp[-2].str, yyvsp[-1].str); } break; case 610: #line 2387 "preproc.y" { yyval.str = cat_str(6, make_str("create"), yyvsp[-5].str, make_str("function"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 611: #line 2390 "preproc.y" { yyval.str = make_str("or replace"); } break; case 612: #line 2391 "preproc.y" { yyval.str = EMPTY; } break; case 613: #line 2395 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 614: #line 2397 "preproc.y" { yyval.str = make_str("()"); } break; case 615: #line 2401 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 616: #line 2403 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 617: #line 2406 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 618: #line 2407 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 619: #line 2408 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 620: #line 2409 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 621: #line 2410 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 622: #line 2413 "preproc.y" { yyval.str = make_str("in"); } break; case 623: #line 2414 "preproc.y" { yyval.str = make_str("out"); } break; case 624: #line 2415 "preproc.y" { yyval.str = make_str("inout"); } break; case 625: #line 2416 "preproc.y" { yyval.str = make_str("in out"); } break; case 626: #line 2420 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 627: #line 2422 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 628: #line 2425 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 629: #line 2428 "preproc.y" { /* We can catch over-specified arguments here if we want to, * but for now better to silently swallow typmod, etc. * - thomas 2000-03-22 */ yyval.str = yyvsp[0].str; } break; case 630: #line 2436 "preproc.y" { yyval.str = cat_str(4, make_str("setof"), yyvsp[-3].str, yyvsp[-2].str, make_str("% type")); } break; case 631: #line 2440 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 632: #line 2442 "preproc.y" { yyval.str = cat_str(3, yyvsp[-3].str, yyvsp[-2].str, make_str("% type")); } break; case 633: #line 2447 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 634: #line 2449 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 635: #line 2454 "preproc.y" { yyval.str = make_str("called on null input"); } break; case 636: #line 2456 "preproc.y" { yyval.str = make_str("returns null on null input"); } break; case 637: #line 2458 "preproc.y" { yyval.str = make_str("strict"); } break; case 638: #line 2460 "preproc.y" { yyval.str = make_str("immutable"); } break; case 639: #line 2462 "preproc.y" { yyval.str = make_str("stable"); } break; case 640: #line 2464 "preproc.y" { yyval.str = make_str("volatile"); } break; case 641: #line 2466 "preproc.y" { yyval.str = make_str("external security definer"); } break; case 642: #line 2468 "preproc.y" { yyval.str = make_str("external security invoker"); } break; case 643: #line 2470 "preproc.y" { yyval.str = make_str("security definer"); } break; case 644: #line 2472 "preproc.y" { yyval.str = make_str("security invoker"); } break; case 645: #line 2475 "preproc.y" { yyval.str = cat2_str(make_str("as"), yyvsp[0].str); } break; case 646: #line 2477 "preproc.y" { yyval.str = cat2_str(make_str("language"), yyvsp[0].str); } break; case 647: #line 2479 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 648: #line 2482 "preproc.y" { yyval.str = cat2_str(make_str("with"), yyvsp[0].str); } break; case 649: #line 2483 "preproc.y" { yyval.str = EMPTY; } break; case 650: #line 2488 "preproc.y" { yyval.str = cat_str(4, make_str("alter function"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 651: #line 2491 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 652: #line 2492 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str);} break; case 653: #line 2495 "preproc.y" { yyval.str = make_str("restrict"); } break; case 654: #line 2496 "preproc.y" { yyval.str = EMPTY; } break; case 655: #line 2510 "preproc.y" { yyval.str = cat_str(4, make_str("drop function"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 656: #line 2512 "preproc.y" { yyval.str = cat_str(4, make_str("drop function if exists"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 657: #line 2516 "preproc.y" { yyval.str = cat_str(4, make_str("drop aggregate"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 658: #line 2518 "preproc.y" { yyval.str = cat_str(4, make_str("drop aggregate if exists"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 659: #line 2522 "preproc.y" { yyval.str = cat_str(6, make_str("drop operator"), yyvsp[-4].str, make_str("("), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 660: #line 2524 "preproc.y" { yyval.str = cat_str(6, make_str("drop operator if exists"), yyvsp[-4].str, make_str("("), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 661: #line 2528 "preproc.y" { mmerror(PARSE_ERROR, ET_ERROR, "parser: argument type missing (use NONE for unary operators)"); } break; case 662: #line 2530 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 663: #line 2532 "preproc.y" { yyval.str = cat2_str(make_str("none,"), yyvsp[0].str); } break; case 664: #line 2534 "preproc.y" { yyval.str = cat2_str(yyvsp[-2].str, make_str(", none")); } break; case 665: #line 2539 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 666: #line 2541 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("."), yyvsp[0].str); } break; case 667: #line 2546 "preproc.y" { yyval.str = cat_str(6, make_str("create cast ("), yyvsp[-7].str, make_str("as"), yyvsp[-5].str, make_str(") with function"), yyvsp[-1].str); } break; case 668: #line 2549 "preproc.y" { yyval.str = cat_str(6, make_str("create cast ("), yyvsp[-6].str, make_str("as"), yyvsp[-4].str, make_str(") without function"), yyvsp[0].str); } break; case 669: #line 2552 "preproc.y" { yyval.str = make_str("as assignment"); } break; case 670: #line 2553 "preproc.y" { yyval.str = EMPTY; } break; case 671: #line 2558 "preproc.y" { yyval.str = cat_str(8, make_str("drop cast"), yyvsp[-6].str, make_str("("), yyvsp[-4].str, make_str("as"), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 672: #line 2561 "preproc.y" { yyval.str = make_str("if exists"); } break; case 673: #line 2562 "preproc.y" { yyval.str = EMPTY; } break; case 674: #line 2573 "preproc.y" { yyval.str = cat_str(4, make_str("reindex"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 675: #line 2575 "preproc.y" { yyval.str = cat_str(3, make_str("reindex system"), yyvsp[-1].str, yyvsp[0].str); } break; case 676: #line 2577 "preproc.y" { yyval.str = cat_str(3, make_str("reindex database"), yyvsp[-1].str, yyvsp[0].str); } break; case 677: #line 2580 "preproc.y" { yyval.str = make_str("index"); } break; case 678: #line 2581 "preproc.y" { yyval.str = make_str("table"); } break; case 679: #line 2584 "preproc.y" { yyval.str = make_str("force"); } break; case 680: #line 2585 "preproc.y" { yyval.str = EMPTY; } break; case 681: #line 2597 "preproc.y" { yyval.str = cat_str(5, make_str("alter aggregate"), yyvsp[-4].str, yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 682: #line 2599 "preproc.y" { yyval.str = cat_str(4, make_str("alter conversion"), yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 683: #line 2601 "preproc.y" { yyval.str = cat_str(4, make_str("alter database"), yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 684: #line 2603 "preproc.y" { yyval.str = cat_str(5, make_str("alter function"), yyvsp[-4].str, yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 685: #line 2605 "preproc.y" { yyval.str = cat_str(4, make_str("alter group"), yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 686: #line 2607 "preproc.y" { yyval.str = cat_str(4, make_str("alter language"), yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 687: #line 2609 "preproc.y" { yyval.str = cat_str(6, make_str("alter operator class"), yyvsp[-5].str, make_str("using"), yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 688: #line 2611 "preproc.y" { yyval.str = cat_str(4, make_str("alter schema"), yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 689: #line 2613 "preproc.y" { yyval.str = cat_str(4, make_str("alter table"), yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 690: #line 2615 "preproc.y" { yyval.str = cat_str(4, make_str("alter index"), yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 691: #line 2617 "preproc.y" { yyval.str = cat_str(7, make_str("alter table"), yyvsp[-5].str, make_str("rename"), yyvsp[-3].str, yyvsp[-2].str, make_str("to"), yyvsp[0].str); } break; case 692: #line 2619 "preproc.y" { yyval.str = cat_str(6, make_str("alter trigger"), yyvsp[-5].str, make_str("on"), yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 693: #line 2621 "preproc.y" { yyval.str = cat_str(4, make_str("alter user"), yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 694: #line 2623 "preproc.y" { yyval.str = cat_str(4, make_str("alter tablespace"), yyvsp[-3].str, make_str("rename to"), yyvsp[0].str); } break; case 695: #line 2626 "preproc.y" { yyval.str = make_str("column"); } break; case 696: #line 2627 "preproc.y" { yyval.str = EMPTY; } break; case 697: #line 2638 "preproc.y" { yyval.str = cat_str(5, make_str("alter aggregate"), yyvsp[-4].str, yyvsp[-3].str, make_str("set schema"), yyvsp[0].str); } break; case 698: #line 2640 "preproc.y" { yyval.str = cat_str(4, make_str("alter domain"), yyvsp[-3].str, make_str("set schema"), yyvsp[0].str); } break; case 699: #line 2642 "preproc.y" { yyval.str = cat_str(5, make_str("alter function"), yyvsp[-4].str, yyvsp[-3].str, make_str("set schema"), yyvsp[0].str); } break; case 700: #line 2644 "preproc.y" { yyval.str = cat_str(4, make_str("alter sequence"), yyvsp[-3].str, make_str("set schema"), yyvsp[0].str); } break; case 701: #line 2646 "preproc.y" { yyval.str = cat_str(4, make_str("alter sequence"), yyvsp[-3].str, make_str("set schema"), yyvsp[0].str); } break; case 702: #line 2648 "preproc.y" { yyval.str = cat_str(4, make_str("alter type"), yyvsp[-3].str, make_str("set schema"), yyvsp[0].str); } break; case 703: #line 2658 "preproc.y" { yyval.str = cat_str(5, make_str("alter aggregate"), yyvsp[-4].str, yyvsp[-3].str, make_str("owner to"), yyvsp[0].str); } break; case 704: #line 2660 "preproc.y" { yyval.str = cat_str(4, make_str("alter conversion"), yyvsp[-3].str, make_str("owner to"), yyvsp[0].str); } break; case 705: #line 2662 "preproc.y" { yyval.str = cat_str(4, make_str("alter database"), yyvsp[-3].str, make_str("owner to"), yyvsp[0].str); } break; case 706: #line 2664 "preproc.y" { yyval.str = cat_str(4, make_str("alter domain"), yyvsp[-3].str, make_str("owner to"), yyvsp[0].str); } break; case 707: #line 2666 "preproc.y" { yyval.str = cat_str(5, make_str("alter function"), yyvsp[-4].str, yyvsp[-3].str, make_str("owner to"), yyvsp[0].str); } break; case 708: #line 2668 "preproc.y" { yyval.str = cat_str(6, make_str("alter operator"), yyvsp[-6].str, make_str("("), yyvsp[-4].str, make_str(") owner to"), yyvsp[0].str); } break; case 709: #line 2670 "preproc.y" { yyval.str = cat_str(6, make_str("alter operator class"), yyvsp[-5].str, make_str("using"), yyvsp[-3].str, make_str("owner to"), yyvsp[0].str); } break; case 710: #line 2672 "preproc.y" { yyval.str = cat_str(4, make_str("alter schema"), yyvsp[-3].str, make_str("owner to"), yyvsp[0].str); } break; case 711: #line 2674 "preproc.y" { yyval.str = cat_str(4, make_str("alter type"), yyvsp[-3].str, make_str("owner to"), yyvsp[0].str); } break; case 712: #line 2676 "preproc.y" { yyval.str = cat_str(4, make_str("alter tablespace"), yyvsp[-3].str, make_str("owner to"), yyvsp[0].str); } break; case 713: #line 2687 "preproc.y" { QueryIsRule=1; } break; case 714: #line 2690 "preproc.y" { QueryIsRule=0; yyval.str = cat_str(12, make_str("create"), yyvsp[-12].str, make_str("rule"), yyvsp[-10].str, make_str("as on"), yyvsp[-6].str, make_str("to"), yyvsp[-4].str, yyvsp[-3].str, make_str("do"), yyvsp[-1].str, yyvsp[0].str); } break; case 715: #line 2696 "preproc.y" { yyval.str = make_str("nothing"); } break; case 716: #line 2697 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 717: #line 2698 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 718: #line 2703 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(";"), yyvsp[0].str); } break; case 719: #line 2705 "preproc.y" { yyval.str = cat2_str(yyvsp[0].str, make_str(";")); } break; case 725: #line 2715 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 726: #line 2716 "preproc.y" { yyval.str = EMPTY; } break; case 727: #line 2720 "preproc.y" { yyval.str = make_str("select"); } break; case 728: #line 2721 "preproc.y" { yyval.str = make_str("update"); } break; case 729: #line 2722 "preproc.y" { yyval.str = make_str("delete"); } break; case 730: #line 2723 "preproc.y" { yyval.str = make_str("insert"); } break; case 731: #line 2726 "preproc.y" { yyval.str = make_str("instead"); } break; case 732: #line 2727 "preproc.y" { yyval.str = make_str("also"); } break; case 733: #line 2728 "preproc.y" { yyval.str = EMPTY; } break; case 734: #line 2732 "preproc.y" { yyval.str = cat_str(5, make_str("drop rule"), yyvsp[-3].str, make_str("on"), yyvsp[-1].str, yyvsp[0].str);} break; case 735: #line 2734 "preproc.y" { yyval.str = cat_str(5, make_str("drop rule if exists"), yyvsp[-3].str, make_str("on"), yyvsp[-1].str, yyvsp[0].str);} break; case 736: #line 2746 "preproc.y" { yyval.str = cat2_str(make_str("notify"), yyvsp[0].str); } break; case 737: #line 2750 "preproc.y" { yyval.str = cat2_str(make_str("listen"), yyvsp[0].str); } break; case 738: #line 2754 "preproc.y" { yyval.str = cat2_str(make_str("unlisten"), yyvsp[0].str); } break; case 739: #line 2756 "preproc.y" { yyval.str = make_str("unlisten *"); } break; case 740: #line 2768 "preproc.y" { yyval.str = make_str("rollback"); } break; case 741: #line 2769 "preproc.y" { yyval.str = cat2_str(make_str("begin transaction"), yyvsp[0].str); } break; case 742: #line 2770 "preproc.y" { yyval.str = cat2_str(make_str("start transaction"), yyvsp[0].str); } break; case 743: #line 2771 "preproc.y" { yyval.str = make_str("commit"); } break; case 744: #line 2772 "preproc.y" { yyval.str = make_str("commit"); } break; case 745: #line 2773 "preproc.y" { yyval.str = make_str("rollback"); } break; case 746: #line 2774 "preproc.y" { yyval.str = cat2_str(make_str("savepoint"), yyvsp[0].str); } break; case 747: #line 2775 "preproc.y" { yyval.str = cat2_str(make_str("release savepoint"), yyvsp[0].str); } break; case 748: #line 2776 "preproc.y" { yyval.str = cat2_str(make_str("release"), yyvsp[0].str); } break; case 749: #line 2777 "preproc.y" { yyval.str = cat_str(4, make_str("rollback"), yyvsp[-3].str, make_str("to savepoint"), yyvsp[0].str); } break; case 750: #line 2778 "preproc.y" { yyval.str = cat_str(4, make_str("rollback"), yyvsp[-2].str, make_str("to"), yyvsp[0].str); } break; case 751: #line 2779 "preproc.y" { yyval.str = cat2_str(make_str("prepare transaction"), yyvsp[0].str); } break; case 752: #line 2780 "preproc.y" { yyval.str = cat2_str(make_str("commit prepared"), yyvsp[0].str); } break; case 753: #line 2781 "preproc.y" { yyval.str = cat2_str(make_str("rollback prepared"), yyvsp[0].str); } break; case 754: #line 2784 "preproc.y" { yyval.str = EMPTY; } break; case 755: #line 2785 "preproc.y" { yyval.str = EMPTY; } break; case 756: #line 2786 "preproc.y" { yyval.str = EMPTY; } break; case 757: #line 2791 "preproc.y" { yyval.str = cat2_str(make_str("isolation level"), yyvsp[0].str); } break; case 758: #line 2792 "preproc.y" { yyval.str = make_str("read only"); } break; case 759: #line 2793 "preproc.y" { yyval.str = make_str("read write"); } break; case 760: #line 2797 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 761: #line 2798 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 762: #line 2799 "preproc.y" { yyval.str = cat_str(3, yyvsp[-1].str, make_str(" "), yyvsp[0].str); } break; case 763: #line 2803 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 764: #line 2804 "preproc.y" { yyval.str = EMPTY; } break; case 765: #line 2816 "preproc.y" { yyval.str = cat_str(8, make_str("create"), yyvsp[-6].str, make_str("view"), yyvsp[-4].str, yyvsp[-3].str, make_str("as"), yyvsp[-1].str, yyvsp[0].str); } break; case 766: #line 2818 "preproc.y" { yyval.str = cat_str(8, make_str("create or replace"), yyvsp[-6].str, make_str("view"), yyvsp[-4].str, yyvsp[-3].str, make_str("as"), yyvsp[-1].str, yyvsp[0].str); } break; case 767: #line 2827 "preproc.y" { mmerror(PARSE_ERROR, ET_ERROR, "WITH CHECK OPTION not implemented"); } break; case 768: #line 2829 "preproc.y" { mmerror(PARSE_ERROR, ET_ERROR, "WITH CHECK OPTION not implemented"); } break; case 769: #line 2831 "preproc.y" { mmerror(PARSE_ERROR, ET_ERROR, "WITH CHECK OPTION not implemented"); } break; case 770: #line 2833 "preproc.y" { yyval.str = EMPTY; } break; case 771: #line 2844 "preproc.y" { yyval.str = cat2_str(make_str("load"), yyvsp[0].str); } break; case 772: #line 2856 "preproc.y" { yyval.str = cat_str(4, make_str("create database"), yyvsp[-2].str, make_str("with"), yyvsp[0].str); } break; case 773: #line 2858 "preproc.y" { yyval.str = cat2_str(make_str("create database"), yyvsp[0].str); } break; case 774: #line 2862 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 775: #line 2864 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 776: #line 2868 "preproc.y" { yyval.str = cat_str(3,make_str("tablespace"), yyvsp[-1].str, yyvsp[0].str); } break; case 777: #line 2870 "preproc.y" { yyval.str = cat_str(3, make_str("tablespace"), yyvsp[-1].str, make_str("default")); } break; case 778: #line 2872 "preproc.y" { yyval.str = cat_str(3,make_str("location"), yyvsp[-1].str, yyvsp[0].str); } break; case 779: #line 2874 "preproc.y" { yyval.str = cat_str(3, make_str("location"), yyvsp[-1].str, make_str("default")); } break; case 780: #line 2876 "preproc.y" { yyval.str = cat_str(3, make_str("template"), yyvsp[-1].str, yyvsp[0].str); } break; case 781: #line 2878 "preproc.y" { yyval.str = cat_str(3, make_str("template"), yyvsp[-1].str, make_str("default")); } break; case 782: #line 2880 "preproc.y" { yyval.str = cat_str(3, make_str("encoding"), yyvsp[-1].str, yyvsp[0].str); } break; case 783: #line 2882 "preproc.y" { yyval.str = cat_str(3, make_str("encoding"), yyvsp[-1].str, make_str("default")); } break; case 784: #line 2884 "preproc.y" { yyval.str = cat_str(3, make_str("connection limit"), yyvsp[-1].str, yyvsp[0].str); } break; case 785: #line 2886 "preproc.y" { yyval.str = cat_str(3, make_str("owner"), yyvsp[-1].str, yyvsp[0].str); } break; case 786: #line 2888 "preproc.y" { yyval.str = cat_str(3, make_str("owner"), yyvsp[-1].str, make_str("default")); } break; case 787: #line 2891 "preproc.y" { yyval.str = make_str("="); } break; case 788: #line 2892 "preproc.y" { yyval.str = EMPTY; } break; case 789: #line 2904 "preproc.y" { yyval.str = cat_str(4, make_str("alter database"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 790: #line 2908 "preproc.y" { yyval.str = cat_str(4, make_str("alter database"), yyvsp[-2].str, make_str("set"), yyvsp[0].str); } break; case 791: #line 2910 "preproc.y" { yyval.str = cat_str(3, make_str("alter database"), yyvsp[-1].str, yyvsp[0].str); } break; case 792: #line 2914 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str);} break; case 793: #line 2915 "preproc.y" { yyval.str = EMPTY; } break; case 794: #line 2919 "preproc.y" { yyval.str = cat_str(3, make_str("connection limit"), yyvsp[-1].str, yyvsp[0].str); } break; case 795: #line 2930 "preproc.y" { yyval.str = cat2_str(make_str("drop database"), yyvsp[0].str); } break; case 796: #line 2932 "preproc.y" { yyval.str = cat2_str(make_str("drop database if exists"), yyvsp[0].str); } break; case 797: #line 2943 "preproc.y" { yyval.str = cat_str(5, make_str("create domain"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 798: #line 2950 "preproc.y" { yyval.str = cat_str(3, make_str("alter domain"), yyvsp[-1].str, yyvsp[0].str); } break; case 799: #line 2952 "preproc.y" { yyval.str = cat_str(3, make_str("alter domain"), yyvsp[-3].str, make_str("drop not null")); } break; case 800: #line 2954 "preproc.y" { yyval.str = cat_str(3, make_str("alter domain"), yyvsp[-3].str, make_str("set not null")); } break; case 801: #line 2956 "preproc.y" { yyval.str = cat_str(4, make_str("alter domain"), yyvsp[-2].str, make_str("add"), yyvsp[0].str); } break; case 802: #line 2958 "preproc.y" { yyval.str = cat_str(5, make_str("alter domain"), yyvsp[-4].str, make_str("drop constraint"), yyvsp[-1].str, yyvsp[0].str); } break; case 803: #line 2961 "preproc.y" {yyval.str = make_str("as"); } break; case 804: #line 2962 "preproc.y" {yyval.str = EMPTY; } break; case 805: #line 2968 "preproc.y" { yyval.str = cat_str(10, make_str("create"), yyvsp[-8].str, make_str("conversion"), yyvsp[-6].str, make_str("for"), yyvsp[-4].str, make_str("to"), yyvsp[-2].str, make_str("from"), yyvsp[0].str); } break; case 806: #line 2981 "preproc.y" { yyval.str = cat_str(4, make_str("cluster"), yyvsp[-2].str, make_str("on"), yyvsp[0].str); } break; case 807: #line 2983 "preproc.y" { yyval.str = cat2_str(make_str("cluster"), yyvsp[0].str); } break; case 808: #line 2985 "preproc.y" { yyval.str = make_str("cluster"); } break; case 809: #line 2998 "preproc.y" { yyval.str = cat_str(4, make_str("vacuum"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 810: #line 3000 "preproc.y" { yyval.str = cat_str(5, make_str("vacuum"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 811: #line 3002 "preproc.y" { yyval.str = cat_str(5, make_str("vacuum"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 812: #line 3006 "preproc.y" { yyval.str = cat_str(2, yyvsp[-1].str, yyvsp[0].str); } break; case 813: #line 3008 "preproc.y" { yyval.str = cat_str(4, yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 814: #line 3011 "preproc.y" { yyval.str = make_str("analyze"); } break; case 815: #line 3012 "preproc.y" { yyval.str = make_str("analyse"); } break; case 816: #line 3015 "preproc.y" { yyval.str = make_str("verbose"); } break; case 817: #line 3016 "preproc.y" { yyval.str = EMPTY; } break; case 818: #line 3019 "preproc.y" { yyval.str = make_str("full"); } break; case 819: #line 3020 "preproc.y" { yyval.str = EMPTY; } break; case 820: #line 3023 "preproc.y" { yyval.str = make_str("freeze"); } break; case 821: #line 3024 "preproc.y" { yyval.str = EMPTY; } break; case 822: #line 3028 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 823: #line 3030 "preproc.y" { yyval.str = EMPTY; } break; case 824: #line 3042 "preproc.y" { yyval.str = cat_str(4, make_str("explain"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 830: #line 3054 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 831: #line 3055 "preproc.y" { yyval.str = EMPTY; } break; case 832: #line 3106 "preproc.y" { yyval.str = cat_str(4, make_str("insert into"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 833: #line 3111 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 834: #line 3113 "preproc.y" { yyval.str = cat_str(4, make_str("("), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 835: #line 3115 "preproc.y" { yyval.str = make_str("default values"); } break; case 836: #line 3119 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 837: #line 3121 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 838: #line 3125 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 839: #line 3128 "preproc.y" { yyval.str = cat2_str(make_str("returning"), yyvsp[0].str); } break; case 840: #line 3129 "preproc.y" { yyval.str = EMPTY; } break; case 841: #line 3140 "preproc.y" { yyval.str = cat_str(5, make_str("delete from"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 842: #line 3143 "preproc.y" { cat2_str(make_str("using"), yyvsp[0].str); } break; case 843: #line 3144 "preproc.y" { yyval.str = EMPTY; } break; case 844: #line 3148 "preproc.y" { yyval.str = cat_str(5, make_str("lock"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 845: #line 3152 "preproc.y" { yyval.str = cat_str(3, make_str("in"), yyvsp[-1].str, make_str("mode")); } break; case 846: #line 3154 "preproc.y" { yyval.str = EMPTY;} break; case 847: #line 3157 "preproc.y" { yyval.str = make_str("access share"); } break; case 848: #line 3158 "preproc.y" { yyval.str = make_str("access share"); } break; case 849: #line 3159 "preproc.y" { yyval.str = make_str("row exclusive"); } break; case 850: #line 3160 "preproc.y" { yyval.str = make_str("share update exclusive"); } break; case 851: #line 3161 "preproc.y" { yyval.str = make_str("share"); } break; case 852: #line 3162 "preproc.y" { yyval.str = make_str("share row exclusive"); } break; case 853: #line 3163 "preproc.y" { yyval.str = make_str("exclusive"); } break; case 854: #line 3164 "preproc.y" { yyval.str = make_str("access exclusive"); } break; case 855: #line 3167 "preproc.y" { yyval.str = make_str("nowait"); } break; case 856: #line 3168 "preproc.y" { yyval.str = EMPTY; } break; case 857: #line 3183 "preproc.y" {yyval.str = cat_str(7, make_str("update"), yyvsp[-5].str, make_str("set"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 858: #line 3187 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 859: #line 3188 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 860: #line 3192 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 861: #line 3193 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 862: #line 3197 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("="), yyvsp[0].str); } break; case 863: #line 3200 "preproc.y" { yyval.str = cat_str(4, make_str("("), yyvsp[-3].str, make_str(")="), yyvsp[0].str); } break; case 864: #line 3203 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 865: #line 3206 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 866: #line 3207 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 867: #line 3217 "preproc.y" { struct cursor *ptr, *this; for (ptr = cur; ptr != NULL; ptr = ptr->next) { if (strcmp(yyvsp[-5].str, ptr->name) == 0) /* re-definition is a bug */ mmerror(PARSE_ERROR, ET_ERROR, "cursor %s already defined", yyvsp[-5].str); } this = (struct cursor *) mm_alloc(sizeof(struct cursor)); /* initial definition */ this->next = cur; this->name = yyvsp[-5].str; this->connection = connection; this->opened = false; this->command = cat_str(7, make_str("declare"), mm_strdup(yyvsp[-5].str), yyvsp[-4].str, make_str("cursor"), yyvsp[-2].str, make_str("for"), yyvsp[0].str); this->argsinsert = argsinsert; this->argsresult = argsresult; argsinsert = argsresult = NULL; cur = this; if (INFORMIX_MODE) yyval.str = cat_str(5, adjust_informix(this->argsinsert), adjust_informix(this->argsresult), make_str("/*"), mm_strdup(this->command), make_str("*/")); else yyval.str = cat_str(3, make_str("/*"), mm_strdup(this->command), make_str("*/")); } break; case 868: #line 3247 "preproc.y" { yyval.str = EMPTY; } break; case 869: #line 3248 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, make_str("binary")); } break; case 870: #line 3249 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, make_str("insensitive")); } break; case 871: #line 3250 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, make_str("scroll")); } break; case 872: #line 3251 "preproc.y" { yyval.str = cat2_str(yyvsp[-2].str, make_str("no scroll")); } break; case 873: #line 3255 "preproc.y" { if (compat == ECPG_COMPAT_INFORMIX_SE && autocommit == true) yyval.str = make_str("with hold"); else yyval.str = EMPTY; } break; case 874: #line 3261 "preproc.y" { yyval.str = make_str("with hold"); } break; case 875: #line 3262 "preproc.y" { yyval.str = make_str("without hold"); } break; case 876: #line 3273 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 877: #line 3275 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 878: #line 3279 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 879: #line 3281 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 880: #line 3285 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 881: #line 3287 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 882: #line 3289 "preproc.y" { yyval.str = cat_str(4, yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 883: #line 3291 "preproc.y" { yyval.str = cat_str(4, yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 884: #line 3294 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 885: #line 3295 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 886: #line 3301 "preproc.y" { yyval.str = cat_str(8, make_str("select"), yyvsp[-6].str, yyvsp[-5].str, yyvsp[-4].str, yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 887: #line 3303 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 888: #line 3305 "preproc.y" { yyval.str = cat_str(4, yyvsp[-3].str, make_str("union"), yyvsp[-1].str, yyvsp[0].str); } break; case 889: #line 3307 "preproc.y" { yyval.str = cat_str(4, yyvsp[-3].str, make_str("intersect"), yyvsp[-1].str, yyvsp[0].str); } break; case 890: #line 3309 "preproc.y" { yyval.str = cat_str(4, yyvsp[-3].str, make_str("except"), yyvsp[-1].str, yyvsp[0].str); } break; case 891: #line 3313 "preproc.y" { FoundInto = 1; yyval.str= cat2_str(make_str("into"), yyvsp[0].str); } break; case 892: #line 3317 "preproc.y" { yyval.str = EMPTY; } break; case 893: #line 3318 "preproc.y" { yyval.str = EMPTY; } break; case 894: #line 3329 "preproc.y" { yyval.str = cat_str(3, make_str("temporary"), yyvsp[-1].str, yyvsp[0].str); } break; case 895: #line 3331 "preproc.y" { yyval.str = cat_str(3, make_str("temp"), yyvsp[-1].str, yyvsp[0].str); } break; case 896: #line 3333 "preproc.y" { yyval.str = cat_str(3, make_str("local temporary"), yyvsp[-1].str, yyvsp[0].str); } break; case 897: #line 3335 "preproc.y" { yyval.str = cat_str(3, make_str("local temp"), yyvsp[-1].str, yyvsp[0].str); } break; case 898: #line 3337 "preproc.y" { yyval.str = cat_str(3, make_str("global temporary"), yyvsp[-1].str, yyvsp[0].str); } break; case 899: #line 3339 "preproc.y" { yyval.str = cat_str(3, make_str("global temp"), yyvsp[-1].str, yyvsp[0].str); } break; case 900: #line 3341 "preproc.y" { yyval.str = cat2_str(make_str("table"), yyvsp[0].str); } break; case 901: #line 3343 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 902: #line 3346 "preproc.y" { yyval.str = make_str("table"); } break; case 903: #line 3347 "preproc.y" { yyval.str = EMPTY; } break; case 904: #line 3350 "preproc.y" { yyval.str = make_str("all"); } break; case 905: #line 3351 "preproc.y" { yyval.str = EMPTY; } break; case 906: #line 3355 "preproc.y" { yyval.str = make_str("distinct"); } break; case 907: #line 3357 "preproc.y" { yyval.str = cat_str(3, make_str("distinct on ("), yyvsp[-1].str, make_str(")")); } break; case 908: #line 3359 "preproc.y" { yyval.str = make_str("all"); } break; case 909: #line 3361 "preproc.y" { yyval.str = EMPTY; } break; case 910: #line 3364 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 911: #line 3365 "preproc.y" { yyval.str = EMPTY; } break; case 912: #line 3369 "preproc.y" { yyval.str = cat2_str(make_str("order by"), yyvsp[0].str); } break; case 913: #line 3372 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 914: #line 3373 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 915: #line 3377 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("using"), yyvsp[0].str); } break; case 916: #line 3379 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, make_str("asc")); } break; case 917: #line 3381 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, make_str("desc")); } break; case 918: #line 3383 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 919: #line 3387 "preproc.y" { yyval.str = cat_str(4, make_str("limit"), yyvsp[-2].str, make_str("offset"), yyvsp[0].str); } break; case 920: #line 3389 "preproc.y" { yyval.str = cat_str(4, make_str("offset"), yyvsp[-2].str, make_str("limit"), yyvsp[0].str); } break; case 921: #line 3391 "preproc.y" { yyval.str = cat2_str(make_str("limit"), yyvsp[0].str); } break; case 922: #line 3393 "preproc.y" { yyval.str = cat2_str(make_str("offset"), yyvsp[0].str); } break; case 923: #line 3395 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "No longer supported LIMIT #,# syntax passed to backend."); } break; case 924: #line 3398 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 925: #line 3399 "preproc.y" { yyval.str = EMPTY; } break; case 926: #line 3402 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 927: #line 3403 "preproc.y" { yyval.str = make_str("all"); } break; case 928: #line 3406 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 929: #line 3417 "preproc.y" { yyval.str = cat2_str(make_str("group by"), yyvsp[0].str); } break; case 930: #line 3419 "preproc.y" { yyval.str = EMPTY; } break; case 931: #line 3423 "preproc.y" { yyval.str = cat2_str(make_str("having"), yyvsp[0].str); } break; case 932: #line 3425 "preproc.y" { yyval.str = EMPTY; } break; case 933: #line 3429 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 934: #line 3430 "preproc.y" { yyval.str = make_str("for read only");} break; case 935: #line 3434 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 936: #line 3435 "preproc.y" { yyval.str = EMPTY; } break; case 937: #line 3439 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 938: #line 3440 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 939: #line 3445 "preproc.y" { yyval.str = cat_str(3, make_str("for update"), yyvsp[-1].str, yyvsp[0].str); } break; case 940: #line 3447 "preproc.y" { yyval.str = cat_str(3, make_str("for share"), yyvsp[-1].str, yyvsp[0].str); } break; case 941: #line 3451 "preproc.y" { yyval.str = cat2_str(make_str("of"), yyvsp[0].str); } break; case 942: #line 3452 "preproc.y" { yyval.str = EMPTY; } break; case 943: #line 3456 "preproc.y" { yyval.str = cat2_str(make_str("values"), yyvsp[0].str); } break; case 944: #line 3458 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 945: #line 3469 "preproc.y" { yyval.str = cat2_str(make_str("from"), yyvsp[0].str); } break; case 946: #line 3470 "preproc.y" { yyval.str = EMPTY; } break; case 947: #line 3473 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 948: #line 3474 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 949: #line 3485 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 950: #line 3487 "preproc.y" { yyval.str= cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 951: #line 3489 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 952: #line 3491 "preproc.y" { yyval.str= cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 953: #line 3493 "preproc.y" { yyval.str=cat_str(4, yyvsp[-4].str, make_str("as ("), yyvsp[-1].str, make_str(")")); } break; case 954: #line 3495 "preproc.y" { yyval.str=cat_str(6, yyvsp[-5].str, make_str("as"), yyvsp[-3].str, make_str("("), yyvsp[-1].str, make_str(")"));} break; case 955: #line 3497 "preproc.y" { yyval.str=cat_str(5, yyvsp[-4].str, yyvsp[-3].str, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 956: #line 3499 "preproc.y" {mmerror(PARSE_ERROR, ET_ERROR, "sub-SELECT in FROM must have an alias");} break; case 957: #line 3501 "preproc.y" { yyval.str=cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 958: #line 3503 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 959: #line 3505 "preproc.y" { yyval.str=cat_str(4, make_str("("), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 960: #line 3526 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 961: #line 3528 "preproc.y" { yyval.str = cat_str(3, yyvsp[-3].str, make_str("cross join"), yyvsp[0].str); } break; case 962: #line 3530 "preproc.y" { yyval.str = cat_str(5, yyvsp[-4].str, yyvsp[-3].str, make_str("join"), yyvsp[-1].str, yyvsp[0].str); } break; case 963: #line 3532 "preproc.y" { yyval.str = cat_str(4, yyvsp[-3].str, make_str("join"), yyvsp[-1].str, yyvsp[0].str); } break; case 964: #line 3534 "preproc.y" { yyval.str = cat_str(5, yyvsp[-4].str, make_str("natural"), yyvsp[-2].str, make_str("join"), yyvsp[0].str); } break; case 965: #line 3536 "preproc.y" { yyval.str = cat_str(3, yyvsp[-3].str, make_str("natural join"), yyvsp[0].str); } break; case 966: #line 3540 "preproc.y" { yyval.str = cat_str(5, make_str("as"), yyvsp[-3].str, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 967: #line 3542 "preproc.y" { yyval.str = cat2_str(make_str("as"), yyvsp[0].str); } break; case 968: #line 3544 "preproc.y" { yyval.str = cat_str(4, yyvsp[-3].str, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 969: #line 3546 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 970: #line 3549 "preproc.y" { yyval.str = cat2_str(make_str("full"), yyvsp[0].str); } break; case 971: #line 3550 "preproc.y" { yyval.str = cat2_str(make_str("left"), yyvsp[0].str); } break; case 972: #line 3551 "preproc.y" { yyval.str = cat2_str(make_str("right"), yyvsp[0].str); } break; case 973: #line 3552 "preproc.y" { yyval.str = make_str("inner"); } break; case 974: #line 3556 "preproc.y" { yyval.str = make_str("outer"); } break; case 975: #line 3557 "preproc.y" { yyval.str = EMPTY; /* no qualifiers */ } break; case 976: #line 3568 "preproc.y" { yyval.str = cat_str(3, make_str("using ("), yyvsp[-1].str, make_str(")")); } break; case 977: #line 3570 "preproc.y" { yyval.str = cat2_str(make_str("on"), yyvsp[0].str); } break; case 978: #line 3574 "preproc.y" { /* normal relations */ yyval.str = yyvsp[0].str; } break; case 979: #line 3576 "preproc.y" { /* inheritance query */ yyval.str = cat2_str(yyvsp[-1].str, make_str("*")); } break; case 980: #line 3578 "preproc.y" { /* inheritance query */ yyval.str = cat2_str(make_str("only "), yyvsp[0].str); } break; case 981: #line 3580 "preproc.y" { /* inheritance query */ yyval.str = cat_str(3, make_str("only ("), yyvsp[-1].str, make_str(")")); } break; case 982: #line 3584 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 983: #line 3586 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 984: #line 3588 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("as"), yyvsp[0].str); } break; case 985: #line 3591 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 986: #line 3594 "preproc.y" { yyval.str = cat2_str(make_str("where"), yyvsp[0].str); } break; case 987: #line 3595 "preproc.y" { yyval.str = EMPTY; /* no qualifiers */ } break; case 988: #line 3599 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 989: #line 3601 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 990: #line 3604 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 991: #line 3618 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].index.str); } break; case 992: #line 3620 "preproc.y" { yyval.str = cat_str(3, make_str("setof"), yyvsp[-1].str, yyvsp[0].index); } break; case 993: #line 3622 "preproc.y" { yyval.str = cat_str(4, yyvsp[-4].str, make_str("array ["), yyvsp[-1].str, make_str("]")); } break; case 994: #line 3624 "preproc.y" { yyval.str = cat_str(5, make_str("setof"), yyvsp[-4].str, make_str("array ["), yyvsp[-1].str, make_str("]")); } break; case 995: #line 3629 "preproc.y" { yyval.index.index1 = make_str("0"); yyval.index.index2 = yyvsp[0].index.index1; yyval.index.str = cat2_str(make_str("[]"), yyvsp[0].index.str); } break; case 996: #line 3635 "preproc.y" { yyval.index.index1 = strdup(yyvsp[-2].str); yyval.index.index2 = yyvsp[0].index.index1; yyval.index.str = cat_str(4, make_str("["), yyvsp[-2].str, make_str("]"), yyvsp[0].index.str); } break; case 997: #line 3641 "preproc.y" { yyval.index.index1 = make_str("-1"); yyval.index.index2 = make_str("-1"); yyval.index.str= EMPTY; } break; case 998: #line 3648 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 999: #line 3649 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 1000: #line 3650 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("+"), yyvsp[0].str); } break; case 1001: #line 3651 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("-"), yyvsp[0].str); } break; case 1002: #line 3652 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("*"), yyvsp[0].str); } break; case 1003: #line 3653 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("/"), yyvsp[0].str); } break; case 1004: #line 3654 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("%"), yyvsp[0].str); } break; case 1005: #line 3655 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1006: #line 3656 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1007: #line 3659 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1008: #line 3660 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1009: #line 3661 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1010: #line 3662 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1011: #line 3663 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1012: #line 3665 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1013: #line 3667 "preproc.y" { yyval.str = cat_str(5, yyvsp[-4].str, make_str("("), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 1014: #line 3669 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str);} break; case 1015: #line 3672 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1016: #line 3673 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1017: #line 3674 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1018: #line 3675 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1019: #line 3676 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1020: #line 3679 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1021: #line 3688 "preproc.y" { yyval.str = make_str("int"); } break; case 1022: #line 3690 "preproc.y" { yyval.str = make_str("integer"); } break; case 1023: #line 3692 "preproc.y" { yyval.str = make_str("smallint"); } break; case 1024: #line 3694 "preproc.y" { yyval.str = make_str("bigint"); } break; case 1025: #line 3696 "preproc.y" { yyval.str = make_str("real"); } break; case 1026: #line 3698 "preproc.y" { yyval.str = cat2_str(make_str("float"), yyvsp[0].str); } break; case 1027: #line 3700 "preproc.y" { yyval.str = make_str("double precision"); } break; case 1028: #line 3702 "preproc.y" { yyval.str = cat2_str(make_str("decimal"), yyvsp[0].str); } break; case 1029: #line 3704 "preproc.y" { yyval.str = cat2_str(make_str("dec"), yyvsp[0].str); } break; case 1030: #line 3706 "preproc.y" { yyval.str = cat2_str(make_str("numeric"), yyvsp[0].str); } break; case 1031: #line 3708 "preproc.y" { yyval.str = make_str("boolean"); } break; case 1032: #line 3712 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 1033: #line 3714 "preproc.y" { yyval.str = EMPTY; } break; case 1034: #line 3718 "preproc.y" { yyval.str = cat_str(5, make_str("("), yyvsp[-3].str, make_str(","), yyvsp[-1].str, make_str(")")); } break; case 1035: #line 3720 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 1036: #line 3722 "preproc.y" { yyval.str = EMPTY; } break; case 1037: #line 3726 "preproc.y" { yyval.str = cat_str(5, make_str("("), yyvsp[-3].str, make_str(","), yyvsp[-1].str, make_str(")")); } break; case 1038: #line 3728 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 1039: #line 3730 "preproc.y" { yyval.str = EMPTY; } break; case 1040: #line 3738 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1041: #line 3739 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1042: #line 3742 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1043: #line 3743 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1044: #line 3747 "preproc.y" { yyval.str = cat_str(5, make_str("bit"), yyvsp[-3].str, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 1045: #line 3751 "preproc.y" { yyval.str = cat2_str(make_str("bit"), yyvsp[0].str); } break; case 1046: #line 3759 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1047: #line 3760 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1048: #line 3763 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1049: #line 3764 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1050: #line 3768 "preproc.y" { yyval.str = cat_str(5, yyvsp[-4].str, make_str("("), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 1051: #line 3772 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1052: #line 3776 "preproc.y" { yyval.str = cat2_str(make_str("character"), yyvsp[0].str); } break; case 1053: #line 3778 "preproc.y" { yyval.str = cat2_str(make_str("char"), yyvsp[0].str); } break; case 1054: #line 3780 "preproc.y" { yyval.str = make_str("varchar"); } break; case 1055: #line 3782 "preproc.y" { yyval.str = cat2_str(make_str("national character"), yyvsp[0].str); } break; case 1056: #line 3784 "preproc.y" { yyval.str = cat2_str(make_str("national char"), yyvsp[0].str); } break; case 1057: #line 3786 "preproc.y" { yyval.str = cat2_str(make_str("nchar"), yyvsp[0].str); } break; case 1058: #line 3790 "preproc.y" { yyval.str = make_str("varying"); } break; case 1059: #line 3792 "preproc.y" { yyval.str = EMPTY; } break; case 1060: #line 3796 "preproc.y" { yyval.str = cat2_str(make_str("character set"), yyvsp[0].str); } break; case 1061: #line 3798 "preproc.y" { yyval.str = EMPTY; } break; case 1062: #line 3802 "preproc.y" { yyval.str = cat_str(4, make_str("timestamp("), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 1063: #line 3804 "preproc.y" { yyval.str = cat2_str(make_str("timestamp"), yyvsp[0].str); } break; case 1064: #line 3806 "preproc.y" { yyval.str = cat_str(4, make_str("time("), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 1065: #line 3808 "preproc.y" { yyval.str = cat2_str(make_str("time"), yyvsp[0].str); } break; case 1066: #line 3812 "preproc.y" { yyval.str = make_str("interval"); } break; case 1067: #line 3816 "preproc.y" { yyval.str = make_str("with time zone"); } break; case 1068: #line 3818 "preproc.y" { yyval.str = make_str("without time zone"); } break; case 1069: #line 3820 "preproc.y" { yyval.str = EMPTY; } break; case 1070: #line 3823 "preproc.y" { yyval.str = make_str("year"); } break; case 1071: #line 3824 "preproc.y" { yyval.str = make_str("month"); } break; case 1072: #line 3825 "preproc.y" { yyval.str = make_str("day"); } break; case 1073: #line 3826 "preproc.y" { yyval.str = make_str("hour"); } break; case 1074: #line 3827 "preproc.y" { yyval.str = make_str("minute"); } break; case 1075: #line 3828 "preproc.y" { yyval.str = make_str("second"); } break; case 1076: #line 3829 "preproc.y" { yyval.str = make_str("year to month"); } break; case 1077: #line 3830 "preproc.y" { yyval.str = make_str("day to hour"); } break; case 1078: #line 3831 "preproc.y" { yyval.str = make_str("day to minute"); } break; case 1079: #line 3832 "preproc.y" { yyval.str = make_str("day to second"); } break; case 1080: #line 3833 "preproc.y" { yyval.str = make_str("hour to minute"); } break; case 1081: #line 3834 "preproc.y" { yyval.str = make_str("minute to second"); } break; case 1082: #line 3835 "preproc.y" { yyval.str = make_str("hour to second"); } break; case 1083: #line 3836 "preproc.y" { yyval.str = EMPTY; } break; case 1084: #line 3863 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1085: #line 3865 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("::"), yyvsp[0].str); } break; case 1086: #line 3867 "preproc.y" { yyval.str = cat_str(3, yyvsp[-4].str, make_str("at time zone"), yyvsp[0].str); } break; case 1087: #line 3878 "preproc.y" { yyval.str = cat2_str(make_str("+"), yyvsp[0].str); } break; case 1088: #line 3880 "preproc.y" { yyval.str = cat2_str(make_str("-"), yyvsp[0].str); } break; case 1089: #line 3882 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("+"), yyvsp[0].str); } break; case 1090: #line 3884 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("-"), yyvsp[0].str); } break; case 1091: #line 3886 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("*"), yyvsp[0].str); } break; case 1092: #line 3888 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("/"), yyvsp[0].str); } break; case 1093: #line 3890 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("%"), yyvsp[0].str); } break; case 1094: #line 3892 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("^"), yyvsp[0].str); } break; case 1095: #line 3894 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("<"), yyvsp[0].str); } break; case 1096: #line 3896 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(">"), yyvsp[0].str); } break; case 1097: #line 3898 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("="), yyvsp[0].str); } break; case 1098: #line 3900 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 1099: #line 3902 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1100: #line 3904 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1101: #line 3906 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("and"), yyvsp[0].str); } break; case 1102: #line 3908 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("or"), yyvsp[0].str); } break; case 1103: #line 3910 "preproc.y" { yyval.str = cat2_str(make_str("not"), yyvsp[0].str); } break; case 1104: #line 3912 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("like"), yyvsp[0].str); } break; case 1105: #line 3914 "preproc.y" { yyval.str = cat_str(5, yyvsp[-4].str, make_str("like"), yyvsp[-2].str, make_str("escape"), yyvsp[0].str); } break; case 1106: #line 3916 "preproc.y" { yyval.str = cat_str(3, yyvsp[-3].str, make_str("not like"), yyvsp[0].str); } break; case 1107: #line 3918 "preproc.y" { yyval.str = cat_str(5, yyvsp[-5].str, make_str("not like"), yyvsp[-2].str, make_str("escape"), yyvsp[0].str); } break; case 1108: #line 3920 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("ilike"), yyvsp[0].str); } break; case 1109: #line 3922 "preproc.y" { yyval.str = cat_str(5, yyvsp[-4].str, make_str("ilike"), yyvsp[-2].str, make_str("escape"), yyvsp[0].str); } break; case 1110: #line 3924 "preproc.y" { yyval.str = cat_str(3, yyvsp[-3].str, make_str("not ilike"), yyvsp[0].str); } break; case 1111: #line 3926 "preproc.y" { yyval.str = cat_str(5, yyvsp[-5].str, make_str("not ilike"), yyvsp[-2].str, make_str("escape"), yyvsp[0].str); } break; case 1112: #line 3928 "preproc.y" { yyval.str = cat_str(3, yyvsp[-3].str, make_str("similar to"), yyvsp[0].str); } break; case 1113: #line 3930 "preproc.y" { yyval.str = cat_str(5, yyvsp[-5].str, make_str("similar to"), yyvsp[-2].str, make_str("escape"), yyvsp[0].str); } break; case 1114: #line 3932 "preproc.y" { yyval.str = cat_str(3, yyvsp[-4].str, make_str("not similar to"), yyvsp[0].str); } break; case 1115: #line 3934 "preproc.y" { yyval.str = cat_str(5, yyvsp[-6].str, make_str("not similar to"), yyvsp[-2].str, make_str("escape"), yyvsp[0].str); } break; case 1116: #line 3936 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, make_str("isnull")); } break; case 1117: #line 3938 "preproc.y" { yyval.str = cat2_str(yyvsp[-2].str, make_str("is null")); } break; case 1118: #line 3940 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, make_str("notnull")); } break; case 1119: #line 3942 "preproc.y" { yyval.str = cat2_str(yyvsp[-3].str, make_str("is not null")); } break; case 1120: #line 3944 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("overlaps"), yyvsp[0].str); } break; case 1121: #line 3955 "preproc.y" { yyval.str = cat2_str(yyvsp[-2].str, make_str("is true")); } break; case 1122: #line 3957 "preproc.y" { yyval.str = cat2_str(yyvsp[-3].str, make_str("is not true")); } break; case 1123: #line 3959 "preproc.y" { yyval.str = cat2_str(yyvsp[-2].str, make_str("is false")); } break; case 1124: #line 3961 "preproc.y" { yyval.str = cat2_str(yyvsp[-3].str, make_str("is not false")); } break; case 1125: #line 3963 "preproc.y" { yyval.str = cat2_str(yyvsp[-2].str, make_str("is unknown")); } break; case 1126: #line 3965 "preproc.y" { yyval.str = cat2_str(yyvsp[-3].str, make_str("is not unknown")); } break; case 1127: #line 3967 "preproc.y" { yyval.str = cat_str(3, yyvsp[-4].str, make_str("is distinct from"), yyvsp[0].str); } break; case 1128: #line 3969 "preproc.y" { yyval.str = cat_str(3, yyvsp[-5].str, make_str("is not distinct from"), yyvsp[0].str); } break; case 1129: #line 3971 "preproc.y" { yyval.str = cat_str(4, yyvsp[-5].str, make_str("is of ("), yyvsp[-1].str, make_str(")")); } break; case 1130: #line 3973 "preproc.y" { yyval.str = cat_str(4, yyvsp[-6].str, make_str("is not of ("), yyvsp[-1].str, make_str(")")); } break; case 1131: #line 3975 "preproc.y" { yyval.str = cat_str(6, yyvsp[-5].str, make_str("between"), yyvsp[-3].str, yyvsp[-2].str, make_str("and"), yyvsp[0].str); } break; case 1132: #line 3977 "preproc.y" { yyval.str = cat_str(6, yyvsp[-6].str, make_str("not between"), yyvsp[-3].str, yyvsp[-2].str, make_str("and"), yyvsp[0].str); } break; case 1133: #line 3979 "preproc.y" { yyval.str = cat_str(5, yyvsp[-5].str, make_str("between symmetric"), yyvsp[-2].str, make_str("and"), yyvsp[0].str); } break; case 1134: #line 3981 "preproc.y" { yyval.str = cat_str(5, yyvsp[-6].str, make_str("not between symmetric"), yyvsp[-2].str, make_str("and"), yyvsp[0].str); } break; case 1135: #line 3983 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("in"), yyvsp[0].str); } break; case 1136: #line 3985 "preproc.y" { yyval.str = cat_str(3, yyvsp[-3].str, make_str("not in"), yyvsp[0].str); } break; case 1137: #line 3987 "preproc.y" { yyval.str = cat_str(4, yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 1138: #line 3989 "preproc.y" { yyval.str = cat_str(6, yyvsp[-5].str, yyvsp[-4].str, yyvsp[-3].str, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 1139: #line 3991 "preproc.y" { yyval.str = cat2_str(make_str("unique"), yyvsp[0].str); } break; case 1140: #line 4003 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1141: #line 4005 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("::"), yyvsp[0].str); } break; case 1142: #line 4007 "preproc.y" { yyval.str = cat2_str(make_str("-"), yyvsp[0].str); } break; case 1143: #line 4009 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("+"), yyvsp[0].str); } break; case 1144: #line 4011 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("-"), yyvsp[0].str); } break; case 1145: #line 4013 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("*"), yyvsp[0].str); } break; case 1146: #line 4015 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("/"), yyvsp[0].str); } break; case 1147: #line 4017 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("%"), yyvsp[0].str); } break; case 1148: #line 4019 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("^"), yyvsp[0].str); } break; case 1149: #line 4021 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("<"), yyvsp[0].str); } break; case 1150: #line 4023 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(">"), yyvsp[0].str); } break; case 1151: #line 4025 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("="), yyvsp[0].str); } break; case 1152: #line 4027 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 1153: #line 4029 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1154: #line 4031 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1155: #line 4033 "preproc.y" { yyval.str = cat_str(3, yyvsp[-4].str, make_str("is distinct from"), yyvsp[0].str); } break; case 1156: #line 4035 "preproc.y" { yyval.str = cat_str(3, yyvsp[-5].str, make_str("is not distinct from"), yyvsp[0].str); } break; case 1157: #line 4037 "preproc.y" { yyval.str = cat_str(4, yyvsp[-5].str, make_str("is of ("), yyvsp[-1].str, make_str(")")); } break; case 1158: #line 4039 "preproc.y" { yyval.str = cat_str(4, yyvsp[-6].str, make_str("is not of ("), yyvsp[-1].str, make_str(")")); } break; case 1159: #line 4051 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1160: #line 4053 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1161: #line 4055 "preproc.y" { yyval.str = cat2_str(make_str("param"), yyvsp[0].str); } break; case 1162: #line 4057 "preproc.y" { yyval.str = cat_str(4, make_str("("), yyvsp[-2].str, make_str(")"), yyvsp[0].str); } break; case 1163: #line 4059 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1164: #line 4061 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1165: #line 4063 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1166: #line 4065 "preproc.y" { yyval.str = cat2_str(make_str("exists"), yyvsp[0].str); } break; case 1167: #line 4067 "preproc.y" { yyval.str = cat2_str(make_str("array"), yyvsp[0].str); } break; case 1168: #line 4069 "preproc.y" { yyval.str = cat2_str(make_str("array"), yyvsp[0].str); } break; case 1169: #line 4071 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1170: #line 4083 "preproc.y" { yyval.str = cat2_str(yyvsp[-2].str, make_str("()")); } break; case 1171: #line 4085 "preproc.y" { yyval.str = cat_str(4, yyvsp[-3].str, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 1172: #line 4087 "preproc.y" { yyval.str = cat_str(4, yyvsp[-4].str, make_str("( all"), yyvsp[-1].str, make_str(")")); } break; case 1173: #line 4089 "preproc.y" { yyval.str = cat_str(4, yyvsp[-4].str, make_str("( distinct"), yyvsp[-1].str, make_str(")")); } break; case 1174: #line 4091 "preproc.y" { yyval.str = cat2_str(yyvsp[-3].str, make_str("(*)")); } break; case 1175: #line 4093 "preproc.y" { yyval.str = make_str("current_date"); } break; case 1176: #line 4095 "preproc.y" { yyval.str = make_str("current_time"); } break; case 1177: #line 4097 "preproc.y" { yyval.str = cat_str(3, make_str("current_time ("), yyvsp[-1].str, make_str(")")); } break; case 1178: #line 4099 "preproc.y" { yyval.str = make_str("current_timestamp"); } break; case 1179: #line 4101 "preproc.y" { yyval.str = cat_str(3, make_str("current_timestamp ("), yyvsp[-1].str, make_str(")")); } break; case 1180: #line 4103 "preproc.y" { yyval.str = make_str("localtime"); } break; case 1181: #line 4105 "preproc.y" { yyval.str = cat_str(3, make_str("localtime ("), yyvsp[-1].str, make_str(")")); } break; case 1182: #line 4107 "preproc.y" { yyval.str = make_str("local_timestamp"); } break; case 1183: #line 4109 "preproc.y" { yyval.str = cat_str(3, make_str("locale_timestamp ("), yyvsp[-1].str, make_str(")")); } break; case 1184: #line 4111 "preproc.y" { yyval.str = make_str("current_role"); } break; case 1185: #line 4113 "preproc.y" { yyval.str = make_str("current_user"); } break; case 1186: #line 4115 "preproc.y" { yyval.str = make_str("session_user"); } break; case 1187: #line 4117 "preproc.y" { yyval.str = make_str("user"); } break; case 1188: #line 4119 "preproc.y" { yyval.str = cat_str(5, make_str("cast("), yyvsp[-3].str, make_str("as"), yyvsp[-1].str, make_str(")")); } break; case 1189: #line 4121 "preproc.y" { yyval.str = cat_str(3, make_str("extract("), yyvsp[-1].str, make_str(")")); } break; case 1190: #line 4123 "preproc.y" { yyval.str = cat_str(3, make_str("overlay("), yyvsp[-1].str, make_str(")")); } break; case 1191: #line 4125 "preproc.y" { yyval.str = cat_str(3, make_str("position("), yyvsp[-1].str, make_str(")")); } break; case 1192: #line 4127 "preproc.y" { yyval.str = cat_str(3, make_str("substring("), yyvsp[-1].str, make_str(")")); } break; case 1193: #line 4129 "preproc.y" { yyval.str = cat_str(5, make_str("treat("), yyvsp[-3].str, make_str("as"), yyvsp[-1].str, make_str(")")); } break; case 1194: #line 4132 "preproc.y" { yyval.str = cat_str(3, make_str("trim(both"), yyvsp[-1].str, make_str(")")); } break; case 1195: #line 4134 "preproc.y" { yyval.str = cat_str(3, make_str("trim(leading"), yyvsp[-1].str, make_str(")")); } break; case 1196: #line 4136 "preproc.y" { yyval.str = cat_str(3, make_str("trim(trailing"), yyvsp[-1].str, make_str(")")); } break; case 1197: #line 4138 "preproc.y" { yyval.str = cat_str(3, make_str("trim("), yyvsp[-1].str, make_str(")")); } break; case 1198: #line 4140 "preproc.y" { yyval.str = cat_str(5, make_str("convert("), yyvsp[-3].str, make_str("using"), yyvsp[-1].str, make_str(")"));} break; case 1199: #line 4142 "preproc.y" { yyval.str = cat_str(3, make_str("convert("), yyvsp[-1].str, make_str(")")); } break; case 1200: #line 4144 "preproc.y" { yyval.str = cat_str(5, make_str("nullif("), yyvsp[-3].str, make_str(","), yyvsp[-1].str, make_str(")")); } break; case 1201: #line 4146 "preproc.y" { yyval.str = cat_str(3, make_str("coalesce("), yyvsp[-1].str, make_str(")")); } break; case 1202: #line 4148 "preproc.y" { yyval.str = cat_str(3, make_str("greatest("), yyvsp[-1].str, make_str(")")); } break; case 1203: #line 4150 "preproc.y" { yyval.str = cat_str(3, make_str("least("), yyvsp[-1].str, make_str(")")); } break; case 1204: #line 4155 "preproc.y" { yyval.str = cat_str(3, make_str("row ("), yyvsp[-1].str, make_str(")")); } break; case 1205: #line 4157 "preproc.y" { yyval.str = make_str("row()"); } break; case 1206: #line 4159 "preproc.y" { yyval.str = cat_str(5, make_str("("), yyvsp[-3].str, make_str(","), yyvsp[-1].str, make_str(")")); } break; case 1207: #line 4162 "preproc.y" { yyval.str = make_str("ANY"); } break; case 1208: #line 4163 "preproc.y" { yyval.str = make_str("SOME"); } break; case 1209: #line 4164 "preproc.y" { yyval.str = make_str("ALL"); } break; case 1210: #line 4167 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1211: #line 4168 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1212: #line 4171 "preproc.y" { yyval.str = make_str("+"); } break; case 1213: #line 4172 "preproc.y" { yyval.str = make_str("-"); } break; case 1214: #line 4173 "preproc.y" { yyval.str = make_str("*"); } break; case 1215: #line 4174 "preproc.y" { yyval.str = make_str("%"); } break; case 1216: #line 4175 "preproc.y" { yyval.str = make_str("^"); } break; case 1217: #line 4176 "preproc.y" { yyval.str = make_str("/"); } break; case 1218: #line 4177 "preproc.y" { yyval.str = make_str("<"); } break; case 1219: #line 4178 "preproc.y" { yyval.str = make_str(">"); } break; case 1220: #line 4179 "preproc.y" { yyval.str = make_str("="); } break; case 1221: #line 4182 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1222: #line 4183 "preproc.y" { yyval.str = cat_str(3, make_str("operator ("), yyvsp[-1].str, make_str(")")); } break; case 1223: #line 4186 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1224: #line 4187 "preproc.y" { yyval.str = cat_str(3, make_str("operator ("), yyvsp[-1].str, make_str(")")); } break; case 1225: #line 4190 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1226: #line 4191 "preproc.y" { yyval.str = cat_str(3, make_str("operator ("), yyvsp[-1].str, make_str(")")); } break; case 1227: #line 4192 "preproc.y" { yyval.str = make_str("like"); } break; case 1228: #line 4193 "preproc.y" { yyval.str = make_str("not like"); } break; case 1229: #line 4194 "preproc.y" { yyval.str = make_str("ilike"); } break; case 1230: #line 4195 "preproc.y" { yyval.str = make_str("not ilike"); } break; case 1231: #line 4199 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1232: #line 4201 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 1233: #line 4205 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("from"), yyvsp[0].str); } break; case 1234: #line 4207 "preproc.y" { yyval.str = EMPTY; } break; case 1235: #line 4211 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, ',', yyvsp[0].str); } break; case 1236: #line 4213 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1237: #line 4216 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1238: #line 4217 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 1239: #line 4221 "preproc.y" { yyval.str = cat_str(3, make_str("["), yyvsp[-1].str, make_str("]")); } break; case 1240: #line 4222 "preproc.y" { yyval.str = cat_str(3, make_str("["), yyvsp[-1].str, make_str("]")); } break; case 1241: #line 4228 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1242: #line 4229 "preproc.y" { yyval.str = make_str("year"); } break; case 1243: #line 4230 "preproc.y" { yyval.str = make_str("month"); } break; case 1244: #line 4231 "preproc.y" { yyval.str = make_str("day"); } break; case 1245: #line 4232 "preproc.y" { yyval.str = make_str("hour"); } break; case 1246: #line 4233 "preproc.y" { yyval.str = make_str("minute"); } break; case 1247: #line 4234 "preproc.y" { yyval.str = make_str("second"); } break; case 1248: #line 4235 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1249: #line 4240 "preproc.y" { yyval.str = cat_str(4, yyvsp[-3].str, 42, yyvsp[-1].str, yyvsp[0].str); } break; case 1250: #line 4242 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 1251: #line 4246 "preproc.y" { yyval.str = cat2_str(make_str("placing"), yyvsp[0].str); } break; case 1252: #line 4251 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("in"), yyvsp[0].str); } break; case 1253: #line 4253 "preproc.y" { yyval.str = EMPTY; } break; case 1254: #line 4257 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 1255: #line 4259 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 1256: #line 4261 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1257: #line 4263 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1258: #line 4265 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1259: #line 4267 "preproc.y" { yyval.str = EMPTY; } break; case 1260: #line 4271 "preproc.y" { yyval.str = cat2_str(make_str("from"), yyvsp[0].str); } break; case 1261: #line 4275 "preproc.y" { yyval.str = cat2_str(make_str("for"), yyvsp[0].str); } break; case 1262: #line 4279 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("from"), yyvsp[0].str); } break; case 1263: #line 4281 "preproc.y" { yyval.str = cat2_str(make_str("from"), yyvsp[0].str); } break; case 1264: #line 4283 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1265: #line 4287 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1266: #line 4289 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 1267: #line 4296 "preproc.y" { yyval.str = cat_str(5, make_str("case"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, make_str("end")); } break; case 1268: #line 4300 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1269: #line 4302 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1270: #line 4306 "preproc.y" { yyval.str = cat_str(4, make_str("when"), yyvsp[-2].str, make_str("then"), yyvsp[0].str); } break; case 1271: #line 4310 "preproc.y" { yyval.str = cat2_str(make_str("else"), yyvsp[0].str); } break; case 1272: #line 4312 "preproc.y" { yyval.str = EMPTY; } break; case 1273: #line 4315 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1274: #line 4316 "preproc.y" { yyval.str = EMPTY; } break; case 1275: #line 4319 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1276: #line 4320 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1277: #line 4324 "preproc.y" { yyval.str = cat2_str(make_str("."), yyvsp[0].str); } break; case 1278: #line 4325 "preproc.y" { yyval.str = make_str(".*"); } break; case 1279: #line 4326 "preproc.y" { yyval.str = cat_str(3, make_str("["), yyvsp[-1].str, make_str("]")); } break; case 1280: #line 4327 "preproc.y" { yyval.str = cat_str(5, make_str("["), yyvsp[-3].str, make_str(":"), yyvsp[-1].str, make_str("]")); } break; case 1281: #line 4330 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1282: #line 4331 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1283: #line 4335 "preproc.y" { yyval.str = EMPTY; } break; case 1284: #line 4336 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str);} break; case 1285: #line 4339 "preproc.y" { yyval.str = make_str("asymmetric"); } break; case 1286: #line 4340 "preproc.y" { yyval.str = EMPTY; } break; case 1287: #line 4344 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1288: #line 4345 "preproc.y" { yyval.str = make_str("default"); } break; case 1289: #line 4349 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1290: #line 4350 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 1291: #line 4353 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")"));} break; case 1292: #line 4362 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 1293: #line 4364 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1294: #line 4369 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str("as"), yyvsp[0].str); } break; case 1295: #line 4371 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1296: #line 4373 "preproc.y" { yyval.str = make_str("*"); } break; case 1297: #line 4448 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1298: #line 4449 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1299: #line 4453 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1300: #line 4455 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 1301: #line 4459 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1302: #line 4461 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1303: #line 4465 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1304: #line 4467 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 1305: #line 4471 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1306: #line 4472 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1307: #line 4473 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1308: #line 4474 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1309: #line 4475 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1310: #line 4477 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1311: #line 4480 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1312: #line 4482 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1313: #line 4490 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1314: #line 4492 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1315: #line 4494 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); } break; case 1316: #line 4496 "preproc.y" { yyval.str = cat_str(6, yyvsp[-5].str, make_str("("), yyvsp[-3].str, make_str(")"), yyvsp[-1].str, yyvsp[0].str); } break; case 1317: #line 4498 "preproc.y" { yyval.str = make_str("true"); } break; case 1318: #line 4500 "preproc.y" { yyval.str = make_str("false"); } break; case 1319: #line 4502 "preproc.y" { yyval.str = make_str("null"); } break; case 1320: #line 4504 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1321: #line 4507 "preproc.y" { yyval.str = make_name();} break; case 1322: #line 4508 "preproc.y" { yyval.str = make_name();} break; case 1323: #line 4509 "preproc.y" { yyval.str = make_name();} break; case 1324: #line 4510 "preproc.y" { yyval.str = make_name();} break; case 1325: #line 4512 "preproc.y" { /* could have been input as '' or $$ */ yyval.str = (char *)mm_alloc(strlen(yyvsp[0].str) + 3); yyval.str[0]='\''; strcpy(yyval.str+1, yyvsp[0].str); yyval.str[strlen(yyvsp[0].str)+1]='\''; yyval.str[strlen(yyvsp[0].str)+2]='\0'; free(yyvsp[0].str); } break; case 1326: #line 4522 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1327: #line 4527 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1328: #line 4528 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1329: #line 4531 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1330: #line 4532 "preproc.y" { yyval.str = cat2_str(make_str("-"), yyvsp[0].str); } break; case 1331: #line 4536 "preproc.y" { char *length = mm_alloc(32); sprintf(length, "%d", (int) strlen(yyvsp[0].str)); new_variable(yyvsp[0].str, ECPGmake_simple_type(ECPGt_const, length), 0); yyval.str = yyvsp[0].str; } break; case 1332: #line 4543 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1333: #line 4547 "preproc.y" { char *length = mm_alloc(32); sprintf(length, "%d", (int) strlen(yyvsp[0].str)); new_variable(yyvsp[0].str, ECPGmake_simple_type(ECPGt_const, length), 0); yyval.str = yyvsp[0].str; } break; case 1334: #line 4554 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1335: #line 4556 "preproc.y" { char *length = mm_alloc(32); char *var = cat2_str(make_str("-"), yyvsp[0].str); sprintf(length, "%d", (int) strlen(var)); new_variable(var, ECPGmake_simple_type(ECPGt_const, length), 0); yyval.str = var; } break; case 1336: #line 4565 "preproc.y" { char *length = mm_alloc(32); char *var = cat2_str(make_str("-"), yyvsp[0].str); sprintf(length, "%d", (int) strlen(var)); new_variable(var, ECPGmake_simple_type(ECPGt_const, length), 0); yyval.str = var; } break; case 1337: #line 4574 "preproc.y" { char *length = mm_alloc(32); char *var = yyvsp[0].str + 1; var[strlen(var) - 1] = '\0'; sprintf(length, "%d", (int) strlen(var)); new_variable(var, ECPGmake_simple_type(ECPGt_const, length), 0); yyval.str = var; } break; case 1338: #line 4585 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1339: #line 4586 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1340: #line 4589 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1341: #line 4590 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1342: #line 4591 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1343: #line 4594 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1344: #line 4595 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1345: #line 4596 "preproc.y" { yyval.str = cat2_str(make_str("-"), yyvsp[0].str); } break; case 1346: #line 4597 "preproc.y" { yyval.str = cat2_str(make_str("-"), yyvsp[0].str); } break; case 1347: #line 4598 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1348: #line 4601 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1349: #line 4602 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1350: #line 4605 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1351: #line 4606 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1352: #line 4607 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1353: #line 4608 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1354: #line 4609 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1355: #line 4610 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1356: #line 4613 "preproc.y" { yyval.str = yyvsp[0].str;} break; case 1357: #line 4616 "preproc.y" { if (!QueryIsRule) mmerror(PARSE_ERROR, ET_ERROR, "OLD used in non-rule query"); yyval.str = make_str("old"); } break; case 1358: #line 4623 "preproc.y" { if (!QueryIsRule) mmerror(PARSE_ERROR, ET_ERROR, "NEW used in non-rule query"); yyval.str = make_str("new"); } break; case 1359: #line 4639 "preproc.y" { yyval.str = cat_str(5, yyvsp[-2].str, make_str(","), yyvsp[0].str, make_str(","), yyvsp[-1].str); } break; case 1360: #line 4641 "preproc.y" { yyval.str = make_str("NULL,NULL,NULL,\"DEFAULT\""); } break; case 1361: #line 4644 "preproc.y" { yyval.str = cat_str(3, make_str("NULL,"), yyvsp[0].str, make_str(",NULL")); } break; case 1362: #line 4646 "preproc.y" { yyval.str = cat2_str(yyvsp[0].str, make_str(",NULL,NULL,NULL")); } break; case 1363: #line 4650 "preproc.y" { /* old style: dbname[@server][:port] */ if (strlen(yyvsp[-1].str) > 0 && *(yyvsp[-1].str) != '@') mmerror(PARSE_ERROR, ET_ERROR, "Expected '@', found '%s'", yyvsp[-1].str); /* C strings need to be handled differently */ if (yyvsp[-2].str[0] == '\"') yyval.str = yyvsp[-2].str; else yyval.str = make3_str(make_str("\""), make3_str(yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str), make_str("\"")); } break; case 1364: #line 4662 "preproc.y" { /* new style: :postgresql://server[:port][/dbname] */ if (strncmp(yyvsp[-6].str, "unix:postgresql", strlen("unix:postgresql")) != 0 && strncmp(yyvsp[-6].str, "tcp:postgresql", strlen("tcp:postgresql")) != 0) mmerror(PARSE_ERROR, ET_ERROR, "only protocols 'tcp' and 'unix' and database type 'postgresql' are supported"); if (strncmp(yyvsp[-4].str, "//", strlen("//")) != 0) mmerror(PARSE_ERROR, ET_ERROR, "Expected '://', found '%s'", yyvsp[-4].str); if (strncmp(yyvsp[-6].str, "unix", strlen("unix")) == 0 && strncmp(yyvsp[-4].str + strlen("//"), "localhost", strlen("localhost")) != 0 && strncmp(yyvsp[-4].str + strlen("//"), "127.0.0.1", strlen("127.0.0.1")) != 0) mmerror(PARSE_ERROR, ET_ERROR, "unix domain sockets only work on 'localhost' but not on '%s'", yyvsp[-4].str + strlen("//")); yyval.str = make3_str(make3_str(make_str("\""), yyvsp[-6].str, make_str(":")), yyvsp[-4].str, make3_str(make3_str(yyvsp[-3].str, make_str("/"), yyvsp[-1].str), yyvsp[0].str, make_str("\""))); } break; case 1365: #line 4678 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1366: #line 4682 "preproc.y" { /* We can only process double quoted strings not single quotes ones, * so we change the quotes. * Note, that the rule for Sconst adds these single quotes. */ yyvsp[0].str[0] = '\"'; yyvsp[0].str[strlen(yyvsp[0].str)-1] = '\"'; yyval.str = yyvsp[0].str; } break; case 1367: #line 4692 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1368: #line 4693 "preproc.y" { yyval.str = EMPTY; } break; case 1369: #line 4697 "preproc.y" { if (strcmp(yyvsp[0].str, "postgresql") != 0 && strcmp(yyvsp[0].str, "postgres") != 0) mmerror(PARSE_ERROR, ET_ERROR, "Expected 'postgresql', found '%s'", yyvsp[0].str); if (strcmp(yyvsp[-1].str, "tcp") != 0 && strcmp(yyvsp[-1].str, "unix") != 0) mmerror(PARSE_ERROR, ET_ERROR, "Illegal connection type %s", yyvsp[-1].str); yyval.str = make3_str(yyvsp[-1].str, make_str(":"), yyvsp[0].str); } break; case 1370: #line 4709 "preproc.y" { if (strcmp(yyvsp[-1].str, "@") != 0 && strcmp(yyvsp[-1].str, "//") != 0) mmerror(PARSE_ERROR, ET_ERROR, "Expected '@' or '://', found '%s'", yyvsp[-1].str); yyval.str = make2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1371: #line 4717 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1372: #line 4718 "preproc.y" { yyval.str = EMPTY; } break; case 1373: #line 4721 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1374: #line 4722 "preproc.y" { yyval.str = make3_str(yyvsp[-2].str, make_str("."), yyvsp[0].str); } break; case 1375: #line 4723 "preproc.y" { yyval.str = make_name(); } break; case 1376: #line 4726 "preproc.y" { yyval.str = make2_str(make_str(":"), yyvsp[0].str); } break; case 1377: #line 4727 "preproc.y" { yyval.str = EMPTY; } break; case 1378: #line 4730 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1379: #line 4731 "preproc.y" { yyval.str = make_str("NULL"); } break; case 1380: #line 4734 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1381: #line 4735 "preproc.y" { yyval.str = make_str("NULL,NULL"); } break; case 1382: #line 4739 "preproc.y" { yyval.str = cat2_str(yyvsp[0].str, make_str(", NULL")); } break; case 1383: #line 4741 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 1384: #line 4743 "preproc.y" { yyval.str = cat_str(3, yyvsp[-3].str, make_str(","), yyvsp[0].str); } break; case 1385: #line 4745 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 1386: #line 4749 "preproc.y" { if (yyvsp[0].str[0] == '\"') yyval.str = yyvsp[0].str; else yyval.str = make3_str(make_str("\""), yyvsp[0].str, make_str("\"")); } break; case 1387: #line 4756 "preproc.y" { if (yyvsp[0].str[0] == '\"') yyval.str = yyvsp[0].str; else if (strcmp(yyvsp[0].str, " ?") == 0) /* variable */ { enum ECPGttype type = argsinsert->variable->type->type; /* if array see what's inside */ if (type == ECPGt_array) type = argsinsert->variable->type->u.element->type; /* handle varchars */ if (type == ECPGt_varchar) yyval.str = make2_str(mm_strdup(argsinsert->variable->name), make_str(".arr")); else yyval.str = mm_strdup(argsinsert->variable->name); } else yyval.str = make3_str(make_str("\""), yyvsp[0].str, make_str("\"")); } break; case 1388: #line 4779 "preproc.y" { /* check if we have a string variable */ struct variable *p = find_variable(yyvsp[0].str); enum ECPGttype type = p->type->type; /* If we have just one character this is not a string */ if (atol(p->type->size) == 1) mmerror(PARSE_ERROR, ET_ERROR, "invalid datatype"); else { /* if array see what's inside */ if (type == ECPGt_array) type = p->type->u.element->type; switch (type) { case ECPGt_char: case ECPGt_unsigned_char: yyval.str = yyvsp[0].str; break; case ECPGt_varchar: yyval.str = make2_str(yyvsp[0].str, make_str(".arr")); break; default: mmerror(PARSE_ERROR, ET_ERROR, "invalid datatype"); break; } } } break; case 1389: #line 4811 "preproc.y" { if (strlen(yyvsp[-1].str) == 0) mmerror(PARSE_ERROR, ET_ERROR, "incomplete statement"); if (strcmp(yyvsp[-1].str, "?") != 0) mmerror(PARSE_ERROR, ET_ERROR, "unrecognised token '%s'", yyvsp[-1].str); yyval.str = make2_str(make_str("?"), yyvsp[0].str); } break; case 1390: #line 4820 "preproc.y" { yyval.str = EMPTY; } break; case 1391: #line 4828 "preproc.y" { struct cursor *ptr, *this; struct variable *thisquery = (struct variable *)mm_alloc(sizeof(struct variable)); for (ptr = cur; ptr != NULL; ptr = ptr->next) { if (strcmp(yyvsp[-5].str, ptr->name) == 0) /* re-definition is a bug */ mmerror(PARSE_ERROR, ET_ERROR, "cursor %s already defined", yyvsp[-5].str); } this = (struct cursor *) mm_alloc(sizeof(struct cursor)); /* initial definition */ this->next = cur; this->name = yyvsp[-5].str; this->connection = connection; this->command = cat_str(6, make_str("declare"), mm_strdup(yyvsp[-5].str), yyvsp[-4].str, make_str("cursor"), yyvsp[-2].str, make_str("for ?")); this->argsresult = NULL; thisquery->type = &ecpg_query; thisquery->brace_level = 0; thisquery->next = NULL; thisquery->name = (char *) mm_alloc(sizeof("ECPGprepared_statement()") + strlen(yyvsp[0].str)); sprintf(thisquery->name, "ECPGprepared_statement(%s)", yyvsp[0].str); this->argsinsert = NULL; add_variable_to_head(&(this->argsinsert), thisquery, &no_indicator); cur = this; yyval.str = cat_str(3, make_str("/*"), mm_strdup(this->command), make_str("*/")); } break; case 1392: #line 4868 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1393: #line 4870 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1395: #line 4878 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1396: #line 4879 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1397: #line 4884 "preproc.y" { actual_type[struct_level].type_enum = yyvsp[0].type.type_enum; actual_type[struct_level].type_dimension = yyvsp[0].type.type_dimension; actual_type[struct_level].type_index = yyvsp[0].type.type_index; actual_type[struct_level].type_sizeof = yyvsp[0].type.type_sizeof; actual_startline[struct_level] = hashline_number(); } break; case 1398: #line 4893 "preproc.y" { yyval.str = cat_str(5, actual_startline[struct_level], yyvsp[-4].str, yyvsp[-3].type.type_str, yyvsp[-1].str, make_str(";\n")); } break; case 1399: #line 4897 "preproc.y" { actual_type[struct_level].type_enum = yyvsp[0].type.type_enum; actual_type[struct_level].type_dimension = yyvsp[0].type.type_dimension; actual_type[struct_level].type_index = yyvsp[0].type.type_index; actual_type[struct_level].type_sizeof = yyvsp[0].type.type_sizeof; actual_startline[struct_level] = hashline_number(); } break; case 1400: #line 4906 "preproc.y" { yyval.str = cat_str(4, actual_startline[struct_level], yyvsp[-3].type.type_str, yyvsp[-1].str, make_str(";\n")); } break; case 1401: #line 4910 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, make_str(";")); } break; case 1402: #line 4915 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1403: #line 4917 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1404: #line 4918 "preproc.y" { yyval.str = EMPTY; } break; case 1405: #line 4921 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1406: #line 4922 "preproc.y" { yyval.str = make_str("year to minute"); } break; case 1407: #line 4923 "preproc.y" { yyval.str = make_str("year to second"); } break; case 1408: #line 4924 "preproc.y" { yyval.str = make_str("day to day"); } break; case 1409: #line 4925 "preproc.y" { yyval.str = make_str("month to month"); } break; case 1410: #line 4932 "preproc.y" { fputs("/* exec sql begin declare section */", yyout); } break; case 1411: #line 4934 "preproc.y" { fprintf(yyout, "%s/* exec sql end declare section */", yyvsp[-1].str); free(yyvsp[-1].str); output_line_number(); } break; case 1412: #line 4941 "preproc.y" {} break; case 1413: #line 4943 "preproc.y" {} break; case 1414: #line 4945 "preproc.y" { yyval.str = EMPTY; } break; case 1415: #line 4946 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1416: #line 4947 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1417: #line 4950 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1418: #line 4951 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1419: #line 4952 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1420: #line 4953 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1421: #line 4954 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1422: #line 4957 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1423: #line 4958 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 1424: #line 4962 "preproc.y" { /* reset this variable so we see if there was */ /* an initializer specified */ initializer = 0; } break; case 1425: #line 4968 "preproc.y" { /* add entry to list */ struct typedefs *ptr, *this; char * dimension = yyvsp[-1].index.index1; char * length = yyvsp[-1].index.index2; if ((yyvsp[-4].type.type_enum == ECPGt_struct || yyvsp[-4].type.type_enum == ECPGt_union) && initializer == 1) mmerror(PARSE_ERROR, ET_ERROR, "Initializer not allowed in typedef command"); else { for (ptr = types; ptr != NULL; ptr = ptr->next) { if (strcmp(yyvsp[-2].str, ptr->name) == 0) /* re-definition is a bug */ mmerror(PARSE_ERROR, ET_ERROR, "Type %s already defined", yyvsp[-2].str); } adjust_array(yyvsp[-4].type.type_enum, &dimension, &length, yyvsp[-4].type.type_dimension, yyvsp[-4].type.type_index, *yyvsp[-3].str?1:0, true); this = (struct typedefs *) mm_alloc(sizeof(struct typedefs)); /* initial definition */ this->next = types; this->name = yyvsp[-2].str; this->brace_level = braces_open; this->type = (struct this_type *) mm_alloc(sizeof(struct this_type)); this->type->type_enum = yyvsp[-4].type.type_enum; this->type->type_str = mm_strdup(yyvsp[-2].str); this->type->type_dimension = dimension; /* dimension of array */ this->type->type_index = length; /* length of string */ this->type->type_sizeof = ECPGstruct_sizeof; this->struct_member_list = (yyvsp[-4].type.type_enum == ECPGt_struct || yyvsp[-4].type.type_enum == ECPGt_union) ? ECPGstruct_member_dup(struct_member_list[struct_level]) : NULL; if (yyvsp[-4].type.type_enum != ECPGt_varchar && yyvsp[-4].type.type_enum != ECPGt_char && yyvsp[-4].type.type_enum != ECPGt_unsigned_char && atoi(this->type->type_index) >= 0) mmerror(PARSE_ERROR, ET_ERROR, "No multidimensional array support for simple data types"); types = this; } fprintf(yyout, "typedef %s %s %s %s;\n", yyvsp[-4].type.type_str, *yyvsp[-3].str?"*":"", yyvsp[-2].str, yyvsp[-1].index.str); output_line_number(); yyval.str = make_str(""); } break; case 1426: #line 5019 "preproc.y" { actual_type[struct_level].type_enum = yyvsp[0].type.type_enum; actual_type[struct_level].type_dimension = yyvsp[0].type.type_dimension; actual_type[struct_level].type_index = yyvsp[0].type.type_index; actual_type[struct_level].type_sizeof = yyvsp[0].type.type_sizeof; actual_startline[struct_level] = hashline_number(); } break; case 1427: #line 5028 "preproc.y" { yyval.str = cat_str(5, actual_startline[struct_level], yyvsp[-4].str, yyvsp[-3].type.type_str, yyvsp[-1].str, make_str(";\n")); } break; case 1428: #line 5032 "preproc.y" { actual_type[struct_level].type_enum = yyvsp[0].type.type_enum; actual_type[struct_level].type_dimension = yyvsp[0].type.type_dimension; actual_type[struct_level].type_index = yyvsp[0].type.type_index; actual_type[struct_level].type_sizeof = yyvsp[0].type.type_sizeof; actual_startline[struct_level] = hashline_number(); } break; case 1429: #line 5041 "preproc.y" { yyval.str = cat_str(4, actual_startline[struct_level], yyvsp[-3].type.type_str, yyvsp[-1].str, make_str(";\n")); } break; case 1430: #line 5045 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, make_str(";")); } break; case 1431: #line 5050 "preproc.y" { yyval.str =cat2_str(make_str(":"), yyvsp[0].str); } break; case 1432: #line 5051 "preproc.y" { yyval.str = EMPTY; } break; case 1433: #line 5055 "preproc.y" {yyval.str = cat2_str (yyvsp[-1].str, yyvsp[0].str); } break; case 1434: #line 5056 "preproc.y" {yyval.str = yyvsp[0].str; } break; case 1435: #line 5057 "preproc.y" {yyval.str = yyvsp[0].str; } break; case 1436: #line 5060 "preproc.y" { yyval.str = make_str("extern"); } break; case 1437: #line 5061 "preproc.y" { yyval.str = make_str("static"); } break; case 1438: #line 5062 "preproc.y" { yyval.str = make_str("register"); } break; case 1439: #line 5063 "preproc.y" { yyval.str = make_str("auto"); } break; case 1440: #line 5066 "preproc.y" { yyval.str = make_str("const"); } break; case 1441: #line 5067 "preproc.y" { yyval.str = make_str("volatile"); } break; case 1442: #line 5071 "preproc.y" { yyval.type.type_enum = yyvsp[0].type_enum; yyval.type.type_str = mm_strdup(ECPGtype_name(yyvsp[0].type_enum)); yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = NULL; } break; case 1443: #line 5079 "preproc.y" { yyval.type.type_str = yyvsp[0].str; yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); if (strncmp(yyvsp[0].str, "struct", sizeof("struct")-1) == 0) { yyval.type.type_enum = ECPGt_struct; yyval.type.type_sizeof = ECPGstruct_sizeof; } else { yyval.type.type_enum = ECPGt_union; yyval.type.type_sizeof = NULL; } } break; case 1444: #line 5096 "preproc.y" { yyval.type.type_str = yyvsp[0].str; yyval.type.type_enum = ECPGt_int; yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = NULL; } break; case 1445: #line 5104 "preproc.y" { if (strcmp(yyvsp[-4].str, "numeric") == 0) { yyval.type.type_enum = ECPGt_numeric; yyval.type.type_str = make_str("numeric"); } else if (strcmp(yyvsp[-4].str, "decimal") == 0) { yyval.type.type_enum = ECPGt_decimal; yyval.type.type_str = make_str("decimal"); } else { mmerror(PARSE_ERROR, ET_ERROR, "Only numeric/decimal have precision/scale argument"); yyval.type.type_enum = ECPGt_numeric; yyval.type.type_str = make_str("numeric"); } yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = NULL; } break; case 1446: #line 5127 "preproc.y" { if (strlen(yyvsp[0].str) != 0 && strcmp (yyvsp[-1].str, "datetime") != 0 && strcmp (yyvsp[-1].str, "interval") != 0) mmerror (PARSE_ERROR, ET_ERROR, "Interval specification not allowed here "); /* * Check for type names that the SQL grammar treats as * unreserved keywords */ if (strcmp(yyvsp[-1].str, "varchar") == 0) { yyval.type.type_enum = ECPGt_varchar; yyval.type.type_str = EMPTY; /*make_str("varchar");*/ yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = NULL; } else if (strcmp(yyvsp[-1].str, "float") == 0) { yyval.type.type_enum = ECPGt_float; yyval.type.type_str = make_str("float"); yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = NULL; } else if (strcmp(yyvsp[-1].str, "double") == 0) { yyval.type.type_enum = ECPGt_double; yyval.type.type_str = make_str("double"); yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = NULL; } else if (strcmp(yyvsp[-1].str, "numeric") == 0) { yyval.type.type_enum = ECPGt_numeric; yyval.type.type_str = make_str("numeric"); yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = NULL; } else if (strcmp(yyvsp[-1].str, "decimal") == 0) { yyval.type.type_enum = ECPGt_decimal; yyval.type.type_str = make_str("decimal"); yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = NULL; } else if (strcmp(yyvsp[-1].str, "date") == 0) { yyval.type.type_enum = ECPGt_date; yyval.type.type_str = make_str("date"); yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = NULL; } else if (strcmp(yyvsp[-1].str, "timestamp") == 0) { yyval.type.type_enum = ECPGt_timestamp; yyval.type.type_str = make_str("timestamp"); yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = NULL; } else if (strcmp(yyvsp[-1].str, "interval") == 0) { yyval.type.type_enum = ECPGt_interval; yyval.type.type_str = make_str("interval"); yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = NULL; } else if (strcmp(yyvsp[-1].str, "datetime") == 0) { yyval.type.type_enum = ECPGt_timestamp; yyval.type.type_str = make_str("timestamp"); yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = NULL; } else { /* this is for typedef'ed types */ struct typedefs *this = get_typedef(yyvsp[-1].str); yyval.type.type_str = (this->type->type_enum == ECPGt_varchar) ? EMPTY : mm_strdup(this->name); yyval.type.type_enum = this->type->type_enum; yyval.type.type_dimension = this->type->type_dimension; yyval.type.type_index = this->type->type_index; yyval.type.type_sizeof = this->type->type_sizeof; struct_member_list[struct_level] = ECPGstruct_member_dup(this->struct_member_list); } } break; case 1447: #line 5221 "preproc.y" { /* this is for named structs/unions */ char *name; struct typedefs *this; bool forward = (forward_name != NULL && strcmp(yyvsp[0].struct_union.symbol, forward_name) == 0 && strcmp(yyvsp[0].struct_union.su, "struct") == 0); name = cat2_str(yyvsp[0].struct_union.su, yyvsp[0].struct_union.symbol); /* Do we have a forward definition? */ if (!forward) { /* No */ this = get_typedef(name); yyval.type.type_str = mm_strdup(this->name); yyval.type.type_enum = this->type->type_enum; yyval.type.type_dimension = this->type->type_dimension; yyval.type.type_index = this->type->type_index; yyval.type.type_sizeof = this->type->type_sizeof; struct_member_list[struct_level] = ECPGstruct_member_dup(this->struct_member_list); free(name); } else { yyval.type.type_str = name; yyval.type.type_enum = ECPGt_long; yyval.type.type_dimension = make_str("-1"); yyval.type.type_index = make_str("-1"); yyval.type.type_sizeof = make_str(""); struct_member_list[struct_level] = NULL; } } break; case 1448: #line 5255 "preproc.y" { yyval.str = cat_str(3, make_str("enum"), yyvsp[-1].str, yyvsp[0].str); } break; case 1449: #line 5257 "preproc.y" { yyval.str = cat2_str(make_str("enum"), yyvsp[0].str); } break; case 1450: #line 5259 "preproc.y" { yyval.str = cat2_str(make_str("enum"), yyvsp[0].str); } break; case 1451: #line 5263 "preproc.y" { yyval.str = cat_str(3, make_str("{"), yyvsp[-1].str, make_str("}")); } break; case 1452: #line 5266 "preproc.y" { struct_member_list[struct_level++] = NULL; if (struct_level >= STRUCT_DEPTH) mmerror(PARSE_ERROR, ET_ERROR, "Too many levels in nested structure/union definition"); forward_name = mm_strdup(yyvsp[0].struct_union.symbol); } break; case 1453: #line 5273 "preproc.y" { struct typedefs *ptr, *this; struct this_type su_type; ECPGfree_struct_member(struct_member_list[struct_level]); struct_member_list[struct_level] = NULL; struct_level--; if (strncmp(yyvsp[-4].struct_union.su, "struct", sizeof("struct")-1) == 0) su_type.type_enum = ECPGt_struct; else su_type.type_enum = ECPGt_union; su_type.type_str = cat2_str(yyvsp[-4].struct_union.su, yyvsp[-4].struct_union.symbol); free(forward_name); forward_name = NULL; /* This is essantially a typedef but needs the keyword struct/union as well. * So we create the typedef for each struct definition with symbol */ for (ptr = types; ptr != NULL; ptr = ptr->next) { if (strcmp(su_type.type_str, ptr->name) == 0) /* re-definition is a bug */ mmerror(PARSE_ERROR, ET_ERROR, "Type %s already defined", su_type.type_str); } this = (struct typedefs *) mm_alloc(sizeof(struct typedefs)); /* initial definition */ this->next = types; this->name = mm_strdup(su_type.type_str); this->brace_level = braces_open; this->type = (struct this_type *) mm_alloc(sizeof(struct this_type)); this->type->type_enum = su_type.type_enum; this->type->type_str = mm_strdup(su_type.type_str); this->type->type_dimension = make_str("-1"); /* dimension of array */ this->type->type_index = make_str("-1"); /* length of string */ this->type->type_sizeof = ECPGstruct_sizeof; this->struct_member_list = struct_member_list[struct_level]; types = this; yyval.str = cat_str(4, su_type.type_str, make_str("{"), yyvsp[-1].str, make_str("}")); } break; case 1454: #line 5316 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1455: #line 5318 "preproc.y" { struct_member_list[struct_level++] = NULL; if (struct_level >= STRUCT_DEPTH) mmerror(PARSE_ERROR, ET_ERROR, "Too many levels in nested structure/union definition"); } break; case 1456: #line 5324 "preproc.y" { ECPGfree_struct_member(struct_member_list[struct_level]); struct_member_list[struct_level] = NULL; struct_level--; yyval.str = cat_str(4, yyvsp[-4].str, make_str("{"), yyvsp[-1].str, make_str("}")); } break; case 1457: #line 5333 "preproc.y" { yyval.struct_union.su = make_str("struct"); yyval.struct_union.symbol = yyvsp[0].str; ECPGstruct_sizeof = cat_str(3, make_str("sizeof("), cat2_str(mm_strdup(yyval.struct_union.su), mm_strdup(yyval.struct_union.symbol)), make_str(")")); } break; case 1458: #line 5339 "preproc.y" { yyval.struct_union.su = make_str("union"); yyval.struct_union.symbol = yyvsp[0].str; } break; case 1459: #line 5346 "preproc.y" { ECPGstruct_sizeof = make_str(""); /* This must not be NULL to distinguish from simple types. */ yyval.str = make_str("struct"); } break; case 1460: #line 5350 "preproc.y" { yyval.str = make_str("union"); } break; case 1461: #line 5353 "preproc.y" { yyval.type_enum=yyvsp[0].type_enum; } break; case 1462: #line 5354 "preproc.y" { yyval.type_enum=yyvsp[0].type_enum; } break; case 1463: #line 5357 "preproc.y" { yyval.type_enum = ECPGt_unsigned_short; } break; case 1464: #line 5358 "preproc.y" { yyval.type_enum = ECPGt_unsigned_short; } break; case 1465: #line 5359 "preproc.y" { yyval.type_enum = ECPGt_unsigned_int; } break; case 1466: #line 5360 "preproc.y" { yyval.type_enum = ECPGt_unsigned_int; } break; case 1467: #line 5361 "preproc.y" { yyval.type_enum = ECPGt_unsigned_long; } break; case 1468: #line 5362 "preproc.y" { yyval.type_enum = ECPGt_unsigned_long; } break; case 1469: #line 5364 "preproc.y" { #ifdef HAVE_LONG_LONG_INT_64 yyval.type_enum = ECPGt_unsigned_long_long; #else yyval.type_enum = ECPGt_unsigned_long; #endif } break; case 1470: #line 5372 "preproc.y" { #ifdef HAVE_LONG_LONG_INT_64 yyval.type_enum = ECPGt_unsigned_long_long; #else yyval.type_enum = ECPGt_unsigned_long; #endif } break; case 1471: #line 5379 "preproc.y" { yyval.type_enum = ECPGt_unsigned_char; } break; case 1472: #line 5382 "preproc.y" { yyval.type_enum = ECPGt_short; } break; case 1473: #line 5383 "preproc.y" { yyval.type_enum = ECPGt_short; } break; case 1474: #line 5384 "preproc.y" { yyval.type_enum = ECPGt_int; } break; case 1475: #line 5385 "preproc.y" { yyval.type_enum = ECPGt_long; } break; case 1476: #line 5386 "preproc.y" { yyval.type_enum = ECPGt_long; } break; case 1477: #line 5388 "preproc.y" { #ifdef HAVE_LONG_LONG_INT_64 yyval.type_enum = ECPGt_long_long; #else yyval.type_enum = ECPGt_long; #endif } break; case 1478: #line 5396 "preproc.y" { #ifdef HAVE_LONG_LONG_INT_64 yyval.type_enum = ECPGt_long_long; #else yyval.type_enum = ECPGt_long; #endif } break; case 1479: #line 5403 "preproc.y" { yyval.type_enum = ECPGt_bool; } break; case 1480: #line 5404 "preproc.y" { yyval.type_enum = ECPGt_char; } break; case 1481: #line 5405 "preproc.y" { yyval.type_enum = ECPGt_double; } break; case 1484: #line 5413 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1485: #line 5415 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 1486: #line 5419 "preproc.y" { struct ECPGtype * type; char *dimension = yyvsp[-2].index.index1; /* dimension of array */ char *length = yyvsp[-2].index.index2; /* length of string */ char dim[14L]; adjust_array(actual_type[struct_level].type_enum, &dimension, &length, actual_type[struct_level].type_dimension, actual_type[struct_level].type_index, strlen(yyvsp[-4].str), false); switch (actual_type[struct_level].type_enum) { case ECPGt_struct: case ECPGt_union: if (atoi(dimension) < 0) type = ECPGmake_struct_type(struct_member_list[struct_level], actual_type[struct_level].type_enum, actual_type[struct_level].type_sizeof); else type = ECPGmake_array_type(ECPGmake_struct_type(struct_member_list[struct_level], actual_type[struct_level].type_enum, actual_type[struct_level].type_sizeof), dimension); yyval.str = cat_str(5, yyvsp[-4].str, mm_strdup(yyvsp[-3].str), yyvsp[-2].index.str, yyvsp[-1].str, yyvsp[0].str); break; case ECPGt_varchar: if (atoi(dimension) < 0) type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length); else type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, length), dimension); if (strcmp(dimension, "0") == 0 || abs(atoi(dimension)) == 1) *dim = '\0'; else sprintf(dim, "[%s]", dimension); /* cannot check for atoi <= 0 because a defined constant will yield 0 here as well */ if (atoi(length) < 0 || strcmp(length, "0") == 0) mmerror(PARSE_ERROR, ET_ERROR, "pointer to varchar are not implemented"); if (strcmp(dimension, "0") == 0) yyval.str = cat_str(7, make2_str(make_str(" struct varchar_"), mm_strdup(yyvsp[-3].str)), make_str(" { int len; char arr["), mm_strdup(length), make_str("]; } *"), mm_strdup(yyvsp[-3].str), yyvsp[-1].str, yyvsp[0].str); else yyval.str = cat_str(8, make2_str(make_str(" struct varchar_"), mm_strdup(yyvsp[-3].str)), make_str(" { int len; char arr["), mm_strdup(length), make_str("]; } "), mm_strdup(yyvsp[-3].str), mm_strdup(dim), yyvsp[-1].str, yyvsp[0].str); break; case ECPGt_char: case ECPGt_unsigned_char: if (atoi(dimension) == -1) { int i = strlen(yyvsp[0].str); if (atoi(length) == -1 && i > 0) /* char [] = "string" */ { /* if we have an initializer but no string size set, let's use the initializer's length */ free(length); length = mm_alloc(i+sizeof("sizeof()")); sprintf(length, "sizeof(%s)", yyvsp[0].str+2); } type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length); } else type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, length), dimension); yyval.str = cat_str(5, yyvsp[-4].str, mm_strdup(yyvsp[-3].str), yyvsp[-2].index.str, yyvsp[-1].str, yyvsp[0].str); break; default: if (atoi(dimension) < 0) type = ECPGmake_simple_type(actual_type[struct_level].type_enum, make_str("1")); else type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, make_str("1")), dimension); yyval.str = cat_str(5, yyvsp[-4].str, mm_strdup(yyvsp[-3].str), yyvsp[-2].index.str, yyvsp[-1].str, yyvsp[0].str); break; } if (struct_level == 0) new_variable(yyvsp[-3].str, type, braces_open); else ECPGmake_struct_member(yyvsp[-3].str, type, &(struct_member_list[struct_level - 1])); free(yyvsp[-3].str); } break; case 1487: #line 5500 "preproc.y" { yyval.str = EMPTY; } break; case 1488: #line 5502 "preproc.y" { initializer = 1; yyval.str = cat2_str(make_str("="), yyvsp[0].str); } break; case 1489: #line 5508 "preproc.y" { yyval.str = EMPTY; } break; case 1490: #line 5509 "preproc.y" { yyval.str = make_str("*"); } break; case 1491: #line 5510 "preproc.y" { yyval.str = make_str("**"); } break; case 1492: #line 5517 "preproc.y" { /* this is only supported for compatibility */ yyval.str = cat_str(3, make_str("/* declare statement"), yyvsp[0].str, make_str("*/")); } break; case 1493: #line 5525 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1494: #line 5528 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1495: #line 5529 "preproc.y" { yyval.str = make_str("\"CURRENT\""); } break; case 1496: #line 5530 "preproc.y" { yyval.str = make_str("\"ALL\""); } break; case 1497: #line 5531 "preproc.y" { yyval.str = make_str("\"CURRENT\""); } break; case 1498: #line 5534 "preproc.y" { yyval.str = make3_str(make_str("\""), yyvsp[0].str, make_str("\"")); } break; case 1499: #line 5535 "preproc.y" { yyval.str = make_str("\"DEFAULT\""); } break; case 1500: #line 5536 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1501: #line 5543 "preproc.y" { struct variable *thisquery = (struct variable *)mm_alloc(sizeof(struct variable)); thisquery->type = &ecpg_query; thisquery->brace_level = 0; thisquery->next = NULL; thisquery->name = yyvsp[0].str; add_variable_to_head(&argsinsert, thisquery, &no_indicator); yyval.str = make_str("?"); } break; case 1502: #line 5556 "preproc.y" { struct variable *thisquery = (struct variable *)mm_alloc(sizeof(struct variable)); thisquery->type = &ecpg_query; thisquery->brace_level = 0; thisquery->next = NULL; thisquery->name = (char *) mm_alloc(sizeof("ECPGprepared_statement()") + strlen(yyvsp[0].str)); sprintf(thisquery->name, "ECPGprepared_statement(%s)", yyvsp[0].str); add_variable_to_head(&argsinsert, thisquery, &no_indicator); } break; case 1503: #line 5568 "preproc.y" { yyval.str = make_str("?"); } break; case 1504: #line 5573 "preproc.y" { yyval.str = EMPTY; } break; case 1505: #line 5574 "preproc.y" { yyval.str = EMPTY; } break; case 1506: #line 5575 "preproc.y" { yyval.str = EMPTY; } break; case 1507: #line 5576 "preproc.y" { yyval.str = EMPTY; } break; case 1508: #line 5577 "preproc.y" { yyval.str = EMPTY; } break; case 1509: #line 5581 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1510: #line 5583 "preproc.y" { yyval.str = make3_str(make_str("\""), yyvsp[0].str, make_str("\"")); } break; case 1511: #line 5586 "preproc.y" { yyval.str = make3_str(make_str("\""), yyvsp[0].str, make_str("\"")); } break; case 1512: #line 5587 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1513: #line 5594 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1514: #line 5599 "preproc.y" { yyval.str = yyvsp[-1].str; } break; case 1515: #line 5601 "preproc.y" { yyval.str = EMPTY; } break; case 1516: #line 5602 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1517: #line 5605 "preproc.y" { yyval.str = EMPTY; } break; case 1518: #line 5606 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1519: #line 5610 "preproc.y" { add_variable_to_head(&argsinsert, descriptor_variable(yyvsp[0].str,0), &no_indicator); yyval.str = EMPTY; } break; case 1520: #line 5617 "preproc.y" { add_variable_to_head(&argsresult, descriptor_variable(yyvsp[0].str,1), &no_indicator); yyval.str = EMPTY; } break; case 1523: #line 5625 "preproc.y" { yyval.str = EMPTY; } break; case 1524: #line 5626 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1527: #line 5632 "preproc.y" { if (yyvsp[0].str[1] != '?') /* found a constant */ { char *length = mm_alloc(32); sprintf(length, "%d", (int) strlen(yyvsp[0].str)); add_variable_to_head(&argsinsert, new_variable(yyvsp[0].str, ECPGmake_simple_type(ECPGt_const, length), 0), &no_indicator); } } break; case 1528: #line 5641 "preproc.y" { yyval.str = EMPTY; } break; case 1529: #line 5651 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 1530: #line 5658 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "using unsupported describe statement.\n"); yyval.str = (char *) mm_alloc(sizeof("1, ECPGprepared_statement(\"\")") + strlen(yyvsp[-1].str)); sprintf(yyval.str, "1, ECPGprepared_statement(\"%s\")", yyvsp[-1].str); } break; case 1531: #line 5664 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "using unsupported describe statement.\n"); yyval.str = (char *) mm_alloc(sizeof("0, ECPGprepared_statement(\"\")") + strlen(yyvsp[-1].str)); sprintf(yyval.str, "0, ECPGprepared_statement(\"%s\")", yyvsp[-1].str); } break; case 1532: #line 5670 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "using unsupported describe statement.\n"); yyval.str = (char *) mm_alloc(sizeof("0, ECPGprepared_statement(\"\")") + strlen(yyvsp[-1].str)); sprintf(yyval.str, "0, ECPGprepared_statement(\"%s\")", yyvsp[-1].str); } break; case 1533: #line 5677 "preproc.y" { yyval.str = make_str("output"); } break; case 1534: #line 5678 "preproc.y" { yyval.str = EMPTY; } break; case 1535: #line 5691 "preproc.y" { add_descriptor(yyvsp[0].str,connection); yyval.str = yyvsp[0].str; } break; case 1536: #line 5702 "preproc.y" { drop_descriptor(yyvsp[0].str,connection); yyval.str = yyvsp[0].str; } break; case 1537: #line 5713 "preproc.y" { yyval.str = yyvsp[-1].str; } break; case 1540: #line 5721 "preproc.y" { push_assignment(yyvsp[-2].str, yyvsp[0].dtype_enum); } break; case 1541: #line 5726 "preproc.y" { yyval.str = yyvsp[-1].str; } break; case 1544: #line 5734 "preproc.y" { push_assignment(yyvsp[0].str, yyvsp[-2].dtype_enum); } break; case 1545: #line 5740 "preproc.y" { yyval.dtype_enum = ECPGd_count; } break; case 1546: #line 5748 "preproc.y" { yyval.descriptor.str = yyvsp[-1].str; yyval.descriptor.name = yyvsp[-3].str; } break; case 1549: #line 5755 "preproc.y" { push_assignment(yyvsp[-2].str, yyvsp[0].dtype_enum); } break; case 1550: #line 5759 "preproc.y" { yyval.descriptor.str = yyvsp[-1].str; yyval.descriptor.name = yyvsp[-3].str; } break; case 1553: #line 5767 "preproc.y" { push_assignment(yyvsp[0].str, yyvsp[-2].dtype_enum); } break; case 1554: #line 5773 "preproc.y" { yyval.dtype_enum = ECPGd_cardinality; } break; case 1555: #line 5774 "preproc.y" { yyval.dtype_enum = ECPGd_data; } break; case 1556: #line 5775 "preproc.y" { yyval.dtype_enum = ECPGd_di_code; } break; case 1557: #line 5776 "preproc.y" { yyval.dtype_enum = ECPGd_di_precision; } break; case 1558: #line 5777 "preproc.y" { yyval.dtype_enum = ECPGd_indicator; } break; case 1559: #line 5778 "preproc.y" { yyval.dtype_enum = ECPGd_key_member; } break; case 1560: #line 5779 "preproc.y" { yyval.dtype_enum = ECPGd_length; } break; case 1561: #line 5780 "preproc.y" { yyval.dtype_enum = ECPGd_name; } break; case 1562: #line 5781 "preproc.y" { yyval.dtype_enum = ECPGd_nullable; } break; case 1563: #line 5782 "preproc.y" { yyval.dtype_enum = ECPGd_octet; } break; case 1564: #line 5783 "preproc.y" { yyval.dtype_enum = ECPGd_precision; } break; case 1565: #line 5784 "preproc.y" { yyval.dtype_enum = ECPGd_length; } break; case 1566: #line 5785 "preproc.y" { yyval.dtype_enum = ECPGd_ret_octet; } break; case 1567: #line 5786 "preproc.y" { yyval.dtype_enum = ECPGd_scale; } break; case 1568: #line 5787 "preproc.y" { yyval.dtype_enum = ECPGd_type; } break; case 1569: #line 5817 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1570: #line 5818 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1571: #line 5821 "preproc.y" { yyval.str = make_str("on"); } break; case 1572: #line 5822 "preproc.y" { yyval.str = make_str("off"); } break; case 1573: #line 5829 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1574: #line 5830 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1575: #line 5831 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1576: #line 5838 "preproc.y" { /* reset this variable so we see if there was */ /* an initializer specified */ initializer = 0; } break; case 1577: #line 5844 "preproc.y" { /* add entry to list */ struct typedefs *ptr, *this; char *dimension = yyvsp[-1].index.index1; char *length = yyvsp[-1].index.index2; if ((yyvsp[-2].type.type_enum == ECPGt_struct || yyvsp[-2].type.type_enum == ECPGt_union) && initializer == 1) mmerror(PARSE_ERROR, ET_ERROR, "Initializer not allowed in EXEC SQL TYPE command"); else { for (ptr = types; ptr != NULL; ptr = ptr->next) { if (strcmp(yyvsp[-4].str, ptr->name) == 0) /* re-definition is a bug */ mmerror(PARSE_ERROR, ET_ERROR, "Type %s already defined", yyvsp[-4].str); } adjust_array(yyvsp[-2].type.type_enum, &dimension, &length, yyvsp[-2].type.type_dimension, yyvsp[-2].type.type_index, *yyvsp[0].str?1:0, false); this = (struct typedefs *) mm_alloc(sizeof(struct typedefs)); /* initial definition */ this->next = types; this->name = yyvsp[-4].str; this->brace_level = braces_open; this->type = (struct this_type *) mm_alloc(sizeof(struct this_type)); this->type->type_enum = yyvsp[-2].type.type_enum; this->type->type_str = mm_strdup(yyvsp[-4].str); this->type->type_dimension = dimension; /* dimension of array */ this->type->type_index = length; /* length of string */ this->type->type_sizeof = ECPGstruct_sizeof; this->struct_member_list = (yyvsp[-2].type.type_enum == ECPGt_struct || yyvsp[-2].type.type_enum == ECPGt_union) ? ECPGstruct_member_dup(struct_member_list[struct_level]) : NULL; if (yyvsp[-2].type.type_enum != ECPGt_varchar && yyvsp[-2].type.type_enum != ECPGt_char && yyvsp[-2].type.type_enum != ECPGt_unsigned_char && atoi(this->type->type_index) >= 0) mmerror(PARSE_ERROR, ET_ERROR, "No multidimensional array support for simple data types"); types = this; } if (auto_create_c == false) yyval.str = cat_str(7, make_str("/* exec sql type"), mm_strdup(yyvsp[-4].str), make_str("is"), mm_strdup(yyvsp[-2].type.type_str), mm_strdup(yyvsp[-1].index.str), yyvsp[0].str, make_str("*/")); else yyval.str = cat_str(6, make_str("typedef "), mm_strdup(yyvsp[-2].type.type_str), *yyvsp[0].str?make_str("*"):make_str(""), mm_strdup(yyvsp[-1].index.str), mm_strdup(yyvsp[-4].str), make_str(";")); } break; case 1578: #line 5896 "preproc.y" { yyval.str = make_str("reference"); } break; case 1579: #line 5897 "preproc.y" { yyval.str = EMPTY; } break; case 1580: #line 5904 "preproc.y" { /* reset this variable so we see if there was */ /* an initializer specified */ initializer = 0; } break; case 1581: #line 5910 "preproc.y" { struct variable *p = find_variable(yyvsp[-4].str); char *dimension = yyvsp[-1].index.index1; char *length = yyvsp[-1].index.index2; struct ECPGtype * type; if ((yyvsp[-2].type.type_enum == ECPGt_struct || yyvsp[-2].type.type_enum == ECPGt_union) && initializer == 1) mmerror(PARSE_ERROR, ET_ERROR, "Initializer not allowed in EXEC SQL VAR command"); else { adjust_array(yyvsp[-2].type.type_enum, &dimension, &length, yyvsp[-2].type.type_dimension, yyvsp[-2].type.type_index, *yyvsp[0].str?1:0, false); switch (yyvsp[-2].type.type_enum) { case ECPGt_struct: case ECPGt_union: if (atoi(dimension) < 0) type = ECPGmake_struct_type(struct_member_list[struct_level], yyvsp[-2].type.type_enum, yyvsp[-2].type.type_sizeof); else type = ECPGmake_array_type(ECPGmake_struct_type(struct_member_list[struct_level], yyvsp[-2].type.type_enum,yyvsp[-2].type.type_sizeof), dimension); break; case ECPGt_varchar: if (atoi(dimension) == -1) type = ECPGmake_simple_type(yyvsp[-2].type.type_enum, length); else type = ECPGmake_array_type(ECPGmake_simple_type(yyvsp[-2].type.type_enum, length), dimension); break; case ECPGt_char: case ECPGt_unsigned_char: if (atoi(dimension) == -1) type = ECPGmake_simple_type(yyvsp[-2].type.type_enum, length); else type = ECPGmake_array_type(ECPGmake_simple_type(yyvsp[-2].type.type_enum, length), dimension); break; default: if (atoi(length) >= 0) mmerror(PARSE_ERROR, ET_ERROR, "No multidimensional array support for simple data types"); if (atoi(dimension) < 0) type = ECPGmake_simple_type(yyvsp[-2].type.type_enum, make_str("1")); else type = ECPGmake_array_type(ECPGmake_simple_type(yyvsp[-2].type.type_enum, make_str("1")), dimension); break; } ECPGfree_type(p->type); p->type = type; } yyval.str = cat_str(7, make_str("/* exec sql var"), mm_strdup(yyvsp[-4].str), make_str("is"), mm_strdup(yyvsp[-2].type.type_str), mm_strdup(yyvsp[-1].index.str), yyvsp[0].str, make_str("*/")); } break; case 1582: #line 5973 "preproc.y" { when_error.code = yyvsp[0].action.code; when_error.command = yyvsp[0].action.command; yyval.str = cat_str(3, make_str("/* exec sql whenever sqlerror "), yyvsp[0].action.str, make_str("; */")); } break; case 1583: #line 5979 "preproc.y" { when_nf.code = yyvsp[0].action.code; when_nf.command = yyvsp[0].action.command; yyval.str = cat_str(3, make_str("/* exec sql whenever not found "), yyvsp[0].action.str, make_str("; */")); } break; case 1584: #line 5985 "preproc.y" { when_warn.code = yyvsp[0].action.code; when_warn.command = yyvsp[0].action.command; yyval.str = cat_str(3, make_str("/* exec sql whenever sql_warning "), yyvsp[0].action.str, make_str("; */")); } break; case 1585: #line 5993 "preproc.y" { yyval.action.code = W_NOTHING; yyval.action.command = NULL; yyval.action.str = make_str("continue"); } break; case 1586: #line 5999 "preproc.y" { yyval.action.code = W_SQLPRINT; yyval.action.command = NULL; yyval.action.str = make_str("sqlprint"); } break; case 1587: #line 6005 "preproc.y" { yyval.action.code = W_STOP; yyval.action.command = NULL; yyval.action.str = make_str("stop"); } break; case 1588: #line 6011 "preproc.y" { yyval.action.code = W_GOTO; yyval.action.command = strdup(yyvsp[0].str); yyval.action.str = cat2_str(make_str("goto "), yyvsp[0].str); } break; case 1589: #line 6017 "preproc.y" { yyval.action.code = W_GOTO; yyval.action.command = strdup(yyvsp[0].str); yyval.action.str = cat2_str(make_str("goto "), yyvsp[0].str); } break; case 1590: #line 6023 "preproc.y" { yyval.action.code = W_DO; yyval.action.command = cat_str(4, yyvsp[-3].str, make_str("("), yyvsp[-1].str, make_str(")")); yyval.action.str = cat2_str(make_str("do"), mm_strdup(yyval.action.command)); } break; case 1591: #line 6029 "preproc.y" { yyval.action.code = W_BREAK; yyval.action.command = NULL; yyval.action.str = make_str("break"); } break; case 1592: #line 6035 "preproc.y" { yyval.action.code = W_DO; yyval.action.command = cat_str(4, yyvsp[-3].str, make_str("("), yyvsp[-1].str, make_str(")")); yyval.action.str = cat2_str(make_str("call"), mm_strdup(yyval.action.command)); } break; case 1593: #line 6041 "preproc.y" { yyval.action.code = W_DO; yyval.action.command = cat2_str(yyvsp[0].str, make_str("()")); yyval.action.str = cat2_str(make_str("call"), mm_strdup(yyval.action.command)); } break; case 1594: #line 6051 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1595: #line 6052 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1596: #line 6055 "preproc.y" { yyval.str = make_str("break"); } break; case 1597: #line 6056 "preproc.y" { yyval.str = make_str("call"); } break; case 1598: #line 6057 "preproc.y" { yyval.str = make_str("cardinality"); } break; case 1599: #line 6058 "preproc.y" { yyval.str = make_str("continue"); } break; case 1600: #line 6059 "preproc.y" { yyval.str = make_str("count"); } break; case 1601: #line 6060 "preproc.y" { yyval.str = make_str("data"); } break; case 1602: #line 6061 "preproc.y" { yyval.str = make_str("datetime_interval_code"); } break; case 1603: #line 6062 "preproc.y" { yyval.str = make_str("datetime_interval_precision"); } break; case 1604: #line 6063 "preproc.y" { yyval.str = make_str("found"); } break; case 1605: #line 6064 "preproc.y" { yyval.str = make_str("go"); } break; case 1606: #line 6065 "preproc.y" { yyval.str = make_str("goto"); } break; case 1607: #line 6066 "preproc.y" { yyval.str = make_str("identified"); } break; case 1608: #line 6067 "preproc.y" { yyval.str = make_str("indicator"); } break; case 1609: #line 6068 "preproc.y" { yyval.str = make_str("key_member"); } break; case 1610: #line 6069 "preproc.y" { yyval.str = make_str("length"); } break; case 1611: #line 6070 "preproc.y" { yyval.str = make_str("name"); } break; case 1612: #line 6071 "preproc.y" { yyval.str = make_str("nullable"); } break; case 1613: #line 6072 "preproc.y" { yyval.str = make_str("octet_length"); } break; case 1614: #line 6073 "preproc.y" { yyval.str = make_str("returned_length"); } break; case 1615: #line 6074 "preproc.y" { yyval.str = make_str("returned_octet_length"); } break; case 1616: #line 6075 "preproc.y" { yyval.str = make_str("scale"); } break; case 1617: #line 6076 "preproc.y" { yyval.str = make_str("section"); } break; case 1618: #line 6077 "preproc.y" { yyval.str = make_str("sqlerror"); } break; case 1619: #line 6078 "preproc.y" { yyval.str = make_str("sqlprint"); } break; case 1620: #line 6079 "preproc.y" { yyval.str = make_str("sqlwarning"); } break; case 1621: #line 6080 "preproc.y" { yyval.str = make_str("stop"); } break; case 1622: #line 6081 "preproc.y" { yyval.str = make_str("value"); } break; case 1623: #line 6084 "preproc.y" { yyval.str = make_str("connect"); } break; case 1624: #line 6085 "preproc.y" { yyval.str = make_str("describe"); } break; case 1625: #line 6086 "preproc.y" { yyval.str = make_str("disconnect"); } break; case 1626: #line 6087 "preproc.y" { yyval.str = make_str("open"); } break; case 1627: #line 6088 "preproc.y" { yyval.str = make_str("var"); } break; case 1628: #line 6089 "preproc.y" { yyval.str = make_str("whenever"); } break; case 1629: #line 6093 "preproc.y" { yyval.str = make_str("bool"); } break; case 1630: #line 6094 "preproc.y" { yyval.str = make_str("long"); } break; case 1631: #line 6095 "preproc.y" { yyval.str = make_str("output"); } break; case 1632: #line 6096 "preproc.y" { yyval.str = make_str("short"); } break; case 1633: #line 6097 "preproc.y" { yyval.str = make_str("struct"); } break; case 1634: #line 6098 "preproc.y" { yyval.str = make_str("signed"); } break; case 1635: #line 6099 "preproc.y" { yyval.str = make_str("unsigned"); } break; case 1636: #line 6102 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1637: #line 6116 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1638: #line 6117 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1639: #line 6118 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1640: #line 6119 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1641: #line 6120 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1642: #line 6121 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1643: #line 6122 "preproc.y" { yyval.str = make_str("char"); } break; case 1644: #line 6123 "preproc.y" { yyval.str = make_str("values"); } break; case 1645: #line 6127 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1646: #line 6128 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1647: #line 6129 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1648: #line 6130 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1649: #line 6131 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1650: #line 6132 "preproc.y" { yyval.str = make_str("char"); } break; case 1651: #line 6133 "preproc.y" { yyval.str = make_str("values"); } break; case 1652: #line 6137 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1653: #line 6138 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1654: #line 6139 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1655: #line 6140 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1656: #line 6141 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1657: #line 6146 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1658: #line 6147 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1659: #line 6148 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1660: #line 6149 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1661: #line 6150 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1662: #line 6156 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1663: #line 6157 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1664: #line 6158 "preproc.y" { yyval.str = make_str("char"); } break; case 1665: #line 6159 "preproc.y" { yyval.str = make_str("input"); } break; case 1666: #line 6160 "preproc.y" { yyval.str = make_str("int"); } break; case 1667: #line 6161 "preproc.y" { yyval.str = make_str("union"); } break; case 1668: #line 6162 "preproc.y" { yyval.str = make_str("to"); } break; case 1669: #line 6163 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1670: #line 6164 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1671: #line 6167 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1672: #line 6168 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1673: #line 6169 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1674: #line 6170 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1675: #line 6173 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1676: #line 6174 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1677: #line 6175 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1678: #line 6176 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1679: #line 6179 "preproc.y" { yyval.str = make_str("auto"); } break; case 1680: #line 6180 "preproc.y" { yyval.str = make_str("const"); } break; case 1681: #line 6181 "preproc.y" { yyval.str = make_str("extern"); } break; case 1682: #line 6182 "preproc.y" { yyval.str = make_str("register"); } break; case 1683: #line 6183 "preproc.y" { yyval.str = make_str("static"); } break; case 1684: #line 6184 "preproc.y" { yyval.str = make_str("typedef"); } break; case 1685: #line 6185 "preproc.y" { yyval.str = make_str("volatile"); } break; case 1688: #line 6205 "preproc.y" { yyval.str = make_str("day"); } break; case 1689: #line 6206 "preproc.y" { yyval.str = make_str("hour"); } break; case 1690: #line 6207 "preproc.y" { yyval.str = make_str("minute"); } break; case 1691: #line 6208 "preproc.y" { yyval.str = make_str("month"); } break; case 1692: #line 6209 "preproc.y" { yyval.str = make_str("second"); } break; case 1693: #line 6210 "preproc.y" { yyval.str = make_str("year"); } break; case 1694: #line 6216 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 1695: #line 6217 "preproc.y" { yyval.str = make_str("connection"); } break; case 1696: #line 6220 "preproc.y" { yyval.str = make_str("abort"); } break; case 1697: #line 6221 "preproc.y" { yyval.str = make_str("absolute"); } break; case 1698: #line 6222 "preproc.y" { yyval.str = make_str("access"); } break; case 1699: #line 6223 "preproc.y" { yyval.str = make_str("action"); } break; case 1700: #line 6224 "preproc.y" { yyval.str = make_str("add"); } break; case 1701: #line 6225 "preproc.y" { yyval.str = make_str("admin"); } break; case 1702: #line 6226 "preproc.y" { yyval.str = make_str("after"); } break; case 1703: #line 6227 "preproc.y" { yyval.str = make_str("aggregate"); } break; case 1704: #line 6228 "preproc.y" { yyval.str = make_str("also"); } break; case 1705: #line 6229 "preproc.y" { yyval.str = make_str("alter"); } break; case 1706: #line 6230 "preproc.y" { yyval.str = make_str("assertion"); } break; case 1707: #line 6231 "preproc.y" { yyval.str = make_str("assignment"); } break; case 1708: #line 6232 "preproc.y" { yyval.str = make_str("at"); } break; case 1709: #line 6233 "preproc.y" { yyval.str = make_str("backward"); } break; case 1710: #line 6234 "preproc.y" { yyval.str = make_str("before"); } break; case 1711: #line 6235 "preproc.y" { yyval.str = make_str("begin"); } break; case 1712: #line 6236 "preproc.y" { yyval.str = make_str("by"); } break; case 1713: #line 6237 "preproc.y" { yyval.str = make_str("cache"); } break; case 1714: #line 6238 "preproc.y" { yyval.str = make_str("cascade"); } break; case 1715: #line 6239 "preproc.y" { yyval.str = make_str("cascaded"); } break; case 1716: #line 6240 "preproc.y" { yyval.str = make_str("chain"); } break; case 1717: #line 6241 "preproc.y" { yyval.str = make_str("characteristics"); } break; case 1718: #line 6242 "preproc.y" { yyval.str = make_str("checkpoint"); } break; case 1719: #line 6243 "preproc.y" { yyval.str = make_str("class"); } break; case 1720: #line 6244 "preproc.y" { yyval.str = make_str("close"); } break; case 1721: #line 6245 "preproc.y" { yyval.str = make_str("cluster"); } break; case 1722: #line 6246 "preproc.y" { yyval.str = make_str("comment"); } break; case 1723: #line 6247 "preproc.y" { yyval.str = make_str("commit"); } break; case 1724: #line 6248 "preproc.y" { yyval.str = make_str("committed"); } break; case 1725: #line 6249 "preproc.y" { yyval.str = make_str("concurrently"); } break; case 1726: #line 6251 "preproc.y" { yyval.str = make_str("constraints"); } break; case 1727: #line 6252 "preproc.y" { yyval.str = make_str("conversion"); } break; case 1728: #line 6253 "preproc.y" { yyval.str = make_str("copy"); } break; case 1729: #line 6254 "preproc.y" { yyval.str = make_str("createdb"); } break; case 1730: #line 6255 "preproc.y" { yyval.str = make_str("createrole"); } break; case 1731: #line 6256 "preproc.y" { yyval.str = make_str("createuser"); } break; case 1732: #line 6257 "preproc.y" { yyval.str = make_str("csv"); } break; case 1733: #line 6258 "preproc.y" { yyval.str = make_str("cursor"); } break; case 1734: #line 6259 "preproc.y" { yyval.str = make_str("cycle"); } break; case 1735: #line 6260 "preproc.y" { yyval.str = make_str("database"); } break; case 1736: #line 6262 "preproc.y" { yyval.str = make_str("deallocate"); } break; case 1737: #line 6263 "preproc.y" { yyval.str = make_str("declare"); } break; case 1738: #line 6264 "preproc.y" { yyval.str = make_str("defaults"); } break; case 1739: #line 6265 "preproc.y" { yyval.str = make_str("deferred"); } break; case 1740: #line 6266 "preproc.y" { yyval.str = make_str("delete"); } break; case 1741: #line 6267 "preproc.y" { yyval.str = make_str("delimiter"); } break; case 1742: #line 6268 "preproc.y" { yyval.str = make_str("delimiters"); } break; case 1743: #line 6269 "preproc.y" { yyval.str = make_str("disable"); } break; case 1744: #line 6270 "preproc.y" { yyval.str = make_str("domain"); } break; case 1745: #line 6271 "preproc.y" { yyval.str = make_str("double"); } break; case 1746: #line 6272 "preproc.y" { yyval.str = make_str("drop"); } break; case 1747: #line 6273 "preproc.y" { yyval.str = make_str("each"); } break; case 1748: #line 6274 "preproc.y" { yyval.str = make_str("enable"); } break; case 1749: #line 6275 "preproc.y" { yyval.str = make_str("encoding"); } break; case 1750: #line 6276 "preproc.y" { yyval.str = make_str("encrypted"); } break; case 1751: #line 6277 "preproc.y" { yyval.str = make_str("escape"); } break; case 1752: #line 6278 "preproc.y" { yyval.str = make_str("excluding"); } break; case 1753: #line 6279 "preproc.y" { yyval.str = make_str("exclusive"); } break; case 1754: #line 6280 "preproc.y" { yyval.str = make_str("execute"); } break; case 1755: #line 6281 "preproc.y" { yyval.str = make_str("explain"); } break; case 1756: #line 6282 "preproc.y" { yyval.str = make_str("fetch"); } break; case 1757: #line 6283 "preproc.y" { yyval.str = make_str("first"); } break; case 1758: #line 6284 "preproc.y" { yyval.str = make_str("force"); } break; case 1759: #line 6285 "preproc.y" { yyval.str = make_str("forward"); } break; case 1760: #line 6286 "preproc.y" { yyval.str = make_str("function"); } break; case 1761: #line 6287 "preproc.y" { yyval.str = make_str("global"); } break; case 1762: #line 6288 "preproc.y" { yyval.str = make_str("granted"); } break; case 1763: #line 6289 "preproc.y" { yyval.str = make_str("handler"); } break; case 1764: #line 6290 "preproc.y" { yyval.str = make_str("header"); } break; case 1765: #line 6291 "preproc.y" { yyval.str = make_str("hold"); } break; case 1766: #line 6293 "preproc.y" { yyval.str = make_str("if"); } break; case 1767: #line 6294 "preproc.y" { yyval.str = make_str("immediate"); } break; case 1768: #line 6295 "preproc.y" { yyval.str = make_str("immutable"); } break; case 1769: #line 6296 "preproc.y" { yyval.str = make_str("implicit"); } break; case 1770: #line 6297 "preproc.y" { yyval.str = make_str("including"); } break; case 1771: #line 6298 "preproc.y" { yyval.str = make_str("increment"); } break; case 1772: #line 6299 "preproc.y" { yyval.str = make_str("index"); } break; case 1773: #line 6300 "preproc.y" { yyval.str = make_str("indexes"); } break; case 1774: #line 6301 "preproc.y" { yyval.str = make_str("inherit"); } break; case 1775: #line 6302 "preproc.y" { yyval.str = make_str("inherits"); } break; case 1776: #line 6303 "preproc.y" { yyval.str = make_str("insensitive"); } break; case 1777: #line 6304 "preproc.y" { yyval.str = make_str("insert"); } break; case 1778: #line 6305 "preproc.y" { yyval.str = make_str("instead"); } break; case 1779: #line 6306 "preproc.y" { yyval.str = make_str("isolation"); } break; case 1780: #line 6307 "preproc.y" { yyval.str = make_str("key"); } break; case 1781: #line 6308 "preproc.y" { yyval.str = make_str("lancompiler"); } break; case 1782: #line 6309 "preproc.y" { yyval.str = make_str("language"); } break; case 1783: #line 6310 "preproc.y" { yyval.str = make_str("large"); } break; case 1784: #line 6311 "preproc.y" { yyval.str = make_str("last"); } break; case 1785: #line 6312 "preproc.y" { yyval.str = make_str("level"); } break; case 1786: #line 6313 "preproc.y" { yyval.str = make_str("listen"); } break; case 1787: #line 6314 "preproc.y" { yyval.str = make_str("load"); } break; case 1788: #line 6315 "preproc.y" { yyval.str = make_str("local"); } break; case 1789: #line 6316 "preproc.y" { yyval.str = make_str("location"); } break; case 1790: #line 6317 "preproc.y" { yyval.str = make_str("lock"); } break; case 1791: #line 6318 "preproc.y" { yyval.str = make_str("login"); } break; case 1792: #line 6319 "preproc.y" { yyval.str = make_str("match"); } break; case 1793: #line 6320 "preproc.y" { yyval.str = make_str("maxvalue"); } break; case 1794: #line 6322 "preproc.y" { yyval.str = make_str("minvalue"); } break; case 1795: #line 6323 "preproc.y" { yyval.str = make_str("mode"); } break; case 1796: #line 6325 "preproc.y" { yyval.str = make_str("move"); } break; case 1797: #line 6326 "preproc.y" { yyval.str = make_str("names"); } break; case 1798: #line 6327 "preproc.y" { yyval.str = make_str("next"); } break; case 1799: #line 6328 "preproc.y" { yyval.str = make_str("no"); } break; case 1800: #line 6329 "preproc.y" { yyval.str = make_str("nocreatedb"); } break; case 1801: #line 6330 "preproc.y" { yyval.str = make_str("nocreaterole"); } break; case 1802: #line 6331 "preproc.y" { yyval.str = make_str("nocreateuser"); } break; case 1803: #line 6332 "preproc.y" { yyval.str = make_str("noinherit"); } break; case 1804: #line 6333 "preproc.y" { yyval.str = make_str("nologin"); } break; case 1805: #line 6334 "preproc.y" { yyval.str = make_str("nosuperuser"); } break; case 1806: #line 6335 "preproc.y" { yyval.str = make_str("nothing"); } break; case 1807: #line 6336 "preproc.y" { yyval.str = make_str("notify"); } break; case 1808: #line 6337 "preproc.y" { yyval.str = make_str("nowait"); } break; case 1809: #line 6338 "preproc.y" { yyval.str = make_str("object"); } break; case 1810: #line 6339 "preproc.y" { yyval.str = make_str("of"); } break; case 1811: #line 6340 "preproc.y" { yyval.str = make_str("oids"); } break; case 1812: #line 6341 "preproc.y" { yyval.str = make_str("operator"); } break; case 1813: #line 6342 "preproc.y" { yyval.str = make_str("option"); } break; case 1814: #line 6343 "preproc.y" { yyval.str = make_str("owned"); } break; case 1815: #line 6344 "preproc.y" { yyval.str = make_str("owner"); } break; case 1816: #line 6345 "preproc.y" { yyval.str = make_str("partial"); } break; case 1817: #line 6346 "preproc.y" { yyval.str = make_str("password"); } break; case 1818: #line 6347 "preproc.y" { yyval.str = make_str("prepare"); } break; case 1819: #line 6348 "preproc.y" { yyval.str = make_str("prepared"); } break; case 1820: #line 6349 "preproc.y" { yyval.str = make_str("preserver"); } break; case 1821: #line 6350 "preproc.y" { yyval.str = make_str("prior"); } break; case 1822: #line 6351 "preproc.y" { yyval.str = make_str("privileges"); } break; case 1823: #line 6352 "preproc.y" { yyval.str = make_str("procedural"); } break; case 1824: #line 6353 "preproc.y" { yyval.str = make_str("procedure"); } break; case 1825: #line 6354 "preproc.y" { yyval.str = make_str("quote"); } break; case 1826: #line 6355 "preproc.y" { yyval.str = make_str("read"); } break; case 1827: #line 6356 "preproc.y" { yyval.str = make_str("reassign"); } break; case 1828: #line 6357 "preproc.y" { yyval.str = make_str("recheck"); } break; case 1829: #line 6358 "preproc.y" { yyval.str = make_str("reindex"); } break; case 1830: #line 6359 "preproc.y" { yyval.str = make_str("relative"); } break; case 1831: #line 6360 "preproc.y" { yyval.str = make_str("release"); } break; case 1832: #line 6361 "preproc.y" { yyval.str = make_str("rename"); } break; case 1833: #line 6362 "preproc.y" { yyval.str = make_str("repeatable"); } break; case 1834: #line 6363 "preproc.y" { yyval.str = make_str("replace"); } break; case 1835: #line 6364 "preproc.y" { yyval.str = make_str("reset"); } break; case 1836: #line 6365 "preproc.y" { yyval.str = make_str("restart"); } break; case 1837: #line 6366 "preproc.y" { yyval.str = make_str("restrict"); } break; case 1838: #line 6367 "preproc.y" { yyval.str = make_str("returns"); } break; case 1839: #line 6368 "preproc.y" { yyval.str = make_str("revoke"); } break; case 1840: #line 6369 "preproc.y" { yyval.str = make_str("role"); } break; case 1841: #line 6370 "preproc.y" { yyval.str = make_str("rollback"); } break; case 1842: #line 6371 "preproc.y" { yyval.str = make_str("rows"); } break; case 1843: #line 6372 "preproc.y" { yyval.str = make_str("rule"); } break; case 1844: #line 6373 "preproc.y" { yyval.str = make_str("savepoint"); } break; case 1845: #line 6374 "preproc.y" { yyval.str = make_str("schema"); } break; case 1846: #line 6375 "preproc.y" { yyval.str = make_str("scroll"); } break; case 1847: #line 6377 "preproc.y" { yyval.str = make_str("sequence"); } break; case 1848: #line 6378 "preproc.y" { yyval.str = make_str("serializable"); } break; case 1849: #line 6379 "preproc.y" { yyval.str = make_str("session"); } break; case 1850: #line 6380 "preproc.y" { yyval.str = make_str("set"); } break; case 1851: #line 6381 "preproc.y" { yyval.str = make_str("share"); } break; case 1852: #line 6382 "preproc.y" { yyval.str = make_str("show"); } break; case 1853: #line 6383 "preproc.y" { yyval.str = make_str("simple"); } break; case 1854: #line 6384 "preproc.y" { yyval.str = make_str("stable"); } break; case 1855: #line 6385 "preproc.y" { yyval.str = make_str("start"); } break; case 1856: #line 6386 "preproc.y" { yyval.str = make_str("statement"); } break; case 1857: #line 6387 "preproc.y" { yyval.str = make_str("statistics"); } break; case 1858: #line 6388 "preproc.y" { yyval.str = make_str("stdin"); } break; case 1859: #line 6389 "preproc.y" { yyval.str = make_str("stdout"); } break; case 1860: #line 6390 "preproc.y" { yyval.str = make_str("storage"); } break; case 1861: #line 6391 "preproc.y" { yyval.str = make_str("superuser"); } break; case 1862: #line 6392 "preproc.y" { yyval.str = make_str("strict"); } break; case 1863: #line 6393 "preproc.y" { yyval.str = make_str("system"); } break; case 1864: #line 6394 "preproc.y" { yyval.str = make_str("sysid"); } break; case 1865: #line 6395 "preproc.y" { yyval.str = make_str("tablespace"); } break; case 1866: #line 6396 "preproc.y" { yyval.str = make_str("temp"); } break; case 1867: #line 6397 "preproc.y" { yyval.str = make_str("template"); } break; case 1868: #line 6398 "preproc.y" { yyval.str = make_str("temporary"); } break; case 1869: #line 6399 "preproc.y" { yyval.str = make_str("transaction"); } break; case 1870: #line 6400 "preproc.y" { yyval.str = make_str("trigger"); } break; case 1871: #line 6401 "preproc.y" { yyval.str = make_str("truncate"); } break; case 1872: #line 6402 "preproc.y" { yyval.str = make_str("trusted"); } break; case 1873: #line 6403 "preproc.y" { yyval.str = make_str("type"); } break; case 1874: #line 6404 "preproc.y" { yyval.str = make_str("uncommitted"); } break; case 1875: #line 6405 "preproc.y" { yyval.str = make_str("unencrypted"); } break; case 1876: #line 6406 "preproc.y" { yyval.str = make_str("unknown"); } break; case 1877: #line 6407 "preproc.y" { yyval.str = make_str("unlisten"); } break; case 1878: #line 6408 "preproc.y" { yyval.str = make_str("until"); } break; case 1879: #line 6409 "preproc.y" { yyval.str = make_str("update"); } break; case 1880: #line 6410 "preproc.y" { yyval.str = make_str("vacuum"); } break; case 1881: #line 6411 "preproc.y" { yyval.str = make_str("valid"); } break; case 1882: #line 6412 "preproc.y" { yyval.str = make_str("varying"); } break; case 1883: #line 6413 "preproc.y" { yyval.str = make_str("view"); } break; case 1884: #line 6414 "preproc.y" { yyval.str = make_str("with"); } break; case 1885: #line 6415 "preproc.y" { yyval.str = make_str("without"); } break; case 1886: #line 6416 "preproc.y" { yyval.str = make_str("work"); } break; case 1887: #line 6417 "preproc.y" { yyval.str = make_str("write"); } break; case 1888: #line 6419 "preproc.y" { yyval.str = make_str("zone"); } break; case 1889: #line 6433 "preproc.y" { yyval.str = make_str("bigint");} break; case 1890: #line 6434 "preproc.y" { yyval.str = make_str("bit"); } break; case 1891: #line 6438 "preproc.y" { yyval.str = make_str("character"); } break; case 1892: #line 6439 "preproc.y" { yyval.str = make_str("coalesce"); } break; case 1893: #line 6440 "preproc.y" { yyval.str = make_str("convert"); } break; case 1894: #line 6441 "preproc.y" { yyval.str = make_str("dec"); } break; case 1895: #line 6442 "preproc.y" { yyval.str = make_str("decimal"); } break; case 1896: #line 6443 "preproc.y" { yyval.str = make_str("exists"); } break; case 1897: #line 6444 "preproc.y" { yyval.str = make_str("extract"); } break; case 1898: #line 6445 "preproc.y" { yyval.str = make_str("float"); } break; case 1899: #line 6446 "preproc.y" { yyval.str = make_str("greatest"); } break; case 1900: #line 6447 "preproc.y" { yyval.str = make_str("inout"); } break; case 1901: #line 6451 "preproc.y" { yyval.str = make_str("integer"); } break; case 1902: #line 6452 "preproc.y" { yyval.str = make_str("interval"); } break; case 1903: #line 6453 "preproc.y" { yyval.str = make_str("least"); } break; case 1904: #line 6454 "preproc.y" { yyval.str = make_str("national"); } break; case 1905: #line 6455 "preproc.y" { yyval.str = make_str("nchar"); } break; case 1906: #line 6456 "preproc.y" { yyval.str = make_str("none"); } break; case 1907: #line 6457 "preproc.y" { yyval.str = make_str("nullif"); } break; case 1908: #line 6458 "preproc.y" { yyval.str = make_str("numeric"); } break; case 1909: #line 6459 "preproc.y" { yyval.str = make_str("out"); } break; case 1910: #line 6460 "preproc.y" { yyval.str = make_str("overlay"); } break; case 1911: #line 6461 "preproc.y" { yyval.str = make_str("position"); } break; case 1912: #line 6462 "preproc.y" { yyval.str = make_str("precision"); } break; case 1913: #line 6463 "preproc.y" { yyval.str = make_str("real"); } break; case 1914: #line 6464 "preproc.y" { yyval.str = make_str("row"); } break; case 1915: #line 6465 "preproc.y" { yyval.str = make_str("setof"); } break; case 1916: #line 6466 "preproc.y" { yyval.str = make_str("smallint"); } break; case 1917: #line 6467 "preproc.y" { yyval.str = make_str("substring"); } break; case 1918: #line 6468 "preproc.y" { yyval.str = make_str("time"); } break; case 1919: #line 6469 "preproc.y" { yyval.str = make_str("timestamp"); } break; case 1920: #line 6470 "preproc.y" { yyval.str = make_str("treat"); } break; case 1921: #line 6471 "preproc.y" { yyval.str = make_str("trim"); } break; case 1922: #line 6474 "preproc.y" { yyval.str = make_str("varchar"); } break; case 1923: #line 6488 "preproc.y" { yyval.str = make_str("authorization"); } break; case 1924: #line 6489 "preproc.y" { yyval.str = make_str("between"); } break; case 1925: #line 6490 "preproc.y" { yyval.str = make_str("binary"); } break; case 1926: #line 6491 "preproc.y" { yyval.str = make_str("cross"); } break; case 1927: #line 6492 "preproc.y" { yyval.str = make_str("freeze"); } break; case 1928: #line 6493 "preproc.y" { yyval.str = make_str("full"); } break; case 1929: #line 6494 "preproc.y" { yyval.str = make_str("ilike"); } break; case 1930: #line 6495 "preproc.y" { yyval.str = make_str("inner"); } break; case 1931: #line 6496 "preproc.y" { yyval.str = make_str("is"); } break; case 1932: #line 6497 "preproc.y" { yyval.str = make_str("isnull"); } break; case 1933: #line 6498 "preproc.y" { yyval.str = make_str("join"); } break; case 1934: #line 6499 "preproc.y" { yyval.str = make_str("left"); } break; case 1935: #line 6500 "preproc.y" { yyval.str = make_str("like"); } break; case 1936: #line 6501 "preproc.y" { yyval.str = make_str("natural"); } break; case 1937: #line 6502 "preproc.y" { yyval.str = make_str("notnull"); } break; case 1938: #line 6503 "preproc.y" { yyval.str = make_str("outer"); } break; case 1939: #line 6504 "preproc.y" { yyval.str = make_str("overlaps"); } break; case 1940: #line 6505 "preproc.y" { yyval.str = make_str("right"); } break; case 1941: #line 6506 "preproc.y" { yyval.str = make_str("similar"); } break; case 1942: #line 6507 "preproc.y" { yyval.str = make_str("verbose"); } break; case 1943: #line 6517 "preproc.y" { yyval.str = make_str("all"); } break; case 1944: #line 6518 "preproc.y" { yyval.str = make_str("analyse"); } break; case 1945: #line 6519 "preproc.y" { yyval.str = make_str("analyze"); } break; case 1946: #line 6520 "preproc.y" { yyval.str = make_str("and"); } break; case 1947: #line 6521 "preproc.y" { yyval.str = make_str("any"); } break; case 1948: #line 6522 "preproc.y" { yyval.str = make_str("array"); } break; case 1949: #line 6523 "preproc.y" { yyval.str = make_str("as"); } break; case 1950: #line 6524 "preproc.y" { yyval.str = make_str("asc"); } break; case 1951: #line 6525 "preproc.y" { yyval.str = make_str("asymmetric"); } break; case 1952: #line 6526 "preproc.y" { yyval.str = make_str("both"); } break; case 1953: #line 6527 "preproc.y" { yyval.str = make_str("case"); } break; case 1954: #line 6528 "preproc.y" { yyval.str = make_str("cast"); } break; case 1955: #line 6529 "preproc.y" { yyval.str = make_str("check"); } break; case 1956: #line 6530 "preproc.y" { yyval.str = make_str("collate"); } break; case 1957: #line 6531 "preproc.y" { yyval.str = make_str("column"); } break; case 1958: #line 6532 "preproc.y" { yyval.str = make_str("constraint"); } break; case 1959: #line 6533 "preproc.y" { yyval.str = make_str("create"); } break; case 1960: #line 6534 "preproc.y" { yyval.str = make_str("current_date"); } break; case 1961: #line 6535 "preproc.y" { yyval.str = make_str("current_time"); } break; case 1962: #line 6536 "preproc.y" { yyval.str = make_str("current_timestamp"); } break; case 1963: #line 6537 "preproc.y" { yyval.str = make_str("current_role"); } break; case 1964: #line 6538 "preproc.y" { yyval.str = make_str("current_user"); } break; case 1965: #line 6539 "preproc.y" { yyval.str = make_str("default"); } break; case 1966: #line 6540 "preproc.y" { yyval.str = make_str("deferrable"); } break; case 1967: #line 6541 "preproc.y" { yyval.str = make_str("desc"); } break; case 1968: #line 6542 "preproc.y" { yyval.str = make_str("distinct"); } break; case 1969: #line 6543 "preproc.y" { yyval.str = make_str("do"); } break; case 1970: #line 6544 "preproc.y" { yyval.str = make_str("else"); } break; case 1971: #line 6545 "preproc.y" { yyval.str = make_str("end"); } break; case 1972: #line 6546 "preproc.y" { yyval.str = make_str("except"); } break; case 1973: #line 6547 "preproc.y" { yyval.str = make_str("false"); } break; case 1974: #line 6548 "preproc.y" { yyval.str = make_str("for"); } break; case 1975: #line 6549 "preproc.y" { yyval.str = make_str("foreign"); } break; case 1976: #line 6550 "preproc.y" { yyval.str = make_str("from"); } break; case 1977: #line 6551 "preproc.y" { yyval.str = make_str("grant"); } break; case 1978: #line 6552 "preproc.y" { yyval.str = make_str("group"); } break; case 1979: #line 6553 "preproc.y" { yyval.str = make_str("having"); } break; case 1980: #line 6554 "preproc.y" { yyval.str = make_str("in"); } break; case 1981: #line 6555 "preproc.y" { yyval.str = make_str("initially"); } break; case 1982: #line 6556 "preproc.y" { yyval.str = make_str("intersect"); } break; case 1983: #line 6557 "preproc.y" { yyval.str = make_str("into"); } break; case 1984: #line 6558 "preproc.y" { yyval.str = make_str("leading"); } break; case 1985: #line 6559 "preproc.y" { yyval.str = make_str("limit"); } break; case 1986: #line 6560 "preproc.y" { yyval.str = make_str("new"); } break; case 1987: #line 6561 "preproc.y" { yyval.str = make_str("not"); } break; case 1988: #line 6562 "preproc.y" { yyval.str = make_str("null"); } break; case 1989: #line 6563 "preproc.y" { yyval.str = make_str("off"); } break; case 1990: #line 6564 "preproc.y" { yyval.str = make_str("offset"); } break; case 1991: #line 6565 "preproc.y" { yyval.str = make_str("old"); } break; case 1992: #line 6566 "preproc.y" { yyval.str = make_str("on"); } break; case 1993: #line 6567 "preproc.y" { yyval.str = make_str("only"); } break; case 1994: #line 6568 "preproc.y" { yyval.str = make_str("or"); } break; case 1995: #line 6569 "preproc.y" { yyval.str = make_str("order"); } break; case 1996: #line 6570 "preproc.y" { yyval.str = make_str("primary"); } break; case 1997: #line 6571 "preproc.y" { yyval.str = make_str("references"); } break; case 1998: #line 6572 "preproc.y" { yyval.str = make_str("returning"); } break; case 1999: #line 6573 "preproc.y" { yyval.str = make_str("select"); } break; case 2000: #line 6574 "preproc.y" { yyval.str = make_str("session_user"); } break; case 2001: #line 6575 "preproc.y" { yyval.str = make_str("some"); } break; case 2002: #line 6576 "preproc.y" { yyval.str = make_str("symmetric"); } break; case 2003: #line 6577 "preproc.y" { yyval.str = make_str("table"); } break; case 2004: #line 6578 "preproc.y" { yyval.str = make_str("then"); } break; case 2005: #line 6582 "preproc.y" { yyval.str = make_str("trailing"); } break; case 2006: #line 6583 "preproc.y" { yyval.str = make_str("true"); } break; case 2007: #line 6587 "preproc.y" { yyval.str = make_str("unique"); } break; case 2008: #line 6588 "preproc.y" { yyval.str = make_str("user"); } break; case 2009: #line 6589 "preproc.y" { yyval.str = make_str("using"); } break; case 2010: #line 6590 "preproc.y" { yyval.str = make_str("when"); } break; case 2011: #line 6591 "preproc.y" { yyval.str = make_str("where"); } break; case 2014: #line 6598 "preproc.y" { reset_variables(); } break; case 2015: #line 6601 "preproc.y" { yyval.str = EMPTY; } break; case 2016: #line 6602 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 2017: #line 6606 "preproc.y" { add_variable_to_head(&argsresult, find_variable(yyvsp[-1].str), find_variable(yyvsp[0].str)); } break; case 2018: #line 6608 "preproc.y" { add_variable_to_head(&argsresult, find_variable(yyvsp[0].str), &no_indicator); } break; case 2019: #line 6613 "preproc.y" { if (find_variable(yyvsp[0].str)->type->type == ECPGt_array) mmerror(PARSE_ERROR, ET_ERROR, "arrays of indicators are not allowed on input"); add_variable_to_head(&argsinsert, find_variable(yyvsp[-1].str), find_variable(yyvsp[0].str)); yyval.str = create_questionmarks(yyvsp[-1].str, false); } break; case 2020: #line 6623 "preproc.y" { add_variable_to_head(&argsinsert, find_variable(yyvsp[0].str), &no_indicator); yyval.str = create_questionmarks(yyvsp[0].str, false); } break; case 2021: #line 6629 "preproc.y" { check_indicator((find_variable(yyvsp[0].str))->type); yyval.str = yyvsp[0].str; } break; case 2022: #line 6630 "preproc.y" { check_indicator((find_variable(yyvsp[0].str))->type); yyval.str = yyvsp[0].str; } break; case 2023: #line 6631 "preproc.y" { check_indicator((find_variable(yyvsp[0].str))->type); yyval.str = yyvsp[0].str; } break; case 2024: #line 6635 "preproc.y" { /* As long as multidimensional arrays are not implemented we have to check for those here */ char *ptr = yyvsp[0].str; int brace_open=0, brace = false; for (; *ptr; ptr++) { switch (*ptr) { case '[': if (brace) mmerror(PARSE_ERROR, ET_FATAL, "No multidimensional array support for simple data types"); brace_open++; break; case ']': brace_open--; if (brace_open == 0) brace = true; break; case '\t': case ' ': break; default: if (brace_open == 0) brace = false; break; } } yyval.str = yyvsp[0].str; } break; case 2025: #line 6666 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 2026: #line 6667 "preproc.y" { yyval.str = make3_str(make_str("\""), yyvsp[0].str, make_str("\"")); } break; case 2027: #line 6671 "preproc.y" { yyval.str = make3_str(make_str("\""), yyvsp[0].str, make_str("\"")); } break; case 2028: #line 6673 "preproc.y" { yyval.str = make3_str(make_str("("), yyvsp[0].str, make_str(")")); } break; case 2029: #line 6680 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 2030: #line 6681 "preproc.y" { yyval.str = make_str("()"); } break; case 2031: #line 6683 "preproc.y" { yyval.str = cat_str(3, make_str("("), yyvsp[-1].str, make_str(")")); } break; case 2032: #line 6686 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 2033: #line 6688 "preproc.y" { yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); } break; case 2034: #line 6691 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 2035: #line 6692 "preproc.y" { yyval.str = cat_str(3, yyvsp[-2].str, make_str(","), yyvsp[0].str); } break; case 2036: #line 6695 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 2037: #line 6696 "preproc.y" { yyval.str = cat_str(3, make_str("{"), yyvsp[-1].str, make_str("}")); } break; case 2038: #line 6699 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 2039: #line 6700 "preproc.y" { yyval.str = make_str("("); } break; case 2040: #line 6701 "preproc.y" { yyval.str = make_str(")"); } break; case 2041: #line 6702 "preproc.y" { yyval.str = make_str(","); } break; case 2042: #line 6703 "preproc.y" { yyval.str = make_str(";"); } break; case 2043: #line 6706 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 2044: #line 6707 "preproc.y" { yyval.str = make3_str(make_str("\""), yyvsp[0].str, make_str("\"")); } break; case 2045: #line 6708 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 2046: #line 6709 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 2047: #line 6710 "preproc.y" { yyval.str = yyvsp[0].str; } break; case 2048: #line 6711 "preproc.y" { yyval.str = make_str("*"); } break; case 2049: #line 6712 "preproc.y" { yyval.str = make_str("+"); } break; case 2050: #line 6713 "preproc.y" { yyval.str = make_str("-"); } break; case 2051: #line 6714 "preproc.y" { yyval.str = make_str("/"); } break; case 2052: #line 6715 "preproc.y" { yyval.str = make_str("%"); } break; case 2053: #line 6716 "preproc.y" { yyval.str = make_str("NULL"); } break; case 2054: #line 6717 "preproc.y" { yyval.str = make_str("+="); } break; case 2055: #line 6718 "preproc.y" { yyval.str = make_str("&&"); } break; case 2056: #line 6719 "preproc.y" { yyval.str = make_name(); } break; case 2057: #line 6720 "preproc.y" { yyval.str = make_str("auto"); } break; case 2058: #line 6721 "preproc.y" { yyval.str = make_str("const"); } break; case 2059: #line 6722 "preproc.y" { yyval.str = make_str("--"); } break; case 2060: #line 6723 "preproc.y" { yyval.str = make_str("/="); } break; case 2061: #line 6724 "preproc.y" { yyval.str = make_str(".*"); } break; case 2062: #line 6725 "preproc.y" { yyval.str = make_str("=="); } break; case 2063: #line 6726 "preproc.y" { yyval.str = make_str("extern"); } break; case 2064: #line 6727 "preproc.y" { yyval.str = make_str("++"); } break; case 2065: #line 6728 "preproc.y" { yyval.str = make_str("<<"); } break; case 2066: #line 6729 "preproc.y" { yyval.str = make_str("->"); } break; case 2067: #line 6730 "preproc.y" { yyval.str = make_str("->*"); } break; case 2068: #line 6731 "preproc.y" { yyval.str = make_str("%="); } break; case 2069: #line 6732 "preproc.y" { yyval.str = make_str("*="); } break; case 2070: #line 6733 "preproc.y" { yyval.str = make_str("!="); } break; case 2071: #line 6734 "preproc.y" { yyval.str = make_str("||"); } break; case 2072: #line 6735 "preproc.y" { yyval.str = make_str("register"); } break; case 2073: #line 6736 "preproc.y" { yyval.str = make_str(">>"); } break; case 2074: #line 6737 "preproc.y" { yyval.str = make_str("static"); } break; case 2075: #line 6738 "preproc.y" { yyval.str = make_str("-="); } break; case 2076: #line 6739 "preproc.y" { yyval.str = make_str("typedef"); } break; case 2077: #line 6740 "preproc.y" { yyval.str = make_str("volatile"); } break; case 2078: #line 6741 "preproc.y" { yyval.str = make_str("bool"); } break; case 2079: #line 6742 "preproc.y" { yyval.str = make_str("enum"); } break; case 2080: #line 6743 "preproc.y" { yyval.str = make_str("hour"); } break; case 2081: #line 6744 "preproc.y" { yyval.str = make_str("int"); } break; case 2082: #line 6745 "preproc.y" { yyval.str = make_str("long"); } break; case 2083: #line 6746 "preproc.y" { yyval.str = make_str("minute"); } break; case 2084: #line 6747 "preproc.y" { yyval.str = make_str("month"); } break; case 2085: #line 6748 "preproc.y" { yyval.str = make_str("second"); } break; case 2086: #line 6749 "preproc.y" { yyval.str = make_str("short"); } break; case 2087: #line 6750 "preproc.y" { yyval.str = make_str("signed"); } break; case 2088: #line 6751 "preproc.y" { yyval.str = make_str("struct"); } break; case 2089: #line 6752 "preproc.y" { yyval.str = make_str("unsigned"); } break; case 2090: #line 6753 "preproc.y" { yyval.str = make_str("year"); } break; case 2091: #line 6754 "preproc.y" { yyval.str = make_str("char"); } break; case 2092: #line 6755 "preproc.y" { yyval.str = make_str("float"); } break; case 2093: #line 6756 "preproc.y" { yyval.str = make_str("to"); } break; case 2094: #line 6757 "preproc.y" { yyval.str = make_str("union"); } break; case 2095: #line 6758 "preproc.y" { yyval.str = make_str("varchar"); } break; case 2096: #line 6759 "preproc.y" { yyval.str = make_str("["); } break; case 2097: #line 6760 "preproc.y" { yyval.str = make_str("]"); } break; case 2098: #line 6761 "preproc.y" { yyval.str = make_str("="); } break; case 2099: #line 6762 "preproc.y" { yyval.str = make_str(":"); } break; } /* Line 991 of yacc.c. */ #line 29153 "y.tab.c" yyvsp -= yylen; yyssp -= yylen; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* 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 yyn = yypact[yystate]; if (YYPACT_NINF < yyn && yyn < YYLAST) { YYSIZE_T yysize = 0; int yytype = YYTRANSLATE (yychar); char *yymsg; int yyx, yycount; yycount = 0; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ for (yyx = yyn < 0 ? -yyn : 0; yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) yysize += yystrlen (yytname[yyx]) + 15, yycount++; yysize += yystrlen ("syntax error, unexpected ") + 1; yysize += yystrlen (yytname[yytype]); yymsg = (char *) YYSTACK_ALLOC (yysize); if (yymsg != 0) { char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); yyp = yystpcpy (yyp, yytname[yytype]); if (yycount < 5) { yycount = 0; for (yyx = yyn < 0 ? -yyn : 0; yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { const char *yyq = ! yycount ? ", expecting " : " or "; yyp = yystpcpy (yyp, yyq); yyp = yystpcpy (yyp, yytname[yyx]); yycount++; } } yyerror (yymsg); YYSTACK_FREE (yymsg); } else yyerror ("syntax error; also virtual memory exhausted"); } else #endif /* YYERROR_VERBOSE */ yyerror ("syntax error"); } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ /* Return failure if at end of input. */ if (yychar == YYEOF) { /* Pop the error token. */ YYPOPSTACK; /* Pop the rest of the stack. */ while (yyss < yyssp) { YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); yydestruct (yystos[*yyssp], yyvsp); YYPOPSTACK; } YYABORT; } YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); yydestruct (yytoken, &yylval); yychar = YYEMPTY; } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab2; /*----------------------------------------------------. | yyerrlab1 -- error raised explicitly by an action. | `----------------------------------------------------*/ yyerrlab1: /* Suppress GCC warning that yyerrlab1 is unused when no action invokes YYERROR. */ #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__) __attribute__ ((__unused__)) #endif goto yyerrlab2; /*---------------------------------------------------------------. | yyerrlab2 -- pop states until the error token can be shifted. | `---------------------------------------------------------------*/ yyerrlab2: 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; YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); yydestruct (yystos[yystate], yyvsp); yyvsp--; yystate = *--yyssp; YY_STACK_PRINT (yyss, yyssp); } if (yyn == YYFINAL) YYACCEPT; YYDPRINTF ((stderr, "Shifting error token, ")); *++yyvsp = yylval; yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #ifndef yyoverflow /*----------------------------------------------. | yyoverflowlab -- parser overflow comes here. | `----------------------------------------------*/ yyoverflowlab: yyerror ("parser stack overflow"); yyresult = 2; /* Fall through. */ #endif yyreturn: #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif return yyresult; } #line 6765 "preproc.y" void yyerror( char * error) { char buf[1024]; snprintf(buf,sizeof buf,"%s at or near \"%s\"", error, token_start ? token_start : yytext); buf[sizeof(buf)-1]=0; mmerror(PARSE_ERROR, ET_ERROR, buf); } #include "pgc.c"